const messages = { home: { settingsTitle: "Paramètres", settingsDescription: "Préférences de langue et d'agent", title: "Votre app fonctionne", intro: "Commencez à construire en modifiant", actionCardTitle: "Données pilotées par des actions", loadingAction: "Chargement du résultat de l'action...", docsTitle: "Documentation", docsDescription: "Découvrir le framework", themeTitle: "Thème", themeDescription: "Basculer sombre / clair", }, settings: { title: "Paramètres", description: "Préférences de langue et d'espace de travail pour cette app.", languageTitle: "Langue", languageDescription: "Choisissez la langue de l'interface. Cette préférence est enregistrée dans votre compte.", languageLabel: "Langue de l'interface", agentTitle: "Paramètres de l'agent", agentDescription: "Ouvrez les paramètres de l'agent dans la barre latérale pour les modèles, clés API, automatisations, voix et autres contrôles.", openAgentSettings: "Ouvrir les paramètres de l'agent", workspaceTitle: "Espace de travail", workspaceDescription: "Gérez l’accès des équipes et les ressources de l’espace de travail partagé.", openTeamSettings: "Ouvrir les paramètres d’équipe", openResourceSettings: "Ouvrir les paramètres des ressources", backHome: "Retour à l'accueil", }, dispatch: { nav: { chat: "Chat", overview: "Vue d'ensemble", apps: "Apps", metrics: "Métriques", vault: "Vault", integrations: "Intégrations", agents: "Agents", resources: "Resources", messaging: "Messaging", destinations: "Destinations", identities: "Identities", approvals: "Approbations", automations: "Automatisations", delivery: "Livraison", audit: "Audit", dreams: "Dreams", threadDebug: "Débogage du fil de discussion", settings: "Paramètres", team: "Équipe", operations: "Operations", navigation: "Navigation", navigationDescription: "Liens de navigation de l'espace de travail", }, sidebar: { workspaceControlPlane: "Plan de contrôle de l'espace de travail", workspaceSubtitle_one: "Workspace · {{count}} app", workspaceSubtitle_other: "Workspace · {{count}} apps", workspaceSubtitle_many: "Workspace · {{count}} apps", chats: "Discussions", newChat: "Nouveau chat", newDispatchChat: "Nouveau chat Dispatch", renameChat: "Renommer le chat", renameThread: "Rename {{title}}", chatOptions: "Chat options for {{title}}", aboutPage: "About {{title}}", emptyAgentText: "Créez des applications, gérez les clés du coffre-fort et acheminez le travail dans l'espace de travail.", suggestionBuildApp: "Créer une application d'espace de travail pour X", suggestionRouteSlack: "Acheminer les mentions Slack vers mon application d'analyse", suggestionGrantKey: "Accorder ma clé OpenAI à cette application", }, pages: { appsDescription: "Ouvrez les applications de l'espace de travail et démarrez la création d'une nouvelle application à partir de Dispatch.", appsDescriptionWithWorkspace: 'Apps in the "{{workspace}}" workspace. Each app gets its own route under this workspace and shares its database, auth, and agent chat.', appsInWorkspace: "Apps in {{workspace}}", workspaceApps: "Applications d'espace de travail", otherApps: "Autres applications", otherAppsDescription: "Ouvrez les autres applications qui vous sont accessibles.", availableCount: "{{count}} disponibles", activeCount: "{{count}} active", hiddenCount: "{{count}} hidden", createApp: "Créer une application", templates: "Modèles", checkingTemplates: "Vérification des modèles disponibles", templatesAvailable: "{{count}} available to scaffold", curatedTemplates: "Modèles sélectionnés", curatedTemplatesDescription: "Partez d’une structure d’application vérifiée et personnalisez-la.", remix: "Créer à partir du modèle", remixTemplate: "Créer l’app {{name}}", remixAppIdLabel: "Nouvel identifiant d’application", remixStarted: "Création de {{name}} démarrée", viewLiveApp: "Voir l’application en direct", alreadyInWorkspace: "Déjà dans l’espace de travail", remixAppIdDescription: "Choisissez un identifiant compatible avec l’URL pour la nouvelle application.", integrationSetup: "Configuration de l’intégration", source: "Source", remixing: "Création de l’app…", remixSuccess: "Création de l’app à partir du modèle démarrée.", remixError: "Impossible de créer une app à partir de ce modèle", appIdRequired: "L’identifiant de l’application est requis.", hide: "Masquer", show: "Show", hiddenApps: "Applications cachées", hiddenAppCount: "{{count}} hidden apps", workspaceAppFallback: "Application Espace de travail", workspaceAppDescription: "Ouvrez une application déployée ou vérifiez l'état d'une application en cours de création.", pageNotFound: "Page introuvable", pageNotFoundDescription: "Cet itinéraire ne figure pas encore dans la liste des applications de l'espace de travail.", browseApps: "Parcourir les applications", newApp: "Nouvelle application", newAppDescription: "Créez une application d'espace de travail à partir d'une invite et appliquez la stratégie de coffre-fort d'espace de travail.", destinationsDescription: "Canaux Slack sortants, discussions Telegram et cibles de thread enregistrés.", savedDestinations: "Destinations enregistrées", addDestination: "Ajouter une destination", quickTestMessage: "Message de test rapide", send: "Envoyer", delete: "Supprimer", cancel: "Annuler", messageSent: "Message envoyé", unableToSendMessage: "Impossible d'envoyer le message", destinationSaved: "Destination enregistrée", destinationRemoved: "Destination supprimée", deleteDestinationTitle: "Supprimer la destination ?", deleteDestinationDescription: '"{{name}}" will be removed. Any saved workflows or jobs that target this destination will start failing on the next send.', noDestinations: "Aucune destination enregistrée pour l'instant. Ajoutez votre première chaîne Slack ou votre premier chat Telegram sur la droite.", dailyDigestChannel: "Chaîne de résumé quotidien", optionalThreadOrTopicId: "Identifiant du fil ou du sujet facultatif", destinationNotes: "A quoi doit servir cette destination ?", saveDestination: "Enregistrer la destination", noWorkspaceApps: "Aucune application d'espace de travail pour l'instant", noWorkspaceAppsDescription: "Créez une application lorsqu'un flux de travail a besoin de son propre espace de vie.", appNotFound: "Application introuvable", building: "Building", appBuildingPrefix: "Cette application est en cours de création. Il sera disponible à", appBuildingSuffix: "after its branch is merged and the workspace deploy finishes.", branch: "Branch: {{branch}}", openBuilderBranch: "Branche Open Builder", openingApp: "Opening {{name}}", redirectingTo: "Redirection vers", openApp: "Ouvrir l'application", notDispatchOrWorkspaceApp: "un onglet Dispatch ou une application d'espace de travail dans cet espace de travail.", agentsDescription: "Dispatch peut déléguer par défaut à la suite d'applications intégrée via A2A. Ajoutez des agents supplémentaires ici uniquement si vous souhaitez acheminer le travail vers des applications en dehors de cet ensemble intégré.", mcpAccessUpdated: "Accès à l'application MCP mis à jour", selectAppForMcp: "Sélectionnez au moins une application ou exposez toutes les applications.", mcpUrlCopied: "MCP URL copié", mcpUrlCopyFailed: "Impossible de copier MCP URL", unifiedMcpGateway: "Passerelle unifiée MCP", unifiedMcpGatewayDescription: "Connectez les agents externes à Dispatch une fois, puis acheminez-les vers les applications d'espace de travail accordées via", allApps: "Toutes les applications", selectedApps: "Applications sélectionnées", loading: "Loading", grantedCount: "{{count}} granted", exposeAllAppsMcp: "Exposez toutes les applications via Dispatch MCP", copyUrl: "Copier l’URL", metricsUnavailable: "Métriques indisponibles", unableToLoadUsage: "Impossible de charger l'utilisation.", metricsDescriptionBuilder: "Dépenses en crédits Builder.io à l’échelle de l’espace de travail, volume de discussion, activité des utilisateurs et accès aux applications.", metricsDescriptionLlm: "Dépenses LLM à l'échelle de l'espace de travail, volume de discussion, activité des utilisateurs et accès aux applications.", llmCalls: "Appels LLM", activeUsers: "Utilisateurs actifs", workspaceAppsStat: "Applications d'espace de travail", chatThreads: "Fils de discussion", also: "Aussi", workspaceShortcutsAria: "Raccourcis de l’espace de travail", deliveryQueue: "File de livraison", failedLastHour: "{{count}} échecs au cours de la dernière heure", processingCount: "{{count}} en cours", queued: "En file", active: "Actif", done1h: "Terminé 1 h", failed1h: "Échoué 1 h", oldestQueued: "Plus ancien en file : {{age}}", queueAgeNone: "aucun", queueFailureHint: "Vérifiez les identifiants, les destinations et les erreurs récentes de la file.", unknownPlatform: "inconnu", attemptsCount: "{{count}} tentatives", noErrorMessage: "(aucun message d’erreur)", }, }, agentPanel: { useBuilder: "Utiliser le générateur", openDesktopToEditCode: "Ouvrir le bureau pour modifier le code", codeUnavailableDescription: "Les modifications du code source et l'accès à CLI sont disponibles dans l'application de bureau Agent Native.", downloadDesktop: "Télécharger le bureau", chatMode: "Mode discussion", chat: "Chat", cliTerminalMode: "Mode terminal CLI", cli: "CLI", workspaceMode: "Fichiers, agents, compétences et tâches", workspace: "Ressources", newChat: "Nouveau chat", newTerminal: "Nouvelle borne", panelOptions: "Options du panneau d'agent", collapseSidebar: "Réduire la barre latérale", hideChats: "Masquer les discussions", allChats: "Toutes les discussions", settings: "Paramètres", feedback: "Retour", exitFullscreen: "Quitter le plein écran", fullscreen: "Fullscreen", closeTab: "Fermer l'onglet", closeOtherTabs: "Fermer les autres onglets", closeAllTabs: "Fermer tous les onglets", clearChat: "Effacer la discussion", cliRequiresDevMode: "CLI nécessite le mode développement", cliRequiresDevModeDescription: "Exécutez cette application localement avec le développement pnpm ou utilisez Builder.io pour accéder au terminal CLI.", toggleAgent: "Agent à bascule", }, share: { titleWithResource: 'Share "{{title}}"', titleWithType: "Share {{type}}", owner: "Owner: {{name}}", close: "Fermer", shareOptions: "Options de partage", link: "Lien", invite: "Invite", embed: "Embed", done: "Terminé", generalAccess: "Accès général", shareLink: "Partager le lien", addPeopleByEmail: "Ajouter des personnes par email", notifyPeople: "Avertir les gens", peopleWithAccess: "Personnes ayant accès", ownerRole: "Owner", remove: "Retirer", noAccess: "Personne n'y a encore accès.", embedUrl: "Intégrer URL", embedCode: "Code intégré", copy: "Copier", role: "Role", private: "Privé", privateDescription: "Seules les personnes ayant accès peuvent voir", organization: "Organisation", organizationDescription: "Tout le monde dans votre organisation peut voir", public: "Public", publicDescription: "Toute personne connectée avec le lien peut voir", viewer: "Viewer", viewerDescription: "Peut voir", editor: "Editor", editorDescription: "Peut modifier", admin: "Admin", adminDescription: "Peut modifier et gérer l'accès", }, runsTray: { runs: "Exécutions", agentRuns: "L'agent s'exécute", activeRun_one: "{{count}} active run", activeRun_other: "{{count}} active runs", activeRun_many: "{{count}} active runs", failedRun_one: "{{count}} failed run", failedRun_other: "{{count}} failed runs", failedRun_many: "{{count}} failed runs", recentRuns: "Courses récentes", noRecentRuns: "Aucune exécution récente", ariaAgentRuns: "Agent runs, {{label}}", summaryRunning: "{{activeCount}} running", summaryRunningRecent: "{{activeCount}} running · {{terminalCount}} recent", summaryRecent_one: "{{count}} recent run", summaryRecent_other: "{{count}} recent runs", summaryRecent_many: "{{count}} recent runs", noTrackedWorkYet: "Pas encore de travaux suivis", emptyDescription: "Le travail de l'agent en arrière-plan apparaîtra ici pendant son exécution et une fois terminé.", open: "Ouvrir", stopRun: "Stop {{title}}", hideRun: "Hide {{title}}", statusRunning: "Running", statusDone: "Terminé", statusFailed: "Échec", statusStopped: "Stopped", updatedJustNow: "Mis à jour tout à l'heure", finishedJustNow: "Terminé à l'instant", updatedMinutes: "Updated {{count}}m ago", finishedMinutes: "Finished {{count}}m ago", updatedHours: "Updated {{count}}h ago", finishedHours: "Finished {{count}}h ago", updatedDate: "Updated {{date}}", finishedDate: "Finished {{date}}", }, codeRequired: { fallbackDetail: "Modifiez localement ou utilisez Builder.io pour modifier ce code dans le cloud et continuez à personnaliser l'application comme vous le souhaitez.", defaultFeature: "Apportez les modifications de code demandées à cette application", branchError: "Échec de la création de la branche", title: "Modifications du code requises", subtitleWithFeature: '"{{feature}}" creates or modifies source code, which needs Desktop or Builder from this surface.', subtitle: "Cette action crée ou modifie le code source, qui nécessite Desktop ou Builder à partir de cette surface.", desktopTitle: "Utiliser le bureau Agent Native", desktopDescription: "Ouvrez le projet dans l'application de bureau pour activer les modifications de source et l'accès à CLI.", builderAgentTitle: "Utiliser l'agent Builder.io", builderAgentDescription: "Laissez notre agent cloud effectuer les modifications pour vous. Vous recevrez un lien pour prévisualiser et déployer.", codeChangeTitle: "Cela nécessite un changement de code", codeChangeBadge: "Changement de code", connectBuilderTitle: "Connecter Builder.io", connectBuilderDescription: "Connectez Builder pour activer les modifications de code basées sur le cloud à partir de cette application.", setupRequired: "Configuration requise", branchCreated: "Branche créée", close: "Fermer", }, extensions: { createPrompt: "Create an extension: {{prompt}}", createWidgetPrompt: 'Create a new widget that fits in slot "{{slotId}}". I\'ll describe what it should do next.', whatShouldItDo: "Que devrait-il faire ?", createPlaceholder: "Une liste de tâches, un tableau de bord API, une calculatrice...", title: "Rallonges", hiddenShown: "Masquer affiché", showHidden: "Afficher les éléments masqués", newExtension: "Nouvelle extension", newExtensionTitle: "Nouvelle extension", buildPlaceholder: "Décrivez ce que vous aimeriez construire...", namePlaceholder: "Mon poste", descriptionPlaceholder: "A quoi sert cette extension ?", contentPlaceholder: "...", emptyTitle: "Créez votre première extension", emptyDescription: "Décrivez une petite application et l'agent la créera.", hiddenFromEveryone: "Caché de tout le monde", localFile: "Fichier local", optionsFor: "Options for {{name}}", unhideEveryone: "Afficher pour tout le monde", hideEveryone: "Cacher de tout le monde", localFileDescription: "This extension is backed by {{entryPath}}. Edit or remove it from the workspace.", deleteQuestion: "Archiver {{name}} ?", removeQuestion: "Remove {{name}}?", hideForYouDescription: "Cela le masque de votre liste d'extensions sans le supprimer pour quelqu'un d'autre.", removeEverywhereDescription: "Cela l’archive partout où il est partagé.", cancel: "Annuler", remove: "Retirer", removing: "Suppression...", delete: "Archiver", deleting: "Archivage...", openFullView: "Ouvrir la vue complète", removeFromWidgetArea: "Supprimer de cette zone de widget", deleteExtensionEllipsis: "Archiver l'extension...", removeFromMyListEllipsis: "Supprimer de ma liste...", removeFromWidgetAreaForMe: "Remove from this widget area (for me)", deleteEverywhereConfirmation: "Cela archive l'extension partout, pour toutes les personnes avec lesquelles elle est partagée.", addWidget: "Ajouter un widget", loading: "Chargement...", noWidgetsAvailable: "Aucun widget disponible pour cet emplacement pour l'instant.", buildNewWidget: "Créer un nouveau widget", contactSidebarWidget: "Widget de la barre latérale des contacts", contactSidebarDescription: "Apparaît à côté de la conversation en cours avec le contexte du contact et du fil de discussion.", eventDetailWidget: "Widget de détail d'événement", eventDetailDescription: "Apparaît sous l'événement de calendrier ouvert avec le contexte de l'événement et des participants.", addWidgetHere: "Ajouter un widget ici", back: "Retour", editExtension: "Modifier l'extension", saving: "Enregistrement...", save: "Enregistrer", create: "Créer", moreOptions: "Plus d'options", appearsIn: "Apparaît dans", noWidgetAreas: "Non installé dans aucune zone de widget. Demandez à l'agent de l'ajouter quelque part.", widgetAreaCount_one: "This extension can render in {{count}} widget area.", widgetAreaCount_other: "This extension can render in {{count}} widget areas.", widgetAreaCount_many: "This extension can render in {{count}} widget areas.", nameLabel: "Nom", descriptionLabel: "Description", contentLabel: "Contenu", previewTitle: "Aperçu des extensions", previewEmpty: "L'aperçu apparaîtra ici", loadError: "Impossible de charger les extensions.", widgetsLoadError: "Impossible de charger les widgets.", widgetAreasLoadError: "Impossible de charger les zones de widgets.", historyLoadError: "Impossible de charger l'historique de l'extension.", versionLoadError: "Impossible de charger cette version de l'extension.", retry: "Réessayer", }, org: { createTitle: "Créez votre organisation", createDescription: "Cette application organise votre contenu par équipe. Créez une organisation pour continuer – vous pourrez ensuite inviter des coéquipiers.", loadErrorTitle: "Impossible de charger l'organisation", loadErrorFallback: "Impossible de charger l'organisation.", tryAgain: "Réessayer", yourOrganization: "Votre organisation", joinYourTeam: "Rejoignez votre équipe", openToDomainEmails: "Open to @{{domain}} emails", joinOrg: "Join {{name}}", pendingInvitations: "Invitations en attente", invitedBy: "from {{name}}", accept: "Accept", createSeparate: "or create a separate organization", organizationName: "Nom de l'organisation", organizationPlaceholder: "Acme SARL", createOrganization: "Créer une organisation", create: "Créer", creating: "Création...", team: "Équipe", createOrgCardTitle: "Créer une organisation", createOrgCardDescription: "Set up a team to collaborate with your colleagues.", joinDomainOne: "Une organisation correspondant à votre domaine de messagerie existe déjà. Rejoignez-le pour collaborer avec vos coéquipiers.", joinDomainMany: "Des organisations correspondant à votre domaine de messagerie existent déjà. Rejoignez-en un pour collaborer avec vos coéquipiers.", join: "Join", invitedByLabel: "Invited by {{name}}", you: "You", owner: "Propriétaire", admin: "Admin", member: "Member", members: "Members", inviteMembers: "Inviter des membres", invited: "Invité", role: "Rôle", status: "Statut", actions: "Actions", noMembers: "Aucun membre pour le moment.", memberCount_one: "{{count}} member", memberCount_other: "{{count}} members", memberCount_many: "{{count}} members", youAreRole: "You are {{role}}", changeRole: "Changer de rôle", removeMember: "Supprimer un membre", cancel: "Annuler", remove: "Retirer", save: "Enregistrer", loading: "Chargement...", dangerZone: "Zone de danger", deleteOrg: "Supprimer l'organisation", deleteOrgDescription: "Supprime définitivement cette organisation, ses membres et ses invitations en attente. Les données appartenant à l'organisation deviennent inaccessibles. Cette action est irréversible.", deleteOrgConfirmPrompt: "Saisissez {{name}} pour confirmer.", deleteOrgConfirmPlaceholder: "Nom de l'organisation", deleteOrgConfirmCta: "Supprimer l'organisation", deleteOrgPending: "Suppression...", }, integrations: { webhookUrl: "URL du webhook", copyWebhookUrl: "Copier le webhook URL", notConfigured: "Not configured. Set the required secrets to enable this integration.", enable: "Enable", disable: "Disable", toggling: "...", networkError: "Erreur réseau atteignant le serveur", back: "Retour", agentEngineRequired: "Moteur d'agent requis", agentEngineDescription: "Connect Builder.io or an LLM key before {{platform}} can answer.", openLlm: "Ouvrir LLM", setup: "Setup", shareDocumentsWith: "Partager des documents avec", copyServiceAccountEmail: "Copier l'e-mail du compte de service", requiredSecrets: "Secrets requis", envHelp: "Set these in your .env file or environment to connect.", copy: "Copier", documentation: "Documentation", clientAvailable: "Le point de terminaison A2A de cet agent est automatiquement disponible. Aucune configuration nécessaire.", addChatIntegration: "Ajouter une intégration de chat", chatIntegrations: "Intégrations de chat", chatIntegrationsDescription: "Parlez à cet agent depuis d'autres plateformes", addIntegration: "Ajouter une intégration", dispatchEntrypoint: "Pour un point d'entrée central Slack ou Telegram capable d'acheminer le travail entre plusieurs applications, utilisez l'option", sharedMessaging: "Need one shared messaging surface for your workspace? Connect Slack or Telegram to a dispatch app and let it delegate to other agents over A2A.", }, observability: { noData: "Aucune donnée disponible", noConversations: "Aucune conversation enregistrée pour le moment", noEvals: "Aucun résultat d'évaluation enregistré pour le moment", noExperiments: "Aucune expérience créée pour l'instant", totalRuns: "Nombre total de courses", totalCost: "Coût total", avgLatency: "Latence moyenne", toolSuccess: "Succès de l'outil", thumbsUp: "Bravo", avgEvalScore: "Score d'évaluation moyen", run: "Run", model: "Modèle", duration: "Duration", cost: "Cost", tools: "Outils", time: "Time", failedCount: "({{count}} failed)", backToList: "Retour à la liste", spans: "Spans", type: "Taper", name: "Nom", tokens: "Tokens", status: "Statut", totalEvals: "Total des évaluations", avgScore: "Score moyen", scoresByCriteria: "Notes par critères", overview: "Vue d'ensemble", conversations: "Conversations", evals: "Évaluations", experiments: "Expériences", feedback: "Retour", variants: "Variants", created: "Created", backToExperiments: "Retour aux expériences", metrics: "Métriques", level: "Level", results: "Résultats", variant: "Variant", metric: "Metric", value: "Value", totalFeedback: "Commentaires totaux", thumbsDown: "Pouce vers le bas", frustration: "Frustration", thumbsUpRate: "Taux positif", categories: "Catégories", }, error: { genericTitle: "Une erreur est survenue", genericDetails: "Une erreur inattendue s'est produite.", notFoundTitle: "Page introuvable", notFoundDetails: "Cette page n'existe pas. Elle a peut-être été déplacée ou supprimée.", statusTitle: "Erreur {{status}}", goHome: "Retour à l'accueil", }, }; export default messages;