feat: translations (#3176)

This commit is contained in:
crazywoola 2024-04-08 23:17:16 +08:00 • committed by GitHub
commit 1382f10433
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
40 changed files with 2595 additions and 696 deletions

View file

@ -266,18 +266,32 @@ const translation = {
queryNoBeEmpty: 'La requête doit être définie dans le prompt',
},
variableConig: {
modalTitle: 'Paramètres du champ',
description: 'Paramètre pour la variable {{varName}}',
fieldType: 'Type de champ',
string: 'Texte Court',
paragraph: 'Paragraphe',
select: 'Sélectionner',
notSet: 'Non défini, essayez de taper {{input}} dans l\'invite de préfixe',
stringTitle: 'Options de la boîte de texte du formulaire',
maxLength: 'Longueur maximale',
options: 'Options',
addOption: 'Ajouter une option',
apiBasedVar: 'Variable basée sur l\'API',
'addModalTitle': 'Add Input Field',
'editModalTitle': 'Edit Input Field',
'description': 'Setting for variable {{varName}}',
'fieldType': 'Field type',
'string': 'Short Text',
'text-input': 'Short Text',
'paragraph': 'Paragraph',
'select': 'Select',
'number': 'Number',
'notSet': 'Not set, try typing {{input}} in the prefix prompt',
'stringTitle': 'Form text box options',
'maxLength': 'Max length',
'options': 'Options',
'addOption': 'Add option',
'apiBasedVar': 'API-based Variable',
'varName': 'Variable Name',
'labelName': 'Label Name',
'inputPlaceholder': 'Please input',
'required': 'Required',
'errorMsg': {
varNameRequired: 'Variable name is required',
labelNameRequired: 'Label name is required',
varNameCanBeRepeat: 'Variable name can not be repeated',
atLeastOneOption: 'At least one option is required',
optionRepeat: 'Has repeat options',
},
},
vision: {
name: 'Vision',
@ -348,6 +362,7 @@ const translation = {
result: 'Texte de sortie',
datasetConfig: {
settingTitle: 'Paramètres de récupération',
knowledgeTip: 'Cliquez sur le bouton “+” pour ajouter des connaissances',
retrieveOneWay: {
title: 'Récupération N-vers-1',
description: 'En fonction de l\'intention de l\'utilisateur et des descriptions de Connaissance, l\'Agent sélectionne de manière autonome la meilleure Connaissance pour interroger. Idéal pour les applications avec une Connaissance distincte et limitée.',

View file

@ -1,17 +1,23 @@
const translation = {
title: 'Journaux',
description: 'Les journaux enregistrent l\'état de fonctionnement de l\'application, y compris les entrées de l\'utilisateur et les réponses de l\'IA.',
dateTimeFormat: 'JJ/MM/AAAA hh:mm A',
description: 'Les journaux enregistrent l\'état d\'exécution de l\'application, y compris les entrées utilisateur et les réponses de l\'IA.',
dateTimeFormat: 'MM/DD/YYYY hh:mm A',
table: {
header: {
time: 'Temps',
time: 'Heure',
endUser: 'Utilisateur final',
input: 'Entrée',
output: 'Sortie',
summary: 'Titre',
messageCount: 'Nombre de Messages',
userRate: 'Taux d\'utilisateur',
adminRate: 'Taux Op.',
messageCount: 'Nombre de messages',
userRate: 'Taux utilisateur',
adminRate: 'Taux op.',
startTime: 'HEURE DE DÉBUT',
status: 'STATUT',
runtime: 'TEMPS D\'EXÉCUTION',
tokens: 'JETONS',
user: 'UTILISATEUR FINAL',
version: 'VERSION',
},
pagination: {
previous: 'Précédent',
@ -21,49 +27,57 @@ const translation = {
noChat: 'Aucune conversation pour le moment',
noOutput: 'Aucune sortie',
element: {
title: 'Quelqu\'un est là ?',
content: 'Observez et annotez les interactions entre les utilisateurs finaux et les applications IA ici pour améliorer continuellement la précision de l\'IA. Vous pouvez essayer de <shareLink>partager</shareLink> ou de <testLink>tester</testLink> l\'application Web',
title: 'Y a-t-il quelqu\'un ?',
content: 'Observez et annotez ici les interactions entre les utilisateurs finaux et les applications d\'IA pour améliorer en continu la précision de l\'IA. Vous pouvez essayer de <shareLink>partager</shareLink> ou de <testLink>tester</testLink> l\'application Web vous-même, puis revenir sur cette page.',
},
},
},
detail: {
time: 'Temps',
time: 'Heure',
conversationId: 'ID de conversation',
promptTemplate: 'Modèle de Prompt',
promptTemplateBeforeChat: 'Modèle de Prompt Avant le Chat · En Tant que Message Système',
annotationTip: 'Améliorations Marquées par {{user}}',
timeConsuming: 'Apologies, but you haven\'t provided any text to translate. Could you please provide the text so I can help you with the translation?',
second: '"s"',
promptTemplate: 'Modèle de consigne',
promptTemplateBeforeChat: 'Modèle de consigne avant la conversation · En tant que message système',
annotationTip: 'Améliorations marquées par {{user}}',
timeConsuming: '',
second: 's',
tokenCost: 'Jeton dépensé',
loading: 'chargement',
operation: {
like: 'comme',
dislike: 'déteste',
like: 'j\'aime',
dislike: 'je n\'aime pas',
addAnnotation: 'Ajouter une amélioration',
editAnnotation: 'Amélioration de l\'édition',
annotationPlaceholder: 'Entrez la réponse attendue que vous souhaitez que l\'IA donne, qui peut être utilisée pour l\'ajustement fin du modèle et l\'amélioration continue de la qualité de génération de texte à l\'avenir.',
editAnnotation: 'Modifier une amélioration',
annotationPlaceholder: 'Entrez la réponse attendue que vous souhaitez que l\'IA donne, cela peut être utilisé pour le réglage fin du modèle et l\'amélioration continue de la qualité de génération de texte à l\'avenir.',
},
variables: 'Variables',
uploadImages: 'Images Téléchargées',
uploadImages: 'Images téléchargées',
},
filter: {
period: {
today: 'Aujourd\'hui',
last7days: 'Les 7 Derniers Jours',
last4weeks: 'Les 4 dernières semaines',
last3months: 'Les 3 derniers mois',
last12months: 'Les 12 derniers mois',
last7days: '7 derniers jours',
last4weeks: '4 dernières semaines',
last3months: '3 derniers mois',
last12months: '12 derniers mois',
monthToDate: 'Mois à ce jour',
quarterToDate: 'Trimestre à ce jour',
yearToDate: 'Année à ce jour',
allTime: 'Tout le temps',
},
annotation: {
all: 'Tout',
all: 'Tous',
annotated: 'Améliorations annotées ({{count}} éléments)',
not_annotated: 'Non Annoté',
not_annotated: 'Non annoté',
},
},
workflowTitle: 'Journaux de workflow',
workflowSubtitle: 'Le journal enregistre l\'opération d\'Automate.',
runDetail: {
title: 'Journal de conversation',
workflowTitle: 'Détail du journal',
},
promptLog: 'Journal de consigne',
viewLog: 'Voir le journal',
}
export default translation

View file

@ -1,18 +1,18 @@
const translation = {
welcome: {
firstStepTip: 'Pour commencer,',
enterKeyTip: 'entrez votre clé API OpenAI ci-dessous',
enterKeyTip: 'saisissez votre clé API OpenAI ci-dessous',
getKeyTip: 'Obtenez votre clé API depuis le tableau de bord OpenAI',
placeholder: 'Votre clé API OpenAI (par exemple, sk-xxxx)',
placeholder: 'Votre clé API OpenAI (ex. sk-xxxx)',
},
apiKeyInfo: {
cloud: {
trial: {
title: 'Vous utilisez le quota d\'essai de {{providerName}}.',
description: 'Le quota d\'essai est fourni pour votre utilisation de test. Avant que les appels de quota d\'essai ne soient épuisés, veuillez configurer votre propre fournisseur de modèle ou acheter un quota supplémentaire.',
description: 'Le quota d\'essai est fourni pour votre usage de test. Avant l\'épuisement des appels de quota d\'essai, veuillez configurer votre propre fournisseur de modèle ou acheter un quota supplémentaire.',
},
exhausted: {
title: 'Votre quota d\'essai a été utilisé, veuillez configurer votre APIKey.',
title: 'Votre quota d\'essai a été utilisé, veuillez configurer votre clé API.',
description: 'Votre quota d\'essai a été épuisé. Veuillez configurer votre propre fournisseur de modèle ou acheter un quota supplémentaire.',
},
},
@ -22,78 +22,78 @@ const translation = {
row2: 'configurez d\'abord votre fournisseur de modèle.',
},
},
callTimes: 'Heures d\'appel',
usedToken: 'Token utilisé',
setAPIBtn: 'Allez configurer le fournisseur de modèle',
callTimes: 'Appels',
usedToken: 'Token utilisés',
setAPIBtn: 'Aller à la configuration du fournisseur de modèle',
tryCloud: 'Ou essayez la version cloud de Dify avec un devis gratuit',
},
overview: {
title: 'Aperçu',
appInfo: {
explanation: 'WebApp IA prête à l\'emploi',
explanation: 'WebApp AI prête à l\'emploi',
accessibleAddress: 'URL publique',
preview: 'Aperçu',
regenerate: 'Régénérer',
regenerate: 'Regénérer',
preUseReminder: 'Veuillez activer WebApp avant de continuer.',
settings: {
entry: 'Paramètres',
title: 'Paramètres de l\'application Web',
webName: 'Nom de l\'application Web',
webDesc: 'Description de l\'application web',
webDescTip: 'Ce texte sera affiché du côté du client, fournissant des indications de base sur comment utiliser l\'application',
webDescPlaceholder: 'Entrez la description de la WebApp',
webDesc: 'Description de l\'application Web',
webDescTip: 'Ce texte sera affiché côté client, fournissant des directives de base sur la façon d\'utiliser l\'application',
webDescPlaceholder: 'Entrez la description de l\'application Web',
language: 'Langue',
more: {
entry: 'Montrer plus de paramètres',
copyright: 'Droit d\'auteur',
entry: 'Afficher plus de paramètres',
copyright: 'Droits d\'auteur',
copyRightPlaceholder: 'Entrez le nom de l\'auteur ou de l\'organisation',
privacyPolicy: 'Politique de Confidentialité',
privacyPolicy: 'Politique de confidentialité',
privacyPolicyPlaceholder: 'Entrez le lien de la politique de confidentialité',
privacyPolicyTip: 'Aide les visiteurs à comprendre les données que l\'application collecte, voir la <privacyPolicyLink>Politique de Confidentialité</privacyPolicyLink> de Dify.',
privacyPolicyTip: 'Aide les visiteurs à comprendre les données collectées par l\'application, voir la <privacyPolicyLink>Politique de confidentialité</privacyPolicyLink> de Dify.',
},
},
embedded: {
entry: 'Intégré',
title: 'Intégrer sur le site web',
explanation: 'Choisissez la manière d\'intégrer l\'application de chat à votre site web',
iframe: 'Pour ajouter l\'application de chat n\'importe où sur votre site web, ajoutez cette iframe à votre code html.',
scripts: 'Pour ajouter une application de chat en bas à droite de votre site web, ajoutez ce code à votre html.',
chromePlugin: 'Installez l\'extension Chrome Dify Chatbot',
title: 'Intégrer sur un site Web',
explanation: 'Choisissez la manière d\'intégrer l\'application de chat à votre site Web',
iframe: 'Pour ajouter l\'application de chat n\'importe où sur votre site Web, ajoutez cette iframe à votre code HTML.',
scripts: 'Pour ajouter une application de chat en bas à droite de votre site Web, ajoutez ce code à votre HTML.',
chromePlugin: 'Installer l\'extension Chrome Dify Chatbot',
copied: 'Copié',
copy: 'Copier',
},
qrcode: {
title: 'QR code à partager',
scan: 'Application de Partage de Scan',
download: 'Télécharger le Code QR',
scan: 'Scanner et partager l\'application',
download: 'Télécharger le code QR',
},
customize: {
way: 'manière',
way: 'façon',
entry: 'Personnaliser',
title: 'Personnaliser l\'WebApp IA',
explanation: 'Vous pouvez personnaliser l\'interface utilisateur de l\'application Web pour répondre à vos besoins en termes de scénario et de style.',
title: 'Personnaliser l\'application Web AI',
explanation: 'Vous pouvez personnaliser l\'interface utilisateur de l\'application Web pour répondre à vos besoins de scénario et de style.',
way1: {
name: 'Faites une fourchette du code client, modifiez-le et déployez-le sur Vercel (recommandé)',
step1: 'Faites une fourchette du code client et modifiez-le',
step1Tip: 'Cliquez ici pour bifurquer le code source dans votre compte GitHub et modifier le code',
step1Operation: 'Dify-WebClient',
name: 'Faire une copie du code client, le modifier et le déployer sur Vercel (recommandé)',
step1: 'Faire une copie du code client et le modifier',
step1Tip: 'Cliquez ici pour faire une copie du code source dans votre compte GitHub et le modifier',
step1Operation: 'Client-Web-Dify',
step2: 'Déployer sur Vercel',
step2Tip: 'Cliquez ici pour importer le dépôt dans Vercel et déployer',
step2Tip: 'Cliquez ici pour importer le dépôt dans Vercel et le déployer',
step2Operation: 'Importer le dépôt',
step3: 'Configurer les variables d\'environnement',
step3Tip: 'Ajoutez les variables d\'environnement suivantes dans Vercel',
},
way2: {
name: 'Écrivez du code côté client pour appeler l\'API et déployez-le sur un serveur',
name: 'Écrire du code côté client pour appeler l\'API et le déployer sur un serveur',
operation: 'Documentation',
},
},
},
apiInfo: {
title: 'API du service Backend',
title: 'API de service Backend',
explanation: 'Facilement intégré dans votre application',
accessibleAddress: 'Point de terminaison du service API',
doc: 'Référence API',
doc: 'Référence de l\'API',
},
status: {
running: 'En service',
@ -103,35 +103,39 @@ const translation = {
analysis: {
title: 'Analyse',
ms: 'ms',
tokenPS: 'Jeton/s',
tokenPS: 'Token/s',
totalMessages: {
title: 'Messages Totaux',
explanation: 'Nombre quotidien d\'interactions IA ; ingénierie/debuggage de prompt exclu.',
title: 'Total des messages',
explanation: 'Nombre d\'interactions quotidiennes avec l\'IA ; l\'ingénierie/le débogage des prompts sont exclus.',
},
activeUsers: {
title: 'Utilisateurs Actifs',
explanation: 'Utilisateurs uniques participant à des Q&A avec l\'IA ; l\'ingénierie/débogage de prompt exclu.',
title: 'Utilisateurs actifs',
explanation: 'Utilisateurs uniques engagés dans des Q&R avec l\'IA ; l\'ingénierie/le débogage des prompts sont exclus.',
},
tokenUsage: {
title: 'Utilisation de Token',
explanation: 'Reflet de l\'utilisation quotidienne des jetons du modèle de langage pour l\'application, utile à des fins de contrôle des coûts.',
title: 'Utilisation des tokens',
explanation: 'Reflet de l\'utilisation quotidienne des tokens du modèle de langue pour l\'application, utile pour le contrôle des coûts.',
consumed: 'Consommé',
},
avgSessionInteractions: {
title: 'Interactions Moyennes par Session',
explanation: 'Comptage continu de la communication utilisateur-IA ; pour les applications basées sur la conversation.',
title: 'Interactions moyennes par session',
explanation: 'Nombre de communications continu utilisateur-IA ; pour les applications basées sur la conversation.',
},
avgUserInteractions: {
title: 'Interactions moyennes par utilisateur',
explanation: 'Reflet de la fréquence d\'utilisation quotidienne des utilisateurs. Cette métrique reflète la fidélité des utilisateurs.',
},
userSatisfactionRate: {
title: 'Taux de Satisfaction de l\'Utilisateur',
explanation: 'Le nombre de "j\'aime" par 1 000 messages. Cela indique la proportion de réponses dont les utilisateurs sont très satisfaits.',
title: 'Taux de satisfaction des utilisateurs',
explanation: 'Le nombre de likes parmi 1 000 messages. Cela indique la proportion de réponses avec lesquelles les utilisateurs sont très satisfaits.',
},
avgResponseTime: {
title: 'Temps de réponse moyen',
explanation: 'Temps (ms) pour que l\'IA traite/réponde; pour les applications basées sur le texte.',
explanation: 'Temps (ms) pour l\'IA pour traiter/répondre ; pour les applications basées sur du texte.',
},
tps: {
title: 'Vitesse de Sortie des Tokens',
explanation: 'Mesurez la performance du LLM. Comptez la vitesse de sortie des Tokens du LLM depuis le début de la demande jusqu\'à l\'achèvement de la sortie.',
title: 'Vitesse de sortie de token',
explanation: 'Mesurer les performances du LLM. Compter la vitesse de sortie des tokens du LLM depuis le début de la requête jusqu\'à l\'achèvement de la sortie.',
},
},
}

View file

@ -1,38 +1,59 @@
const translation = {
createApp: 'Créer une nouvelle application',
createApp: 'CRÉER UNE APPLICATION',
types: {
all: 'Tout',
assistant: 'Assistant',
completion: 'Complétion',
chatbot: 'Chatbot',
agent: 'Agent',
workflow: 'Flux de travail',
completion: 'Terminaison',
},
modes: {
completion: 'Générateur de Texte',
chat: 'Assistant de Base',
},
createFromConfigFile: 'Créer une application à partir du fichier de configuration',
duplicate: 'Dupliquer',
duplicateTitle: 'Dupliquer l\'application',
export: 'Exporter DSL',
exportFailed: 'Échec de l\'exportation du DSL.',
importDSL: 'Importer le fichier DSL',
createFromConfigFile: 'Créer à partir du fichier DSL',
deleteAppConfirmTitle: 'Supprimer cette application ?',
deleteAppConfirmContent:
'La suppression de l\'application est irréversible. Les utilisateurs ne pourront plus accéder à votre application, et toutes les configurations de prompt et les journaux seront définitivement supprimés.',
'La suppression de l\'application est irréversible. Les utilisateurs ne pourront plus accéder à votre application et toutes les configurations de prompt et les journaux seront définitivement supprimés.',
appDeleted: 'Application supprimée',
appDeleteFailed: 'Échec de la suppression de l\'application',
join: 'Rejoignez la communauté',
join: 'Rejoindre la communauté',
communityIntro:
'Discutez avec les membres de l\'équipe, les contributeurs et les développeurs sur différents canaux.',
roadmap: 'Voir notre feuille de route',
appNamePlaceholder: 'Veuillez entrer le nom de l\'application',
newApp: {
startToCreate: 'Commençons avec votre nouvelle application',
startFromBlank: 'Créer à partir de zéro',
startFromTemplate: 'Créer à partir d\'un modèle',
captionAppType: 'Quel type d\'application souhaitez-vous créer ?',
chatbotDescription: 'Construisez une application basée sur le chat. Cette application utilise un format question-réponse, permettant ainsi plusieurs tours de conversation continue.',
completionDescription: 'Construisez une application qui génère du texte de haute qualité en fonction des invites, telles que la génération d\'articles, de résumés, de traductions, et plus encore.',
completionWarning: 'Ce type d\'application ne sera plus pris en charge.',
agentDescription: 'Construisez un agent intelligent capable de choisir automatiquement les outils pour accomplir les tâches',
workflowDescription: 'Construisez une application qui génère du texte de haute qualité en fonction d\'un flux de travail avec un haut degré de personnalisation. Il convient aux utilisateurs expérimentés.',
workflowWarning: 'Actuellement en version bêta',
chatbotType: 'Méthode d\'orchestration du chatbot',
basic: 'Basique',
basicTip: 'Pour les débutants, peut passer à Chatflow plus tard',
basicFor: 'POUR LES DÉBUTANTS',
basicDescription: 'L\'orchestration de base permet d\'orchestrer une application Chatbot à l\'aide de paramètres simples, sans possibilité de modifier les invites intégrées. Il convient aux débutants.',
advanced: 'Chatflow',
advancedFor: 'Pour les utilisateurs avancés',
advancedDescription: 'L\'orchestration de flux de travail orchestre les Chatbots sous forme de workflows, offrant un haut degré de personnalisation, y compris la possibilité de modifier les invites intégrées. Il convient aux utilisateurs expérimentés.',
captionName: 'Icône et nom de l\'application',
captionAppType: 'Quel type d\'application voulez-vous créer ?',
appNamePlaceholder: 'Donnez un nom à votre application',
captionDescription: 'Description',
appDescriptionPlaceholder: 'Entrez la description de l\'application',
useTemplate: 'Utiliser ce modèle',
previewDemo: 'Aperçu de la démo',
chatApp: 'Assistant',
chatAppIntro:
'Je veux construire une application basée sur le chat. Cette application utilise un format de questions-réponses, permettant plusieurs tours de conversation continue.',
agentAssistant: 'Nouvel Assistant Agent',
completeApp: 'Générateur de Texte',
'Je veux construire une application basée sur le chat. Cette application utilise un format question-réponse, permettant plusieurs tours de conversation continue.',
agentAssistant: 'Nouvel assistant agent',
completeApp: 'Générateur de texte',
completeAppIntro:
'Je veux créer une application qui génère du texte de haute qualité basé sur des prompts, tels que la génération d\'articles, de résumés, de traductions, et plus encore.',
showTemplates: 'Je veux choisir à partir d\'un modèle',
'Je veux créer une application qui génère du texte de haute qualité en fonction des invites, telles que la génération d\'articles, de résumés, de traductions, et plus encore.',
showTemplates: 'Je veux choisir parmi un modèle',
hideTemplates: 'Revenir à la sélection de mode',
Create: 'Créer',
Cancel: 'Annuler',
@ -42,13 +63,28 @@ const translation = {
appCreated: 'Application créée',
appCreateFailed: 'Échec de la création de l\'application',
},
editApp: {
startToEdit: 'Modifier l\'application',
},
editApp: 'Modifier les informations',
editAppTitle: 'Modifier les informations de l\'application',
editDone: 'Informations sur l\'application mises à jour',
editFailed: 'Échec de la mise à jour des informations de l\'application',
emoji: {
ok: 'D\'accord',
ok: 'OK',
cancel: 'Annuler',
},
switch: 'Passer à l\'orchestration de flux de travail',
switchTipStart: 'Une nouvelle copie de l\'application sera créée pour vous, et la nouvelle copie passera à l\'orchestration de flux de travail. La nouvelle copie ne permettra pas le ',
switchTip: 'retour',
switchTipEnd: ' à l\'orchestration de base.',
switchLabel: 'La copie de l\'application à créer',
removeOriginal: 'Supprimer l\'application d\'origine',
switchStart: 'Commencer la commutation',
typeSelector: {
all: 'Tous Types',
chatbot: 'Chatbot',
agent: 'Agent',
workflow: 'Flux de travail',
completion: 'Terminaison',
},
}
export default translation

View file

@ -400,6 +400,7 @@ const translation = {
promptEng: 'Orchestrer',
apiAccess: 'Accès API',
logAndAnn: 'Journaux & Annonces.',
logs: 'Journaux',
},
environment: {
testing: 'TESTER',
@ -477,6 +478,10 @@ const translation = {
title: 'Variables & Outils Externes',
desc: 'Insérer des Variables & Outils Externes',
},
outputToolDisabledItem: {
title: 'Variables',
desc: 'Insérer Variables',
},
modal: {
add: 'Nouvelle variable',
addTool: 'Nouvel outil',

View file

@ -18,7 +18,7 @@ const translation = {
apps: {
title: 'Explorez les applications par Dify',
description: 'Utilisez ces applications modèles instantanément ou personnalisez vos propres applications basées sur les modèles.',
allCategories: 'Toutes les catégories',
allCategories: 'Recommandé',
},
appCard: {
addToWorkspace: 'Ajouter à l\'espace de travail',

View file

@ -1,5 +1,23 @@
const translation = {
input: 'ENTRÉE',
result: 'RÉSULTAT',
detail: 'DÉTAIL',
tracing: 'TRACE',
resultPanel: {
status: 'STATUT',
time: 'TEMPS ÉCOULÉ',
tokens: 'TOTAL DES JETONS',
},
meta: {
title: 'MÉTADONNÉES',
status: 'Statut',
version: 'Version',
executor: 'Exécuteur',
startTime: 'Heure de début',
time: 'Temps écoulé',
tokens: 'Total des jetons',
steps: 'Étapes d\'exécution',
},
}
export default translation

View file

@ -1,3 +1,333 @@
const translation = {}
const translation = {
common: {
editing: 'Édition',
autoSaved: 'Enregistré automatiquement',
unpublished: 'Non publié',
published: 'Publié',
publish: 'Publier',
update: 'Mettre à jour',
run: 'Exécuter',
running: 'En cours',
inRunMode: 'En mode exécution',
inPreview: 'En prévisualisation',
inPreviewMode: 'En mode prévisualisation',
preview: 'Aperçu',
viewRunHistory: 'Voir l\'historique d\'exécution',
runHistory: 'Historique d\'exécution',
goBackToEdit: 'Retourner à l\'éditeur',
conversationLog: 'Journal de conversation',
features: 'Fonctionnalités',
debugAndPreview: 'Déboguer et prévisualiser',
restart: 'Redémarrer',
currentDraft: 'Brouillon actuel',
currentDraftUnpublished: 'Brouillon actuel non publié',
latestPublished: 'Dernière publication',
publishedAt: 'Publié',
restore: 'Restaurer',
runApp: 'Exécuter l\'application',
batchRunApp: 'Exécuter l\'application en lot',
accessAPIReference: 'Accéder à la référence de l\'API',
embedIntoSite: 'Intégrer dans le site',
addTitle: 'Ajouter un titre...',
addDescription: 'Ajouter une description...',
noVar: 'Aucune variable',
searchVar: 'Rechercher une variable',
variableNamePlaceholder: 'Nom de la variable',
setVarValuePlaceholder: 'Définir la variable',
needConnecttip: 'Cette étape n\'est connectée à rien',
maxTreeDepth: 'Limite maximale de {{depth}} nœuds par branche',
needEndNode: 'Le bloc de fin doit être ajouté',
needAnswerNode: 'Le bloc de réponse doit être ajouté',
workflowProcess: 'Processus de workflow',
notRunning: 'Pas encore en cours d\'exécution',
previewPlaceholder: 'Saisissez du contenu dans la zone ci-dessous pour commencer le débogage du Chatbot',
effectVarConfirm: {
title: 'Supprimer la variable',
content: 'La variable est utilisée dans d\'autres nœuds. Voulez-vous toujours la supprimer ?',
},
insertVarTip: 'Appuyez sur la touche \'/\' pour insérer rapidement',
},
errorMsg: {
fieldRequired: '{{field}} est requis',
authRequired: 'L\'autorisation est requise',
invalidJson: '{{field}} est un JSON invalide',
fields: {
variable: 'Nom de la variable',
variableValue: 'Valeur de la variable',
code: 'Code',
model: 'Modèle',
rerankModel: 'Modèle de retrait',
},
invalidVariable: 'Variable invalide',
},
singleRun: {
testRun: 'Exécution de test ',
startRun: 'Démarrer l\'exécution',
running: 'En cours',
},
tabs: {
'searchBlock': 'Rechercher un bloc',
'blocks': 'Blocs',
'builtInTool': 'Outil intégré',
'customTool': 'Outil personnalisé',
'question-understand': 'Compréhension des questions',
'logic': 'Logique',
'transform': 'Transformer',
'utilities': 'Utilitaires',
'noResult': 'Aucune correspondance trouvée',
},
blocks: {
'start': 'Démarrer',
'end': 'Fin',
'answer': 'Réponse',
'llm': 'LLM',
'knowledge-retrieval': 'Récupération de connaissances',
'question-classifier': 'Classificateur de questions',
'if-else': 'SI/SINON',
'code': 'Code',
'template-transform': 'Modèle',
'http-request': 'Requête HTTP',
'variable-assigner': 'Assignateur de variables',
},
blocksAbout: {
'start': 'Définir les paramètres initiaux pour lancer un flux de travail',
'end': 'Définir la fin et le type de résultat d\'un flux de travail',
'answer': 'Définir le contenu de réponse d\'une conversation',
'llm': 'Appeler de grands modèles de langage pour répondre aux questions ou traiter le langage naturel',
'knowledge-retrieval': 'Vous permet de interroger le contenu textuel lié aux questions des utilisateurs à partir des connaissances',
'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',
'if-else': 'Vous permet de diviser le flux de travail en deux branches en fonction de conditions SI/SINON',
'code': 'Exécuter un morceau de code Python ou NodeJS pour implémenter une logique personnalisée',
'template-transform': 'Convertir des données en chaîne à l\'aide de la syntaxe du modèle Jinja',
'http-request': 'Permet d\'envoyer des requêtes serveur via le protocole HTTP',
'variable-assigner': 'Attribuer des variables dans différentes branches à la même variable pour obtenir une configuration unifiée des post-nœuds',
},
operator: {
zoomIn: 'Zoomer',
zoomOut: 'Dézoomer',
zoomTo50: 'Zoom à 50%',
zoomTo100: 'Zoom à 100%',
zoomToFit: 'Ajuster à la fenêtre',
},
panel: {
userInputField: 'Champ de saisie utilisateur',
changeBlock: 'Changer de bloc',
helpLink: 'Lien d\'aide',
about: 'À propos',
createdBy: 'Créé par ',
nextStep: 'Étape suivante',
addNextStep: 'Ajouter le prochain bloc dans ce flux de travail',
selectNextStep: 'Sélectionner le bloc suivant',
runThisStep: 'Exécuter cette étape',
checklist: 'Liste de contrôle',
checklistTip: 'Assurez-vous que tous les problèmes sont résolus avant de publier',
checklistResolved: 'Tous les problèmes sont résolus',
organizeBlocks: 'Organiser les blocs',
change: 'Changer',
},
nodes: {
common: {
outputVars: 'Variables de sortie',
insertVarTip: 'Insérer une variable',
memory: {
memory: 'Mémoire',
memoryTip: 'Paramètres de mémoire de chat',
windowSize: 'Taille de la fenêtre',
conversationRoleName: 'Nom du rôle de conversation',
user: 'Préfixe utilisateur',
assistant: 'Préfixe assistant',
},
memories: {
title: 'Mémoires',
tip: 'Mémoire de chat',
builtIn: 'Intégré',
},
},
start: {
required: 'requis',
inputField: 'Champ d\'entrée',
builtInVar: 'Variables intégrées',
outputVars: {
query: 'Entrée utilisateur',
memories: {
des: 'Historique de conversation',
type: 'type de message',
content: 'contenu du message',
},
files: 'Liste de fichiers',
},
noVarTip: 'Définissez les entrées pouvant être utilisées dans le flux de travail',
},
end: {
outputs: 'Sorties',
output: {
type: 'type de sortie',
variable: 'variable de sortie',
},
type: {
'none': 'Aucun',
'plain-text': 'Texte brut',
'structured': 'Structuré',
},
},
answer: {
answer: 'Réponse',
outputVars: 'Variables de sortie',
},
llm: {
model: 'modèle',
variables: 'variables',
context: 'contexte',
contextTooltip: 'Vous pouvez importer des connaissances comme contexte',
notSetContextInPromptTip: 'Pour activer la fonction de contexte, veuillez remplir la variable de contexte dans PROMPT.',
prompt: 'invite',
roleDescription: {
system: 'Donnez des instructions générales pour la conversation',
user: 'Fournir des instructions, des requêtes ou toute entrée basée sur du texte au modèle',
assistant: 'Les réponses du modèle basées sur les messages de l\'utilisateur',
},
addMessage: 'Ajouter un message',
vision: 'vision',
files: 'Fichiers',
resolution: {
name: 'Résolution',
high: 'Élevée',
low: 'Faible',
},
outputVars: {
output: 'Générer du contenu',
usage: 'Informations sur l\'utilisation du modèle',
},
singleRun: {
variable: 'Variable',
},
},
knowledgeRetrieval: {
queryVariable: 'Variable de requête',
knowledge: 'Connaissances',
outputVars: {
output: 'Données segmentées de récupération',
content: 'Contenu segmenté',
title: 'Titre segmenté',
icon: 'Icône segmentée',
url: 'URL segmentée',
metadata: 'Autres métadonnées',
},
},
http: {
inputVars: 'Variables d\'entrée',
api: 'API',
apiPlaceholder: 'Saisissez l\'URL, tapez ‘/’ pour insérer une variable',
notStartWithHttp: 'L\'API doit commencer par http:// ou https://',
key: 'Clé',
value: 'Valeur',
bulkEdit: 'Édition en masse',
keyValueEdit: 'Édition clé-valeur',
headers: 'En-têtes',
params: 'Paramètres',
body: 'Corps',
outputVars: {
body: 'Contenu de la réponse',
statusCode: 'Code d\'état de la réponse',
headers: 'Liste d\'en-têtes de réponse JSON',
files: 'Liste de fichiers',
},
authorization: {
'authorization': 'Autorisation',
'authorizationType': 'Type d\'autorisation',
'no-auth': 'Aucune',
'api-key': 'Clé API',
'auth-type': 'Type d\'authentification',
'basic': 'De base',
'bearer': 'Porteur',
'custom': 'Personnalisé',
'api-key-title': 'Clé API',
'header': 'En-tête',
},
insertVarPlaceholder: 'tapez \'/\' pour insérer une variable',
},
code: {
inputVars: 'Variables d\'entrée',
outputVars: 'Variables de sortie',
},
templateTransform: {
inputVars: 'Variables d\'entrée',
code: 'Code',
codeSupportTip: 'Ne prend en charge que Jinja2',
outputVars: {
output: 'Contenu transformé',
},
},
ifElse: {
if: 'Si',
else: 'Sinon',
elseDescription: 'Utilisé pour définir la logique qui doit être exécutée lorsque la condition SI n\'est pas remplie.',
and: 'et',
or: 'ou',
operator: 'Opérateur',
notSetVariable: 'Veuillez d\'abord définir la variable',
comparisonOperator: {
'contains': 'contient',
'not contains': 'ne contient pas',
'start with': 'commence par',
'end with': 'se termine par',
'is': 'est',
'is not': 'n\'est pas',
'empty': 'est vide',
'not empty': 'n\'est pas vide',
'null': 'est nul',
'not null': 'n\'est pas nul',
},
enterValue: 'Entrer une valeur',
addCondition: 'Ajouter une condition',
conditionNotSetup: 'Condition NON configurée',
},
variableAssigner: {
title: 'Attribuer des variables',
outputType: 'Type de sortie',
outputVarType: 'Type de variable de sortie',
varNotSet: 'Variable non définie',
noVarTip: 'Ajoutez les variables à attribuer',
type: {
string: 'Chaîne',
number: 'Nombre',
object: 'Objet',
array: 'Tableau',
},
outputVars: {
output: 'Valeur de la variable attribuée',
},
},
tool: {
toAuthorize: 'Pour autoriser',
inputVars: 'Variables d\'entrée',
outputVars: {
text: 'contenu généré par l\'outil',
files: {
title: 'fichiers générés par l\'outil',
type: 'Type de support. Actuellement, seul le support de l\'image est pris en charge',
transfer_method: 'Méthode de transfert. La valeur est remote_url ou local_file',
url: 'URL de l\'image',
upload_file_id: 'ID du fichier téléchargé',
},
},
},
questionClassifiers: {
model: 'modèle',
inputVars: 'Variables d\'entrée',
class: 'Classe',
classNamePlaceholder: 'Écrivez votre nom de classe',
advancedSetting: 'Paramètre avancé',
topicName: 'Nom du sujet',
topicPlaceholder: 'Écrivez votre nom de sujet',
addClass: 'Ajouter une classe',
instruction: 'Instruction',
instructionPlaceholder: 'Écrivez votre instruction',
},
},
tracing: {
stopBy: 'Arrêté par {{user}}',
},
}
export default translation