Files
nanobot/webui/src/i18n/locales/fr/common.json
T

1087 lines
44 KiB
JSON
Raw Normal View History

{
"app": {
"brand": "nanobot",
"loading": {
"connecting": "Connexion à nanobot…",
"boot": "Chargement de nanobot…"
},
"error": {
"title": "Impossible de joindre nanobot",
2026-04-21 14:33:44 +00:00
"gatewayHint": "Assurez-vous que la gateway est en cours dexécution (`nanobot gateway`) et que cette page est ouverte sur la même machine."
},
2026-05-22 23:02:55 +08:00
"auth": {
"title": "Authentification requise",
"hint": "Saisissez le secret configuré comme tokenIssueSecret dans la configuration de votre gateway.",
"placeholder": "Mot de passe",
"submit": "Se connecter",
"invalid": "Mot de passe invalide. Réessayez."
},
"account": {
"section": "Compte",
"logoutHint": "Déconnecter ce navigateur du gateway.",
"logout": "Se déconnecter"
},
"system": {
"section": "Système",
"restartHint": "Redémarrez nanobot pour appliquer les changements dexécution.",
"restart": "Redémarrer nanobot",
"restarting": "Redémarrage...",
"restartEngine": "Redémarrer le moteur",
"restartingEngine": "Redémarrage du moteur..."
},
"restart": {
"completed": "Redémarrage terminé en {{seconds}} s."
},
"documentTitle": {
"base": "nanobot",
"chat": "{{title}} · nanobot"
},
"meta": {
"description": "Interface web nanobot — discutez avec votre espace de travail nanobot."
}
},
"sidebar": {
2026-05-22 23:02:55 +08:00
"navigation": "Navigation de la barre latérale",
"collapse": "Réduire la barre latérale",
"newChat": "Nouvelle discussion",
2026-05-22 23:02:55 +08:00
"searchAria": "Rechercher",
"searchPlaceholder": "Rechercher",
"searchResults": "Résultats",
"noSearchResults": "Aucun chat correspondant.",
"recent": "Récentes",
"settings": "Paramètres",
"language": {
"label": "Langue",
"ariaLabel": "Changer de langue"
2026-05-25 20:07:02 +08:00
},
"apps": "Apps",
2026-06-13 20:08:18 +08:00
"automations": "Automatisations",
"skills": {
"title": "Compétences"
}
},
"settings": {
"backToChat": "Retour au chat",
"sidebar": {
"title": "Réglages",
"ariaLabel": "Sections des réglages"
},
"nav": {
"general": "Général",
"byok": "BYOK",
"overview": "Aperçu",
"appearance": "Apparence",
"models": "Modèles",
"providers": "Fournisseurs",
"image": "Images",
"voice": "Voix",
"browser": "Internet",
"runtime": "Système",
"advanced": "Sécurité",
"cliApps": "Apps CLI",
2026-05-25 20:07:02 +08:00
"mcp": "MCP",
"apps": "Applications",
2026-06-13 20:08:18 +08:00
"automations": "Automatisations",
"skills": "Compétences"
},
"sections": {
"interface": "Interface utilisateur",
"ai": "AI",
"system": "Système",
2026-06-14 00:19:57 +08:00
"about": "À propos",
"status": "État",
"localPreferences": "Préférences locales",
"presets": "Préréglages",
"imageGeneration": "Génération dimages",
2026-05-22 23:02:55 +08:00
"imageDefaults": "Valeurs par défaut",
"webSearch": "Recherche web",
"webBehavior": "Comportement",
"identity": "Identité",
"webuiSafety": "Sécurité WebUI",
2026-05-22 23:02:55 +08:00
"capabilities": "Capacités",
"cliApps": "Applications CLI",
2026-05-25 20:07:02 +08:00
"mcp": "Services MCP",
"apps": "Applications",
"nativeHost": "Hôte natif",
"hostSafety": "Sécurité de lapp",
"voiceInput": "Saisie vocale"
},
"rows": {
"theme": "Thème",
"language": "Langue",
"provider": "Fournisseur",
"model": "Modèle",
"restart": "Redémarrer nanobot",
"configPath": "Chemin de config",
"activePreset": "Préréglage actif",
"gateway": "Passerelle",
"restartState": "État du redémarrage",
2026-05-22 23:02:55 +08:00
"pendingChanges": "Modifications en attente",
"selectedPreset": "Préréglage sélectionné",
"presetModel": "Modèle du préréglage",
"density": "Densité",
"activityMode": "Détail dactivité",
"codeWrap": "Retour à la ligne du code",
"maxResults": "Résultats max.",
"timeout": "Délai dattente",
"jinaReader": "Lecteur Jina",
"imageGeneration": "Génération dimages",
"imageProvider": "Fournisseur dimages",
2026-05-22 23:02:55 +08:00
"imageProviderStatus": "État du fournisseur",
"imageProviderBase": "Base du fournisseur",
"imageModel": "Modèle dimage",
"defaultAspectRatio": "Ratio par défaut",
2026-05-22 23:02:55 +08:00
"defaultImageSize": "Taille par défaut",
"maxImagesPerTurn": "Images max. par tour",
"imageSaveDir": "Dossier denregistrement",
"botName": "Nom du bot",
"botIcon": "Icône du bot",
"timezone": "Fuseau horaire",
"workspacePath": "Espace de travail par défaut",
"localServiceAccess": "Services locaux",
"webuiDefaultAccess": "Accès par défaut",
"currentModel": "Configuration actuelle",
"brandLogos": "Logos de marque",
"cliAppsCatalog": "Catalogue",
"cliAppsFilter": "Filtre",
"engine": "Moteur",
"logs": "Journaux",
"diagnostics": "Diagnostic",
"contextWindow": "Fenêtre de contexte",
"transcription": "Transcription",
"transcriptionProvider": "Fournisseur",
"transcriptionProviderStatus": "Etat du fournisseur",
"transcriptionModel": "Modele",
"transcriptionLanguage": "Langue",
"voiceLimits": "Limites"
},
"help": {
"theme": "Basculer entre lapparence claire et sombre.",
"language": "Choisissez la langue utilisée par WebUI.",
"provider": "Sélectionnez le fournisseur à utiliser pour les nouvelles requêtes de modèle.",
"model": "Définissez le nom du modèle utilisé par défaut par nanobot.",
"configPath": "Le fichier de configuration actuellement utilisé par la passerelle.",
"selectedPreset": "Les préréglages nommés sont en lecture seule ici ; modifiez-les dans config.json.",
"presetModel": "Passez à Default pour modifier le modèle et le fournisseur depuis WebUI.",
"density": "Enregistré seulement dans ce navigateur.",
"activityMode": "Choisissez le niveau de détail dactivité agent affiché par défaut.",
"codeWrap": "Garde les longues lignes de code lisibles sur les petits écrans.",
"maxResults": "Résultats renvoyés par chaque appel web_search.",
"timeout": "Nombre de secondes avant lexpiration dune requête de recherche.",
"jinaReader": "Utilise Jina Reader pour web_fetch lorsque disponible.",
"imageGeneration": "Expose generate_image dans les chats lorsquun fournisseur dimage configuré est disponible.",
"imageProvider": "Choisissez le fournisseur inscrit utilisé par generate_image.",
"imageProviderStatus": "La génération dimages réutilise les identifiants des fournisseurs.",
2026-05-22 23:02:55 +08:00
"imageModel": "Nom du modèle envoyé au fournisseur dimages sélectionné.",
"defaultAspectRatio": "Utilisé lorsque le prompt ne choisit pas de ratio.",
"defaultImageSize": "Indication de taille envoyée aux fournisseurs compatibles.",
2026-05-22 23:02:55 +08:00
"maxImagesPerTurn": "Limite supérieure pour une requête generate_image.",
"botName": "Affiché là où nanobot utilise un nom visible.",
"botIcon": "Emoji ou texte court affiché avec le nom du bot.",
"timezone": "Utilisé pour les horaires et les réponses tenant compte du temps.",
"localServiceAccess": "Autorise les commandes shell Full Access à atteindre les services localhost.",
"webuiDefaultAccess": "Utilisé par les chats web sans permission propre au projet.",
"securityManagedControls": "Les récupérations web protègent toujours les services locaux, privés et de métadonnées. La sécurité des canaux principaux reste gérée dans config.json.",
"currentModel": "Utilisée pour les nouvelles réponses.",
"selectedModelProvider": "Défini par le modèle sélectionné.",
"selectedModelValue": "Défini par le modèle sélectionné.",
"brandLogos": "Affiche les logos de fournisseurs tiers et CLI dans les Réglages.",
"cliAppsCatalog": "Installe uniquement les adaptateurs CLI dapps que nanobot peut exécuter localement ; les apps natives restent inchangées.",
"cliAppsFilter": "Recherchez par app, catégorie ou capacité.",
"logs": "Ouvre le dossier des journaux du moteur natif.",
"diagnostics": "Exporte un petit rapport dexécution pour le support.",
"localServiceAccessNative": "Autorise les commandes shell Full Access à atteindre les services sur ce Mac.",
"webuiDefaultAccessNative": "Utilisé par les chats natifs sans permission propre au projet.",
"contextWindow": "Choisissez le budget de contexte par défaut pour cette configuration de modèle.",
"transcription": "Transcrit l'entree micro avant l'envoi. Les messages vocaux des canaux utilisent les memes reglages.",
"transcriptionProvider": "Utilise les identifiants du fournisseur correspondant dans Fournisseurs.",
"transcriptionProviderStatus": "Les cles API restent dans les fournisseurs, pas dans les reglages de transcription.",
"transcriptionModel": "Laissez le modele resolu par defaut sauf si votre fournisseur exige un id personnalise.",
"transcriptionLanguage": "Indice ISO-639 facultatif, comme en, zh, ja ou ko."
},
"values": {
"light": "Clair",
"dark": "Sombre",
"notAvailable": "Indisponible",
"enabled": "Activé",
"disabled": "Désactivé",
2026-05-22 23:02:55 +08:00
"restartPending": "Redémarrage en attente",
"ready": "Prêt",
"privateEngine": "Moteur privé",
"unixSocket": "Socket Unix",
"defaultWorkspace": "Espace par défaut",
"comfortable": "Confortable",
"compact": "Compacte",
"auto": "Automatique",
"expanded": "Développé",
"on": "Activé",
"off": "Désactivé",
"defaultPermission": "Autorisation par défaut",
"fullAccess": "Accès complet",
"configured": "Configuré",
"notConfigured": "Non configuré",
"pending": "En attente",
"restartingEngine": "Redémarrage"
},
"status": {
"loading": "Chargement des réglages...",
"loadError": "Impossible de charger les réglages",
"unsaved": "Modifications non enregistrées.",
2026-05-22 23:02:55 +08:00
"upToDate": "À jour.",
"savedRestart": "Enregistré. Redémarrez nanobot pour appliquer.",
"restartAfterSaving": "Enregistrez les changements, puis redémarrez quand vous êtes prêt.",
"savedRestartApply": "Enregistré. Redémarrez quand vous êtes prêt.",
"imageProviderRestart": "Changements du fournisseur dimage enregistrés. Redémarrez quand vous êtes prêt.",
"hostRestartAfterSaving": "En enregistrant, nanobot redémarrera son moteur.",
"hostRestartPending": "Enregistré. Le moteur redémarrera lorsquil sera prêt.",
"hostApiUnavailable": "Les actions de lhôte ne sont disponibles que dans lapp native.",
"logsOpened": "Dossier des journaux ouvert.",
"logsOpenFailed": "Impossible douvrir le dossier des journaux.",
"diagnosticsExported": "Diagnostic exporté vers {{path}}.",
"diagnosticsExportFailed": "Impossible dexporter le diagnostic."
},
"actions": {
"save": "Enregistrer",
"saving": "Enregistrement",
"edit": "Modifier",
"cancel": "Annuler",
"open": "Ouvrir",
"export": "Exporter",
"opening": "Ouverture...",
"exporting": "Exportation..."
},
"byok": {
"description": "Utilisez vos propres clés de fournisseur. Nanobot lit ces valeurs depuis la configuration actuelle, et seuls les fournisseurs configurés peuvent être sélectionnés dans Général.",
"configured": "Configuré",
"notConfigured": "Non configuré",
"configuredSection": "Configurés",
"notConfiguredSection": "Non configurés",
"showMore": "Afficher {{count}} de plus",
"showLess": "Afficher moins",
"apiKey": "API key",
"apiBase": "API base",
"apiKeyPlaceholder": "Saisir l'API key",
"apiKeyConfiguredPlaceholder": "Laisser vide pour conserver la key actuelle",
"configuredKeyHint": "Key configurée",
"apiBasePlaceholder": "Utiliser la valeur par défaut du fournisseur",
"apiKeyRequired": "Une API key est requise pour configurer ce fournisseur.",
"showApiKey": "Afficher l'API key",
"hideApiKey": "Masquer l'API key",
"noConfiguredProviders": "Aucun fournisseur configuré",
"configureFirst": "Configurez d'abord un fournisseur dans BYOK.",
2026-05-09 06:48:26 +00:00
"openByok": "Ouvrir BYOK",
"tabs": {
"ariaLabel": "Type d'identifiants BYOK",
"llm": "LLM",
"webSearch": "Recherche web"
2026-05-09 06:48:26 +00:00
},
"webSearch": {
"provider": "Fournisseur de recherche",
"providerHelp": "Choisissez le backend utilisé par l'outil web search.",
"selectProvider": "Choisir un fournisseur",
"credentials": "Identifiants",
"noCredentialRequired": "Aucune key requise",
"noCredentialHelp": "DuckDuckGo fonctionne sans API key enregistrée.",
"apiKeyHelp": "Enregistrée dans la config et masquée après l'enregistrement.",
"baseUrl": "Base URL",
"baseUrlHelp": "SearXNG nécessite l'URL de votre propre instance.",
"baseUrlPlaceholder": "https://search.example.com",
"apiKeyRequired": "Ce fournisseur de recherche nécessite une API key.",
"baseUrlRequired": "SearXNG nécessite une Base URL.",
"missingCredential": "Ajoutez l'identifiant requis avant d'enregistrer.",
"saveHint": "Les changements s'appliquent aux nouvelles requêtes web search."
}
},
"overview": {
"model": "Modèle actuel",
"providers": "Fournisseurs",
"configuredCount": "{{count}} configurés",
"totalProviders": "{{count}} disponibles",
"webSearch": "Recherche web",
"imageGeneration": "Génération dimages",
"voiceInput": "Saisie vocale",
"workspace": "Espace de travail"
},
"usage": {
"title": "Activité des tokens",
"shortTitle": "Token Usage",
"subtitle": "Usage signalé par le fournisseur sur les 12 derniers mois.",
"empty": "Lactivité des tokens apparaîtra après les nouvelles réponses du modèle.",
"totalTokens": "Tokens cumulés",
"peakTokens": "Pic de tokens",
"thirtyDayTokens": "Tokens sur 30 jours",
"currentStreak": "Série actuelle",
"longestStreak": "Plus longue série",
"daysValue": "{{count}} j",
"last30": "30 jours",
"activeDays": "Jours actifs",
"requests": "Requêtes",
"estimated": "estimé",
"includesEstimates": "inclut des estimations",
"cellTitle": "{{date}} : {{tokens}} tokens, {{requests}} requêtes",
"sources": {
"user": "Chat",
"api": "API",
"cron": "Automatisations",
"dream": "Mémoire",
"system": "Système"
}
},
"providers": {
"searchPlaceholder": "Rechercher des fournisseurs",
"noMatches": "Aucun fournisseur ne correspond.",
"saveProvider": "Enregistrer le fournisseur"
2026-05-22 23:02:55 +08:00
},
"image": {
"selectProvider": "Choisir un fournisseur",
"selectAspect": "Choisir un ratio",
"selectSize": "Choisir une taille",
2026-05-22 23:02:55 +08:00
"configureProvider": "Configurer le fournisseur",
"missingCredential": "Configura este proveedor antes de activar la generación de imágenes."
},
"models": {
"selectModel": "Choisir un modèle",
"addConfiguration": "Ajouter une configuration",
"newConfiguration": "Nouvelle configuration de modèle",
"newConfigurationHelp": "Enregistre un fournisseur et un modèle comme option en un clic.",
"configurationName": "Nom de la configuration",
"configurationNameHelp": "Renomme cette configuration de modèle enregistrée.",
"configurationNamePlaceholder": "Rédaction rapide",
"searchModels": "Rechercher ou saisir un ID de modèle",
"useCustomModel": "Utiliser",
"loadingModels": "Chargement des modèles...",
"searchCatalog": "Rechercher dans le catalogue du fournisseur pour choisir un modèle.",
"modelsAvailable": "disponibles",
"noModelResults": "Aucun modèle correspondant.",
"loadFailed": "Liste des modèles indisponible.",
"unsupportedModelList": "Saisissez manuellement un ID de modèle.",
"providerNotConfigured": "Configurez ce fournisseur avant de charger les modèles.",
"autoProviderCustomOnly": "Le mode fournisseur automatique utilise des IDs de modèle personnalisés."
},
"timezone": {
"select": "Choisir un fuseau horaire",
"search": "Rechercher un fuseau horaire",
"empty": "Aucun fuseau horaire correspondant."
},
"cliApps": {
"allCategories": "Toutes les catégories",
"availableCount": "{{count}} applications",
"installedCount": "{{count}} installées",
"summary": "{{installed}} CLIs installées sur {{total}}",
"filterAll": "Tout",
"filterInstalled": "CLIs installées",
"filterNotInstalled": "Non installées",
"searchPlaceholder": "Rechercher des CLIs",
"statusInstalled": "Installée",
"statusAvailable": "Disponible",
"statusMissing": "Dépendance manquante",
"statusUnsupported": "Non compatible",
"statusNotInstalled": "Non installée",
"unsupported": "Non compatible",
"loading": "Chargement des apps CLI...",
"empty": "Aucune app CLI ne correspond à ce filtre.",
"readyTitle": "@{{name}} est prêt",
"readyStatus": "Prêt",
"readyPrompt": "Utilisez @{{name}} pour voir ce que ce CLI peut faire.",
"readyTry": "Essayer @{{name}}",
"readyCopied": "Copié",
"openChat": "Ouvrir le chat",
"requires": "Requiert",
"test": "Tester le CLI",
"update": "Mettre à jour le CLI",
"uninstall": "Désinstaller le CLI",
"install": "Installer le CLI",
"unavailable": "Indisponible",
"noDescription": "Aucune description disponible."
},
2026-06-14 00:19:57 +08:00
"about": {
"version": "Version",
"checking": "Recherche de mises à jour...",
"checkForUpdates": "Rechercher les mises à jour",
"upToDate": "Vous êtes à jour",
"updateAvailable": "Mise à jour disponible v{{version}}"
},
"mcp": {
"allCategories": "Toutes les catégories",
"summary": "{{installed}} presets activés sur {{total}}",
"filterAll": "Tout",
"filterInstalled": "Activés",
"filterNotInstalled": "Non activés",
"searchPlaceholder": "Rechercher des presets MCP",
"moreOptions": "Plus d'options MCP",
"moreOptionsSubtitle": "Ajoutez un serveur personnalisé ou importez mcp.json.",
"customTitle": "MCP personnalisé",
"customSubtitle": "Ajoutez n'importe quel serveur MCP stdio, HTTP ou SSE.",
"customAction": "Personnalisé",
"importAction": "Importer",
"serverName": "Nom du serveur",
"serverUrl": "URL",
"transport": "Transport",
"command": "Commande",
"args": "Args JSON",
"headers": "Headers JSON",
"env": "Env JSON",
"timeout": "Délai d'outil",
"advancedOptions": "Options avancées",
"hideAdvanced": "Masquer les options avancées",
"saveCustom": "Enregistrer MCP",
"configImport": "Importer mcp.json",
"importConfig": "Importer",
"restartRequired": "Redémarrez nanobot pour connecter les outils MCP mis à jour.",
"toolsFound": "{{count}} outils",
"loading": "Chargement des presets MCP...",
"empty": "Aucun preset MCP ne correspond à ce filtre.",
"openDocs": "Ouvrir la doc",
"test": "Tester",
"remove": "Supprimer",
"enable": "Activer",
"enabled": "Activé",
"setup": "Connecter",
"configure": "Connecter",
"connectTitle": "Connecter {{name}}",
"connectHint": "Ajoutez la clé depuis les paramètres de votre compte.",
"saveAndEnable": "Enregistrer et activer",
"updateSetup": "Mettre à jour la configuration",
"configured": "configuré",
"keepExisting": "Laissez vide pour conserver la valeur actuelle",
"statusConfigured": "Configuré",
"statusMissingCredentials": "Clé requise",
"statusMissingDependency": "Dépendance requise",
"statusComingSoon": "Bientôt disponible",
"statusNotInstalled": "Non activé",
"toolScope": "Outils",
"allTools": "Tous",
"noTools": "Aucun",
"testForTools": "Exécutez Tester pour inspecter et choisir des outils individuels."
},
"legal": {
"thirdPartyBrands": "Les noms, logos et marques de produits appartiennent à leurs propriétaires respectifs. Leur utilisation sert uniquement à l'identification et n'implique aucune approbation."
2026-05-25 20:07:02 +08:00
},
"apps": {
"description": "Ajoutez des CLI dapps et services MCP utilisables par nanobot depuis le chat.",
2026-05-25 20:07:02 +08:00
"cliLabel": "CLI",
"mcpLabel": "MCP",
"filterAll": "Tout",
"filterCli": "Apps CLI",
"filterMcp": "Services MCP",
"enabledSummary": "{{count}} activés",
"caption": "{{cli}} CLI · {{mcp}} MCP",
"searchPlaceholder": "Rechercher des apps",
"featured": "À la une",
2026-05-25 20:07:02 +08:00
"loading": "Chargement des apps...",
"empty": "Aucune app ne correspond."
},
2026-06-13 20:08:18 +08:00
"automations": {
"kicker": "Automatisations de lespace",
"title": "Automatisations",
"stats": {
"active": "Actives",
"paused": "En pause",
2026-06-14 18:24:59 +08:00
"failed": "À traiter",
2026-06-13 20:08:18 +08:00
"system": "Système"
},
"filters": {
"all": "Toutes",
"active": "Actives",
"paused": "En pause",
2026-06-14 18:24:59 +08:00
"failed": "À traiter",
2026-06-13 20:08:18 +08:00
"system": "Système"
},
2026-06-14 18:24:59 +08:00
"sort": {
"next": "Prochaine exécution",
"last": "Dernière exécution",
"updated": "Mise à jour",
"name": "Nom"
},
2026-06-13 20:08:18 +08:00
"search": "Rechercher une tâche, un message, une session ou une expression cron",
"queue": "File",
"loading": "Chargement des automatisations...",
"noMatches": "Aucune automatisation ne correspond à cette vue.",
"empty": "Aucune automatisation pour le moment.",
2026-06-14 18:24:59 +08:00
"emptyHint": "Créez-en une depuis la discussion ou le canal où elle doit sexécuter afin que nanobot conserve le bon contexte.",
2026-06-13 20:08:18 +08:00
"oneShot": "Ponctuelle",
"systemTask": "Automatisation gérée par le système",
"labels": {
"schedule": "Planning",
"next": "Prochaine",
"last": "Dernière",
"origin": "Discussion liée",
"created": "Créée",
"updated": "Modifiée"
2026-06-13 20:08:18 +08:00
},
"runNow": "Exécuter maintenant",
"pause": "Mettre en pause",
"resume": "Reprendre",
2026-06-14 18:24:59 +08:00
"edit": "Modifier",
2026-06-13 20:08:18 +08:00
"delete": "Supprimer",
"protected": "Protégée",
2026-06-14 18:24:59 +08:00
"editTitle": "Modifier lautomatisation",
"editDescription": "Modifiez le prompt et le planning. La discussion liée ne change pas.",
"save": "Enregistrer",
2026-06-13 20:08:18 +08:00
"deleteTitle": "Supprimer lautomatisation",
"deleteDescription": "Cela supprime {{name}} du stockage cron. Les anciens messages de chat restent dans la session.",
"cancel": "Annuler",
"status": {
"system": "Système",
"pending": "En attente",
2026-06-14 18:24:59 +08:00
"running": "En cours dexécution",
"needsSetup": "Configuration requise",
2026-06-13 20:08:18 +08:00
"paused": "En pause",
"failed": "Échouée",
2026-06-14 18:24:59 +08:00
"completed": "Terminée",
"noSchedule": "Aucun planning",
2026-06-13 20:08:18 +08:00
"active": "En cours"
},
2026-06-14 18:24:59 +08:00
"legacyWarning": "Cette ancienne automatisation na pas de discussion cible. Recréez-la depuis la discussion ou le canal où elle doit sexécuter.",
2026-06-13 20:08:18 +08:00
"origin": {
"system": "Système",
2026-06-14 00:04:15 +08:00
"unknown": "Aucune discussion liée",
"legacy": "Recréez-la dans la discussion cible"
2026-06-13 20:08:18 +08:00
},
"channels": {
"api": "API",
"cli": "CLI",
"dingtalk": "DingTalk",
"discord": "Discord",
"email": "Email",
"feishu": "Feishu",
"matrix": "Matrix",
"msteams": "Microsoft Teams",
"qq": "QQ",
"slack": "Slack",
"telegram": "Telegram",
"wechat": "WeChat",
"wecom": "WeCom",
"weixin": "WeChat",
"whatsapp": "WhatsApp"
},
2026-06-13 20:08:18 +08:00
"schedule": {
"at": "À {{time}}",
"every": "Toutes les {{duration}}",
"cron": "Cron {{expr}}",
"cronWithTz": "Cron {{expr}} · {{tz}}",
2026-06-14 18:24:59 +08:00
"withTz": "{{summary}} · {{tz}}",
"dailyAt": "Chaque jour à {{time}}",
"weekdaysAt": "Jours ouvrés à {{time}}",
"hourlyAt": "Toutes les heures à :{{minute}}",
"hourlyWindow": "Toutes les heures {{start}}-{{end}} à :{{minute}}",
2026-06-13 20:08:18 +08:00
"custom": "Planning personnalisé"
},
"next": {
"paused": "En pause",
2026-06-14 18:24:59 +08:00
"pending": "En cours dexécution",
2026-06-13 20:08:18 +08:00
"none": "Aucune prochaine exécution"
},
"last": {
"never": "Jamais",
"unknown": "inconnu"
},
"history": {
"ok": "Terminée",
"error": "Erreur",
"skipped": "Ignorée",
2026-06-15 15:41:35 +08:00
"recent": "Dernier résultat",
"timeline": "Historique dexécution",
"showMore": "Afficher {{count}} de plus",
"showRecent": "Afficher les exécutions récentes",
2026-06-14 18:24:59 +08:00
"statusWithDuration": "{{status}} · {{duration}}"
},
"message": {
"showMore": "Afficher le message complet",
"showLess": "Afficher moins"
},
2026-06-14 18:24:59 +08:00
"meta": {
"created": "Créée {{time}}",
"updated": "Mise à jour {{time}}"
},
"fields": {
"name": "Nom",
"message": "Message",
"scheduleType": "Type de planning",
"every": "Toutes les",
"unit": "Unité",
"cronExpression": "Expression cron",
"timezone": "Fuseau horaire",
"runAt": "Exécuter à"
},
"scheduleTypes": {
"every": "Intervalle",
"cron": "Cron",
"at": "Une fois"
},
"everyUnits": {
"second": "Secondes",
"minute": "Minutes",
"hour": "Heures",
"day": "Jours"
},
"validation": {
"nameRequired": "Le nom est obligatoire.",
"messageRequired": "Le message est obligatoire.",
"intervalRequired": "Lintervalle doit être un nombre positif.",
"cronRequired": "Lexpression cron est obligatoire.",
"timeRequired": "Lheure dexécution est obligatoire.",
"futureRequired": "Lheure dexécution doit être dans le futur."
},
"duration": {
"lessThanSecond": "moins de 1 seconde"
2026-06-13 20:08:18 +08:00
}
},
"oauth": {
"authentication": "Authentification OAuth",
"signIn": "Se connecter",
"signingIn": "Connexion...",
"signInAgain": "Se reconnecter",
"signOut": "Se déconnecter",
"signedInAs": "Connecté en tant que {{account}}",
"signInHelp": "Inicia sesión desde este dispositivo; no se guarda API key en config.",
"signInRequired": "Connexion requise",
"signInBeforeSaving": "Inicia sesión antes de guardar este proveedor OAuth como proveedor activo.",
"signedIn": "Connecté",
"notSignedIn": "Non connecté"
},
"skills": {
"description": "Consultez les compétences dinstruction que cet agent peut charger pendant une conversation.",
"caption": "{{available}} disponibles · {{total}} au total",
"featured": "Compétences agent",
"empty": "Aucune compétence disponible.",
"sourceWorkspace": "Personnalisée",
"sourceBuiltin": "Intégrée",
"statusAvailable": "Disponible",
"statusUnavailable": "Indisponible",
"unavailableReason": "Manquant : {{reason}}",
"openDetails": "Ouvrir les détails de {{name}}",
"loadingDetail": "Chargement des détails...",
"loadFailed": "Impossible de charger les détails.",
"descriptionTitle": "Description",
"source": "Source",
"status": "Statut",
"requirements": "Prérequis",
"noRequirements": "Aucun prérequis explicite.",
"commands": "Commandes",
"environment": "Variables denvironnement",
"missingCommands": "CLI manquant",
"missingEnvironment": "ENV manquant",
"unavailableReasonLabel": "Raison dindisponibilité",
"rawInstructions": "SKILL.md brut",
"rawInstructionsEmpty": "Aucune instruction brute.",
"detailDescription": "Détails de {{name}}."
},
"voice": {
"selectProvider": "Choisir un fournisseur",
"configureProvider": "Configurer le fournisseur",
"languageAuto": "Auto"
}
},
"chat": {
"fallbackTitle": "Discussion {{id}}",
2026-06-10 02:07:47 +08:00
"forkTitle": "Branche : {{title}}",
"loading": "Chargement…",
"noSessions": "Aucune session pour le moment.",
"showMore": "Afficher {{count}} de plus",
"collapsed": "{{count}} discussions masquées",
"showLess": "Afficher moins",
"actions": "Actions de la discussion {{title}}",
"newInProject": "Démarrer une nouvelle discussion dans {{project}}",
"activity": {
"running": "Agent running",
"complete": "Agent finished",
"updated": "New activity"
},
"pin": "Pin",
"unpin": "Unpin",
"rename": "Rename",
"renameTitle": "Rename chat",
"renameDescription": "Choose a local sidebar name for this chat.",
"renamePlaceholder": "Chat name",
"renameProjectTitle": "Rename project",
"renameProjectDescription": "Choose a local sidebar name for this project.",
"renameProjectPlaceholder": "Project name",
"renameSave": "Save",
"archive": "Archive",
"unarchive": "Unarchive",
"showArchived": "Show archived",
"hideArchived": "Hide archived",
"delete": "Supprimer",
"newChat": "Nouvelle discussion",
"groups": {
"pinned": "Pinned",
"all": "Chats",
"projects": "Projects",
"today": "Today",
"yesterday": "Yesterday",
"earlier": "Earlier",
"archived": "Archived"
}
},
"deleteConfirm": {
"title": "Supprimer cette discussion ?",
"description": "Cette action est irréversible.",
"cancel": "Annuler",
2026-06-12 14:51:02 +08:00
"confirm": "Supprimer",
"automationsDescription": "Cette discussion contient des automatisations planifiées. La supprimer les supprimera aussi.",
"moreAutomations": "+ {{count}} autres",
"confirmWithAutomations": "Supprimer la discussion et les automatisations",
"schedule": {
"at": "{{time}}",
"every": "Tous les {{duration}}",
"cron": "Cron {{expr}}",
"cronWithTz": "Cron {{expr}} · {{tz}}",
"unknown": "Planification personnalisée"
},
"next": {
"label": "Prochaine exécution : {{time}}",
"disabled": "En pause",
"none": "Aucune prochaine exécution"
}
},
"connection": {
"idle": "Inactif",
"connecting": "Connexion…",
"open": "Connecté",
"reconnecting": "Reconnexion…",
"closed": "Déconnecté",
"error": "Erreur de connexion"
},
"thread": {
"loadingConversation": "Chargement de la conversation…",
"empty": {
"greetings": {
"workOn": "Sur quoi travaillons-nous ensemble ?",
"start": "Par où commence-t-on ?",
"build": "Que construisons-nous aujourd'hui ?",
"tackle": "Que résout-on ensemble ?"
},
2026-05-06 15:54:15 +00:00
"quickActions": {
"plan": {
"title": "Créer un plan de projet",
"prompt": "Créez un plan de projet concis pour ce que je devrais construire ensuite."
},
"analyze": {
"title": "Analyser ces données",
"prompt": "Aidez-moi à analyser ces données et à faire ressortir les tendances les plus importantes."
},
"brainstorm": {
"title": "Trouver des idées",
"prompt": "Proposez quelques idées pratiques et leurs compromis pour ce problème."
},
"code": {
"title": "Écrire du code",
"prompt": "Aidez-moi à écrire le code pour cette tâche, en commençant par le plus petit changement utile."
},
"summarize": {
"title": "Résumer ce document",
"prompt": "Résumez ce document et listez les points clés à retenir."
},
"more": {
"title": "Plus",
"prompt": "Montrez-moi quelques façons utiles dont vous pouvez maider dans cet espace de travail."
}
},
"imageQuickActions": {
"icon": {
"title": "Créer une icône dapp",
"prompt": "Générez une icône dapplication 1:1 propre pour nanobot : robot sympathique, style vectoriel simple, palette douce bleu et blanc, sans texte."
},
"sticker": {
"title": "Créer un sticker",
"prompt": "Générez une image façon sticker dun petit assistant robot, avec un fond dapparence transparente, expressive et ludique."
},
"poster": {
"title": "Créer une affiche",
"prompt": "Générez un concept daffiche soigné pour un assistant IA personnel, composition moderne, hiérarchie visuelle forte, adapté à une landing page."
},
"product": {
"title": "Maquette produit",
"prompt": "Générez une maquette produit propre pour une application web dIA conversationnelle, interface minimale, éclairage premium, cadre dappareil réaliste."
},
"portrait": {
"title": "Portrait stylisé",
"prompt": "Générez un portrait stylisé dun compagnon IA sympathique, lumière douce, détaillé mais accessible, style illustration moderne."
},
"edit": {
"title": "Modifier une image",
"prompt": "Aidez-moi à modifier une image. Demandez-moi dabord de téléverser ou dindiquer limage, puis générez le résultat modifié."
}
}
},
"header": {
2026-05-22 23:02:55 +08:00
"toggleSidebar": "Afficher ou masquer la barre latérale",
"newChat": "Démarrer un nouveau chat",
"toggleTheme": "Changer le thème depuis len-tête",
"settings": "Ouvrir les paramètres",
"sessionInfo": "Détails de la session"
},
"sessionInfo": {
"title": "Session",
"untitled": "Chat sans titre",
"automations": "Automatisations",
"count": "{{count}}",
"loading": "Chargement des automatisations...",
"loadFailed": "Impossible de charger les automatisations.",
"empty": "Aucune automatisation dans cette session pour le moment.",
"disabled": "Désactivé",
"schedule": {
"at": "À {{time}}",
"every": "Toutes les {{duration}}",
"cron": "Cron {{expr}}",
"cronWithTz": "Cron {{expr}} · {{tz}}",
"unknown": "Planification personnalisée"
},
"next": {
"label": "Prochaine {{time}}",
2026-06-12 18:13:25 +08:00
"pending": "Exécution imminente",
"disabled": "En pause",
"none": "Aucune prochaine exécution"
}
},
"composer": {
"placeholderThread": "Saisissez votre message…",
"placeholderHero": "Quavez-vous en tête ?",
"placeholderOpening": "Ouverture dune nouvelle discussion…",
"placeholderStreaming": "Le modèle est en train de répondre…",
"inputAria": "Champ de message",
"sendHint": "Entrée pour envoyer · Maj+Entrée pour un retour à la ligne",
"runRuntimeTitle": "Exécution · {{elapsed}}",
"goalStateStrip": "Objectif · {{label}}",
"goalStateFallback": "Objectif",
"goalStateExpandAria": "Afficher lobjectif complet",
"goalStateSheetTitle": "Objectif",
2026-05-22 23:02:55 +08:00
"goalStateCloseAria": "Fermer lobjectif",
"send": "Envoyer le message",
"stop": "Arrêter la réponse",
"modelNotConfigured": "Modèle non configuré",
"configureModel": "Configurer le modèle",
"queued": {
"label": "Guidage en attente",
"guide": "Guider",
"delete": "Supprimer le guidage",
"edit": "Modifier le guidage",
"drag": "Faire glisser pour réordonner"
},
"attachImage": "Joindre une image",
"imageMode": {
"label": "Génération dimage",
"toggle": "Activer ou désactiver le mode génération dimage",
"placeholder": "Décrire ou modifier une image…",
"aspectAria": "Format de limage",
"aspectLabel": "Format de limage",
"aspect": {
"auto": "Auto",
"1_1": "Carré 1:1",
"3_4": "Portrait 3:4",
"9_16": "Story 9:16",
"4_3": "Paysage 4:3",
"16_9": "Large 16:9"
}
},
2026-05-22 23:02:55 +08:00
"tools": {
"search": "Rechercher",
"reason": "Raisonner",
"deepResearch": "Recherche approfondie",
"voice": "Entrée vocale"
2026-05-06 15:54:15 +00:00
},
"voice": {
"hint": "Cliquez pour dicter ou maintenez",
"stop": "Arrêter l'enregistrement",
"transcribing": "Transcription...",
"recordingStatus": "Enregistrement {{time}}"
},
"voiceErrors": {
"unsupported": "La saisie vocale n'est pas prise en charge par ce navigateur.",
"permission": "L'autorisation du microphone est requise.",
"notConfigured": "Configurez d'abord un fournisseur de transcription.",
"tooLong": "L'enregistrement est trop long.",
"tooShort": "Maintenez un peu plus longtemps pour enregistrer la voix.",
"noInput": "Aucune entrée microphone détectée.",
"failed": "Impossible de transcrire l'audio."
},
2026-05-06 15:54:15 +00:00
"slash": {
"ariaLabel": "Commandes slash",
"label": "commandes",
"navigateHint": "↑↓ Naviguer",
"selectHint": "Entrée/Tab Insérer",
"closeHint": "Échap Fermer",
"commands": {
"new": {
"title": "Nouvelle discussion",
"description": "Arrêter la tâche en cours et démarrer une nouvelle conversation."
},
"stop": {
"title": "Arrêter la tâche en cours",
"description": "Annuler le tour agent actif pour cette discussion."
},
"restart": {
"title": "Redémarrer nanobot",
"description": "Redémarrer le processus du bot sur place."
},
"status": {
"title": "Afficher l’état",
"description": "Afficher l’état du runtime, du provider et des channels."
},
2026-05-24 20:56:07 +08:00
"model": {
"title": "Modèle",
"description": "Afficher ou changer le préréglage de modèle actif."
},
2026-05-06 15:54:15 +00:00
"history": {
"title": "Afficher lhistorique",
"description": "Afficher les N derniers messages persistés de la conversation."
},
"dream": {
"title": "Lancer Dream",
"description": "Déclencher manuellement la consolidation de la mémoire."
},
"dream_log": {
"title": "Afficher le journal Dream",
"description": "Afficher ce que la dernière consolidation Dream a changé."
},
"dream_restore": {
"title": "Restaurer la mémoire",
"description": "Revenir à un instantané Dream précédent."
},
"goal": {
"title": "Objectif long terme",
"description": "Demandez à lagent de traiter ceci comme un objectif multi‑étapes durable."
},
2026-05-06 15:54:15 +00:00
"help": {
"title": "Afficher laide",
"description": "Lister les commandes slash disponibles."
2026-05-24 20:56:07 +08:00
},
"pairing": {
"title": "Appairage",
"description": "Gérer les demandes dappairage."
2026-05-06 15:54:15 +00:00
}
2026-05-24 20:56:07 +08:00
},
"badges": {
"current": "Actuel",
"recent": "Récent"
},
"details": {
"goalActive": "Lobjectif est en cours",
"goalReady": "Démarrer un objectif durable",
"history": "Afficher les messages récents",
"stopRunning": "En cours"
2026-05-06 15:54:15 +00:00
}
},
2026-05-22 23:02:55 +08:00
"encoding": "Traitement…",
"remove": "Retirer la pièce jointe",
"normalizedSizeHint": "{{orig}} → {{current}} (auto)",
"imageRejected": {
"unsupported_type": "Type de fichier non pris en charge",
"too_many_images": "Maximum {{max}} images par message",
"magic_mismatch": "Ce fichier n'est pas une image",
"decode_failed": "Impossible de décoder cette image",
"too_large": "Image trop grande — essayez-en une plus petite",
"io": "Impossible de lire ce fichier"
},
"mentions": {
2026-05-25 20:07:02 +08:00
"ariaLabel": "Apps",
"label": "Apps",
"cliGroup": "Apps CLI",
2026-05-25 20:07:02 +08:00
"mcpGroup": "Services MCP",
"cliBadge": "CLI",
"mcpBadge": "MCP",
"cliDescription": "Utiliser @{{name}} comme app CLI locale",
"mcpDescription": "Utiliser @{{name}} comme serveur MCP"
},
"workspace": {
"accessAria": "Workspace access mode",
"projectAria": "Choisir un projet",
"projectPlaceholder": "Sélectionner un projet",
"default": "Default Permission",
"full": "Full Access"
2026-05-22 23:02:55 +08:00
}
},
"scrollToBottom": "Faire défiler vers le bas",
"loadEarlier": "Charger les messages précédents",
2026-06-10 02:54:19 +08:00
"forkedFromHistory": "Bifurqué depuis l'historique",
"promptNavigator": {
"open": "Ouvrir le navigateur de prompts",
"title": "Prompts",
"search": "Rechercher des prompts",
"noResults": "Aucun prompt correspondant.",
"jumpTo": "Aller au prompt : {{label}}"
}
},
"message": {
"streaming": "en cours de génération",
"assistantTyping": "Lassistant est en train d’écrire",
"toolSingle": "Utilisation dun outil",
"toolMany": "{{count}} outils utilisés",
"toolSummary": "{{count}} outil",
"toolSummaryMany": "{{count}} outils",
"reasoningTools": "Raisonnement · {{count}} outils",
"reasoningToolsSingular": "Raisonnement · 1 outil",
"reasoning": "Raisonnement",
"reasoningStreaming": "En réflexion…",
"reasoningSummary": "Raisonnement",
"agentActivitySummary": "{{reasoning}} étapes · {{tools}} appels doutils",
"agentActivityToolsOnly": "{{tools}} appels doutils",
"agentActivityLiveSummary": "En cours… · {{reasoning}} étapes · {{tools}} appels doutils",
"agentActivityLiveToolsOnly": "En cours… · {{tools}} appels doutils",
"imageAttachment": "Pièce jointe image",
2026-06-10 02:07:47 +08:00
"forkFromHere": "Bifurquer",
"copyReply": "Copier",
"copiedReply": "Copié",
"turnLatencyTitle": "Temps de réponse (de bout en bout)",
"activityThinkingFor": "Réflexion pendant {{duration}}",
"activityThought": "Réflexion terminée",
"activityThoughtFor": "Réflexion terminée en {{duration}}",
"cliActivityRunningOne": "Utilisation de @{{name}}",
"cliActivityRanOne": "@{{name}} utilisé",
"cliActivityFailedOne": "Échec de @{{name}}",
"cliActivityRunningMany": "Utilisation de {{count}} apps CLI",
"cliActivityRanMany": "{{count}} apps CLI utilisées",
"cliActivityFailedMany": "Échec de {{count}} apps CLI",
"cliRunRunning": "Utilisation",
"cliRunRan": "Utilisé",
"cliRunFailed": "Échec",
"automationSourceFallback": "Automatisation",
"automationTriggered": "Déclenché automatiquement"
},
"lightbox": {
"title": "Aperçu de limage",
"open": "Voir limage",
"prev": "Image précédente",
"next": "Image suivante",
"close": "Fermer laperçu"
},
"filePreview": {
"aria": "Aperçu du fichier",
"close": "Fermer laperçu du fichier",
"loading": "Chargement de laperçu...",
"failed": "Impossible de prévisualiser ce fichier.",
"routeMissing": "Laperçu du fichier nécessite le dernier gateway. Redémarrez nanobot gateway puis réessayez.",
"resize": "Redimensionner laperçu du fichier",
"truncated": "Laperçu est tronqué car le fichier est volumineux."
},
"code": {
"fallbackLanguage": "code",
"copyAria": "Copier le code",
"copy": "Copier",
"copied": "Copié"
},
"common": {
"dismiss": "Fermer"
},
"errors": {
"messageTooBig": {
"title": "Message trop volumineux",
"body": "Le serveur a rejeté votre dernier message car il dépasse la taille autorisée. Retirez des images ou choisissez des fichiers plus légers, puis renvoyez-le."
},
"workspaceScopeRejected": {
"title": "Workspace was not changed",
"body": "Nanobot kept the previous workspace because the requested project or access mode was rejected by the gateway."
}
},
"workspace": {
"dialog": {
"defaultProject": "Default workspace",
"manual": "Coller un chemin",
"manualPlaceholder": "/Users/name/project",
"usePath": "Use Path",
"absolutePathRequired": "Enter an absolute folder path on this machine."
}
}
}