chore: add missing translations (#28631)

This commit is contained in:
yyh
2025-11-25 14:52:17 +08:00
committed by GitHub
parent 58be008676
commit 82dac2eba0
250 changed files with 9194 additions and 324 deletions

View File

@@ -113,6 +113,15 @@ const translation = {
currentView: 'Vue actuelle',
currentWorkflow: 'Flux de travail actuel',
moreActions: 'Plus dactions',
listening: 'Écouter',
chooseStartNodeToRun: 'Choisissez le nœud de départ pour lancer',
runAllTriggers: 'Exécuter tous les déclencheurs',
features: 'Fonctionnalités',
featuresDescription: 'Améliorer l\'expérience utilisateur de l\'application web',
featuresDocLink: 'En savoir plus',
needAdd: 'Le nœud {{node}} doit être ajouté',
needStartNode: 'Au moins un nœud de départ doit être ajouté',
workflowAsToolDisabledHint: 'Publiez le dernier flux de travail et assurez-vous qu\'un nœud d\'entrée utilisateur est connecté avant de le configurer comme outil.',
},
env: {
envPanelTitle: 'Variables d\'Environnement',
@@ -219,6 +228,7 @@ const translation = {
rerankModelRequired: 'Avant dactiver le modèle de reclassement, veuillez confirmer que le modèle a été correctement configuré dans les paramètres.',
noValidTool: '{{field}} aucun outil valide sélectionné',
toolParameterRequired: '{{field}} : le paramètre [{{param}}] est obligatoire',
startNodeRequired: 'Veuillez d\'abord ajouter un nœud de départ avant {{operation}}',
},
singleRun: {
testRun: 'Exécution de test',
@@ -250,6 +260,21 @@ const translation = {
'allAdded': 'Tout ajouté',
'sources': 'Sources',
'searchDataSource': 'Source de données de recherche',
'start': 'Démarrer',
'searchTrigger': 'Déclencheurs de recherche...',
'allTriggers': 'Tous les déclencheurs',
'noPluginsFound': 'Aucun plugin n\'a été trouvé',
'requestToCommunity': 'Demandes à la communauté',
'featuredTools': 'En vedette',
'showMoreFeatured': 'Afficher plus',
'showLessFeatured': 'Afficher moins',
'installed': 'Installé',
'pluginByAuthor': 'Par {{author}}',
'usePlugin': 'Sélectionner l\'outil',
'hideActions': 'Cacher les outils',
'noFeaturedPlugins': 'Découvrez plus d\'outils dans le Marketplace',
'noFeaturedTriggers': 'Découvrez plus de déclencheurs dans le Marketplace',
'startDisabledTip': 'Le nœud de déclenchement et le nœud d\'entrée utilisateur sont mutuellement exclusifs.',
},
blocks: {
'start': 'Début',
@@ -276,6 +301,10 @@ const translation = {
'loop-start': 'Début de boucle',
'knowledge-index': 'Base de connaissances',
'datasource': 'Source des données',
'originalStartNode': 'nœud de départ original',
'trigger-schedule': 'Déclencheur de programmation',
'trigger-webhook': 'Déclencheur Webhook',
'trigger-plugin': 'Déclencheur de plugin',
},
blocksAbout: {
'start': 'Définir les paramètres initiaux pour lancer un flux de travail',
@@ -300,6 +329,9 @@ const translation = {
'loop-end': 'Équivalent à "break". Ce nœud n\'a pas d\'éléments de configuration. Lorsque le corps de la boucle atteint ce nœud, la boucle se termine.',
'datasource': 'Source de données À propos',
'knowledge-index': 'Base de connaissances À propos',
'trigger-schedule': 'Déclencheur de flux de travail basé sur le temps qui démarre les flux de travail selon un calendrier',
'trigger-webhook': 'Le déclencheur Webhook reçoit des pushs HTTP provenant de systèmes tiers pour déclencher automatiquement des flux de travail.',
'trigger-plugin': 'Déclencheur dintégration tierce qui démarre des flux de travail à partir dévénements dune plateforme externe',
},
operator: {
zoomIn: 'Zoomer',
@@ -340,6 +372,8 @@ const translation = {
minimize: 'Sortir du mode plein écran',
scrollToSelectedNode: 'Faites défiler jusquau nœud sélectionné',
optional_and_hidden: '(optionnel et caché)',
goTo: 'Aller à',
startNode: 'Nœud de départ',
},
nodes: {
common: {
@@ -787,6 +821,8 @@ const translation = {
answerNodeWarningDesc: 'Avertissement en mode parallèle : les nœuds de réponse, les affectations de variables de conversation et les opérations de lecture/écriture persistantes au sein des itérations peuvent provoquer des exceptions.',
parallelModeEnableTitle: 'Mode parallèle activé',
parallelMode: 'Mode parallèle',
flattenOutput: 'Aplatir la sortie',
flattenOutputDesc: 'Lorsqu\'il est activé, si toutes les sorties d\'itération sont des tableaux, elles seront aplaties en un seul tableau. Lorsqu\'il est désactivé, les sorties conserveront une structure de tableau imbriqué.',
},
note: {
addNote: 'Ajouter note',
@@ -963,6 +999,144 @@ const translation = {
rerankingModelIsInvalid: 'Le modèle de rerank est invalide',
embeddingModelIsInvalid: 'Le modèle d\'intégration est invalide',
},
triggerPlugin: {
authorized: 'autorisé',
notConfigured: 'Non configuré',
notAuthorized: 'Non autorisé',
selectSubscription: 'Sélectionner un abonnement',
availableSubscriptions: 'Abonnements disponibles',
addSubscription: 'Ajouter un nouvel abonnement',
removeSubscription: 'Supprimer l\'abonnement',
subscriptionRemoved: 'Abonnement supprimé avec succès',
error: 'Erreur',
configuration: 'Configuration',
remove: 'Supprimer',
or: 'OU',
useOAuth: 'Utiliser OAuth',
useApiKey: 'Utiliser la clé API',
authenticationFailed: 'Échec de l\'authentification',
authenticationSuccess: 'Authentification réussie',
oauthConfigFailed: 'Échec de la configuration OAuth',
configureOAuthClient: 'Configurer le client OAuth',
oauthClientDescription: 'Configurez les identifiants du client OAuth pour activer l\'authentification',
oauthClientSaved: 'Configuration du client OAuth enregistrée avec succès',
configureApiKey: 'Configurer la clé API',
apiKeyDescription: 'Configurer les identifiants de clé API pour l\'authentification',
apiKeyConfigured: 'Clé API configurée avec succès',
configurationFailed: 'Échec de la configuration',
failedToStart: 'Échec du démarrage du processus d\'authentification',
credentialsVerified: 'Identifiants vérifiés avec succès',
credentialVerificationFailed: 'Échec de la vérification des identifiants',
verifyAndContinue: 'Vérifier et continuer',
configureParameters: 'Configurer les paramètres',
parametersDescription: 'Configurer les paramètres et les propriétés du déclencheur',
configurationComplete: 'Configuration terminée',
configurationCompleteDescription: 'Votre déclencheur a été configuré avec succès',
configurationCompleteMessage: 'La configuration de votre déclencheur est maintenant complète et prête à l\'emploi.',
parameters: 'Paramètres',
properties: 'Propriétés',
propertiesDescription: 'Propriétés de configuration supplémentaires pour ce déclencheur',
noConfigurationRequired: 'Aucune configuration supplémentaire n\'est requise pour ce déclencheur.',
subscriptionName: 'Nom de l\'abonnement',
subscriptionNameDescription: 'Entrez un nom unique pour cet abonnement de déclencheur',
subscriptionNamePlaceholder: 'Entrez le nom de l\'abonnement...',
subscriptionNameRequired: 'Le nom de l\'abonnement est requis',
subscriptionRequired: 'L\'abonnement est requis',
},
triggerSchedule: {
title: 'Programme',
nodeTitle: 'Déclencheur de programmation',
notConfigured: 'Non configuré',
useCronExpression: 'Utiliser une expression cron',
useVisualPicker: 'Utiliser le sélecteur visuel',
frequency: {
label: 'FRÉQUENCE',
hourly: 'Horaire',
daily: 'Quotidien',
weekly: 'Hebdomadaire',
monthly: 'mensuel',
},
selectFrequency: 'Sélectionner la fréquence',
frequencyLabel: 'Fréquence',
nextExecution: 'Prochaine exécution',
weekdays: 'Jours de la semaine',
time: 'Temps',
cronExpression: 'Expression Cron',
nextExecutionTime: 'PROCHAINE HEURE D\'EXÉCUTION',
nextExecutionTimes: 'Prochaines 5 exécutions',
startTime: 'Heure de début',
executeNow: 'Exécution maintenant',
selectDateTime: 'Sélectionner la date et l\'heure',
hours: 'Heures',
minutes: 'Minutes',
onMinute: 'Une minute',
days: 'Jours',
lastDay: 'Dernier jour',
lastDayTooltip: 'Tous les mois n\'ont pas 31 jours. Utilisez l\'option « dernier jour » pour sélectionner le dernier jour de chaque mois.',
mode: 'Mode',
timezone: 'Fuseau horaire',
visualConfig: 'Configuration visuelle',
monthlyDay: 'Jour mensuel',
executionTime: 'Temps d\'exécution',
invalidTimezone: 'Fuseau horaire invalide',
invalidCronExpression: 'Expression cron invalide',
noValidExecutionTime: 'Aucun temps d\'exécution valide ne peut être calculé',
executionTimeCalculationError: 'Échec du calcul des temps d\'exécution',
invalidFrequency: 'Fréquence invalide',
invalidStartTime: 'Heure de début invalide',
startTimeMustBeFuture: 'L\'heure de début doit être dans le futur',
invalidTimeFormat: 'Format d\'heure invalide (attendu HH:MM AM/PM)',
invalidWeekday: 'Jour de la semaine invalide : {{weekday}}',
invalidMonthlyDay: 'Le jour du mois doit être compris entre 1 et 31 ou "dernier"',
invalidOnMinute: 'Une minute doit être comprise entre 0 et 59',
invalidExecutionTime: 'Heure d\'exécution invalide',
executionTimeMustBeFuture: 'Le délai d\'exécution doit être dans le futur',
},
triggerWebhook: {
title: 'Déclencheur Webhook',
nodeTitle: '🔗 Déclencheur Webhook',
configPlaceholder: 'La configuration du déclencheur webhook sera implémentée ici',
webhookUrl: 'URL du webhook',
webhookUrlPlaceholder: 'Cliquez sur générer pour créer l\'URL du webhook',
generate: 'Générer',
copy: 'Copier',
test: 'Test',
urlGenerated: 'URL du webhook générée avec succès',
urlGenerationFailed: 'Échec de la génération de lURL du webhook',
urlCopied: 'URL copiée dans le presse-papiers',
method: 'Méthode',
contentType: 'Type de contenu',
queryParameters: 'Paramètres de requête',
headerParameters: 'Paramètres d\'en-tête',
requestBodyParameters: 'Paramètres du corps de la requête',
parameterName: 'Nom de variable',
varName: 'Nom de variable',
varType: 'Type',
varNamePlaceholder: 'Entrez le nom de la variable...',
required: 'Requis',
addParameter: 'Ajouter',
addHeader: 'Ajouter',
noParameters: 'Aucun paramètre configuré',
noQueryParameters: 'Aucun paramètre de requête configuré',
noHeaders: 'Aucun en-tête configuré',
noBodyParameters: 'Aucun paramètre de corps configuré',
debugUrlTitle: 'Pour les tests, utilisez toujours cette URL',
debugUrlCopy: 'Cliquez pour copier',
debugUrlCopied: 'Copié !',
debugUrlPrivateAddressWarning: 'Cette URL semble être une adresse interne, ce qui peut provoquer l\'échec des requêtes webhook. Vous pouvez changer TRIGGER_URL pour une adresse publique.',
errorHandling: 'Gestion des erreurs',
errorStrategy: 'Gestion des erreurs',
responseConfiguration: 'Réponse',
asyncMode: 'Mode asynchrone',
statusCode: 'Code d\'état',
responseBody: 'Corps de la réponse',
responseBodyPlaceholder: 'Écrivez ici le corps de votre réponse',
headers: 'En-têtes',
validation: {
webhookUrlRequired: 'L\'URL du webhook est requise',
invalidParameterType: 'Type de paramètre invalide "{{type}}" pour le paramètre "{{name}}"',
},
},
},
tracing: {
stopBy: 'Arrêté par {{user}}',
@@ -1037,6 +1211,18 @@ const translation = {
exportToolTip: 'Exporter la variable en tant que fichier',
largeData: 'Données volumineuses, aperçu en lecture seule. Exporter pour tout afficher.',
largeDataNoExport: 'Données volumineuses - aperçu partiel uniquement',
listening: {
title: 'En attente d\'événements provenant des déclencheurs...',
tip: 'Vous pouvez maintenant simuler des déclencheurs d\'événements en envoyant des requêtes de test au point de terminaison HTTP {{nodeName}} ou l\'utiliser comme URL de rappel pour le débogage en direct des événements. Toutes les sorties peuvent être consultées directement dans l\'Inspecteur de Variables.',
tipPlugin: 'Vous pouvez maintenant créer des événements dans {{- pluginName}} et récupérer les résultats de ces événements dans l\'Inspecteur de Variables.',
tipSchedule: 'Écoute des événements des déclencheurs de planification.\nProchaine exécution planifiée : {{nextTriggerTime}}',
tipFallback: 'Attendez les événements de déclenchement entrants. Les sorties apparaîtront ici.',
defaultNodeName: 'ce déclencheur',
defaultPluginName: 'ce plugin déclenche',
defaultScheduleTime: 'Non configuré',
selectedTriggers: 'déclencheurs sélectionnés',
stopButton: 'Arrête',
},
},
settingsTab: 'Paramètres',
lastRunTab: 'Dernière Exécution',
@@ -1054,11 +1240,52 @@ const translation = {
noMatchingInputsFound: 'Aucune entrée correspondante trouvée dans la dernière exécution.',
copyLastRunError: 'Échec de la copie des entrées de la dernière exécution',
lastOutput: 'Dernière sortie',
lastRunInputsCopied: '{{count}} entrée(s) copiée(s) de la dernière exécution',
},
sidebar: {
exportWarning: 'Exporter la version enregistrée actuelle',
exportWarningDesc: 'Cela exportera la version actuelle enregistrée de votre flux de travail. Si vous avez des modifications non enregistrées dans l\'éditeur, veuillez d\'abord les enregistrer en utilisant l\'option d\'exportation dans le canevas du flux de travail.',
},
publishLimit: {
startNodeTitlePrefix: 'Mettre à niveau vers',
startNodeTitleSuffix: 'débloquez des déclencheurs illimités par flux de travail',
startNodeDesc: 'Vous avez atteint la limite de 2 déclencheurs par flux de travail pour ce plan. Passez à une version supérieure pour publier ce flux de travail.',
},
error: {
startNodeRequired: 'Veuillez d\'abord ajouter un nœud de départ avant {{operation}}',
operations: {
connectingNodes: 'connecter des nœuds',
addingNodes: 'ajout de nœuds',
modifyingWorkflow: 'modification du flux de travail',
updatingWorkflow: 'mise à jour du flux de travail',
},
},
customWebhook: 'Webhook personnalisé',
difyTeam: 'Équipe Dify',
triggerStatus: {
enabled: 'DÉCLENCHEUR',
disabled: 'DÉCLENCHEUR • DÉSACTIVÉ',
},
entryNodeStatus: {
enabled: 'DÉMARRER',
disabled: 'DÉMARRER • DÉSACTIVÉ',
},
onboarding: {
title: 'Sélectionnez un nœud de départ pour commencer',
description: 'Différents nœuds de départ ont différentes capacités. Ne vous inquiétez pas, vous pouvez toujours les changer plus tard.',
userInputFull: 'Entrée utilisateur (nœud de départ original)',
userInputDescription: 'Nœud de démarrage qui permet de définir des variables de saisie utilisateur, avec comme capacités d\'outil l\'application web, l\'API de service, le serveur MCP et le workflow.',
trigger: 'Déclencheur',
triggerDescription: 'Les déclencheurs peuvent servir de nœud de départ d\'un flux de travail, comme les tâches planifiées, les webhooks personnalisés ou les intégrations avec d\'autres applications.',
back: 'Retour',
learnMore: 'En savoir plus',
aboutStartNode: 'à propos du nœud de départ.',
escTip: {
press: 'Appuyer',
key: 'Échap',
toDismiss: 'rejeter',
},
},
}
export default translation