@node-red/editor-client 4.0.1 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/locales/fr/editor.json +66 -64
- package/package.json +1 -1
- package/public/red/about +15 -0
- package/public/red/red.js +36 -5
- package/public/red/red.min.js +2 -2
- package/public/red/style.min.css +1 -1
package/locales/fr/editor.json
CHANGED
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"lock": "Verrouiller",
|
|
28
28
|
"unlock": "Déverrouiller",
|
|
29
29
|
"locked": "Verrouillé",
|
|
30
|
-
"unlocked": "Déverrouillé"
|
|
30
|
+
"unlocked": "Déverrouillé",
|
|
31
|
+
"format": "Format"
|
|
31
32
|
},
|
|
32
33
|
"type": {
|
|
33
34
|
"string": "chaîne de caractères",
|
|
@@ -54,10 +55,10 @@
|
|
|
54
55
|
"workspace": {
|
|
55
56
|
"defaultName": "Flux __number__",
|
|
56
57
|
"editFlow": "Modifier le flux : __name__",
|
|
57
|
-
"confirmDelete": "
|
|
58
|
-
"delete": "
|
|
59
|
-
"dropFlowHere": "
|
|
60
|
-
"dropImageHere": "
|
|
58
|
+
"confirmDelete": "Confirmer la suppression",
|
|
59
|
+
"delete": "Êtes-vous sûr de vouloir supprimer '__label__' ?",
|
|
60
|
+
"dropFlowHere": "Lâchez le flux ici",
|
|
61
|
+
"dropImageHere": "Lâchez l'image ici",
|
|
61
62
|
"addFlow": "Ajouter un flux",
|
|
62
63
|
"addFlowToRight": "Ajouter un flux à droite",
|
|
63
64
|
"closeFlow": "Fermer le flux",
|
|
@@ -74,7 +75,7 @@
|
|
|
74
75
|
"enabled": "Activé",
|
|
75
76
|
"disabled": "Désactivé",
|
|
76
77
|
"info": "Description",
|
|
77
|
-
"selectNodes": "Cliquer
|
|
78
|
+
"selectNodes": "Cliquer pour sélectionner",
|
|
78
79
|
"enableFlow": "Activer le flux",
|
|
79
80
|
"disableFlow": "Désactiver le flux",
|
|
80
81
|
"lockFlow": "Verrouiller le flux",
|
|
@@ -98,7 +99,7 @@
|
|
|
98
99
|
"rtl": "De droite à gauche",
|
|
99
100
|
"auto": "Contextuel",
|
|
100
101
|
"language": "Langue",
|
|
101
|
-
"browserDefault": "
|
|
102
|
+
"browserDefault": "Par défaut du Navigateur"
|
|
102
103
|
},
|
|
103
104
|
"sidebar": {
|
|
104
105
|
"show": "Afficher la barre latérale"
|
|
@@ -134,7 +135,7 @@
|
|
|
134
135
|
"disableSelectedNodes": "Désactiver les noeuds sélectionnés",
|
|
135
136
|
"showSelectedNodeLabels": "Afficher les étiquettes des noeuds sélectionnés",
|
|
136
137
|
"hideSelectedNodeLabels": "Masquer les étiquettes des noeuds sélectionnés",
|
|
137
|
-
"showWelcomeTours": "Afficher les visites guidées
|
|
138
|
+
"showWelcomeTours": "Afficher les visites guidées des nouvelles versions",
|
|
138
139
|
"help": "Site web de Node-RED",
|
|
139
140
|
"projects": "Projets",
|
|
140
141
|
"projects-new": "Nouveau projet",
|
|
@@ -143,7 +144,7 @@
|
|
|
143
144
|
"showNodeLabelDefault": "Afficher l'étiquette des noeuds nouvellement ajoutés",
|
|
144
145
|
"codeEditor": "Éditeur de code",
|
|
145
146
|
"groups": "Groupes",
|
|
146
|
-
"groupSelection": "Grouper
|
|
147
|
+
"groupSelection": "Grouper la sélection",
|
|
147
148
|
"ungroupSelection": "Dégrouper la sélection",
|
|
148
149
|
"groupMergeSelection": "Fusionner la sélection",
|
|
149
150
|
"groupRemoveSelection": "Supprimer du groupe",
|
|
@@ -155,7 +156,7 @@
|
|
|
155
156
|
"alignMiddle": "Aligner au milieu",
|
|
156
157
|
"alignBottom": "Aligner en bas",
|
|
157
158
|
"distributeHorizontally": "Répartir horizontalement",
|
|
158
|
-
"distributeVertically": "
|
|
159
|
+
"distributeVertically": "Répartir verticalement",
|
|
159
160
|
"moveToBack": "Déplacer vers l'arrière",
|
|
160
161
|
"moveToFront": "Déplacer vers l'avant",
|
|
161
162
|
"moveBackwards": "Reculer",
|
|
@@ -163,21 +164,21 @@
|
|
|
163
164
|
}
|
|
164
165
|
},
|
|
165
166
|
"actions": {
|
|
166
|
-
"toggle-navigator": "Basculer
|
|
167
|
-
"zoom-out": "
|
|
168
|
-
"zoom-reset": "Réinitialiser
|
|
167
|
+
"toggle-navigator": "Basculer l'affichage du navigateur",
|
|
168
|
+
"zoom-out": "Réduire",
|
|
169
|
+
"zoom-reset": "Réinitialiser",
|
|
169
170
|
"zoom-in": "Agrandir",
|
|
170
171
|
"search-flows": "Rechercher le flux",
|
|
171
172
|
"search-prev": "Précédent",
|
|
172
173
|
"search-next": "Suivant",
|
|
173
|
-
"search-counter": "\"__term__\" __result__
|
|
174
|
+
"search-counter": "\"__term__\" __result__ sur __count__"
|
|
174
175
|
},
|
|
175
176
|
"user": {
|
|
176
177
|
"loggedInAs": "Connecté en tant que __name__",
|
|
177
178
|
"username": "Nom d'utilisateur",
|
|
178
179
|
"password": "Mot de passe",
|
|
179
|
-
"login": "
|
|
180
|
-
"loginFailed": "Échec de
|
|
180
|
+
"login": "Se connecter",
|
|
181
|
+
"loginFailed": "Échec de connexion",
|
|
181
182
|
"notAuthorized": "Pas autorisé",
|
|
182
183
|
"errors": {
|
|
183
184
|
"settings": "Vous devez être connecté pour accéder aux paramètres",
|
|
@@ -193,16 +194,16 @@
|
|
|
193
194
|
"warning": "<strong>Attention</strong> : __message__",
|
|
194
195
|
"warnings": {
|
|
195
196
|
"undeployedChanges": "Le noeud a des modifications non déployées",
|
|
196
|
-
"nodeActionDisabled": "
|
|
197
|
-
"nodeActionDisabledSubflow": "
|
|
197
|
+
"nodeActionDisabled": "Les actions du noeud sont désactivées",
|
|
198
|
+
"nodeActionDisabledSubflow": "Les actions de noeud sont désactivées à l'intérieur du sous-flux",
|
|
198
199
|
"missing-types": "<p>Flux arrêtés en raison de types de noeuds manquants.</p>",
|
|
199
200
|
"missing-modules": "<p>Flux arrêtés en raison de modules manquants.</p>",
|
|
200
|
-
"safe-mode": "<p>Flux arrêtés en mode sans échec.</p><p>Vous pouvez modifier vos flux et déployer les changements
|
|
201
|
+
"safe-mode": "<p>Flux arrêtés en mode sans échec.</p><p>Vous pouvez modifier vos flux et déployer ensuite les changements afin de démarrer vos flux.</p>",
|
|
201
202
|
"restartRequired": "Node-RED doit être redémarré pour mettre à jour les modules",
|
|
202
|
-
"credentials_load_failed": "<p>Les flux se sont arrêtés car les informations d'identification n'ont pas pu être déchiffrées.</p><p>Le fichier d'informations d'identification du flux est
|
|
203
|
-
"credentials_load_failed_reset": "<p>Les informations d'identification n'ont pas pu être déchiffrées</p><p>Le fichier d'informations d'identification du flux est
|
|
203
|
+
"credentials_load_failed": "<p>Les flux se sont arrêtés car les informations d'identification n'ont pas pu être déchiffrées.</p><p>Le fichier d'informations d'identification du flux est chiffré mais la clé de chiffrement du projet est manquante ou invalide.</p>",
|
|
204
|
+
"credentials_load_failed_reset": "<p>Les informations d'identification n'ont pas pu être déchiffrées</p><p>Le fichier d'informations d'identification du flux est chiffré mais la clé de chiffrement du projet est manquante ou invalide.</p><p>Le fichier d'informations d'identification du flux sera réinitialisé lors du prochain déploiement. Toutes les informations d'identification des flux existants seront perdues.</p>",
|
|
204
205
|
"missing_flow_file": "<p>Fichier contenant les flux introuvable.</p><p>Le projet n'est pas configuré avec un fichier de flux.</p>",
|
|
205
|
-
"missing_package_file": "<p>Fichier de paquetage du projet introuvable.</p><p>Il manque au projet
|
|
206
|
+
"missing_package_file": "<p>Fichier de paquetage du projet introuvable.</p><p>Il manque au projet le fichier <code>package.json</code>.</p>",
|
|
206
207
|
"project_empty": "<p>Le projet est vide.</p><p>Voulez-vous créer un ensemble de fichiers de projet par défaut ?<br/>Sinon, vous devrez ajouter manuellement des fichiers au projet (en dehors de l'éditeur).</p>",
|
|
207
208
|
"project_not_found": "<p>Le projet '__project__' est introuvable.</p>",
|
|
208
209
|
"git_merge_conflict": "<p>La fusion automatique des modifications a échoué.</p><p>Corriger les conflits non fusionnés, puis valider le résultat.</p>"
|
|
@@ -219,7 +220,7 @@
|
|
|
219
220
|
},
|
|
220
221
|
"project": {
|
|
221
222
|
"change-branch": "Changer pour une branche locale '__project__'",
|
|
222
|
-
"merge-abort": "Git
|
|
223
|
+
"merge-abort": "Fusion Git abandonnée",
|
|
223
224
|
"loaded": "Projet '__project__' chargé",
|
|
224
225
|
"updated": "Projet '__project__' mis à jour",
|
|
225
226
|
"pull": "Projet '__project__' rechargé",
|
|
@@ -352,7 +353,7 @@
|
|
|
352
353
|
"backgroundUpdate": "Les flux sur le serveur ont été mis à jour.",
|
|
353
354
|
"conflictChecking": "Vérifier si les modifications peuvent être fusionnées automatiquement",
|
|
354
355
|
"conflictAutoMerge": "Les modifications n'incluent aucun conflit et peuvent être fusionnées automatiquement.",
|
|
355
|
-
"conflictManualMerge": "Les
|
|
356
|
+
"conflictManualMerge": "Les modifications incluent des conflits qui doivent être résolus avant de pouvoir être déployées.",
|
|
356
357
|
"plusNMore": "+ __count__ en plus"
|
|
357
358
|
}
|
|
358
359
|
},
|
|
@@ -372,16 +373,17 @@
|
|
|
372
373
|
"deleted": "supprimé",
|
|
373
374
|
"flowDeleted": "flux supprimé",
|
|
374
375
|
"flowAdded": "flux ajouté",
|
|
376
|
+
"moved": "déplacé",
|
|
375
377
|
"movedTo": "déplacé vers __id__",
|
|
376
378
|
"movedFrom": "déplacé depuis __id__"
|
|
377
379
|
},
|
|
378
380
|
"nodeCount": "__count__ noeud",
|
|
379
381
|
"nodeCount_plural": "__count__ noeuds",
|
|
380
382
|
"local": "Changements locaux",
|
|
381
|
-
"remote": "
|
|
383
|
+
"remote": "Changements distants",
|
|
382
384
|
"reviewChanges": "Examiner les modifications",
|
|
383
385
|
"noBinaryFileShowed": "Impossible d'afficher le contenu du fichier binaire",
|
|
384
|
-
"viewCommitDiff": "Afficher les modifications de validation",
|
|
386
|
+
"viewCommitDiff": "Afficher les modifications de la validation",
|
|
385
387
|
"compareChanges": "Comparer les modifications",
|
|
386
388
|
"saveConflict": "Enregistrer la résolution des conflits",
|
|
387
389
|
"conflictHeader": "<span>__resolved__</span> sur <span>__unresolved__</span> conflit(s) résolu(s)",
|
|
@@ -395,9 +397,9 @@
|
|
|
395
397
|
"edit": "Modifier le modèle du sous-flux",
|
|
396
398
|
"subflowInstances": "Il existe __count__ instance de ce modèle de sous-flux",
|
|
397
399
|
"subflowInstances_plural": "Il existe __count__ instances de ce modèle de sous-flux",
|
|
398
|
-
"editSubflowProperties": "
|
|
399
|
-
"input": "Entrées:",
|
|
400
|
-
"output": "Sorties:",
|
|
400
|
+
"editSubflowProperties": "Modifier les propriétés",
|
|
401
|
+
"input": "Entrées :",
|
|
402
|
+
"output": "Sorties :",
|
|
401
403
|
"status": "Statut du noeud",
|
|
402
404
|
"deleteSubflow": "Supprimer le sous-flux",
|
|
403
405
|
"confirmDelete": "Voulez-vous vraiment supprimer ce sous-flux ?",
|
|
@@ -411,7 +413,7 @@
|
|
|
411
413
|
"version": "Version",
|
|
412
414
|
"versionPlaceholder": "x.y.z",
|
|
413
415
|
"keys": "Mots clés",
|
|
414
|
-
"keysPlaceholder": "Mots clés séparés par
|
|
416
|
+
"keysPlaceholder": "Mots clés séparés par une virgule",
|
|
415
417
|
"author": "Auteur",
|
|
416
418
|
"authorPlaceholder": "Votre nom <email@exemple.com>",
|
|
417
419
|
"desc": "Description",
|
|
@@ -468,7 +470,7 @@
|
|
|
468
470
|
"select": "sélection",
|
|
469
471
|
"checkbox": "case à cocher",
|
|
470
472
|
"spinner": "valeurs à défiler",
|
|
471
|
-
"none": "
|
|
473
|
+
"none": "aucun",
|
|
472
474
|
"hidden": "masquer la propriété"
|
|
473
475
|
},
|
|
474
476
|
"types": {
|
|
@@ -496,7 +498,7 @@
|
|
|
496
498
|
"max": "Maximum"
|
|
497
499
|
},
|
|
498
500
|
"errors": {
|
|
499
|
-
"scopeChange": "La modification de la portée
|
|
501
|
+
"scopeChange": "La modification de la portée rendra indisponible ce noeud de configuration aux noeuds d'autres flux qui l'utilisent",
|
|
500
502
|
"invalidProperties": "Propriétés invalides :",
|
|
501
503
|
"credentialLoadFailed": "Échec du chargement des identifiants du noeud"
|
|
502
504
|
}
|
|
@@ -510,7 +512,7 @@
|
|
|
510
512
|
"unassigned": "Non attribué",
|
|
511
513
|
"global": "Global",
|
|
512
514
|
"workspace": "Espace de travail",
|
|
513
|
-
"editor": "Boîte
|
|
515
|
+
"editor": "Boîte d'édition",
|
|
514
516
|
"selectAll": "Tout sélectionner",
|
|
515
517
|
"selectNone": "Ne rien sélectionner",
|
|
516
518
|
"selectAllConnected": "Sélectionner tous les éléments connectés",
|
|
@@ -541,7 +543,7 @@
|
|
|
541
543
|
"openLibrary": "Ouvrir la bibliothèque...",
|
|
542
544
|
"saveToLibrary": "Enregistrer dans la bibliothèque...",
|
|
543
545
|
"typeLibrary": "__type__ bibliothèque",
|
|
544
|
-
"unnamedType": "
|
|
546
|
+
"unnamedType": "Sans nom __type__",
|
|
545
547
|
"exportedToLibrary": "Noeuds exportés vers la bibliothèque",
|
|
546
548
|
"dialogSaveOverwrite": "Une __libraryType__ appelée __libraryName__ existe déjà. Écraser ?",
|
|
547
549
|
"invalidFilename": "Nom de fichier non valide",
|
|
@@ -558,7 +560,7 @@
|
|
|
558
560
|
"noInfo": "Pas d'information disponible",
|
|
559
561
|
"filter": "Rechercher le noeud",
|
|
560
562
|
"search": "Rechercher les modules",
|
|
561
|
-
"addCategory": "Ajouter
|
|
563
|
+
"addCategory": "Ajouter une nouvelle...",
|
|
562
564
|
"label": {
|
|
563
565
|
"subflows": "Sous-flux",
|
|
564
566
|
"network": "Réseau",
|
|
@@ -638,7 +640,7 @@
|
|
|
638
640
|
"sortAZ": "A-Z",
|
|
639
641
|
"sortRecent": "Récent",
|
|
640
642
|
"more": "+ __count__ en plus",
|
|
641
|
-
"upload": "Charger le fichier tgz du module",
|
|
643
|
+
"upload": "Charger le fichier .tgz du module",
|
|
642
644
|
"refresh": "Actualiser la liste des modules",
|
|
643
645
|
"errors": {
|
|
644
646
|
"catalogLoadFailed": "<p>Échec du chargement du catalogue de noeuds.</p><p>Vérifier la console du navigateur pour plus d'informations</p>",
|
|
@@ -651,7 +653,7 @@
|
|
|
651
653
|
},
|
|
652
654
|
"confirm": {
|
|
653
655
|
"install": {
|
|
654
|
-
"body": "<p>Installation de '__module__'</p><p>Avant l'installation,
|
|
656
|
+
"body": "<p>Installation de '__module__'</p><p>Avant l'installation, veuillez lire la documentation du noeud. Certains noeuds ont des dépendances qui ne peuvent pas être résolues automatiquement et peuvent nécessiter un redémarrage de Node-RED.</p>",
|
|
655
657
|
"title": "Installer les noeuds"
|
|
656
658
|
},
|
|
657
659
|
"remove": {
|
|
@@ -666,7 +668,7 @@
|
|
|
666
668
|
"title": "Mettre à jour les noeuds"
|
|
667
669
|
},
|
|
668
670
|
"cannotUpdate": {
|
|
669
|
-
"body": "Une mise à jour pour ce noeud est disponible, mais il n'est pas installé dans un emplacement que le gestionnaire de palette peut mettre à jour.<br/><br/>
|
|
671
|
+
"body": "Une mise à jour pour ce noeud est disponible, mais il n'est pas installé dans un emplacement que le gestionnaire de palette peut mettre à jour.<br/><br/>Veuillez vous référer à la documentation pour savoir comment mettre à jour ce noeud."
|
|
670
672
|
},
|
|
671
673
|
"button": {
|
|
672
674
|
"review": "Ouvrir la documentation",
|
|
@@ -708,8 +710,8 @@
|
|
|
708
710
|
"nodeHelp": "Aide sur les noeuds",
|
|
709
711
|
"none": "Aucun",
|
|
710
712
|
"arrayItems": "__count__ éléments",
|
|
711
|
-
"showTips": "Vous pouvez
|
|
712
|
-
"outline": "
|
|
713
|
+
"showTips": "Vous pouvez afficher les astuces à partir du panneau des paramètres",
|
|
714
|
+
"outline": "Contour",
|
|
713
715
|
"empty": "Vide",
|
|
714
716
|
"globalConfig": "Noeuds de configuration globale",
|
|
715
717
|
"triggerAction": "Déclencher une action",
|
|
@@ -722,7 +724,7 @@
|
|
|
722
724
|
"help": {
|
|
723
725
|
"name": "Aide",
|
|
724
726
|
"label": "Aide",
|
|
725
|
-
"search": "
|
|
727
|
+
"search": "Rechercher l'aide",
|
|
726
728
|
"nodeHelp": "Aide sur les noeuds",
|
|
727
729
|
"showHelp": "Afficher l'aide",
|
|
728
730
|
"showInOutline": "Afficher dans les grandes lignes",
|
|
@@ -801,7 +803,7 @@
|
|
|
801
803
|
"branches": "Branches",
|
|
802
804
|
"noBranches": "Pas de branche",
|
|
803
805
|
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer la branche locale '__name__' ? Ça ne peut pas être annulé.",
|
|
804
|
-
"unmergedConfirm": "La branche locale '__name__' contient des modifications non fusionnées qui seront perdues.
|
|
806
|
+
"unmergedConfirm": "La branche locale '__name__' contient des modifications non fusionnées qui seront perdues. Êtes-vous sûr de vouloir la supprimer?",
|
|
805
807
|
"deleteUnmergedBranch": "Supprimer la branche non fusionnée",
|
|
806
808
|
"gitRemotes": "Git distant",
|
|
807
809
|
"addRemote": "Ajout distant",
|
|
@@ -845,17 +847,17 @@
|
|
|
845
847
|
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer la clé SSH __name__ ? Ça ne peut pas être annulé."
|
|
846
848
|
},
|
|
847
849
|
"versionControl": {
|
|
848
|
-
"unstagedChanges": "
|
|
849
|
-
"stagedChanges": "
|
|
850
|
-
"unstageChange": "
|
|
851
|
-
"stageChange": "
|
|
852
|
-
"unstageAllChange": "
|
|
853
|
-
"stageAllChange": "
|
|
850
|
+
"unstagedChanges": "Changements non indexés",
|
|
851
|
+
"stagedChanges": "Changements indexés",
|
|
852
|
+
"unstageChange": "Annuler l'indexation des changements",
|
|
853
|
+
"stageChange": "Indexer les changements",
|
|
854
|
+
"unstageAllChange": "Annuler l'indexation de tous les changements",
|
|
855
|
+
"stageAllChange": "Indexer tous les changements",
|
|
854
856
|
"commitChanges": "Valider les changements",
|
|
855
857
|
"resolveConflicts": "Résoudre les conflits",
|
|
856
858
|
"head": "En-tête",
|
|
857
|
-
"staged": "
|
|
858
|
-
"unstaged": "Non
|
|
859
|
+
"staged": "Indexé",
|
|
860
|
+
"unstaged": "Non indexé",
|
|
859
861
|
"local": "Local",
|
|
860
862
|
"remote": "Distant",
|
|
861
863
|
"revert": "Voulez-vous vraiment annuler les modifications apportées à '__file__' ? Ça ne peut pas être annulé.",
|
|
@@ -889,11 +891,11 @@
|
|
|
889
891
|
"pushFailed": "L'envoi a échoué car la branche a des validations plus récentes. Tirer et fusionner d'abord, puis envoyer à nouveau.",
|
|
890
892
|
"push": "Envoyer",
|
|
891
893
|
"pull": "Tirer",
|
|
892
|
-
"unablePull": "<p>Impossible d'extraire les modifications à distance
|
|
893
|
-
"showUnstagedChanges": "Afficher les modifications non
|
|
894
|
+
"unablePull": "<p>Impossible d'extraire les modifications à distance; vos modifications locales non mises en place seraient écrasées.</p><p>Valider vos modifications et réessayer.</p>",
|
|
895
|
+
"showUnstagedChanges": "Afficher les modifications non indexées",
|
|
894
896
|
"connectionFailed": "Impossible de se connecter au référentiel distant: ",
|
|
895
897
|
"pullUnrelatedHistory": "<p>Le réferentiel distant a un historique de validations sans rapport.</p><p>Êtes-vous sûr de vouloir extraire les modifications dans votre référentiel local ?</p>",
|
|
896
|
-
"pullChanges": "Tirer les changements",
|
|
898
|
+
"pullChanges": "Tirer les changements distants",
|
|
897
899
|
"history": "Historique",
|
|
898
900
|
"projectHistory": "Historique du projet",
|
|
899
901
|
"daysAgo": "il y a __count__ jour",
|
|
@@ -974,7 +976,7 @@
|
|
|
974
976
|
"result": "Résultat",
|
|
975
977
|
"format": "Format",
|
|
976
978
|
"compatMode": "Mode de compatibilité activé",
|
|
977
|
-
"compatModeDesc": "<h3>Mode de compatibilité JSONata</h3><p> L'expression actuelle semble toujours faire référence à <code>msg</code> et sera donc évaluée en mode de compatibilité.
|
|
979
|
+
"compatModeDesc": "<h3>Mode de compatibilité JSONata</h3><p> L'expression actuelle semble toujours faire référence à <code>msg</code> et sera donc évaluée en mode de compatibilité. Veuillez mettre à jour l'expression pour ne pas utiliser <code>msg</code> car ce mode sera supprimé à l'avenir.</p><p> Lorsque la prise en charge de JSONata a été ajoutée pour la première fois à Node-RED, il fallait que l'expression référencie l'objet <code>msg</code>. Par exemple, <code>msg.payload</code> serait utilisé pour accéder à la charge utile.</p><p> Cela n'est plus nécessaire car l'expression sera évaluée directement par rapport au message. Pour accéder à la charge utile, l'expression doit être simplement <code>charge utile</code>.</p>",
|
|
978
980
|
"noMatch": "Aucun résultat correspondant",
|
|
979
981
|
"errors": {
|
|
980
982
|
"invalid-expr": "Expression JSONata non valide :\n __message__",
|
|
@@ -997,7 +999,7 @@
|
|
|
997
999
|
},
|
|
998
1000
|
"jsonEditor": {
|
|
999
1001
|
"title": "Éditeur JSON",
|
|
1000
|
-
"format": "
|
|
1002
|
+
"format": "Formatter JSON",
|
|
1001
1003
|
"rawMode": "Modifier JSON",
|
|
1002
1004
|
"uiMode": "Afficher l'éditeur",
|
|
1003
1005
|
"rawMode-readonly": "JSON",
|
|
@@ -1016,7 +1018,7 @@
|
|
|
1016
1018
|
"markdownEditor": {
|
|
1017
1019
|
"title": "Éditeur Markdown",
|
|
1018
1020
|
"expand": "Développer",
|
|
1019
|
-
"format": "
|
|
1021
|
+
"format": "Formatter avec Markdown",
|
|
1020
1022
|
"heading1": "Rubrique 1",
|
|
1021
1023
|
"heading2": "Rubrique 2",
|
|
1022
1024
|
"heading3": "Rubrique 3",
|
|
@@ -1090,7 +1092,7 @@
|
|
|
1090
1092
|
"credential-key": "Clé de chiffrement des identifiants",
|
|
1091
1093
|
"cant-get-ssh-key": "Erreur! Impossible d'obtenir le chemin de la clé SSH sélectionnée.",
|
|
1092
1094
|
"already-exists2": "Existe déjà",
|
|
1093
|
-
"git-error": "Erreur
|
|
1095
|
+
"git-error": "Erreur Git",
|
|
1094
1096
|
"connection-failed": "La connexion a échoué",
|
|
1095
1097
|
"not-git-repo": "Ce n'est pas un dépôt Git",
|
|
1096
1098
|
"repo-not-found": "Référentiel introuvable"
|
|
@@ -1104,7 +1106,7 @@
|
|
|
1104
1106
|
"credentials-file": "Fichier d'identifiants"
|
|
1105
1107
|
},
|
|
1106
1108
|
"encryption-config": {
|
|
1107
|
-
"setup": "Configuration du
|
|
1109
|
+
"setup": "Configuration du chiffrement de votre fichier d'informations d'identification",
|
|
1108
1110
|
"desc0": "Votre fichier d'informations d'identification de flux peut être chiffré pour sécuriser son contenu.",
|
|
1109
1111
|
"desc1": "Si vous souhaitez stocker ces identifiants dans un référentiel Git public, vous devez les chiffrer en fournissant une phrase clé secrète.",
|
|
1110
1112
|
"desc2": "Votre fichier d'identifiants de flux n'est actuellement pas chiffré.",
|
|
@@ -1161,9 +1163,9 @@
|
|
|
1161
1163
|
"add-ssh-key": "Ajouter une clé ssh",
|
|
1162
1164
|
"credentials-encryption-key": "Clé de chiffrement des identifiants",
|
|
1163
1165
|
"already-exists-2": "Existe déjà",
|
|
1164
|
-
"git-error": "Erreur
|
|
1166
|
+
"git-error": "Erreur Git",
|
|
1165
1167
|
"con-failed": "La connexion a échoué",
|
|
1166
|
-
"not-git": "Ce n'est pas un dépôt
|
|
1168
|
+
"not-git": "Ce n'est pas un dépôt Git",
|
|
1167
1169
|
"no-resource": "Référentiel introuvable",
|
|
1168
1170
|
"cant-get-ssh-key-path": "Erreur! Impossible d'obtenir le chemin de la clé SSH sélectionnée.",
|
|
1169
1171
|
"unexpected_error": "Erreur inattendue",
|
|
@@ -1201,7 +1203,7 @@
|
|
|
1201
1203
|
},
|
|
1202
1204
|
"errors": {
|
|
1203
1205
|
"no-username-email": "Votre client Git n'est pas configuré avec un nom d'utilisateur/e-mail.",
|
|
1204
|
-
"unexpected": "Une erreur inattendue est
|
|
1206
|
+
"unexpected": "Une erreur inattendue est survenue",
|
|
1205
1207
|
"code": "Code"
|
|
1206
1208
|
}
|
|
1207
1209
|
},
|
|
@@ -1270,7 +1272,7 @@
|
|
|
1270
1272
|
"list-modified-nodes": "Afficher les flux modifiés",
|
|
1271
1273
|
"list-hidden-flows": "Afficher les flux cachés",
|
|
1272
1274
|
"list-flows": "Lister les flux",
|
|
1273
|
-
"list-subflows": "
|
|
1275
|
+
"list-subflows": "Lister les sous-flux",
|
|
1274
1276
|
"go-to-previous-location": "Aller à l'emplacement précédent",
|
|
1275
1277
|
"go-to-next-location": "Aller à l'emplacement suivant",
|
|
1276
1278
|
"copy-selection-to-internal-clipboard": "Copier la sélection dans le presse-papiers",
|
|
@@ -1330,8 +1332,8 @@
|
|
|
1330
1332
|
"align-selection-to-bottom": "Aligner la sélection vers le bas",
|
|
1331
1333
|
"align-selection-to-middle": "Aligner la sélection au centre verticalement",
|
|
1332
1334
|
"align-selection-to-center": "Aligner la sélection au centre horizontalement",
|
|
1333
|
-
"distribute-selection-horizontally": "
|
|
1334
|
-
"distribute-selection-vertical": "
|
|
1335
|
+
"distribute-selection-horizontally": "Répartir la sélection horizontalement",
|
|
1336
|
+
"distribute-selection-vertical": "Répartir la sélection verticalement",
|
|
1335
1337
|
"wire-series-of-nodes": "Connecter les noeuds en série",
|
|
1336
1338
|
"wire-node-to-multiple": "Connecter les noeuds à plusieurs",
|
|
1337
1339
|
"wire-multiple-to-node": "Connecter plusieurs au noeud",
|
package/package.json
CHANGED
package/public/red/about
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
#### 4.0.2: Maintenance Release
|
|
2
|
+
|
|
3
|
+
Editor
|
|
4
|
+
|
|
5
|
+
- Use a more subtle border on the header (#4818) @bonanitech
|
|
6
|
+
- Improve the editor's French translations (#4824) @GogoVega
|
|
7
|
+
- Clean up orphaned editors (#4821) @Steve-Mcl
|
|
8
|
+
- Fix node validation if the property is not required (#4812) @GogoVega
|
|
9
|
+
- Ensure mermaid.min.js is cached properly between loads of the editor (#4817) @knolleary
|
|
10
|
+
|
|
11
|
+
Runtime
|
|
12
|
+
|
|
13
|
+
- Allow auth cookie name to be customised (#4815) @knolleary
|
|
14
|
+
- Guard against undefined sessions in multiplayer (#4816) @knolleary
|
|
15
|
+
|
|
1
16
|
#### 4.0.1: Maintenance Release
|
|
2
17
|
|
|
3
18
|
Editor
|
package/public/red/red.js
CHANGED
|
@@ -35347,6 +35347,12 @@ RED.editor = (function() {
|
|
|
35347
35347
|
}
|
|
35348
35348
|
}
|
|
35349
35349
|
if (valid && "validate" in definition[property]) {
|
|
35350
|
+
if (definition[property].hasOwnProperty("required") &&
|
|
35351
|
+
definition[property].required === false) {
|
|
35352
|
+
if (value === "") {
|
|
35353
|
+
return true;
|
|
35354
|
+
}
|
|
35355
|
+
}
|
|
35350
35356
|
try {
|
|
35351
35357
|
var opt = {};
|
|
35352
35358
|
if (label) {
|
|
@@ -35373,6 +35379,11 @@ RED.editor = (function() {
|
|
|
35373
35379
|
});
|
|
35374
35380
|
}
|
|
35375
35381
|
} else if (valid) {
|
|
35382
|
+
if (definition[property].hasOwnProperty("required") && definition[property].required === false) {
|
|
35383
|
+
if (value === "") {
|
|
35384
|
+
return true;
|
|
35385
|
+
}
|
|
35386
|
+
}
|
|
35376
35387
|
// If the validator is not provided in node property => Check if the input has a validator
|
|
35377
35388
|
if ("category" in node._def) {
|
|
35378
35389
|
const isConfig = node._def.category === "config";
|
|
@@ -41332,9 +41343,22 @@ RED.editor = (function() {
|
|
|
41332
41343
|
|
|
41333
41344
|
if (!initializing) {
|
|
41334
41345
|
initializing = true
|
|
41335
|
-
|
|
41336
|
-
|
|
41337
|
-
|
|
41346
|
+
// Find the cache-buster:
|
|
41347
|
+
let cacheBuster
|
|
41348
|
+
$('script').each(function (i, el) {
|
|
41349
|
+
if (!cacheBuster) {
|
|
41350
|
+
const src = el.getAttribute('src')
|
|
41351
|
+
const m = /\?v=(.+)$/.exec(src)
|
|
41352
|
+
if (m) {
|
|
41353
|
+
cacheBuster = m[1]
|
|
41354
|
+
}
|
|
41355
|
+
}
|
|
41356
|
+
})
|
|
41357
|
+
$.ajax({
|
|
41358
|
+
url: `vendor/mermaid/mermaid.min.js?v=${cacheBuster}`,
|
|
41359
|
+
dataType: "script",
|
|
41360
|
+
cache: true,
|
|
41361
|
+
success: function (data, stat, jqxhr) {
|
|
41338
41362
|
mermaid.initialize({
|
|
41339
41363
|
startOnLoad: false,
|
|
41340
41364
|
theme: RED.settings.get('mermaid', {}).theme
|
|
@@ -41345,7 +41369,7 @@ RED.editor = (function() {
|
|
|
41345
41369
|
render(pending)
|
|
41346
41370
|
}
|
|
41347
41371
|
}
|
|
41348
|
-
)
|
|
41372
|
+
});
|
|
41349
41373
|
}
|
|
41350
41374
|
} else {
|
|
41351
41375
|
const nodes = document.querySelectorAll(selector)
|
|
@@ -41832,7 +41856,13 @@ RED.editor.codeEditor.monaco = (function() {
|
|
|
41832
41856
|
//Handles orphaned models
|
|
41833
41857
|
//ensure loaded models that are not explicitly destroyed by a call to .destroy() are disposed
|
|
41834
41858
|
RED.events.on("editor:close",function() {
|
|
41835
|
-
|
|
41859
|
+
if (!window.monaco) { return; }
|
|
41860
|
+
const editors = window.monaco.editor.getEditors()
|
|
41861
|
+
const orphanEditors = editors.filter(editor => editor && !document.body.contains(editor.getDomNode()))
|
|
41862
|
+
orphanEditors.forEach(editor => {
|
|
41863
|
+
editor.dispose();
|
|
41864
|
+
});
|
|
41865
|
+
let models = monaco.editor.getModels()
|
|
41836
41866
|
if(models && models.length) {
|
|
41837
41867
|
console.warn("Cleaning up monaco models left behind. Any node that calls createEditor() should call .destroy().")
|
|
41838
41868
|
for (let index = 0; index < models.length; index++) {
|
|
@@ -42791,6 +42821,7 @@ RED.editor.codeEditor.monaco = (function() {
|
|
|
42791
42821
|
|
|
42792
42822
|
$(el).remove();
|
|
42793
42823
|
$(toolbarRow).remove();
|
|
42824
|
+
ed.dispose();
|
|
42794
42825
|
}
|
|
42795
42826
|
|
|
42796
42827
|
ed.resize = function resize() {
|