openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
2 lines • 54 kB
JavaScript
var e={common:{health:`Santé`,ok:`OK`,yes:`Oui`,no:`Non`,active:`Actif`,loading:`Chargement…`,refreshing:`Actualisation…`,online:`En ligne`,offline:`Hors ligne`,connect:`Connecter`,connected:`Connecté`,refresh:`Actualiser`,reload:`Recharger`,reset:`Réinitialiser`,probe:`Sonder`,call:`Appeler`,confirm:`Confirmer`,cancel:`Annuler`,next:`Prochaine`,back:`Retour`,create:`Créer`,copy:`Copier`,copied:`Copié !`,copyCode:`Copier le code`,delete:`Supprimer`,dismiss:`Ignorer`,unselect:`Désélectionner`,enabled:`Activé`,disabled:`Désactivé`,none:`aucun`,na:`n/d`,never:`never`,configured:`Configuré`,running:`En cours d’exécution`,linked:`Lié`,mode:`Mode`,system:`Système`,light:`Léger`,dark:`Sombre`,baseUrl:`URL de base`,lastStart:`Dernier démarrage`,lastProbe:`Dernière sonde`,lastInbound:`Dernière entrée`,lastConnect:`Dernière connexion`,lastMessage:`Dernier message`,authAge:`Âge de l’authentification`,credential:`Identifiant`,audience:`Audience`,publicKey:`Clé publique`,probeOk:`Sonde réussie`,probeFailed:`Échec de la sonde`,reloadConfig:`Recharger la config`,loadConfig:`Charger la config`,loadApprovals:`Charger les approbations`,settingsSections:`Sections des paramètres`,version:`Version`,docs:`Documentation`,theme:`Thème`,colorMode:`Mode de couleur`,colorModeOption:`Mode de couleur : {mode}`,resources:`Ressources`,search:`Rechercher`,save:`Enregistrer`,saving:`Enregistrement…`,saveAndPublish:`Enregistrer et publier`,importing:`Importation…`,importFromRelays:`Importer depuis les Relays`,showAdvanced:`Afficher les options avancées`,hideAdvanced:`Masquer les options avancées`,unsavedChanges:`Vous avez des modifications non enregistrées`,secondsAgo:`il y a {count}s`,working:`Traitement…`,showQr:`Afficher le QR`,relink:`Relier à nouveau`,waitForScan:`Attendre le scan`,logout:`Se déconnecter`},channels:{health:{title:`Santé du canal`,subtitle:`Instantanés de l’état du canal depuis le gateway.`,noSnapshotYet:`Aucun instantané pour le moment.`},generic:{subtitle:`État et configuration du canal.`},gatewayUrlConfirmation:{title:`Changer l’URL du Gateway`,subtitle:`Cela reconnectera à un autre serveur Gateway`,warning:`Confirmez uniquement si vous faites confiance à cette URL. Des URL malveillantes peuvent compromettre votre système.`},nostr:{profile:`Profil`,editProfile:`Modifier le profil`,profilePicture:`Photo de profil`,noProfile:`Aucun profil défini.`,noProfileHint:`Cliquez sur "Modifier le profil" pour ajouter votre nom, votre bio et votre avatar.`,name:`Nom`,displayName:`Nom d’affichage`,about:`À propos`,advanced:`Avancé`,profilePicturePreview:`Aperçu de la photo de profil`,account:`Compte`,username:`Nom d’utilisateur`,usernameHelp:`Nom d’utilisateur court (par ex., satoshi)`,bio:`Bio`,bioPlaceholder:`Parlez de vous aux autres...`,bioHelp:`Une brève bio ou description`,displayNameHelp:`Votre nom d’affichage complet`,avatarUrl:`URL de l’avatar`,avatarHelp:`URL HTTPS vers votre photo de profil`,bannerUrl:`URL de la bannière`,bannerHelp:`URL HTTPS vers une image de bannière`,website:`Site web`,websiteHelp:`Votre site web personnel`,nip05Identifier:`Identifiant NIP-05`,nip05Help:`Identifiant vérifiable (par ex., you@domain.com)`,lightningAddress:`Adresse Lightning`,lightningHelp:`Adresse Lightning pour les pourboires (LUD-16)`}},lazyView:{loadingTitle:`Chargement du panneau`,errorTitle:`Échec du chargement du panneau`,errorSubtitle:`Rechargez la page pour charger la dernière version du bundle Control UI, ou réessayez si la requête réseau a échoué.`,retry:`Réessayer`,unknownError:`Erreur inconnue de chargement du module.`},nodes:{binding:{loadConfigHint:`Chargez la config pour modifier les bindings.`,formModeHint:`Passez l’onglet Config en mode Form pour modifier les bindings ici.`,execNodeBinding:`Binding du nœud d’exécution`,execNodeBindingSubtitle:`Épinglez les agents à un nœud spécifique lors de l’utilisation de exec host=node.`,defaultBinding:`Binding par défaut`,defaultBindingHint:`Utilisé lorsque les agents ne remplacent pas un binding de nœud.`,node:`Nœud`}},instances:{title:`Instances connectées`,subtitle:`Balises de présence du gateway et des clients.`,showHosts:`Afficher les hôtes et les IP`,hideHosts:`Masquer les hôtes et les IP`,toggleHostVisibility:`Basculer la visibilité des hôtes`,noInstances:`Aucune instance signalée pour le moment.`,lastInput:`Dernière entrée {time}`,reason:`Raison {reason}`},sessionsView:{title:`Sessions`,subtitle:`Clés de session actives et remplacements par session.`,store:`Stockage : {path}`,active:`Actif`,limit:`Limite`,filters:`Filtres`,showFilters:`Afficher les filtres`,hideFilters:`Masquer les filtres`,sourceFilters:`Filtres de source de session`,global:`Global`,unknown:`Inconnu`,showArchived:`Afficher les sessions archivées`,activeTooltip:`Mis à jour au cours des {count} dernières minutes.`,limitTooltip:`Nombre maximal de sessions à charger.`,globalTooltip:`Inclure les sessions globales.`,unknownTooltip:`Inclure les sessions inconnues.`,showArchivedTooltip:`Inclure les sessions archivées.`,minutesPlaceholder:`min`,searchPlaceholder:`Filtrer par clé, agent, libellé, type…`,selected:`{count} sélectionné(s)`,deleteSelected:`Supprimer`,selectAllOnPage:`Tout sélectionner sur la page`,selectSession:`Sélectionner la session`,optionalPlaceholder:`(facultatif)`,key:`Clé`,label:`Libellé`,kind:`Type`,updated:`Mis à jour`,tokens:`Jetons`,compaction:`Compactage`,goal:`Objectif`,goalNote:`Note d’objectif`,thinking:`Réflexion`,fast:`Rapide`,verbose:`Détaillé`,reasoning:`Raisonnement`,actions:`Actions`,addToWorkboard:`Ajouter au Workboard`,openWorkboardCard:`Ouvrir la carte Workboard`,noSessions:`Aucune session trouvée.`,noSessionsMatchFilters:`Aucune session ne correspond à vos filtres.`,showAll:`Tout afficher`,inherit:`hériter`,defaultOption:`Par défaut ({value})`,offExplicit:`désactivé (explicite)`,on:`activé`,off:`désactivé`,full:`complet`,stream:`flux`,customOption:`{value} (personnalisé)`,manual:`manuel`,autoThreshold:`seuil automatique`,overflowRetry:`nouvelle tentative après dépassement`,timeoutRetry:`nouvelle tentative après expiration`,tokenRange:`{before} to {after} tokens`,tokensBefore:`{count} tokens avant`,tokenDeltaUnavailable:`delta de tokens indisponible`,checkpoints:`{count} points de contrôle`,checkpoint:`{count} point de contrôle`,showSessionDetails:`Afficher les détails de la session pour {count}`,hideSessionDetails:`Masquer les détails de la session pour {count}`,sessionDetails:`Détails de la session`,compactionHistory:`Historique de compactage`,status:`Statut`,statusLive:`En direct`,statusIdle:`Inactif`,statusUnknown:`Inconnu`,statusRunning:`En cours d’exécution`,statusDone:`Terminé`,statusFailed:`Échec`,statusKilled:`Arrêté`,statusTimeout:`Délai dépassé`,model:`Modèle`,provider:`Fournisseur`,runtime:`Exécution`,surface:`Surface`,subject:`Sujet`,room:`Salon`,space:`Espace`,sessionId:`ID de session`,activeRun:`Exécution active`,archived:`Archivée`,loadingCheckpoints:`Chargement des points de contrôle…`,noCheckpoints:`Aucun point de contrôle de compactage enregistré pour cette session.`,noSummary:`Aucun résumé capturé.`,branchFromCheckpoint:`Créer une branche à partir du point de contrôle`,restoreCheckpoint:`Restaurer le point de contrôle`},agents:{noAgents:`No agents`,copyId:`Copy ID`,copyIdTitle:`Copy agent ID to clipboard`,default:`Default`,setDefault:`Set Default`,alreadyDefaultTitle:`Already the default agent`,setDefaultTitle:`Set as the default agent`,selectTitle:`Select an agent`,selectSubtitle:`Pick an agent to inspect its workspace and tools.`,tabs:{overview:`Aperçu`,files:`Fichiers`,tools:`Outils`,skills:`Skills`,channels:`Canaux`,cronJobs:`Tâches cron`},context:{title:`Agent Context`,workspace:`Workspace`,openFilesTab:`Open Files tab`,primaryModel:`Primary Model`,runtime:`Exécution`,thinkingDefault:`Niveau de réflexion par défaut`,identityName:`Identity Name`,identityAvatar:`Identity Avatar`,skillsFilter:`Skills Filter`,default:`Default`,configurationSubtitle:`Workspace, identity, and model configuration.`,schedulingSubtitle:`Workspace and scheduling targets.`},channels:{title:`Canaux`,subtitle:`Gateway-wide channel status snapshot.`,lastRefresh:`Last refresh: {time}`,loadHint:`Load channels to see live status.`,empty:`No channels found.`,connectedCount:`{connected}/{total} connected`,noAccounts:`no accounts`,configuredCount:`{count} configured`,notConfigured:`not configured`,enabledCount:`{count} enabled`,setupGuide:`Setup guide`},cronPanel:{schedulerTitle:`Scheduler`,schedulerSubtitle:`Gateway cron status.`,jobs:`Tâches`,nextWake:`Prochain réveil`,agentJobsTitle:`Agent Cron Jobs`,agentJobsSubtitle:`Scheduled jobs targeting this agent.`,noJobs:`No jobs assigned.`,runNow:`Run Now`},files:{emptyDraft:`Empty draft`,minRead:`{count} min read`,markdownPreview:`Markdown Preview`,extensionPreview:`{ext} Preview`,preview:`Preview`,expandPreview:`Expand preview`,collapsePreview:`Collapse preview`,editFile:`Edit file`,closePreview:`Close preview`,coreFilesTitle:`Core Files`,coreFilesSubtitle:`Bootstrap persona, identity, and tool guidance.`,workspace:`Workspace`,loadHint:`Load the agent workspace files to edit core instructions.`,empty:`No files found.`,missing:`missing`,selectFile:`Select a file to edit.`,previewMarkdownTitle:`Preview rendered markdown`,willCreateOnSave:`Will Create on Save`,liveDraftPreview:`Live Draft Preview`,savedPreview:`Saved Preview`,updated:`Updated {time}`,notCreatedYet:`Not Created Yet`,updatedUnknown:`Updated Unknown`,missingHint:`This file is missing. Saving will create it in the agent workspace.`,content:`Content`,words:`{count} words`,lines:`lines`}},debug:{snapshotsTitle:`Snapshots`,snapshotsSubtitle:`Status, health, and heartbeat data.`,status:`Statut`,health:`Santé`,lastHeartbeat:`Last heartbeat`,security:{audit:`Security audit`,critical:`{count} critical`,warnings:`{count} warnings`,noCriticalIssues:`No critical issues`,info:`{count} info`,runPrefix:`Exécuter`,runSuffix:`for details.`},manualRpcTitle:`Manual RPC`,manualRpcSubtitle:`Send a raw gateway method with JSON params.`,method:`Method`,selectMethod:`Select a method…`,paramsJson:`Params (JSON)`,modelsTitle:`Models`,modelsSubtitle:`Catalog from models.list.`,eventLogTitle:`Journal des événements`,eventLogSubtitle:`Latest gateway events.`,noEvents:`No events yet.`},quickSettings:{security:{browserEnabled:`Browser enabled`,toolProfile:`Tool profile`}},execApproval:{expiresIn:`expires in {time}`,expired:`expired`,execApprovalNeeded:`Exec approval needed`,pluginApprovalNeeded:`Plugin approval needed`,pending:`{count} pending`,allowOnce:`Allow once`,alwaysAllow:`Always allow`,allowAlwaysUnavailable:`La politique d’approbation effective exige une approbation à chaque fois, donc Autoriser toujours n’est pas disponible.`,deny:`Deny`,labels:{host:`Host`,agent:`Agent`,session:`Session`,cwd:`CWD`,resolved:`Resolved`,security:`Security`,ask:`Ask`,severity:`Severity`,plugin:`Plugin`}},agentTools:{connectedSource:`Connecté : {id}`,connected:`Connecté`,channelSource:`Canal : {id}`,channel:`Canal`,builtIn:`Intégré`},nav:{chat:`Chat`,control:`Contrôle`,agent:`Agent`,settings:`Paramètres`,expand:`Développer la barre latérale`,collapse:`Réduire la barre latérale`,resize:`Redimensionner la barre latérale`},tabs:{agents:`Agents`,activity:`Activité`,overview:`Aperçu`,workboard:`Tableau de travail`,channels:`Canaux`,instances:`Instances`,sessions:`Sessions`,usage:`Utilisation`,cron:`Tâches cron`,skills:`Skills`,skillWorkshop:`Atelier Skills`,nodes:`Nœuds`,chat:`Chat`,config:`Configuration`,communications:`Communications`,appearance:`Apparence`,automation:`Automatisation`,mcp:`MCP`,infrastructure:`Infrastructure`,aiAgents:`IA et agents`,debug:`Débogage`,logs:`Journaux`,dreams:`Rêves`},subtitles:{agents:`Espaces de travail, outils, identités.`,activity:`Résumés d’activité des outils locaux au navigateur.`,overview:`Statut, points d’entrée, santé.`,workboard:`File de travail de l’agent et transfert de session.`,channels:`Canaux et paramètres.`,instances:`Clients et nœuds connectés.`,sessions:`Sessions actives et valeurs par défaut.`,usage:`Utilisation de l’API et coûts.`,cron:`Réveils et exécutions récurrentes.`,skills:`Skills et clés API.`,skillWorkshop:`Examinez, affinez et appliquez les propositions avant qu’elles ne deviennent des skills actives.`,nodes:`Appareils appairés et commandes.`,chat:`Chat Gateway pour les interventions rapides.`,config:`Modifier openclaw.json.`,communications:`Canaux, messages et paramètres audio.`,appearance:`Thème, UI et paramètres de l’assistant de configuration.`,automation:`Commandes, hooks, cron et plugins.`,mcp:`Serveurs MCP, authentification, outils et diagnostics.`,infrastructure:`Paramètres Gateway, web, navigateur et médias.`,aiAgents:`Agents, modèles, Skills, outils, mémoire, session.`,debug:`Captures, événements, RPC.`,logs:`Journaux Gateway en direct.`,dreams:`Consolidation de la mémoire pendant le sommeil.`},skillWorkshop:{header:{useCurrentChat:`Use current chat`,useCurrentChatAria:`Use current chat for revision requests`,useCurrentChatTooltip:`Send revision requests to the current chat session instead of the proposal's workshop session.`}},activity:{title:`Activité`,subtitle:`Activité éphémère des outils dérivée des événements de session en direct.`,visibleCount:`{visible} sur {total}`,filtersLabel:`Filtres d’activité`,search:`Rechercher`,searchPlaceholder:`Filtrer par outil, résumé, exécution, session`,toolFilter:`Outil`,allTools:`Tous les outils`,statusFilters:`Filtres d’état`,autoFollow:`Suivi automatique`,expandAll:`Tout développer`,collapseAll:`Tout réduire`,clear:`Effacer`,empty:`Aucune activité d’outil pour le moment.`,emptyFiltered:`Aucune activité ne correspond à ces filtres.`,entrySummary:`{argumentSummary}`,argumentHiddenOne:`1 argument masqué`,argumentsHidden:`{count} arguments masqués`,streamLabel:`Entrées d’activité des outils`,toolCallId:`Appel d’outil`,runId:`Exécuter`,session:`Session`,outputTruncated:`Aperçu masqué et tronqué.`,noOutputPreview:`Aucun aperçu de sortie.`,status:{running:`En cours d’exécution`,done:`Terminé`,error:`Erreur`},duration:{ms:`{count} ms`,seconds:`{count} s`,minutes:`{minutes}m {seconds}s`}},workboard:{disabledHelpStart:`Le tableau de travail est désactivé. Activez`,enableConfigKey:`plugins.entries.workboard.enabled = true`,disabledHelpEnd:`, puis rechargez cet onglet.`,status:{triage:`Triage`,backlog:`Backlog`,todo:`À faire`,scheduled:`Planifié`,ready:`Prêt`,running:`En cours d’exécution`,review:`Vérification`,blocked:`Bloqué`,done:`Terminé`},noLinkedSession:`Aucune session liée`,stopSession:`Arrêter la session`,editCard:`Modifier la carte`,editCardHelp:`Mettez à jour les métadonnées de la file d’attente et le transfert de session.`,newCard:`Nouvelle carte`,newCardHelp:`Mettez du travail en file d’attente pour une session d’agent.`,archiveCard:`Archiver la carte`,unarchiveCard:`Restore from archive`,archived:`Archived`,deleteCard:`Supprimer la carte`,viewDetails:`View details`,detailTitle:`Card details`,detailTask:`Gateway task`,detailRun:`Run`,detailUpdated:`Updated`,detailProof:`Proof`,detailDiagnostics:`Diagnostics`,detailWorkerLogs:`Worker logs`,detailWorkerProtocol:`Worker protocol`,detailAutomation:`Automation`,detailUpdatedValue:`Updated: {time}`,detailAutomationTenant:`Tenant: {tenant}`,detailAutomationBoard:`Board: {board}`,detailAutomationSkills:`Skills: {skills}`,detailAutomationWorkspace:`Workspace: {workspace}`,detailAutomationSummary:`Summary: {summary}`,detailOperatorNotes:`Operator notes`,detailNoNotes:`No operator notes yet.`,detailNotePlaceholder:`Add a decision, blocker, or proof note...`,detailAddNote:`Add note`,openSession:`Ouvrir la session`,openLinkedSession:`Ouvrir la session liée`,defaultAgent:`Agent par défaut`,allAgents:`All agents`,agentFilter:`Filter by agent`,agentLinked:`Linked to {agent}`,agentDefaultLinked:`Using default agent {agent}`,engineOpenAI:`OpenAI`,engineClaude:`Claude`,engineDisabledRuntime:`{agent} uses the {runtime} ACP runtime. Use default start for that session.`,runEngine:`Exécuter {engine}`,openEngine:`Ouvrir {engine}`,runDefaultAgent:`Exécuter l’agent par défaut`,run:`Run`,open:`Open`,start:`Démarrer`,dependencies:`Dependencies`,dependenciesReady:`{count} ready`,dependenciesReadyTitle:`{count} dependencies are done.`,dependenciesBlocked:`{count} blocked`,dependenciesBlockedTitle:`Waiting on dependencies: {parents}.`,dependencyMissing:`{parent} (missing)`,dependencyStatusMissing:`Missing`,unknownStatus:`Unknown`,showArchived:`Show archived cards`,hideArchived:`Hide archived cards`,showArchivedShort:`Archived`,hideArchivedShort:`Hide archived`,layout:`Card layout`,layoutCompact:`Compact cards`,layoutComfortable:`Comfortable cards`,dispatch:`Relancer le répartiteur`,dispatchSummary:`Dispatch complete: started {started}, promoted {promoted}, blocked {blocked}, reclaimed {reclaimed}, orchestrated {orchestrated}, failures {failures}.`,dispatchSummaryEmpty:`Dispatch complete: no ready work changed.`,live:`en direct`,fieldTitle:`Titre`,fieldNotes:`Notes`,fieldStatus:`Statut`,fieldPriority:`Priorité`,fieldAgent:`Agent`,fieldSession:`Session`,fieldLabels:`Étiquettes`,templatesLabel:`Modèles de carte`,template:{bugfix:`Correction de bug`,docs:`Docs`,release:`Release`,pr_review:`Revue de PR`,plugin:`Plugin`},badgeAttempts:`{count} tentatives`,badgeFailures:`{count} échecs`,badgeComments:`{count} commentaires`,badgeLinks:`{count} liens`,badgeProof:`{count} preuve`,badgeArtifacts:`{count} artefacts`,badgeAttachments:`{count} pièces jointes`,badgeWorkerLogs:`{count} journaux de worker`,badgeWorkerProtocol:`worker {state}`,badgeTenant:`locataire {tenant}`,badgeSkills:`{count} compétences`,badgeDispatches:`{count} envois`,badgeTaskLinked:`task linked`,badgeClaimed:`revendiqué par {owner}`,badgeDiagnostics:`{count} diagnostics`,badgeStale:`obsolète`,titlePlaceholder:`Titre de la carte`,notesPlaceholder:`Notes, critères d’acceptation, liens`,labelsPlaceholder:`ui, docs`,searchPlaceholder:`Rechercher des cartes`,allPriorities:`Toutes les priorités`,emptyColumn:`Déposez le travail ici`,lifecycleUnlinked:`Aucune session`,lifecycleUnlinkedDetail:`Démarrer ou lier une session`,lifecycleMissing:`Session manquante`,lifecycleMissingDetail:`Recharger les sessions ou relier cette carte`,lifecycleLinked:`Lié`,lifecycleIdleDetail:`Aucune exécution active`,lifecycleRunning:`En cours d’exécution`,lifecycleRunningDetail:`Exécution active en cours`,lifecycleStale:`Obsolète`,lifecycleStaleDetail:`Aucune activité de session récente`,lifecycleDone:`Terminé`,lifecycleDoneDetail:`Déplacé vers la révision`,lifecycleNeedsReview:`Nécessite une révision`,lifecycleNeedsReviewDetail:`Exécution arrêtée ou échouée`,taskStatus:{queued:`Task queued`,running:`Task running`,completed:`Task complete`,failed:`Task failed`,cancelled:`Task cancelled`,timed_out:`Task timed out`},eventsLabel:`Événements de la carte`,eventCreated:`Créé`,eventEdited:`Modifié`,eventMoved:`Déplacé`,eventMovedTo:`Déplacé vers {status}`,eventLinked:`Session liée`,eventSpecified:`Specified`,eventDecomposed:`Decomposed`,eventClaimed:`Revendiqué`,eventHeartbeat:`Signal`,eventExecutionUpdated:`Agent mis à jour`,eventAttemptStarted:`Tentative démarrée`,eventAttemptUpdated:`Tentative mise à jour`,eventCommentAdded:`Commentaire ajouté`,eventLinkAdded:`Lien ajouté`,eventProofAdded:`Preuve ajoutée`,eventArtifactAdded:`Artefact ajouté`,eventAttachmentAdded:`Pièce jointe ajoutée`,eventDiagnostic:`Diagnostic`,eventNotification:`Notification`,eventDispatch:`Envoi`,eventOrchestration:`Orchestration`,eventProtocolViolation:`Violation du protocole`,eventArchived:`Archivé`,eventUnarchived:`Désarchivé`,eventStale:`Session inactive`},overview:{access:{title:`Accès Gateway`,subtitle:`Où le tableau de bord se connecte et comment il s’authentifie.`,wsUrl:`URL WebSocket`,token:`Jeton Gateway`,password:`Mot de passe (non enregistré)`,passwordPlaceholder:`mot de passe système ou partagé`,sessionKey:`Clé de session par défaut`,language:`Langue`,connectHint:`Cliquez sur Connect pour appliquer les modifications de connexion.`,trustedProxy:`Authentifié via un proxy de confiance.`,showToken:`Afficher le jeton`,hideToken:`Masquer le jeton`,toggleTokenVisibility:`Basculer la visibilité du jeton`,showPassword:`Afficher le mot de passe`,hidePassword:`Masquer le mot de passe`,togglePasswordVisibility:`Basculer la visibilité du mot de passe`},snapshot:{title:`Capture`,subtitle:`Dernières informations de handshake du Gateway.`,status:`Statut`,uptime:`Temps de fonctionnement`,tickInterval:`Intervalle de tick`,lastChannelsRefresh:`Dernière actualisation des canaux`,channelsHint:`Utilisez Channels pour lier WhatsApp, Telegram, Discord, Signal ou iMessage.`},stats:{instances:`Instances`,instancesHint:`Balises de présence au cours des 5 dernières minutes.`,sessions:`Sessions`,sessionsHint:`Clés de session récentes suivies par le Gateway.`,cron:`Cron`,cronNext:`Prochain réveil {time}`},notes:{title:`Notes`,subtitle:`Rappels rapides pour les configurations de contrôle à distance.`,tailscaleTitle:`Tailscale serve`,tailscaleText:`Privilégiez le mode serve pour garder le Gateway sur loopback avec l’authentification tailnet.`,sessionTitle:`Hygiène des sessions`,sessionText:`Utilisez /new ou sessions.patch pour réinitialiser le contexte.`,cronTitle:`Rappels cron`,cronText:`Utilisez des sessions isolées pour les exécutions récurrentes.`},auth:{required:`Ce Gateway nécessite une authentification. Ajoutez un jeton ou un mot de passe, puis cliquez sur Connect.`,failed:`Échec de l’authentification. Recopiez une URL avec jeton avec {command}, ou mettez à jour le jeton, puis cliquez sur Connect.`},pairing:{hint:`Cet appareil nécessite une approbation d’appairage de l’hôte Gateway.`,scopeUpgradeTitle:`Mise à niveau de portée en attente d’approbation.`,scopeUpgradeSummary:`Cet appareil est déjà appairé, mais l’élargissement de portée demandé est en attente d’approbation.`,roleUpgradeTitle:`Mise à niveau du rôle en attente d’approbation.`,roleUpgradeSummary:`Cet appareil est déjà appairé, mais le changement de rôle demandé est en attente d’approbation.`,metadataUpgradeTitle:`Modification des métadonnées de l’appareil en attente d’approbation.`,metadataUpgradeSummary:`Cet appareil est déjà appairé, mais la modification des métadonnées est en attente d’approbation.`,mobileHint:`Sur mobile ? Copiez l’URL complète (y compris #token=...) depuis openclaw dashboard --no-open sur votre ordinateur.`,docsTitle:`Documentation sur l’appairage des appareils (s’ouvre dans un nouvel onglet)`,docsLink:`Documentation : Appairage des appareils`},insecure:{hint:`Cette page utilise HTTP, le navigateur bloque donc l’identité de l’appareil. Utilisez HTTPS (Tailscale Serve) ou ouvrez {url} sur l’hôte Gateway.`,stayHttp:`Si vous devez rester en HTTP, définissez {config} (jeton uniquement).`},connection:{title:`Comment se connecter`,step1:`Démarrez le Gateway sur votre machine hôte :`,step2:`Obtenez une URL du tableau de bord avec jeton :`,step3:`Collez l’URL WebSocket et le jeton ci-dessus, ou ouvrez directement l’URL avec jeton.`,step4:`Ou générez un jeton réutilisable :`,docsHint:`Pour l’accès à distance, Tailscale Serve est recommandé. `,docsLink:`Lire la documentation →`,authDocsTitle:`Documentation sur l’authentification de la Control UI (s’ouvre dans un nouvel onglet)`,authDocsLink:`Documentation : Authentification de la Control UI`,tailscaleDocsTitle:`Documentation sur Tailscale Serve (s’ouvre dans un nouvel onglet)`,tailscaleDocsLink:`Documentation : Tailscale Serve`,insecureHttpDocsTitle:`Documentation sur HTTP non sécurisé (s’ouvre dans un nouvel onglet)`,insecureHttpDocsLink:`Documentation : HTTP non sécurisé`,copyCommand:`Copier la commande`,copyCommandAria:`Copier la commande : {command}`},cards:{cost:`Coût`,skills:`Skills`,recentSessions:`Sessions récentes`,modelAuth:`Authentification des modèles`,modelAuthOk:`{count} ok`,modelAuthExpired:`{count} expirés`,modelAuthExpiring:`{count} expirent bientôt`,modelAuthProviders:`{count} fournisseurs`,modelAuthUsageLeft:`Il reste {pct} %`,modelAuthExpiresIn:`expire {when}`,modelAuthAttentionExpiredTitle:`Authentification des modèles expirée`,modelAuthAttentionExpiringTitle:`L'authentification des modèles expire bientôt`,modelAuthAttentionExpiredDesc:`{providers} — réauthentifiez-vous avec openclaw models auth`,modelAuthAttentionExpiringEntry:`{provider} ({when})`},attention:{title:`Attention`},eventLog:{title:`Journal des événements`},logTail:{title:`Journaux Gateway`},quickActions:{newSession:`Nouvelle session`,automation:`Automatisation`,refreshAll:`Tout actualiser`,terminal:`Terminal`},palette:{placeholder:`Saisissez une commande…`,noResults:`Aucun résultat`,categories:{search:`Rechercher`,navigation:`Navigation`,skills:`Skills`},items:{overview:`Aperçu`,sessions:`Sessions`,scheduled:`Planifié`,skills:`Skills`,settings:`Paramètres`,agents:`Agents`,shellCommand:`Commande shell`,debugMode:`Mode débogage`},descriptions:{shellCommand:`Exécuter le shell`,debugMode:`Basculer le débogage`},footer:{navigate:`naviguer`,select:`sélectionner`,close:`fermer`}}},dreaming:{agentSelect:{label:`Agent`,ariaLabel:`Dreaming agent`},tabs:{scene:`Scène`,diary:`Journal`,advanced:`Avancé`},header:{refresh:`Actualiser`,refreshing:`Actualisation…`,on:`Rêverie activée`,off:`Rêverie désactivée`},restartConfirmation:{title:`Restart Gateway to Apply Change`,subtitle:`Changing Dreaming mode restarts the gateway.`,warning:`This action will restart the Gateway and may temporarily interrupt chats, automations, and connected channels.`,confirm:`Confirm Restart`,restarting:`Restarting…`,failed:`Could not apply change. Check your connection and try again.`},status:{active:`Rêverie active`,idle:`Rêverie inactive`,promotedSuffix:`promu`,nextSweepPrefix:`prochaine passe`},scene:{backfill:`Rattrapage`,dedupeDiary:`Journal de déduplication`,reset:`Réinitialiser`,clearGrounded:`Effacer les éléments ancrés`,repairCache:`Réparer le cache des rêves`,working:`Traitement…`},phase:{light:`Léger`,deep:`Profond`,rem:`REM`,off:`désactivé`},advanced:{eyebrow:`Vérification`,title:`Vérification du journal quotidien`,description:`Vérifiez ce qui provient du journal quotidien, ce qui est en attente de promotion et ce qui a été promu récemment.`,summaryFromDailyLog:`du journal quotidien`,summaryWaiting:`en attente`,summaryPromotedToday:`promu aujourd’hui`,stagedTitle:`Du journal quotidien`,stagedDescription:`Rejouer les candidats extraits d’anciennes entrées du journal quotidien.`,shortTermTitle:`En attente de promotion`,shortTermDescription:`Candidats à court terme actuels en attente d’être promus en mémoire réelle.`,sortRecent:`Les plus récents`,sortSignals:`Support le plus fort`,originDailyLog:`rejoué`,originLive:`en direct`,originMixed:`mixte`,promotedTitle:`Promotions récentes`,promotedDescription:`Éléments qui ont déjà franchi l’étape de promotion.`,emptyGrounded:`Aucune entrée de relecture ancrée en attente pour le moment.`,emptyShortTerm:`Aucune entrée à court terme à examiner.`,emptyPromoted:`Aucune promotion récente à examiner.`,updatedPrefix:`mis à jour`},stats:{shortTerm:`Court terme`,grounded:`Ancré`,signals:`Signaux`,promoted:`Promus`,phaseHits:`Occurrences de phase`},trace:{shortTerm:`Court terme`,grounded:`Ancré`,signals:`Signaux`,promoted:`Promus`,groundedLed:`grounded-led`,emptyShortTerm:`Aucun élément à court terme actif.`,emptyGrounded:`Aucun élément ancré en attente.`,emptySignals:`Aucun signal actif.`,emptyPromoted:`Rien n’a encore été promu aujourd’hui.`},diary:{title:`Journal des rêves`,noDreamsYet:`Aucun rêve pour le moment`,noDreamsHint:`Les rêves apparaîtront ici après le premier cycle de rêverie.`,waitingTitle:`Le journal attend`,waitingHint:`Les entrées narratives apparaîtront après le prochain cycle de rêverie.`,older:`Plus anciens`,newer:`Plus récents`,reload:`Recharger`,reloading:`Rechargement…`},phrases:{consolidatingMemories:`consolidation des souvenirs…`,tidyingKnowledgeGraph:`rangement du graphe de connaissances…`,replayingConversations:`relecture des conversations d’aujourd’hui…`,weavingShortTerm:`tissage du court terme dans le long terme…`,defragmentingMindPalace:`défragmentation du palais mental…`,filingLooseThoughts:`classement des pensées éparses…`,connectingDots:`connexion de points éloignés…`,compostingContext:`compostage des anciennes fenêtres de contexte…`,alphabetizingSubconscious:`alphabétisation du subconscient…`,promotingHunches:`promotion des intuitions prometteuses…`,forgettingNoise:`oubli de ce qui n’a pas d’importance…`,dreamingEmbeddings:`rêverie en embeddings…`,reorganizingAttic:`réorganisation du grenier de la mémoire…`,indexingDay:`indexation en douceur de la journée…`,nurturingInsights:`maturation des intuitions naissantes…`,simmeringIdeas:`mijotage d’idées à moitié formées…`,whisperingVectorStore:`chuchotement au vector store…`}},usage:{common:{emptyValue:`—`,unknown:`inconnu`},loading:{title:`Aperçu de l’utilisation`,badge:`Chargement`},metrics:{tokens:`Jetons`,cost:`Coût`,session:`session`,sessions:`sessions`},presets:{today:`Aujourd’hui`,last7d:`7 j`,last30d:`30 j`,last90d:`90 j`,last1y:`1 an`,all:`Tous`},scope:{instance:`Instance actuelle`,instanceHint:`Afficher uniquement l’id de session actif pour chaque session logique.`,family:`Lignée historique`,familyHint:`Regrouper les ids de session connus adossés à des transcriptions ayant fait l’objet d’une rotation.`,familyIncluded:`La lignée historique inclut {count} instances de session.`},filters:{title:`Filtres`,to:`à`,startDate:`Date de début`,endDate:`Date de fin`,timeZone:`Fuseau horaire`,timeZoneLocal:`Local`,timeZoneUtc:`UTC`,pin:`Épingler`,pinned:`Épinglé`,unpin:`Désépingler les filtres`,selectAll:`Tout sélectionner`,clear:`Effacer`,clearAll:`Tout effacer`,remove:`Supprimer le filtre`,all:`Tous`,days:`Jours`,hours:`Heures`,session:`Session`,agent:`Agent`,channel:`Canal`,provider:`Fournisseur`,model:`Modèle`,tool:`Outil`,daysCount:`{count} jours`,hoursCount:`{count} heures`,sessionsCount:`{count} sessions`},query:{placeholder:`Filtrer les sessions (ex. key:agent:main:cron* model:gpt-4o has:errors minTokens:2000)`,apply:`Filtrer (côté client)`,matching:`{shown} sessions sur {total} correspondent`,inRange:`{total} sessions dans l’intervalle`,tip:`Astuce : utilisez les filtres ou cliquez sur les barres pour affiner les jours.`},export:{label:`Exporter`,sessionsCsv:`CSV des sessions`,dailyCsv:`CSV quotidien`,json:`JSON`},cacheStatus:{warning:`Le cache d’utilisation est en cours de reconstruction en arrière-plan. Les totaux affichés peuvent être obsolètes.`,title:`{status} : {pending} en attente, {stale} obsolètes, {cached} en cache`,status:{refreshing:`actualisation`,stale:`obsolète`,partial:`partiel`}},empty:{title:`Commencez par une plage de dates`,subtitle:`Chargez les données d’utilisation pour comparer les coûts, examiner les sessions et explorer les chronologies sans quitter le tableau de bord.`,hint:`Sélectionnez une plage de dates et cliquez sur Actualiser pour charger l’utilisation.`,noData:`Aucune donnée`,featureOverview:`Cartes d’aperçu`,featureSessions:`Classement des sessions`,featureTimeline:`Exploration de la chronologie`},daily:{title:`Utilisation quotidienne`,total:`Total`,byType:`Par type`,tokensTitle:`Utilisation quotidienne des jetons`,costTitle:`Coût quotidien`},breakdown:{output:`Sortie`,input:`Entrée`,cacheWrite:`Écriture du cache`,cacheRead:`Lecture du cache`,total:`Total`,tokensByType:`Jetons par type`,costByType:`Coût par type`},overview:{title:`Aperçu de l’utilisation`,messages:`Messages`,messagesHint:`Nombre total de messages utilisateur et assistant dans l’intervalle.`,messagesAbbrev:`msgs`,user:`utilisateur`,assistant:`assistant`,toolCalls:`Appels d’outil`,toolCallsHint:`Nombre total d’appels d’outil sur l’ensemble des sessions.`,toolsUsed:`outils utilisés`,errors:`Erreurs`,errorsHint:`Nombre total d’erreurs de message et d’outil dans l’intervalle.`,toolResults:`résultats d’outil`,avgTokens:`Moy. jetons / msg`,avgTokensHint:`Nombre moyen de jetons par message dans cet intervalle.`,avgCost:`Coût moy. / msg`,avgCostHint:`Coût moyen par message lorsque les providers signalent les coûts.`,avgCostHintMissing:`Coût moyen par message lorsque les providers signalent les coûts. Les données de coût sont manquantes pour certaines ou toutes les sessions de cet intervalle.`,acrossMessages:`Sur {count} messages`,sessions:`Sessions`,sessionsHint:`Sessions distinctes dans l’intervalle.`,sessionsInRange:`sur {count} dans l’intervalle`,throughput:`Débit`,throughputHint:`Le débit indique les jetons par minute pendant le temps d’activité. Plus il est élevé, mieux c’est.`,tokensPerMinute:`jet/min`,perMinute:`/ min`,errorRate:`Taux d’erreur`,errorHint:`Taux d’erreur = erreurs / total des messages. Plus il est faible, mieux c’est.`,avgSession:`session moy.`,cacheHitRate:`Taux de réussite du cache`,cacheHint:`Taux de réussite du cache = lecture du cache / (entrée + lecture du cache). Plus il est élevé, mieux c’est.`,cached:`en cache`,prompt:`prompt`,calls:`appels`,topModels:`Principaux modèles`,topProviders:`Principaux providers`,topTools:`Principaux outils`,topAgents:`Principaux agents`,topChannels:`Principaux canaux`,peakErrorDays:`Jours avec le plus d’erreurs`,peakErrorHours:`Heures avec le plus d’erreurs`,noModelData:`Aucune donnée de modèle`,noProviderData:`Aucune donnée de provider`,noToolCalls:`Aucun appel d’outil`,noAgentData:`Aucune donnée d’agent`,noChannelData:`Aucune donnée de canal`,noErrorData:`Aucune donnée d’erreur`},sessions:{title:`Sessions`,shown:`{count} affichées`,total:`{count} au total`,avg:`moy.`,all:`Tous`,recent:`Consultées récemment`,recentShort:`Récentes`,sort:`Trier`,ascending:`Croissant`,descending:`Décroissant`,clearSelection:`Effacer la sélection`,noRecent:`Aucune session récente`,noneInRange:`Aucune session dans l’intervalle`,more:`+{count} de plus`,selected:`Sélectionnées ({count})`,copy:`Copier`,copyName:`Copier le nom de la session`,limitReached:`Affichage des 1 000 premières sessions. Réduisez la plage de dates pour obtenir des résultats complets.`},details:{noUsageData:`Aucune donnée d’utilisation pour cette session.`,duration:`Durée`,modelMix:`Répartition des modèles`,filtered:`(filtré)`,close:`Fermer les détails de la session`,noTimeline:`Aucune donnée de chronologie`,noDataInRange:`Aucune donnée dans l’intervalle`,usageOverTime:`Utilisation au fil du temps`,reset:`Réinitialiser`,perTurn:`Par tour`,cumulative:`Cumulé`,turnRange:`Tours {start}–{end} sur {total}`,assistantOutputTokens:`Jetons de sortie de l’assistant`,userToolInputTokens:`Jetons d’entrée utilisateur + outil`,tokensWrittenToCache:`Jetons écrits dans le cache`,tokensReadFromCache:`Jetons lus depuis le cache`,noContextData:`Aucune donnée de contexte`,systemPromptBreakdown:`Répartition du prompt système`,collapse:`Réduire`,collapseAll:`Tout réduire`,expandAll:`Tout développer`,baseContextPerMessage:`Contexte de base par message`,system:`Système`,systemShort:`Sys`,skills:`Skills`,tools:`Outils`,files:`Fichiers`,ofInput:`de l’entrée`,of:`de`,timelineFiltered:`chronologie filtrée`,conversation:`Conversation`,noMessages:`Aucun message`,tool:`Outil`,toolResult:`Résultat d’outil`,hasTools:`Contient des outils`,searchConversation:`Rechercher dans la conversation`,you:`Vous`,noMessagesMatch:`Aucun message ne correspond aux filtres.`},mosaic:{title:`Activité par heure`,subtitleEmpty:`Les estimations nécessitent des horodatages de session.`,subtitle:`Estimé à partir des plages de session (première/dernière activité). Fuseau horaire : {zone}.`,noTimelineData:`Aucune donnée de chronologie pour le moment.`,dayOfWeek:`Jour de la semaine`,midnight:`Minuit`,fourAm:`4 h`,eightAm:`8 h`,noon:`Midi`,fourPm:`16 h`,eightPm:`20 h`,legend:`Faible → Forte densité de jetons`,sun:`Dim`,mon:`Lun`,tue:`Mar`,wed:`Mer`,thu:`Jeu`,fri:`Ven`,sat:`Sam`}},login:{subtitle:`Tableau de bord Gateway`,passwordPlaceholder:`facultatif`,showToken:`Afficher le jeton`,hideToken:`Masquer le jeton`,toggleTokenVisibility:`Basculer la visibilité du jeton`,showPassword:`Afficher le mot de passe`,hidePassword:`Masquer le mot de passe`,togglePasswordVisibility:`Basculer la visibilité du mot de passe`,failure:{rawError:`Erreur brute`,docsAuth:`Docs d’authentification Control UI`,docsPairing:`Docs d’appairage des appareils`,docsInsecure:`Docs HTTP non sécurisé`,authRequired:{title:`Authentification requise`,summary:`Le Gateway est joignable, mais il lui faut un jeton ou un mot de passe correspondant avant que ce navigateur puisse se connecter.`,stepPaste:`Collez le jeton de openclaw dashboard --no-open ou saisissez le mot de passe configuré.`,stepGenerate:`Si aucun jeton n’est configuré, exécutez openclaw doctor --generate-gateway-token sur l’hôte Gateway.`,stepConnect:`Cliquez de nouveau sur Connect après avoir mis à jour l’identifiant.`},authFailed:{title:`L’authentification ne correspond pas`,summary:`L’identifiant fourni a été refusé. La cause la plus courante est un jeton obsolète ou copié depuis une autre URL Gateway.`,stepDashboard:`Exécutez openclaw dashboard --no-open et ouvrez la nouvelle URL ou collez son jeton.`,stepReplace:`Remplacez les valeurs de jeton/mot de passe obsolètes ; ne réutilisez pas un jeton provenant d’une autre URL Gateway.`,stepMode:`Utilisez un seul mode d’authentification correspondant à la fois : jeton gateway pour le mode jeton, mot de passe pour le mode mot de passe.`},rateLimited:{title:`Trop de tentatives échouées`,summary:`Le Gateway limite temporairement les tentatives d’authentification pour ce client.`,stepStop:`Arrêtez de réessayer depuis cet onglet pendant un moment.`,stepWait:`Attendez que le limiteur d’authentification se calme, puis reconnectez-vous avec l’identifiant corrigé.`,stepCheckClients:`Si cet hôte est partagé, vérifiez que d’autres clients ne répètent pas de mauvais essais.`},pairing:{title:`Appairage de l’appareil requis`,scopeTitle:`Mise à niveau de scope en attente`,roleTitle:`Mise à niveau du rôle en attente`,metadataTitle:`Actualisation de l’appareil en attente`,summary:`Ce navigateur nécessite une approbation unique de l’hôte Gateway avant de pouvoir utiliser Control UI.`,upgradeSummary:`Ce navigateur est déjà connu, mais l’accès demandé a changé et nécessite une nouvelle approbation.`,stepList:`Exécutez openclaw devices list sur l’hôte Gateway.`,stepApproveId:`Approuvez cette demande : openclaw devices approve {requestId}.`,stepApprove:`Approuvez la demande navigateur/appareil en attente depuis cette liste.`,stepReconnect:`Reconnectez-vous après la fin de l’approbation.`},insecure:{title:`Contexte de navigateur sécurisé requis`,summary:`Cette page s’exécute en HTTP simple, le navigateur ne peut donc pas créer l’identité d’appareil attendue par le Gateway.`,stepHttps:`Utilisez HTTPS/Tailscale Serve, ou ouvrez http://127.0.0.1:18789 sur l’hôte Gateway.`,stepLocalCompat:`Pour la compatibilité locale en mode jeton uniquement, définissez gateway.controlUi.allowInsecureAuth: true.`,stepAvoidDisable:`Évitez de désactiver l’authentification des appareils pour l’accès HTTP distant.`},origin:{title:`Origine du navigateur non autorisée`,summary:`Le Gateway a rejeté l’origine de cette page avant d’accepter la connexion Control UI.`,stepAllowedOrigins:`Ajoutez cette origine de navigateur à gateway.controlUi.allowedOrigins.`,stepFullOrigin:`Utilisez des origines complètes comme http://localhost:5173, pas des motifs wildcard.`,stepRestart:`Redémarrez ou rechargez le Gateway après avoir modifié les origines autorisées.`},protocol:{title:`Incompatibilité de protocole`,summary:`La Control UI servie et le Gateway en cours d’exécution ne sont pas d’accord sur le protocole de connexion pris en charge.`,stepDashboard:`Rouvrez le dashboard servi avec openclaw dashboard afin que l’UI et le Gateway viennent de la même installation.`,stepDevUi:`Si vous utilisez pnpm ui:dev, reconstruisez ou redémarrez l’UI de développement avec le checkout actuel.`,stepRestart:`Redémarrez le Gateway après la mise à jour d’OpenClaw afin qu’il serve le protocole actuel.`},network:{title:`Connexion impossible`,summary:`Le navigateur n’a pas pu terminer la connexion au Gateway. Vérifiez la cible et le transport avant de réessayer les identifiants.`,stepGateway:`Confirmez que le Gateway fonctionne avec openclaw status ou openclaw gateway run.`,stepUrl:`Vérifiez l’URL WebSocket et utilisez wss:// lorsque le Gateway est derrière HTTPS/Tailscale Serve.`,stepDashboard:`Rouvrez le dashboard avec openclaw dashboard --no-open pour recopier l’URL actuelle et les détails d’authentification.`}}},chat:{disconnected:`Déconnecté du Gateway.`,refreshTitle:`Actualiser les données du chat`,settings:`Paramètres de chat`,thinkingToggle:`Afficher/masquer la sortie de réflexion/travail de l’assistant`,toolCallsToggle:`Afficher/masquer les appels d’outil et les résultats d’outil`,autoScrollMode:`Mode de défilement automatique`,autoScrollAlways:`Toujours`,autoScrollNearBottom:`Près du bas`,autoScrollOff:`Désactivé`,hideCronSessions:`Masquer les sessions cron`,showCronSessions:`Afficher les sessions cron`,showCronSessionsHidden:`Afficher les sessions cron ({count} masquées)`,onboardingDisabled:`Désactivé pendant la configuration`,gatewayStatus:`État du Gateway : {status}`,commandPaletteTitle:`Rechercher ou accéder à… (⌘K)`,openCommandPalette:`Ouvrir la palette de commandes`,docsOpensInNewTab:`{label} (s’ouvre dans un nouvel onglet)`,updateAvailable:`Mise à jour disponible :`,runningVersion:`version v{version} en cours d’exécution`,updating:`Mise à jour…`,updateNow:`Mettre à jour maintenant`,dismissUpdateBanner:`Ignorer la bannière de mise à jour`,switchedSession:`Passage à {session}`,welcome:{ready:`Ready to chat`,hintBeforeShortcut:`Type a message below ·`,hintAfterShortcut:`for commands`,suggestions:{whatCanYouDo:`What can you do?`,summarizeRecentSessions:`Summarize my recent sessions`,configureChannel:`Help me configure a channel`,checkSystemHealth:`Check system health`}},runControls:{newSession:`New session`,export:`Exporter`,exportChat:`Export chat`,queue:`Queue`,queueMessage:`Queue message`,stop:`Stop`,stopGenerating:`Stop generating`,send:`Send`,sendMessage:`Send message`},queue:{retry:`Réessayer`,retrySend:`Réessayer l’envoi`,retryQueuedMessage:`Réessayer le message en file d’attente`},composer:{placeholder:`Message {name} (Enter to send)`,placeholderWithAttachments:`Add a message or paste more images...`,placeholderDisconnected:`Connect to the gateway to start chatting...`,attachFile:`Attach file`,startTalk:`Start Talk`,stillListening:`Toujours à l’écoute`,talkTranscript:`Transcription vocale`,stopTalk:`Stop Talk`},selectors:{agentFilter:`Filtrer les sessions par agent`,session:`Chat session`,sessionSearch:`Rechercher des sessions`,clearSessionSearch:`Effacer la recherche de sessions`,loadMoreSessions:`Charger plus de sessions`,model:`Chat model`,thinkingLevel:`Chat thinking level`},toolCards:{toolError:`Erreur de l’outil`}},languages:{en:`Anglais`,zhCN:`简体中文 (chinois simplifié)`,zhTW:`繁體中文 (chinois traditionnel)`,ptBR:`Português (portugais brésilien)`,de:`Deutsch (allemand)`,es:`Español (espagnol)`,jaJP:`日本語 (japonais)`,ko:`한국어 (coréen)`,fr:`Français (français)`,ar:`العربية (arabe)`,it:`Italiano (italien)`,tr:`Türkçe (turc)`,uk:`Українська (ukrainien)`,id:`Bahasa Indonesia (indonésien)`,pl:`Polski (polonais)`,th:`ไทย (thaï)`,vi:`Tiếng Việt (vietnamien)`,nl:`Nederlands (néerlandais)`,fa:`فارسی (persan)`},cron:{quickCreate:{schedules:{everyMorning:{label:`Chaque matin`,description:`Tous les jours à 8 h 00`},everyEvening:{label:`Chaque soir`,description:`Tous les jours à 18 h 00`},hourly:{label:`Toutes les heures`,description:`Toutes les heures`},weekdays:{label:`Jours de semaine`,description:`Lun.–ven. à 9 h 00`},weekly:{label:`Chaque semaine`,description:`Chaque lundi à 9 h 00`},once:{label:`Exécuter une fois`,description:`Une seule fois, supprimer après l’exécution`}},delivery:{notify:{label:`Me notifier`,description:`Envoyer les résultats au chat`},silent:{label:`Silencieux`,description:`Exécuter sans notification`},isolated:{label:`Session indépendante`,description:`Exécuter dans sa propre session`}},steps:{what:`Quoi`,when:`Quand`,how:`Comment`},defaultName:`Automatisation`,whatHeading:`Que doit-elle faire ?`,whatHint:`Décrivez la tâche en langage naturel. L’agent exécutera cette invite à chaque fois.`,promptPlaceholder:`p. ex., Vérifie ma boîte de réception pour les e-mails urgents et résume-les...`,nameOptional:`Nom (facultatif)`,namePlaceholder:`p. ex., Vérification de la boîte de réception du matin`,whenHeading:`Quand doit-elle s’exécuter ?`,whenHint:`Choisissez une planification. Vous pourrez l’ajuster plus tard.`,howHeading:`Comment doit-elle fonctionner ?`,howHint:`Choisissez le mode de remise des résultats.`,title:`Nouvelle automatisation`},summary:{enabled:`Activé`,yes:`Oui`,no:`Non`,jobs:`Tâches`,nextWake:`Prochain réveil`,refreshing:`Actualisation...`,refresh:`Actualiser`},jobs:{title:`Tâches`,subtitle:`Toutes les tâches planifiées stockées dans le Gateway.`,shownOf:`{shown} affichées sur {total}`,searchJobs:`Rechercher des tâches`,searchPlaceholder:`Nom, description ou agent`,enabled:`Activé`,schedule:`Planification`,lastRun:`Dernière exécution`,all:`Tous`,sort:`Trier`,nextRun:`Prochaine exécution`,recentlyUpdated:`Récemment mises à jour`,name:`Nom`,direction:`Direction`,ascending:`Croissant`,descending:`Décroissant`,reset:`Réinitialiser`,emptyTitle:`No scheduled jobs yet.`,emptyHint:`Create one from a plain-language prompt; advanced fields can wait.`,emptyFilteredHint:`Clear or change filters to see scheduled jobs.`,noMatching:`Aucune tâche correspondante.`,loading:`Chargement...`,loadMore:`Charger plus de tâches`},runs:{title:`Historique d’exécution`,subtitleAll:`Dernières exécutions pour toutes les tâches.`,subtitleJob:`Dernières exécutions pour {title}.`,scope:`Portée`,allJobs:`Toutes les tâches`,selectedJob:`Tâche sélectionnée`,searchRuns:`Rechercher des exécutions`,searchPlaceholder:`Résumé, erreur ou tâche`,newestFirst:`Plus récentes d’abord`,oldestFirst:`Plus anciennes d’abord`,status:`Statut`,delivery:`Distribution`,clear:`Effacer`,allStatuses:`Tous les statuts`,allDelivery:`Toute la distribution`,selectJobHint:`Sélectionnez une tâche pour examiner l’historique d’exécution.`,noMatching:`Aucune exécution correspondante.`,loadMore:`Charger plus d’exécutions`,runStatusOk:`OK`,runStatusError:`Erreur`,runStatusSkipped:`Ignoré`,runStatusUnknown:`Inconnu`,deliveryDelivered:`Distribué`,deliveryNotDelivered:`Non distribué`,deliveryUnknown:`Inconnu`,deliveryNotRequested:`Non demandé`},form:{editJob:`Modifier la tâche`,newJob:`Nouvelle tâche`,advancedJob:`Advanced job`,updateSubtitle:`Mettez à jour la tâche planifiée sélectionnée.`,createSubtitle:`Créez un réveil planifié ou une exécution d’agent.`,required:`Obligatoire`,requiredSr:`obligatoire`,basics:`Notions de base`,basicsSub:`Donnez-lui un nom, choisissez l’assistant et définissez l’état activé.`,fieldName:`Nom`,description:`Description`,agentId:`ID de l’agent`,namePlaceholder:`Brief du matin`,descriptionPlaceholder:`Contexte facultatif pour cette tâche`,agentPlaceholder:`main ou ops`,agentHelp:`Commencez à taper pour choisir un agent connu, ou saisissez-en un personnalisé.`,schedule:`Planification`,scheduleSub:`Contrôlez quand cette tâche s’exécute.`,every:`Toutes les`,at:`À`,cronOption:`Cron`,runAt:`Exécuter à`,unit:`Unité`,minutes:`Minutes`,hours:`Heures`,days:`Jours`,expression:`Expression`,expressionPlaceholder:`0 7 * * *`,everyAmountPlaceholder:`30`,timezoneOptional:`Fuseau horaire (facultatif)`,timezonePlaceholder:`America/Los_Angeles`,timezoneHelp:`Choisissez un fuseau horaire courant ou saisissez n’importe quel fuseau horaire IANA valide.`,jitterHelp:`Besoin de jitter ? Utilisez Avancé → Fenêtre de décalage / Unité de décalage.`,execution:`Exécution`,executionSub:`Choisissez quand réveiller et ce que cette tâche doit faire.`,session:`Session`,main:`Principale`,isolated:`Isolée`,sessionHelp:`Principale publie un événement système. Isolée exécute un tour d’agent dédié.`,wakeMode:`Mode de réveil`,now:`Maintenant`,nextHeartbeat:`Prochain heartbeat`,wakeModeHelp:`Maintenant déclenche immédiatement. Prochain heartbeat attend le cycle suivant.`,payloadKind:`Que faut-il exécuter ?`,systemEvent:`Publier un message dans la chronologie principale`,agentTurn:`Exécuter une tâche d’assistant (isolée)`,systemEventHelp:`Envoie votre texte à la chronologie principale du Gateway (idéal pour les rappels/déclencheurs).`,agentTurnHelp:`Démarre une exécution de l’assistant dans sa propre session à partir de votre prompt.`,timeoutSeconds:`Délai d’expiration (secondes)`,timeoutPlaceholder:`Facultatif, ex. 90`,timeoutHelp:`Facultatif. Laissez vide pour utiliser le comportement de délai d’expiration par défaut du Gateway pour cette exécution.`,mainTimelineMessage:`Message de la chronologie principale`,assistantTaskPrompt:`Prompt de tâche de l’assistant`,deliverySection:`Distribution`,deliverySub:`Choisissez où les résumés d’exécution sont envoyés.`,resultDelivery:`Distribution du résultat`,announceDefault:`Annoncer le résumé (par défaut)`,webhookPost:`Webhook POST`,noneInternal:`Aucun (interne)`,deliveryHelp:`Annoncer publie un résumé dans le chat. Aucun conserve l’exécution en interne.`,webhookUrl:`URL du webhook`,channel:`Canal`,webhookPlaceholder:`https://example.com/cron`,channelHelp:`Choisissez quel canal connecté reçoit le résumé.`,webhookHelp:`Envoyez les résumés d’exécution vers un endpoint webhook.`,to:`À`,toPlaceholder:`+1555... ou ID de chat`,toHelp:`Remplacement facultatif du destinataire (ID de chat, téléphone ou ID utilisateur).`,advanced:`Avancé`,advancedHelp:`Remplacements facultatifs pour les garanties de distribution, le jitter de planification et les contrôles du modèle.`,deleteAfterRun:`Supprimer après exécution`,deleteAfterRunHelp:`Idéal pour les rappels ponctuels qui doivent se nettoyer automatiquement.`,clearAgentOverride:`Effacer le remplacement d’agent`,clearAgentHelp:`Force cette tâche à utiliser l’assistant par défaut du Gateway.`,exactTiming:`Timing exact (sans décalage)`,exactTimingHelp:`Exécuter exactement aux limites cron sans étalement.`,staggerWindow:`Fenêtre de décalage`,staggerUnit:`Unité de décalage`,staggerPlaceholder:`30`,seconds:`Secondes`,model:`Modèle`,modelPlaceholder:`openai/gpt-5.2`,modelHelp:`Commencez à taper pour choisir un modèle connu, ou saisissez-en un personnalisé.`,thinking:`Réflexion`,thinkingPlaceholder:`low`,thinkingHelp:`Utilisez un niveau suggéré ou saisissez une valeur spécifique au provider.`,bestEffortDelivery:`Distribution au mieux`,bestEffortHelp:`Ne faites pas échouer la tâche si la distribution elle-même échoue.`,cantAddYet:`Impossible d’ajouter la tâche pour le moment`,fillRequired:`Remplissez les champs obligatoires ci-dessous pour activer l’envoi.`,fixFields:`Corrigez {count} champ pour continuer.`,fixFieldsPlural:`Corrigez {count} champs pour continuer.`,saving:`Enregistrement...`,saveChanges:`Enregistrer les modifications`,addJob:`Ajouter une tâche`,cancel:`Annuler`},jobList:{allJobs:`toutes les tâches`,selectJob:`(sélectionnez une tâche)`,enabled:`activée`,disabled:`désactivée`,edit:`Modifier`,clone:`Cloner`,disable:`Désactiver`,enable:`Activer`,run:`Exécuter`,history:`Historique`,remove:`Supprimer`},jobDetail:{system:`Système`,command:`Command`,cwd:`CWD`,prompt:`Prompt`,delivery:`Distribution`,agent:`Agent`},jobState:{status:`Statut`,next:`Prochaine`,last:`Dernière`},runEntry:{noSummary:`Aucun résumé.`,runAt:`Exécuter à`,openRunChat:`Ouvrir le chat d’exécution`,next:`Prochain {rel}`,due:`Prévu {rel}`},errors:{nameRequired:`Le nom est obligatoire.`,scheduleAtInvalid:`Saisissez une date/heure valide.`,everyAmountInvalid:`L’intervalle doit être supérieur à 0.`,cronExprRequired:`L’expression cron est obligatoire.`,staggerAmountInvalid:`Le décalage doit être supérieur à 0.`,systemTextRequired:`Le texte système est obligatoire.`,agentMessageRequired:`Le message de l’agent est obligatoire.`,timeoutInvalid:`S’il est défini, le délai d’expiration doit être supérieur à 0 seconde.`,webhookUrlRequired:`L’URL du webhook est obligatoire.`,webhookUrlInvalid:`L’URL du webhook doit commencer par http:// ou https://.`,invalidRunTime:`Heure d’exécution invalide.`,invalidIntervalAmount:`Montant d’intervalle invalide.`,cronExprRequiredShort:`Expression cron obligatoire.`,invalidStaggerAmount:`Montant de décalage invalide.`,systemEventTextRequired:`Texte de l’événement système obligatoire.`,agentMessageRequiredShort:`Message de l’agent obligatoire.`,nameRequiredShort:`Nom obligatoire.`}}};export{e as fr};
//# sourceMappingURL=fr-CD8NDmL9.js.map