workflow.ts 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. const translation = {
  2. common: {
  3. editing: 'Édition',
  4. autoSaved: 'Sauvegardé automatiquement',
  5. unpublished: 'Non publié',
  6. published: 'Publié',
  7. publish: 'Publier',
  8. update: 'Mettre à jour',
  9. run: 'Exécuter',
  10. running: 'En cours d\'exécution',
  11. inRunMode: 'En mode exécution',
  12. inPreview: 'En aperçu',
  13. inPreviewMode: 'En mode aperçu',
  14. preview: 'Aperçu',
  15. viewRunHistory: 'Voir l\'historique des exécutions',
  16. runHistory: 'Historique des exécutions',
  17. goBackToEdit: 'Retour à l\'éditeur',
  18. conversationLog: 'Journal de conversation',
  19. features: 'Fonctionnalités',
  20. debugAndPreview: 'Déboguer et prévisualiser',
  21. restart: 'Redémarrer',
  22. currentDraft: 'Brouillon actuel',
  23. currentDraftUnpublished: 'Brouillon actuel non publié',
  24. latestPublished: 'Dernière publication',
  25. publishedAt: 'Publié le',
  26. restore: 'Restaurer',
  27. runApp: 'Exécuter l\'application',
  28. batchRunApp: 'Exécuter l\'application en lot',
  29. accessAPIReference: 'Accéder à la référence API',
  30. embedIntoSite: 'Intégrer au site',
  31. addTitle: 'Ajouter un titre...',
  32. addDescription: 'Ajouter une description...',
  33. noVar: 'Pas de variable',
  34. searchVar: 'Rechercher une variable',
  35. variableNamePlaceholder: 'Nom de la variable',
  36. setVarValuePlaceholder: 'Définir la valeur de la variable',
  37. needConnecttip: 'Cette étape n\'est connectée à rien',
  38. maxTreeDepth: 'Limite maximale de {{depth}} nœuds par branche',
  39. needEndNode: 'Le bloc de fin doit être ajouté',
  40. needAnswerNode: 'Le bloc de réponse doit être ajouté',
  41. workflowProcess: 'Processus de flux de travail',
  42. notRunning: 'Pas encore en cours d\'exécution',
  43. previewPlaceholder: 'Entrez le contenu dans la boîte ci-dessous pour commencer à déboguer le Chatbot',
  44. effectVarConfirm: {
  45. title: 'Supprimer la variable',
  46. content: 'La variable est utilisée dans d\'autres nœuds. Voulez-vous toujours la supprimer?',
  47. },
  48. insertVarTip: 'Appuyez sur la touche \'/\' pour insérer rapidement',
  49. processData: 'Traiter les données',
  50. input: 'Entrée',
  51. output: 'Sortie',
  52. jinjaEditorPlaceholder: 'Tapez \'/\' ou \'{\' pour insérer une variable',
  53. viewOnly: 'Affichage seulement',
  54. showRunHistory: 'Afficher l\'historique des exécutions',
  55. enableJinja: 'Activer le support des templates Jinja',
  56. learnMore: 'En savoir plus',
  57. copy: 'Copier',
  58. duplicate: 'Dupliquer',
  59. addBlock: 'Ajouter un bloc',
  60. pasteHere: 'Coller ici',
  61. pointerMode: 'Mode pointeur',
  62. handMode: 'Mode main',
  63. model: 'Modèle',
  64. workflowAsTool: 'Flux de travail en tant qu\'outil',
  65. configureRequired: 'Configuration requise',
  66. configure: 'Configurer',
  67. manageInTools: 'Gérer dans les outils',
  68. workflowAsToolTip: 'Reconfiguration de l\'outil requise après la mise à jour du flux de travail.',
  69. viewDetailInTracingPanel: 'Voir les détails',
  70. },
  71. errorMsg: {
  72. fieldRequired: '{{field}} est requis',
  73. authRequired: 'Autorisation requise',
  74. invalidJson: '{{field}} est un JSON invalide',
  75. fields: {
  76. variable: 'Nom de la variable',
  77. variableValue: 'Valeur de la variable',
  78. code: 'Code',
  79. model: 'Modèle',
  80. rerankModel: 'Modèle de rerank',
  81. },
  82. invalidVariable: 'Variable invalide',
  83. },
  84. singleRun: {
  85. testRun: 'Exécution de test',
  86. startRun: 'Démarrer l\'exécution',
  87. running: 'En cours d\'exécution',
  88. testRunIteration: 'Itération de l\'exécution de test',
  89. back: 'Retour',
  90. iteration: 'Itération',
  91. },
  92. tabs: {
  93. 'searchBlock': 'Rechercher un bloc',
  94. 'blocks': 'Blocs',
  95. 'tools': 'Outils',
  96. 'allTool': 'Tous',
  97. 'builtInTool': 'Intégré',
  98. 'customTool': 'Personnalisé',
  99. 'workflowTool': 'Flux de travail',
  100. 'question-understand': 'Compréhension des questions',
  101. 'logic': 'Logique',
  102. 'transform': 'Transformer',
  103. 'utilities': 'Utilitaires',
  104. 'noResult': 'Aucun résultat trouvé',
  105. },
  106. blocks: {
  107. 'start': 'Début',
  108. 'end': 'Fin',
  109. 'answer': 'Réponse',
  110. 'llm': 'LLM',
  111. 'knowledge-retrieval': 'Récupération de connaissances',
  112. 'question-classifier': 'Classificateur de questions',
  113. 'if-else': 'SI/SINON',
  114. 'code': 'Code',
  115. 'template-transform': 'Modèle',
  116. 'http-request': 'Requête HTTP',
  117. 'variable-assigner': 'Assigneur de variables',
  118. 'variable-aggregator': 'Agrégateur de variables',
  119. 'iteration-start': 'Début d\'itération',
  120. 'iteration': 'Itération',
  121. 'parameter-extractor': 'Extracteur de paramètres',
  122. },
  123. blocksAbout: {
  124. 'start': 'Définir les paramètres initiaux pour lancer un flux de travail',
  125. 'end': 'Définir la fin et le type de résultat d\'un flux de travail',
  126. 'answer': 'Définir le contenu de la réponse d\'une conversation',
  127. 'llm': 'Inviter de grands modèles de langage pour répondre aux questions ou traiter le langage naturel',
  128. 'knowledge-retrieval': 'Permet de consulter le contenu textuel lié aux questions des utilisateurs à partir de la base de connaissances',
  129. 'question-classifier': 'Définir les conditions de classification des questions des utilisateurs, LLM peut définir comment la conversation progresse en fonction de la description de la classification',
  130. 'if-else': 'Permet de diviser le flux de travail en deux branches basées sur des conditions if/else',
  131. 'code': 'Exécuter un morceau de code Python ou NodeJS pour implémenter une logique personnalisée',
  132. 'template-transform': 'Convertir les données en chaîne en utilisant la syntaxe du template Jinja',
  133. 'http-request': 'Permettre l\'envoi de requêtes serveur via le protocole HTTP',
  134. 'variable-assigner': 'Agrégation de variables de plusieurs branches en une seule variable pour la configuration unifiée des nœuds en aval.',
  135. 'variable-aggregator': 'Agrégation de variables de plusieurs branches en une seule variable pour la configuration unifiée des nœuds en aval.',
  136. 'iteration': 'Effectuer plusieurs étapes sur un objet de liste jusqu\'à ce que tous les résultats soient produits.',
  137. 'parameter-extractor': 'Utiliser LLM pour extraire des paramètres structurés du langage naturel pour les invocations d\'outils ou les requêtes HTTP.',
  138. },
  139. operator: {
  140. zoomIn: 'Zoomer',
  141. zoomOut: 'Dézoomer',
  142. zoomTo50: 'Zoomer à 50%',
  143. zoomTo100: 'Zoomer à 100%',
  144. zoomToFit: 'Zoomer pour ajuster',
  145. },
  146. panel: {
  147. userInputField: 'Champ de saisie de l\'utilisateur',
  148. changeBlock: 'Changer de bloc',
  149. helpLink: 'Lien d\'aide',
  150. about: 'À propos',
  151. createdBy: 'Créé par',
  152. nextStep: 'Étape suivante',
  153. addNextStep: 'Ajouter le prochain bloc dans ce flux de travail',
  154. selectNextStep: 'Sélectionner le prochain bloc',
  155. runThisStep: 'Exécuter cette étape',
  156. checklist: 'Liste de contrôle',
  157. checklistTip: 'Assurez-vous que tous les problèmes sont résolus avant de publier',
  158. checklistResolved: 'Tous les problèmes ont été résolus',
  159. organizeBlocks: 'Organiser les blocs',
  160. change: 'Modifier',
  161. },
  162. nodes: {
  163. common: {
  164. outputVars: 'Variables de sortie',
  165. insertVarTip: 'Insérer une variable',
  166. memory: {
  167. memory: 'Mémoire',
  168. memoryTip: 'Paramètres de mémoire de conversation',
  169. windowSize: 'Taille de la fenêtre',
  170. conversationRoleName: 'Nom du rôle de conversation',
  171. user: 'Préfixe utilisateur',
  172. assistant: 'Préfixe assistant',
  173. },
  174. memories: {
  175. title: 'Mémoires',
  176. tip: 'Mémoire de conversation',
  177. builtIn: 'Intégré',
  178. },
  179. },
  180. start: {
  181. required: 'requis',
  182. inputField: 'Champ de saisie',
  183. builtInVar: 'Variables intégrées',
  184. outputVars: {
  185. query: 'Saisie utilisateur',
  186. memories: {
  187. des: 'Historique de conversation',
  188. type: 'type de message',
  189. content: 'contenu du message',
  190. },
  191. files: 'Liste de fichiers',
  192. },
  193. noVarTip: 'Définir les entrées qui peuvent être utilisées dans le flux de travail',
  194. },
  195. end: {
  196. outputs: 'Sorties',
  197. output: {
  198. type: 'type de sortie',
  199. variable: 'variable de sortie',
  200. },
  201. type: {
  202. 'none': 'Aucun',
  203. 'plain-text': 'Texte brut',
  204. 'structured': 'Structuré',
  205. },
  206. },
  207. answer: {
  208. answer: 'Réponse',
  209. outputVars: 'Variables de sortie',
  210. },
  211. llm: {
  212. model: 'modèle',
  213. variables: 'variables',
  214. context: 'contexte',
  215. contextTooltip: 'Vous pouvez importer des connaissances en tant que contexte',
  216. notSetContextInPromptTip: 'Pour activer la fonctionnalité de contexte, remplissez la variable de contexte dans le PROMPT.',
  217. prompt: 'invite',
  218. roleDescription: {
  219. system: 'Donner des instructions de haut niveau pour la conversation',
  220. user: 'Fournir des instructions, des questions ou toute entrée textuelle au modèle',
  221. assistant: 'Les réponses du modèle basées sur les messages des utilisateurs',
  222. },
  223. addMessage: 'Ajouter un message',
  224. vision: 'vision',
  225. files: 'Fichiers',
  226. resolution: {
  227. name: 'Résolution',
  228. high: 'Haute',
  229. low: 'Basse',
  230. },
  231. outputVars: {
  232. output: 'Contenu généré',
  233. usage: 'Informations sur l\'utilisation du modèle',
  234. },
  235. singleRun: {
  236. variable: 'Variable',
  237. },
  238. sysQueryInUser: 'sys.query dans le message utilisateur est requis',
  239. },
  240. knowledgeRetrieval: {
  241. queryVariable: 'Variable de requête',
  242. knowledge: 'Connaissances',
  243. outputVars: {
  244. output: 'Données segmentées récupérées',
  245. content: 'Contenu segmenté',
  246. title: 'Titre segmenté',
  247. icon: 'Icône segmentée',
  248. url: 'URL segmentée',
  249. metadata: 'Autres métadonnées',
  250. },
  251. },
  252. http: {
  253. inputVars: 'Variables de saisie',
  254. api: 'API',
  255. apiPlaceholder: 'Entrez l\'URL, tapez ‘/’ pour insérer une variable',
  256. notStartWithHttp: 'L\'API doit commencer par http:// ou https://',
  257. key: 'Clé',
  258. value: 'Valeur',
  259. bulkEdit: 'Édition en masse',
  260. keyValueEdit: 'Édition clé-valeur',
  261. headers: 'En-têtes',
  262. params: 'Paramètres',
  263. body: 'Corps',
  264. outputVars: {
  265. body: 'Contenu de la réponse',
  266. statusCode: 'Code de statut de la réponse',
  267. headers: 'Liste des en-têtes de réponse JSON',
  268. files: 'Liste des fichiers',
  269. },
  270. authorization: {
  271. 'authorization': 'Autorisation',
  272. 'authorizationType': 'Type d\'autorisation',
  273. 'no-auth': 'Aucune',
  274. 'api-key': 'Clé API',
  275. 'auth-type': 'Type d\'authentification',
  276. 'basic': 'De base',
  277. 'bearer': 'Bearer',
  278. 'custom': 'Personnalisé',
  279. 'api-key-title': 'Clé API',
  280. 'header': 'En-tête',
  281. },
  282. insertVarPlaceholder: 'tapez \'/\' pour insérer une variable',
  283. timeout: {
  284. title: 'Délai d\'expiration',
  285. connectLabel: 'Délai de connexion',
  286. connectPlaceholder: 'Entrez le délai de connexion en secondes',
  287. readLabel: 'Délai de lecture',
  288. readPlaceholder: 'Entrez le délai de lecture en secondes',
  289. writeLabel: 'Délai d\'écriture',
  290. writePlaceholder: 'Entrez le délai d\'écriture en secondes',
  291. },
  292. },
  293. code: {
  294. inputVars: 'Variables de saisie',
  295. outputVars: 'Variables de sortie',
  296. advancedDependencies: 'Dépendances avancées',
  297. advancedDependenciesTip: 'Ajoutez quelques dépendances préchargées qui prennent plus de temps à consommer ou ne sont pas par défaut ici',
  298. searchDependencies: 'Rechercher des dépendances',
  299. },
  300. templateTransform: {
  301. inputVars: 'Variables de saisie',
  302. code: 'Code',
  303. codeSupportTip: 'Prend en charge uniquement Jinja2',
  304. outputVars: {
  305. output: 'Contenu transformé',
  306. },
  307. },
  308. ifElse: {
  309. if: 'Si',
  310. else: 'Sinon',
  311. elseDescription: 'Utilisé pour définir la logique à exécuter lorsque la condition if n\'est pas remplie.',
  312. and: 'et',
  313. or: 'ou',
  314. operator: 'Opérateur',
  315. notSetVariable: 'Veuillez d\'abord définir la variable',
  316. comparisonOperator: {
  317. 'contains': 'contient',
  318. 'not contains': 'ne contient pas',
  319. 'start with': 'commence par',
  320. 'end with': 'se termine par',
  321. 'is': 'est',
  322. 'is not': 'n\'est pas',
  323. 'empty': 'est vide',
  324. 'not empty': 'n\'est pas vide',
  325. 'null': 'est nul',
  326. 'not null': 'n\'est pas nul',
  327. },
  328. enterValue: 'Entrez la valeur',
  329. addCondition: 'Ajouter une condition',
  330. conditionNotSetup: 'Condition NON configurée',
  331. },
  332. variableAssigner: {
  333. title: 'Attribuer des variables',
  334. outputType: 'Type de sortie',
  335. varNotSet: 'Variable non définie',
  336. noVarTip: 'Ajoutez les variables à attribuer',
  337. type: {
  338. string: 'Chaîne',
  339. number: 'Nombre',
  340. object: 'Objet',
  341. array: 'Tableau',
  342. },
  343. aggregationGroup: 'Groupe d\'agrégation',
  344. aggregationGroupTip: 'L\'activation de cette fonctionnalité permet à l\'agrégateur de variables d\'agréger plusieurs ensembles de variables.',
  345. addGroup: 'Ajouter un groupe',
  346. outputVars: {
  347. varDescribe: 'Sortie {{groupName}}',
  348. },
  349. setAssignVariable: 'Définir la variable à attribuer',
  350. },
  351. tool: {
  352. toAuthorize: 'Autoriser',
  353. inputVars: 'Variables de saisie',
  354. outputVars: {
  355. text: 'contenu généré par l\'outil',
  356. files: {
  357. title: 'fichiers générés par l\'outil',
  358. type: 'Type de support. Actuellement ne prend en charge que l\'image',
  359. transfer_method: 'Méthode de transfert. La valeur est remote_url ou local_file',
  360. url: 'URL de l\'image',
  361. upload_file_id: 'ID du fichier téléchargé',
  362. },
  363. },
  364. },
  365. questionClassifiers: {
  366. model: 'modèle',
  367. inputVars: 'Variables de saisie',
  368. outputVars: {
  369. className: 'Nom de la classe',
  370. },
  371. class: 'Classe',
  372. classNamePlaceholder: 'Écrivez le nom de votre classe',
  373. advancedSetting: 'Paramètre avancé',
  374. topicName: 'Nom du sujet',
  375. topicPlaceholder: 'Écrivez le nom de votre sujet',
  376. addClass: 'Ajouter une classe',
  377. instruction: 'Instruction',
  378. instructionTip: 'Entrez des instructions supplémentaires pour aider le classificateur de questions à mieux comprendre comment catégoriser les questions.',
  379. instructionPlaceholder: 'Écrivez votre instruction',
  380. },
  381. parameterExtractor: {
  382. inputVar: 'Variable de saisie',
  383. extractParameters: 'Extraire des paramètres',
  384. importFromTool: 'Importer des outils',
  385. addExtractParameter: 'Ajouter un paramètre d\'extraction',
  386. addExtractParameterContent: {
  387. name: 'Nom',
  388. namePlaceholder: 'Nom du paramètre d\'extraction',
  389. type: 'Type',
  390. typePlaceholder: 'Type de paramètre d\'extraction',
  391. description: 'Description',
  392. descriptionPlaceholder: 'Description du paramètre d\'extraction',
  393. required: 'Requis',
  394. requiredContent: 'Requis est utilisé uniquement comme référence pour l\'inférence du modèle, et non pour la validation obligatoire de la sortiedu paramètre.',
  395. },
  396. extractParametersNotSet: 'Paramètres d\'extraction non configurés',
  397. instruction: 'Instruction',
  398. instructionTip: 'Entrez des instructions supplémentaires pour aider l\'extracteur de paramètres à comprendre comment extraire les paramètres.',
  399. advancedSetting: 'Paramètre avancé',
  400. reasoningMode: 'Mode de raisonnement',
  401. reasoningModeTip: 'Vous pouvez choisir le mode de raisonnement approprié en fonction de la capacité du modèle à répondre aux instructions pour les appels de fonction ou les invites.',
  402. isSuccess: 'Est réussi. En cas de succès, la valeur est 1, en cas d\'échec, la valeur est 0.',
  403. errorReason: 'Raison de l\'erreur',
  404. },
  405. iteration: {
  406. deleteTitle: 'Supprimer le nœud d\'itération?',
  407. deleteDesc: 'La suppression du nœud d\'itération supprimera tous les nœuds enfants',
  408. input: 'Entrée',
  409. output: 'Variables de sortie',
  410. iteration_one: '{{count}} Itération',
  411. iteration_other: '{{count}} Itérations',
  412. currentIteration: 'Itération actuelle',
  413. },
  414. },
  415. tracing: {
  416. stopBy: 'Arrêté par {{user}}',
  417. },
  418. }
  419. export default translation