From 116839d6f6f9592234728936b33fe176dc43cbcd Mon Sep 17 00:00:00 2001 From: GogoVega Date: Mon, 28 Nov 2022 23:00:31 +0100 Subject: [PATCH] Add French translation --- .../editor-client/locales/fr/editor.json | 1211 +++++++++++++++++ .../editor-client/locales/fr/infotips.json | 23 + .../editor-client/locales/fr/jsonata.json | 274 ++++ 3 files changed, 1508 insertions(+) create mode 100644 packages/node_modules/@node-red/editor-client/locales/fr/editor.json create mode 100755 packages/node_modules/@node-red/editor-client/locales/fr/infotips.json create mode 100755 packages/node_modules/@node-red/editor-client/locales/fr/jsonata.json diff --git a/packages/node_modules/@node-red/editor-client/locales/fr/editor.json b/packages/node_modules/@node-red/editor-client/locales/fr/editor.json new file mode 100644 index 000000000..22ae0a993 --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/locales/fr/editor.json @@ -0,0 +1,1211 @@ +{ + "common": { + "label": { + "name": "Nom", + "ok": "Ok", + "done": "Terminer", + "cancel": "Annuler", + "delete": "Supprimer", + "close": "Fermer", + "load": "Ouvrir", + "save": "Sauver", + "import": "Importer", + "export": "Exporter", + "back": "Retour", + "next": "Suivant", + "clone": "Cloner", + "cont": "Continuer", + "style": "Style", + "line": "Présenter", + "fill": "Remplir", + "label": "Etiquette", + "color": "Couleur", + "position": "Position", + "enable": "Activer", + "disable": "Désactiver", + "upload": "Charger" + }, + "type": { + "string": "chaîne de caractères", + "number": "nombre", + "boolean": "booléen", + "array": "tableau", + "buffer": "tampon", + "object": "objet", + "jsonString": "chaîne JSON", + "undefined": "indéfini", + "null": "nul" + } + }, + "event": { + "loadPlugins": "Chargement des plugins", + "loadPalette": "Chargement de la palette", + "loadNodeCatalogs": "Chargement des catalogues de noeuds", + "loadNodes": "Chargement des noeuds __count__", + "loadFlows": "Chargement des flux", + "importFlows": "Ajout de flux à l'espace de travail", + "importError": "

Erreur lors de l'ajout du flux

__message__

", + "loadingProject": "Chargement du projet" + }, + "workspace": { + "defaultName": "Flux __number__", + "editFlow": "Modifier le flux : __name__", + "confirmDelete": "Confirmation de la suppression", + "delete": "Etes-vous sûr de vouloir supprimer '__label__'?", + "dropFlowHere": "Déposez le flux ici", + "addFlow": "Ajouter un flux", + "addFlowToRight": "Ajouter un flux à droite", + "hideFlow": "Masquer le flux", + "hideOtherFlows": "Masquer les autres flux", + "showAllFlows": "Afficher tous les flux", + "hideAllFlows": "Masquer tous les flux", + "hiddenFlows": "Répertorier le flux masqué __count__", + "hiddenFlows_plural": "Répertorier les flux masqués __count__", + "showLastHiddenFlow": "Afficher le dernier flux masqué", + "listFlows": "Répertorier les flux", + "listSubflows": "Répertorier les sous-flux", + "status": "Statut", + "enabled": "Activé", + "disabled": "Désactivé", + "info": "Description", + "selectNodes": "Cliquez sur les noeuds pour sélectionner" + }, + "menu": { + "label": { + "view": { + "view": "Affichage", + "grid": "Grille", + "storeZoom": "Restaurer le niveau de zoom au chargement", + "storePosition": "Restaurer la position de défilement au chargement", + "showGrid": "Afficher la grille", + "snapGrid": "Aligner sur la grille", + "gridSize": "Taille de la grille", + "textDir": "Sens du texte", + "defaultDir": "Sens par défaut", + "ltr": "De gauche à droite", + "rtl": "De droite à gauche", + "auto": "Contextuel", + "language": "Langue", + "browserDefault": "Navigateur par défaut" + }, + "sidebar": { + "show": "Afficher la barre latérale" + }, + "palette": { + "show": "Afficher la palette" + }, + "edit": "Éditer", + "settings": "Paramètres", + "userSettings": "Paramètres de l'utilisateur", + "nodes": "Neuds", + "displayStatus": "Afficher l'état du noeud", + "displayConfig": "Noeuds de configuration", + "import": "Importer", + "export": "Exporter", + "search": "Rechercher les flux", + "searchInput": "Rechercher vos flux", + "subflows": "Sous-flux", + "createSubflow": "Créer un sous-flux", + "selectionToSubflow": "Selection d'un sous-flux", + "flows": "Flux", + "add": "Ajouter", + "rename": "Renommer", + "delete": "Supprimer", + "keyboardShortcuts": "Raccourcis clavier", + "login": "Se connecter", + "logout": "Se déconnecter", + "editPalette": "Gérer la palette", + "other": "Autre", + "showTips": "Afficher les astuces", + "showWelcomeTours": "Afficher les visites guidées pour les nouvelles versions", + "help": "Site web de Node-RED", + "projects": "Projets", + "projects-new": "Nouveau projet", + "projects-open": "Ouvrir le projet", + "projects-settings": "Paramètres du projet", + "showNodeLabelDefault": "Afficher l'étiquette des noeuds nouvellement ajoutés", + "codeEditor": "Éditeur de code", + "groups": "Groupes", + "groupSelection": "Grouper cette sélection", + "ungroupSelection": "Dégrouper la sélection", + "groupMergeSelection": "Fusionner la sélection", + "groupRemoveSelection": "Supprimer du groupe", + "arrange": "Organiser", + "alignLeft": "Aligner à gauche", + "alignCenter": "Aligner au centre", + "alignRight": "Aligner à droite", + "alignTop": "Aligner en haut", + "alignMiddle": "Aligner au milieu", + "alignBottom": "Aligner en bas", + "distributeHorizontally": "Répartir horizontalement", + "distributeVertically": "Distribuer verticalement", + "moveToBack": "Déplacer vers l'arrière", + "moveToFront": "Déplacer vers l'avant", + "moveBackwards": "Déplacer vers l'arrière", + "moveForwards": "Déplacer vers l'avant" + } + }, + "actions": { + "toggle-navigator": "Basculer de navigateur", + "zoom-out": "Dézoomer", + "zoom-reset": "Réinitialiser le zoom", + "zoom-in": "Agrandir", + "search-flows": "Rechercher le fux", + "search-prev": "Précédent", + "search-next": "Suivant", + "search-counter": "\"__term__\" __result__ de __count__" + }, + "user": { + "loggedInAs": "Connecté en tant que __name__", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "login": "Connexion", + "loginFailed": "Échec de la connexion", + "notAuthorized": "Pas autorisé", + "errors": { + "settings": "Vous devez être connecté pour accéder aux paramètres", + "deploy": "Vous devez être connecté pour déployer les modifications", + "notAuthorized": "Vous devez être connecté pour effectuer cette action" + } + }, + "notification": { + "state": { + "flowsStopped": "Flux arrêtés", + "flowsStarted": "Flux démarrés" + }, + "warning": "Attention : __message__", + "warnings": { + "undeployedChanges": "Le noeud a des modifications non déployées", + "nodeActionDisabled": "Actions de noeud désactivées", + "nodeActionDisabledSubflow": "Actions de noeud désactivées dans le sous-flux", + "missing-types": "

Flux arrêtés en raison de types de noeuds manquants.

", + "missing-modules": "

Flux arrêtés en raison de modules manquants.

", + "safe-mode": "

Flux arrêtés en mode sans échec.

Vous pouvez modifier vos flux et déployer les changements pour redémarrer.

", + "restartRequired": "Node-RED doit être redémarré pour mettre à jour les modules", + "credentials_load_failed": "

Les flux se sont arrêtés car les informations d'identification n'ont pas pu être déchiffrées.

Le fichier d'informations d'identification du flux est chiffré, mais la clé de chiffrement du projet est manquante ou invalide.

", + "credentials_load_failed_reset": "

Les informations d'identification n'ont pas pu être déchiffrées

Le fichier d'informations d'identification du flux est chiffré, mais la clé de chiffrement du projet est manquante ou invalide.

Le fichier d'informations d'identification du flux sera réinitialisé lors du prochain déploiement. Toutes les informations d'identification de flux existantes seront perdues.

", + "missing_flow_file": "

Fichier contenant les flux introuvable.

Le projet n'est pas configuré avec un fichier de flux.

", + "missing_package_file": "

Fichier de package de projet introuvable.

Il manque au projet un fichier package.json.

", + "project_empty": "

Le projet est vide.

Voulez-vous créer un ensemble de fichiers de projet par défaut ?
Sinon, vous devrez ajouter manuellement des fichiers au projet (en dehors de l'éditeur).

", + "project_not_found": "

Le projet '__project__' est introuvable.

", + "git_merge_conflict": "

La fusion automatique des modifications a échoué.

Corrigez les conflits non fusionnés, puis validez le résultat.

" + }, + "error": "Erreur : __message__", + "errors": { + "lostConnection": "Perte de connexion au serveur, reconnexion...", + "lostConnectionReconnect": "Perte de connexion au serveur, reconnexion dans __time__s.", + "lostConnectionTry": "Essayez maintenant", + "cannotAddSubflowToItself": "Impossible d'ajouter un sous-flux à lui-même", + "cannotAddCircularReference": "Impossible d'ajouter un sous-flux - référence circulaire détectée", + "unsupportedVersion": "

Utilisation d'une version non prise en charge de Node.js

Vous devez effectuer une mise à jour vers la dernière version de Node.js LTS

", + "failedToAppendNode": "

Échec du chargement du module '__module__'

__error__

" + }, + "project": { + "change-branch": "Changer pour une succursale (branche) locale '__project__'", + "merge-abort": "Git fusion abandonnée", + "loaded": "Projet '__project__' chargé", + "updated": "Projet '__project__' mis à jour", + "pull": "Projet '__project__' rechargé", + "revert": "Projet '__project__' annulé", + "merge-complete": "Fusion Git terminée", + "setupCredentials": "Configuration des identifiants", + "setupProjectFiles": "Configuration des fichiers du projet", + "no": "Non merci", + "createDefault": "Créer des fichiers de projet par défaut", + "mergeConflict": "Afficher les conflits de fusion" + }, + "label": { + "manage-project-dep": "Gérer les dépendances du projet", + "setup-cred": "Configuration des identifiants", + "setup-project": "Configuration des fichiers du projet", + "create-default-package": "Créer un fichier de package par défaut", + "no-thanks": "Non merci", + "create-default-project": "Créer des fichiers de projet par défaut", + "show-merge-conflicts": "Afficher les conflits de fusion", + "unknownNodesButton": "Rechercher les noeuds inconnus" + } + }, + "clipboard": { + "clipboard": "Presse-papiers", + "nodes": "Noeuds", + "node": "__count__ noeud", + "node_plural": "__count__ noeuds", + "configNode": "__count__ noeud de configuration", + "configNode_plural": "__count__ noeuds de configuration", + "group": "__count__ groupe", + "group_plural": "__count__ groupes", + "flow": "__count__ flux", + "flow_plural": "__count__ flux", + "subflow": "__count__ sous-flux", + "subflow_plural": "__count__ sous-flux", + "replacedNodes": "__count__ noeud remplacé", + "replacedNodes_plural": "__count__ noeuds remplacés", + "pasteNodes": "Coller le flux json ou", + "selectFile": "sélectionner un fichier à importer", + "importNodes": "Importer des noeuds", + "exportNodes": "Exporter des noeuds", + "download": "Télécharger", + "importUnrecognised": "Importation d'un type inconnu :", + "importUnrecognised_plural": "Importation de plusieurs types inconnus :", + "importDuplicate": "noeud en double importé :", + "importDuplicate_plural": "noeuds en double importés :", + "nodesExported": "noeuds exportés vers le presse-papiers", + "nodesImported": "Noeuds importés :", + "nodeCopied": "__count__ noeud copié", + "nodeCopied_plural": "__count__ noeuds copiés", + "groupCopied": "__count__ groupe copié", + "groupCopied_plural": "__count__ groupes copiés", + "groupStyleCopied": "Style de groupe copié", + "invalidFlow": "Flux invalide : __message__", + "recoveredNodes": "noeuds récupérés", + "recoveredNodesInfo": "Les noeuds importés sur ce flux contiennent un mauvais identifiant de flux. Ces noeuds ont été ajoutés à ce flux afin que vous puissiez les restaurer ou les supprimer.", + "recoveredNodesNotification": "

noeuds importés sans identifiant de flux valide

Ils ont été ajoutés à un nouveau flux appelé '__flowName__'.

", + "export": { + "selected": "noeuds sélectionnés", + "current": "flux actuel", + "all": "tous les flux", + "compact": "condensé", + "formatted": "formaté", + "copy": "Copier dans le presse-papier", + "export": "Exporter vers la bibliothèque", + "exportAs": "Exporter en tant que", + "overwrite": "Remplacer", + "exists": "

\"__file__\" existe déjà.

Voulez-vous le remplacer ?

" + }, + "import": { + "import": "Importer vers", + "importSelected": "Importation sélectionnée", + "importCopy": "Importer une copie", + "viewNodes": "Afficher les noeuds...", + "newFlow": "nouveau flux", + "replace": "remplacer", + "errors": { + "notArray": "L'entrée n'est pas un tableau JSON", + "itemNotObject": "L'entrée n'est pas un flux valide - l'élément '__index__' n'est pas un objet du noeud", + "missingId": "L'entrée n'est pas un flux valide - l'élément '__index__' n'a pas de propriété 'id'", + "missingType": "L'entrée n'est pas un flux valide - l'élément '__index__' n'a pas de propriété 'type'" + }, + "conflictNotification1": "Certains des noeuds que vous avez importés existent déjà dans votre espace de travail.", + "conflictNotification2": "Sélectionner les noeuds à importer et choisisser s'il faut remplacer les noeuds existants ou en importer une copie." + }, + "copyMessagePath": "Chemin copié", + "copyMessageValue": "Valeur copiée", + "copyMessageValue_truncated": "Valeur tronquée (coupée) copiée" + }, + "deploy": { + "deploy": "Déployer", + "full": "Tout", + "fullDesc": "Déploie tout l'espace de travail", + "modifiedFlows": "Flux modifiés", + "modifiedFlowsDesc": "Déploie uniquement les flux contenant des noeuds modifiés", + "modifiedNodes": "noeuds modifiés", + "modifiedNodesDesc": "Déploie uniquement les noeuds qui ont changés", + "startFlows": "Démarrer", + "startFlowsDesc": "Démarrer les flux", + "stopFlows": "Arrêter", + "stopFlowsDesc": "Arrêter les flux", + "restartFlows": "Redémarrer les flux", + "restartFlowsDesc": "Redémarrer les flux actuellement déployés", + "successfulDeploy": "Déployé avec succès", + "successfulRestart": "Flux redémarrés avec succès", + "deployFailed": "Échec du déploiement : __message__", + "unusedConfigNodes": "Vous avez des noeuds de configuration inutilisés.", + "unusedConfigNodesButton": "Rechercher les noeuds de configuration inutilisés", + "unknownNodesButton": "Rechercher les noeuds inconnus", + "invalidNodesButton": "Rechercher les noeuds invalides", + "errors": { + "noResponse": "pas de réponse du serveur" + }, + "confirm": { + "button": { + "ignore": "Ignorer", + "confirm": "Confirmer le déploiement", + "review": "Examiner les modifications", + "cancel": "Annuler", + "merge": "Fusionner", + "overwrite": "Ignorer et déployer" + }, + "undeployedChanges": "Vous avez des modifications non déployées.\n\nSi vous quittez cette page, ces modifications seront perdues.", + "improperlyConfigured": "L'espace de travail contient des noeuds qui ne sont pas correctement configurés :", + "unknown": "L'espace de travail contient des types de noeuds inconnus :", + "confirm": "Êtes-vous sûr de vouloir déployer ?", + "doNotWarn": "ne plus m'avertir à ce sujet", + "conflict": "Le serveur exécute un ensemble de flux plus récent.", + "backgroundUpdate": "Les flux sur le serveur ont été mis à jour.", + "conflictChecking": "Vérifier si les modifications peuvent être fusionnées automatiquement", + "conflictAutoMerge": "Les modifications n'incluent aucun conflit et peuvent être fusionnées automatiquement.", + "conflictManualMerge": "Les changements incluent des conflits qui doivent être résolus avant de pouvoir être déployés.", + "plusNMore": "+ __count__ en plus" + } + }, + "eventLog": { + "title": "Journal des événements", + "view": "Afficher le journal" + }, + "diff": { + "unresolvedCount": "__count__ conflit non résolu", + "unresolvedCount_plural": "__count__ conflits non résolus", + "globalNodes": "noeuds globaux", + "flowProperties": "Propriétés du flux", + "type": { + "added": "ajouté", + "changed": "modifié", + "unchanged": "inchangé", + "deleted": "supprimé", + "flowDeleted": "flux supprimé", + "flowAdded": "flux ajouté", + "movedTo": "déplacé vers __id__", + "movedFrom": "déplacé depuis __id__" + }, + "nodeCount": "__count__ noeud", + "nodeCount_plural": "__count__ noeuds", + "local": "Changements locaux", + "remote": "Modifications à distance", + "reviewChanges": "Examiner les modifications", + "noBinaryFileShowed": "Impossible d'afficher le contenu du fichier binaire", + "viewCommitDiff": "Afficher les modifications de validation", + "compareChanges": "Comparer les modifications", + "saveConflict": "Enregistrer la résolution des conflits", + "conflictHeader": "__resolved__ sur __unresolved__ conflit(s) résolu(s)", + "commonVersionError": "La version commune ne contient pas de JSON valide :", + "oldVersionError": "L'ancienne version ne contient pas de JSON valide :", + "newVersionError": "La nouvelle version ne contient pas de JSON valide :" + }, + "subflow": { + "editSubflowInstance": "Modifier l'instance du sous-flux : __name__", + "editSubflow": "Modifier le modèle du sous-flux : __name__", + "edit": "Modifier le modèle du sous-flux", + "subflowInstances": "Il existe __count__ instance de ce modèle de sous-flux", + "subflowInstances_plural": "Il existe __count__ instances de ce modèle de sous-flux", + "editSubflowProperties": "modifier les propriétés", + "input": "entrées:", + "output": "sorties:", + "status": "statut du noeud", + "deleteSubflow": "supprimer le sous-flux", + "confirmDelete": "Voulez-vous vraiment supprimer ce sous-flux ?", + "info": "Description", + "category": "Categorie", + "module": "Module", + "license": "License", + "licenseNone": "aucune", + "licenseOther": "Autre", + "type": "Type de noeud", + "version": "Version", + "versionPlaceholder": "x.y.z", + "keys": "Mots clés", + "keysPlaceholder": "Mots clés séparés par des virgules", + "author": "Auteur", + "authorPlaceholder": "Votre nom ", + "desc": "Description", + "env": { + "restore": "Restaurer le sous-flux par défaut", + "remove": "Supprimer la variable d'environnement" + }, + "errors": { + "noNodesSelected": "Impossible de créer un sous-flux : aucun noeud sélectionné", + "multipleInputsToSelection": "Impossible de créer un sous-flux : plusieurs entrées pour la sélection" + } + }, + "group": { + "editGroup": "Modifier le groupe : __name__", + "errors": { + "cannotCreateDiffGroups": "Impossible de créer un groupe de noeuds provenant de différents groupes", + "cannotAddSubflowPorts": "Impossible d'ajouter des ports à un groupe de sous-flux" + } + }, + "editor": { + "configEdit": "Modifier", + "configAdd": "Ajouter", + "configUpdate": "Sauver", + "configDelete": "Supprimer", + "nodesUse": "__count__ noeud utilise cette configuration", + "nodesUse_plural": "__count__ noeuds utilisent cette configuration", + "addNewConfig": "Ajouter un nouveau noeud de configuration __type__", + "editNode": "Modifier le noeud __type__", + "editConfig": "Modifier le noeud de configuration __type__", + "addNewType": "Ajouter un nouveau __type__...", + "nodeProperties": "propriétés du noeud", + "label": "Etiquette", + "color": "Couleur", + "portLabels": "Étiquettes des ports", + "labelInputs": "Entrées", + "labelOutputs": "Sorties", + "settingIcon": "Icône", + "default": "défaut", + "noDefaultLabel": "aucune", + "defaultLabel": "utiliser l'étiquette par défaut", + "searchIcons": "Icônes de recherche", + "useDefault": "utilisation par défaut", + "description": "Description", + "show": "Afficher", + "hide": "Masquer", + "locale": "Sélectionner la langue", + "icon": "Icône", + "inputType": "Type d'entrée", + "selectType": "sélectionner les types...", + "loadCredentials": "Chargement des identifiants du noeud", + "inputs": { + "input": "entrée", + "select": "sélection", + "checkbox": "case à cocher", + "spinner": "spinner", + "none": "aucune", + "hidden": "masquer la propriété" + }, + "types": { + "str": "chaîne de caractères", + "num": "nombre", + "bool": "booléen", + "json": "JSON", + "bin": "tampon", + "env": "variable d'environnement", + "cred": "identifiant" + }, + "menu": { + "input": "entrée", + "select": "sélection", + "checkbox": "case à cocher", + "spinner": "spinner", + "hidden": "étiquette seulement" + }, + "select": { + "label": "Etiquette", + "value": "Valeur" + }, + "spinner": { + "min": "Minimum", + "max": "Maximum" + }, + "errors": { + "scopeChange": "La modification de la portée la rendra indisponible pour les noeuds d'autres flux qui l'utilisent", + "invalidProperties": "Propriétés invalides :", + "credentialLoadFailed": "Échec du chargement des identifiants du noeud" + } + }, + "keyboard": { + "title": "Raccourcis clavier", + "keyboard": "Clavier", + "filterActions": "actions de filtrage", + "shortcut": "raccourci", + "scope": "portée", + "unassigned": "Non attribué", + "global": "global", + "workspace": "espace de travail", + "selectAll": "Tout sélectionner", + "selectNone": "Ne rien sélectionner", + "selectAllConnected": "Sélectionner tous les connectés", + "addRemoveNode": "Ajouter/supprimer un noeud de la sélection", + "editSelected": "Modifier le noeud sélectionné", + "deleteSelected": "Supprimer les noeuds ou le lien sélectionné(s)", + "importNode": "Importer les noeuds", + "exportNode": "Exporter les noeuds", + "nudgeNode": "Déplacer les noeuds sélectionnés (1px)", + "moveNode": "Déplacer les noeuds sélectionnés (20px)", + "toggleSidebar": "Basculer la barre latérale", + "togglePalette": "Basculer la palette", + "copyNode": "Copier les noeuds sélectionnés", + "cutNode": "Couper les noeuds sélectionnés", + "pasteNode": "Coller les noeuds", + "copyGroupStyle": "Copier le style de groupe", + "pasteGroupStyle": "Coller le style de groupe", + "undoChange": "Annuler", + "redoChange": "Refaire", + "searchBox": "Ouvrir le champ de recherche", + "managePalette": "Gérer la palette", + "actionList": "Liste d'action", + "splitWireWithLinks": "Ajouter des liens entre les noeuds de la sélection" + }, + "library": { + "library": "Bibliothèque", + "openLibrary": "Ouvrir la bibliothèque...", + "saveToLibrary": "Enregistrer dans la bibliothèque...", + "typeLibrary": "__type__ bibliothèque", + "unnamedType": "Innomé __type__", + "exportedToLibrary": "noeuds exportés vers la bibliothèque", + "dialogSaveOverwrite": "Une __libraryType__ appelée __libraryName__ existe déjà. Écraser ?", + "invalidFilename": "Nom de fichier non valide", + "savedNodes": "noeuds enregistrés", + "savedType": "__type__ enregistré", + "saveFailed": "Échec de la sauvegarde : __message__", + "newFolder": "Nouveau dossier", + "types": { + "local": "Local", + "examples": "Exemples" + } + }, + "palette": { + "noInfo": "Pas d'information disponible", + "filter": "filtrer les noeuds", + "search": "rechercher les modules", + "addCategory": "Ajouter un nouveau...", + "label": { + "subflows": "sous-flux", + "network": "réseau", + "common": "commun", + "input": "entrée", + "output": "sortie", + "function": "fonction", + "sequence": "séquence", + "parser": "analyseur", + "social": "social", + "storage": "stockage", + "analysis": "analyse", + "advanced": "avancé" + }, + "actions": { + "collapse-all": "Réduire toutes les catégories", + "expand-all": "Développer toutes les catégories" + }, + "event": { + "nodeAdded": "Noeud ajouté à la palette :", + "nodeAdded_plural": "noeuds ajoutés à la palette :", + "nodeRemoved": "Noeud supprimé de la palette :", + "nodeRemoved_plural": "Noeuds supprimés de la palette :", + "nodeEnabled": "noeud activé :", + "nodeEnabled_plural": "noeuds activés :", + "nodeDisabled": "noeud désactivé :", + "nodeDisabled_plural": "noeuds désactivés :", + "nodeUpgraded": "Les noeuds du module __module__ ont été mis à jour vers la version __version__", + "unknownNodeRegistered": "Erreur lors du chargement du noeud : " + }, + "editor": { + "title": "Gérer la palette", + "palette": "Palette", + "times": { + "seconds": "il y'a quelques secondes", + "minutes": "il y'a quelques minutes", + "minutesV": "il y'a __count__ minutes", + "hoursV": "il y'a __count__ heure", + "hoursV_plural": "il y'a __count__ heures", + "daysV": "il y'a __count__ jour", + "daysV_plural": "il y'a __count__ jours", + "weeksV": "il y'a __count__ semaine", + "weeksV_plural": "il y'a __count__ semaines", + "monthsV": "il y'a __count__ mois", + "monthsV_plural": "il y'a __count__ mois", + "yearsV": "il y'a __count__ an", + "yearsV_plural": "il y'a __count__ ans", + "yearMonthsV": "il y'a __y__ an, __count__ mois", + "yearMonthsV_plural": "il y'a __y__ an, __count__ mois", + "yearsMonthsV": "il y'a __y__ ans, __count__ mois", + "yearsMonthsV_plural": "il y'a __y__ ans, __count__ mois" + }, + "nodeCount": "__label__ noeud", + "nodeCount_plural": "__label__ noeuds", + "moduleCount": "__count__ module disponible", + "moduleCount_plural": "__count__ modules disponibles", + "inuse": "en cours d'utilisation", + "enableall": "activer tout", + "disableall": "désactiver tout", + "enable": "activer", + "disable": "désactiver", + "remove": "supprimer", + "update": "mettre à jour vers __version__", + "updated": "mise à jour", + "install": "installer", + "installed": "installé", + "conflict": "conflit", + "conflictTip": "

Ce module ne peut pas être installé car il inclut un
type de noeud qui a déjà été installé

Conflits avec __module__

", + "loading": "Chargement des catalogues...", + "tab-nodes": "Noeuds", + "tab-install": "Installer", + "sort": "trier:", + "sortAZ": "a-z", + "sortRecent": "récent", + "more": "+ __count__ en plus", + "upload": "Charger le fichier tgz du module", + "refresh": "Actualiser la liste des modules", + "errors": { + "catalogLoadFailed": "

Échec du chargement du catalogue de noeuds.

Vérifiez la console du navigateur pour plus d'informations

", + "installFailed": "

Échec lors de l'installation : __module__

__message__

Consultez le journal pour plus d'informations

", + "removeFailed": "

Échec lors de la suppression : __module__

__message__

Consultez le journal pour plus d'informations

", + "updateFailed": "

Échec lors de la mise à jour : __module__

__message__

Consultez le journal pour plus d'informations

", + "enableFailed": "

Échec lors de l'activation : __module__

__message__

Consultez le journal pour plus d'informations

", + "disableFailed": "

Échec lors de la désactivation : __module__

__message__

Consultez le journal pour plus d'informations

" + }, + "confirm": { + "install": { + "body": "

Installation de '__module__'

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.

", + "title": "Installer les noeuds" + }, + "remove": { + "body": "

Suppression de '__module__'

La suppression du noeud le désinstallera de Node-RED. Le noeud peut continuer à utiliser des ressources jusqu'au redémarrage de Node-RED.

", + "title": "Supprimer les noeuds" + }, + "update": { + "body": "

Mise à jour de '__module__'

La mise à jour du noeud nécessitera un redémarrage de Node-RED pour terminer la mise à jour. Cela doit être fait manuellement.

", + "title": "Mettre à jour les noeuds" + }, + "cannotUpdate": { + "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.

Veuillez vous référer à la documentation pour savoir comment mettre à jour ce noeud." + }, + "button": { + "review": "Ouvrir les informations sur ce noeud", + "install": "Installer", + "remove": "Supprimer", + "update": "Mettre à jour" + } + } + } + }, + "sidebar": { + "info": { + "name": "Information", + "tabName": "Nom", + "label": "info", + "node": "Noeud", + "type": "Type", + "group": "Groupe", + "module": "Module", + "id": "ID", + "status": "Statut", + "enabled": "Activé", + "disabled": "Désactivé", + "subflow": "Sous-flux", + "instances": "Instances", + "properties": "Propriétés", + "info": "Information", + "desc": "Description", + "blank": "vide", + "null": "nul", + "showMore": "afficher en plus", + "showLess": "afficher en moins", + "flow": "Flux", + "selection": "Selection", + "nodes": "__count__ noeuds", + "flowDesc": "Description du flux", + "subflowDesc": "Description du sous-flux", + "nodeHelp": "Aide sur les noeuds", + "none": "Aucun", + "arrayItems": "__count__ éléments", + "showTips": "Vous pouvez ouvrir les astuces à partir du panneau des paramètres", + "outline": "Plan", + "empty": "vide", + "globalConfig": "noeuds de configuration globale", + "triggerAction": "Déclencher une action", + "find": "Rechercher dans l'espace de travail" + }, + "help": { + "name": "Aide", + "label": "aide", + "search": "Aide à la recherche", + "nodeHelp": "Aide sur les noeuds", + "showHelp": "Afficher l'aide", + "showInOutline": "Afficher dans les grandes lignes", + "showTopics": "Afficher les sujets", + "noHelp": "Aucune rubrique d'aide sélectionnée", + "changeLog": "Journal des modifications" + }, + "config": { + "name": "noeuds de configuration", + "label": "configuration", + "global": "Sur tous les flux", + "none": "aucun", + "subflows": "sous-flux", + "flows": "flux", + "filterAll": "tout", + "showAllConfigNodes": "Afficher tous les noeuds de configuration", + "filterUnused": "inutilisé", + "showAllUnusedConfigNodes": "Afficher tous les noeuds de configuration inutilisés", + "filtered": "__count__ caché(s)" + }, + "context": { + "name": "Données contextuelles", + "label": "contexte", + "none": "aucune sélection", + "refresh": "actualiser pour charger", + "empty": "vide", + "node": "Noeud", + "flow": "Flux", + "global": "Global", + "deleteConfirm": "Êtes-vous sûr de vouloir supprimer cet élément ?", + "autoRefresh": "Rafraîchir si la sélection change", + "refrsh": "Rafraîchir", + "delete": "Supprimer" + }, + "palette": { + "name": "Gestion des palettes", + "label": "palette" + }, + "project": { + "label": "projet", + "name": "Projet", + "description": "Description", + "dependencies": "Dependencies", + "settings": "Paramètres", + "noSummaryAvailable": "Aucun résumé disponible", + "editDescription": "Modifier la description du projet", + "editDependencies": "Modifier les dépendances du projet", + "noDescriptionAvailable": "Pas de description disponible", + "editReadme": "Modifier le fichier README.md", + "showProjectSettings": "Afficher les paramètres du projet", + "projectSettings": { + "title": "Paramètres du projet", + "edit": "modifier", + "none": "Vide", + "install": "installer", + "removeFromProject": "supprimer du projet", + "addToProject": "ajouter au projet", + "files": "Fichiers", + "flow": "Flux", + "credentials": "Identifiants", + "package": "Paquets", + "packageCreate": "Le fichier sera créé lorsque les modifications seront enregistrées", + "fileNotExist": "Le fichier n'existe pas", + "selectFile": "Choisir le dossier", + "invalidEncryptionKey": "Clé de chiffrement invalide", + "encryptionEnabled": "Chiffrement activé", + "encryptionDisabled": "Chiffrement désactivé", + "setTheEncryptionKey": "Définir la clé de chiffrement", + "resetTheEncryptionKey": "Réinitialiser la clé de chiffrement", + "changeTheEncryptionKey": "Changer la clé de chiffrement", + "currentKey": "Clé actuelle", + "newKey": "Nouvelle clé", + "credentialsAlert": "Cela supprimera tous les identifiants existants", + "versionControl": "Contrôle de version", + "branches": "Branches", + "noBranches": "Pas de branche", + "deleteConfirm": "Êtes-vous sûr de vouloir supprimer la branche locale '__name__' ? Ça ne peut pas être annulé.", + "unmergedConfirm": "La branche locale '__name__' contient des modifications non fusionnées qui seront perdues. Etes-vous sûr de vouloir la supprimer?", + "deleteUnmergedBranch": "Supprimer la branche non fusionnée", + "gitRemotes": "Git distant", + "addRemote": "Ajout distant", + "addRemote2": "Ajout distant", + "remoteName": "Nom distant", + "nameRule": "Doit contenir uniquement A-Z 0-9 _ -", + "url": "URL", + "urlRule": "https://, ssh:// or file://", + "urlRule2": "N'incluez pas le nom d'utilisateur/mot de passe dans l'URL", + "noRemotes": "Pas distant", + "deleteRemoteConfrim": "Êtes-vous sûr de vouloir supprimer '__name__' distant ?", + "deleteRemote": "Supprimer distant" + }, + "userSettings": { + "committerDetail": "Détails de l'auteur de l'engagement (commit)", + "committerTip": "Laisser vide pour utiliser la valeur par défaut du système", + "userName": "Nom d'utilisateur", + "email": "Email", + "workflow": "Flux de travail", + "workfowTip": "Choisissez votre flux de travail git préféré", + "workflowManual": "Manuel", + "workflowManualTip": "Toutes les modifications doivent être validées manuellement dans la barre latérale 'historique'", + "workflowAuto": "Automatique", + "workflowAutoTip": "Les modifications sont validées automatiquement à chaque déploiement", + "sshKeys": "Clés SSH", + "sshKeysTip": "Vous permet de créer des connexions sécurisées aux référentiels git distants.", + "add": "ajouter une clé", + "addSshKey": "Ajouter une clé SSH", + "addSshKeyTip": "Générer une nouvelle paire de clés publique/privée", + "name": "Nom", + "nameRule": "Doit contenir uniquement A-Z 0-9 _ -", + "passphrase": "Phrase de passe", + "passphraseShort": "Phrase de passe trop court", + "optional": "Facultatif", + "cancel": "Annuler", + "generate": "Générer une clé", + "noSshKeys": "Pas de clé SSH", + "copyPublicKey": "Copier la clé publique dans le presse-papiers", + "delete": "Supprimer une clé", + "gitConfig": "Git config", + "deleteConfirm": "Êtes-vous sûr de vouloir supprimer la clé SSH __nom__ ? Ça ne peut pas être annulé." + }, + "versionControl": { + "unstagedChanges": "Changement pas mis en place", + "stagedChanges": "Changement mis en place", + "unstageChange": "Ne pas mettre en place le changement", + "stageChange": "Mettre en place le changement", + "unstageAllChange": "Ne pas mettre en place tous les changements", + "stageAllChange": "Mettre en place tous les changements", + "commitChanges": "Commit changes", + "resolveConflicts": "Resolve conflicts", + "head": "HEAD", + "staged": "Mis en place", + "unstaged": "Pas mis en place", + "local": "Local", + "remote": "Distant", + "revert": "Voulez-vous vraiment annuler les modifications apportées à '__file__' ? Ça ne peut pas être annulé.", + "revertChanges": "Rétablir les changements", + "localChanges": "Modifications locales", + "none": "Vide", + "conflictResolve": "Tous les conflits ont été résolus. Valider les modifications pour terminer la fusion.", + "localFiles": "Fichiers locaux", + "all": "tout", + "unmergedChanges": "Modifications non fusionnées", + "abortMerge": "abandonner la fusion", + "commit": "commit", + "changeToCommit": "Modifications à valider", + "commitPlaceholder": "Entrez votre message de validation", + "cancelCapital": "Annuler", + "commitCapital": "Commit", + "commitHistory": "Historique des commits", + "branch": "Branche :", + "moreCommits": " plus de commit(s)", + "changeLocalBranch": "Changer de branche locale", + "createBranchPlaceholder": "Trouver ou créer une branche", + "upstream": "en amont", + "localOverwrite": "Vous avez des modifications locales qui seraient écrasées en changeant la branche. Vous devez d'abord valider ou annuler ces modifications.", + "manageRemoteBranch": "Gérer une branche distante", + "unableToAccess": "Impossible d'accéder au référentiel distant", + "retry": "Recommencer", + "setUpstreamBranch": "Définir comme branche en amont", + "createRemoteBranchPlaceholder": "Trouver ou créer une branche distante", + "trackedUpstreamBranch": "La branche créée sera définie comme la branche en amont suivie.", + "selectUpstreamBranch": "La branche sera créée. Sélectionner ci-dessous pour la définir comme branche en amont suivie.", + "pushFailed": "L'envoi a échoué car la branche a des commits plus récents. Tirer et fusionner d'abord, puis envoyer à nouveau.", + "push": "envoyer", + "pull": "tirer", + "unablePull": "

Impossible d'extraire les modifications à distance ; vos modifications locales non mises en place seraient écrasées.

Valider vos modifications et réessayer.

", + "showUnstagedChanges": "Afficher les modifications non mise en place", + "connectionFailed": "Impossible de se connecter au référentiel distant: ", + "pullUnrelatedHistory": "

Le réferentiel distant a un historique de validations sans rapport.

Êtes-vous sûr de vouloir extraire les modifications dans votre référentiel local ?

", + "pullChanges": "Tirer les changements", + "history": "historique", + "projectHistory": "Historique du projet", + "daysAgo": "il y'a __count__ jour", + "daysAgo_plural": "il y'a __count__ jours", + "hoursAgo": "il y'a __count__ heure", + "hoursAgo_plural": "il y'a __count__ heures", + "minsAgo": "il y'a __count__ minute", + "minsAgo_plural": "il y'a __count__ minutes", + "secondsAgo": "Il y a quelques instants", + "notTracking": "Votre branche locale ne suit pas actuellement une branche distante.", + "statusUnmergedChanged": "Votre référentiel contient des modifications non fusionnées. Vous devez résoudre les conflits et valider le résultat.", + "repositoryUpToDate": "Votre référentiel est à jour.", + "commitsAhead": "Votre référentiel a __count__ commit d'avance sur le distant. Vous pouvez pousser ce commit maintenant.", + "commitsAhead_plural": "Votre référentiel a __count__ commits d'avance sur le distant. Vous pouvez pousser ce commit maintenant.", + "commitsBehind": "Votre référentiel a __count__ commit de retard sur le distant. Vous pouvez pousser ce commit maintenant.", + "commitsBehind_plural": "Votre référentiel a __count__ commits de retard sur le distant. Vous pouvez pousser ce commit maintenant.", + "commitsAheadAndBehind1": "Votre référentiel a __count__ commit derrière et ", + "commitsAheadAndBehind1_plural": "YVotre référentiel est __count__ commits derrière et ", + "commitsAheadAndBehind2": "__count__ commit avant le distant. ", + "commitsAheadAndBehind2_plural": "__count__ commits avant le distant. ", + "commitsAheadAndBehind3": "Vous devez retirer le commit à distance avant de pousser.", + "commitsAheadAndBehind3_plural": "Vous devez retirer les commits à distance avant de pousser.", + "refreshCommitHistory": "Actualiser l'historique des commits", + "refreshChanges": "Actualiser les modifications" + } + } + }, + "typedInput": { + "type": { + "str": "chaîne de caractères", + "num": "nombre", + "re": "expression régulière", + "bool": "booléen", + "json": "JSON", + "bin": "tampon", + "date": "horodatage", + "jsonata": "expression", + "env": "variable d'environnement", + "cred": "identifiant" + } + }, + "editableList": { + "add": "ajouter", + "addTitle": "ajouter un élément" + }, + "search": { + "history": "Historique des recherches", + "clear": "tout effacer", + "empty": "Aucun résultat", + "addNode": "ajouter un noeud...", + "options": { + "configNodes": "noeuds de configuration", + "unusedConfigNodes": "noeuds de configuration inutilisés", + "invalidNodes": "noeuds invalides", + "uknownNodes": "noeuds inconnus", + "unusedSubflows": "Sous-flux inutilisés", + "hiddenFlows": "Flux cachés", + "modifiedNodes": "noeuds et flux modifiés", + "thisFlow": "Flux courant" + } + }, + "expressionEditor": { + "functions": "Fonctions", + "functionReference": "Fonction de réference", + "insert": "Insérer", + "title": "Éditeur d'expressions JSONata", + "test": "Test", + "data": "Exemple de message", + "result": "Resultat", + "format": "format", + "compatMode": "Mode de compatibilité activé", + "compatModeDesc": "

Mode de compatibilité JSONata

L'expression actuelle semble toujours faire référence à msg et sera donc évaluée en mode de compatibilité. Veuillez mettre à jour l'expression pour ne pas utiliser msg car ce mode sera supprimé à l'avenir.

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érence le Objet msg. Par exemple, msg.payload serait utilisé pour accéder à la charge utile.

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 charge utile.

", + "noMatch": "Aucun résultat correspondant", + "errors": { + "invalid-expr": "Expression JSONata non valide :\n __message__", + "invalid-msg": "Exemple de message JSON non valide :\n __message__", + "context-unsupported": "Impossible de tester les fonctions de contexte\n $flowContext ou $globalContext", + "env-unsupported": "Impossible de tester la fonction $env", + "moment-unsupported": "Impossible de tester la fonction $moment", + "clone-unsupported": "Impossible de tester la fonction $clone", + "eval": "Erreur lors de l'évaluation de l'expression :\n __message__" + } + }, + "monaco": { + "setTheme": "Définir le thème" + }, + "jsEditor": { + "title": "Éditeur JavaScript" + }, + "textEditor": { + "title": "Éditeur de texte" + }, + "jsonEditor": { + "title": "Éditeur JSON", + "format": "format JSON", + "rawMode": "Modifier JSON", + "uiMode": "Visualiser editor", + "rawMode-readonly": "JSON", + "uiMode-readonly": "Visualiser", + "insertAbove": "Insérer ci-dessus", + "insertBelow": "Insérer ci-dessous", + "addItem": "Ajouter un élément", + "copyPath": "Copier le chemin vers l'élément", + "expandItems": "Développer les éléments", + "collapseItems": "Réduire les éléments", + "duplicate": "Dupliquer", + "error": { + "invalidJSON": "JSON invalide : " + } + }, + "markdownEditor": { + "title": "Éditeur Markdown", + "expand": "Développer", + "format": "Formaté avec Markdown", + "heading1": "Rubrique 1", + "heading2": "Rubrique 2", + "heading3": "Rubrique 3", + "bold": "Gras", + "italic": "Italic", + "code": "Code", + "ordered-list": "Liste ordonnée", + "unordered-list": "Liste non ordonnée", + "quote": "Citation", + "link": "Lien", + "horizontal-rule": "Règle horizontale", + "toggle-preview": "Basculer l'aperçu" + }, + "bufferEditor": { + "title": "Éditeur de tampon", + "modeString": "Gérer comme une chaîne UTF-8", + "modeArray": "Gérer en tant que tableau JSON", + "modeDesc": "

Éditeur de tampon

Le type de tampon est stocké sous la forme d'un tableau JSON de valeurs d'octets. L'éditeur tentera d'analyser la valeur saisie en tant que tableau JSON. S'il ne s'agit pas d'un JSON valide, il sera traité comme une chaîne UTF-8 et converti en un tableau de points de code de caractères individuels.

Par exemple, une valeur de Hello World sera converti en tableau JSON :

[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

" + }, + "projects": { + "config-git": "Configurer le client Git", + "welcome": { + "hello": "Bonjour! Nous avons introduit des 'projets' dans Node-RED.", + "desc0": "Il s'agit d'une nouvelle façon pour vous de gérer vos fichiers de flux et inclut le contrôle de version de vos flux.", + "desc1": "Pour commencer, vous pouvez créer votre premier projet ou cloner un projet existant à partir d'un référentiel git.", + "desc2": "Si vous n'êtes pas sûr, vous pouvez ignorer ceci pour le moment. Vous pourrez toujours créer votre premier projet à partir du menu 'Projets' à tout moment.", + "create": "Créer un projet", + "clone": "Cloner un référentiel", + "openExistingProject": "Ouvrir un projet existant", + "not-right-now": "Pas maintenant" + }, + "git-config": { + "setup": "Configurez votre version du contrôle de client", + "desc0": "Node-RED utilise l'outil open source Git pour le contrôle de version. Il suit les modifications apportées à vos fichiers de projet et vous permet de les transférer vers des référentiels distants.", + "desc1": "Lorsque vous validez un ensemble de modifications, Git enregistre l'auteur qui a effectué les modifications avec un nom d'utilisateur et une adresse e-mail. Le nom d'utilisateur peut être ce que vous voulez - il n'est pas nécessaire que ce soit votre vrai nom.", + "desc2": "Votre client Git est déjà configuré avec les détails ci-dessous.", + "desc3": "Vous pouvez modifier ces paramètres ultérieurement sous l'onglet 'Configuration Git' de la boîte de dialogue des paramètres.", + "username": "Nom d'utilisateur", + "email": "Email" + }, + "project-details": { + "create": "Créez votre projet", + "desc0": "Un projet est maintenu en tant que référentiel Git. Il est beaucoup plus facile de partager vos flux et de collaborer avec les autres grâce à ce référentiel.", + "desc1": "Vous pouvez créer plusieurs projets et basculer rapidement entre eux depuis l'éditeur.", + "desc2": "Pour commencer, votre projet a besoin d'un nom et facultativement d'une description.", + "already-exists": "Le projet existe déjà", + "must-contain": "Doit contenir uniquement A-Z 0-9 _ -", + "project-name": "Nom du projet", + "desc": "Description", + "opt": "Facultatif" + }, + "clone-project": { + "clone": "Cloner un projet", + "desc0": "Si vous avez déjà un dépôt git contenant un projet, vous pouvez le cloner pour commencer.", + "already-exists": "Le projet existe déjà", + "must-contain": "Doit contenir uniquement A-Z 0-9 _ -", + "project-name": "Nom du projet", + "no-info-in-url": "Ne pas inclure le nom d'utilisateur/mot de passe dans l'url", + "git-url": "URL du dépôt Git", + "protocols": "https://, ssh:// or file://", + "auth-failed": "L'Authentification a échouée", + "username": "Nom d'utilisateur", + "passwd": "Mot de passe", + "ssh-key": "Clé SSH", + "passphrase": "Phrase de passe", + "ssh-key-desc": "Avant de pouvoir cloner un référentiel avec ssh, vous devez ajouter une clé SSH pour y accéder.", + "ssh-key-add": "Ajouter une clé ssh", + "credential-key": "Clé de chiffrement des identifiants", + "cant-get-ssh-key": "Erreur! Impossible d'obtenir le chemin de clé SSH sélectionné.", + "already-exists2": "existe déjà", + "git-error": "erreur git", + "connection-failed": "La connexion a échoué", + "not-git-repo": "Ce n'est pas un dépôt git", + "repo-not-found": "Référentiel introuvable" + }, + "default-files": { + "create": "Créez vos fichiers de projet", + "desc0": "Un projet contient vos fichiers de flux, un fichier README et un fichier package.json.", + "desc1": "Il peut contenir tous les autres fichiers que vous souhaitez conserver dans le référentiel Git.", + "desc2": "Vos fichiers de flux et identifiants existants seront copiés dans le projet.", + "flow-file": "Fichier de flux", + "credentials-file": "Fichier d'identifiants" + }, + "encryption-config": { + "setup": "Configuration du chiffrage de votre fichier d'informations d'identification", + "desc0": "Votre fichier d'informations d'identification de flux peut être chiffré pour sécuriser son contenu.", + "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.", + "desc2": "Votre fichier d'identifiants de flux n'est actuellement pas chiffré.", + "desc3": "Cela signifie que son contenu, tel que les mots de passe et les jetons d'accès, peut être lu par toute personne ayant accès au fichier..", + "desc4": "Si vous souhaitez stocker ces identifiants dans un référentiel Git public, vous devez les chiffrer en fournissant une phrase clé secrète..", + "desc5": "Votre fichier contenant les identifiants de flux est actuellement chiffré à l'aide de la propriété credentialSecret de votre fichier de paramètres comme clé.", + "desc6": "Votre fichier contenant les identifiants de flux est actuellement chiffré à l'aide d'une clé générée par le système. Vous devez fournir une nouvelle clé secrète pour ce projet.", + "desc7": "La clé sera stockée séparément de vos fichiers de projet. Vous devrez fournir la clé pour utiliser ce projet dans une autre instance de Node-RED.", + "credentials": "Identifiants", + "enable": "Activer le chiffrement", + "disable": "Désactiver le chiffrement", + "disabled": "désactivé", + "copy": "Copier sur la clé existante", + "use-custom": "Utiliser la clé personnalisée", + "desc8": "Le fichier contenant les identifiants ne sera pas crypté et son contenu sera facilement lu", + "create-project-files": "Créer des fichiers de projet", + "create-project": "Créer un projet", + "already-exists": "existe déjà", + "git-error": "erreur git", + "git-auth-error": "erreur d'authentification git" + }, + "create-success": { + "success": "Vous avez créé avec succès votre premier projet !", + "desc0": "Vous pouvez maintenant continuer à utiliser Node-RED comme vous l'avez toujours fait.", + "desc1": "L'onglet 'info' dans la barre latérale vous montre quel est votre projet actif actuel. Le bouton à côté du nom peut être utilisé pour accéder à la vue des paramètres du projet.", + "desc2": "L'onglet 'historique' dans la barre latérale peut être utilisé pour afficher les fichiers qui ont changé dans votre projet et pour les valider. Il vous montre un historique complet de vos commits et vous permet de pousser vos modifications vers un référentiel distant." + }, + "create": { + "projects": "Projets", + "already-exists": "Le projet existe déjà", + "must-contain": "Doit contenir uniquement A-Z 0-9 _ -", + "no-info-in-url": "Ne pas inclure le nom d'utilisateur/mot de passe dans l'url", + "open": "Projet ouvert", + "create": "Créer un projet", + "clone": "Cloner un référentiel", + "project-name": "Nom du projet", + "desc": "Description", + "opt": "Facultatif", + "flow-file": "Fichier de flux", + "credentials": "Identifiants", + "enable-encryption": "Activer le chiffrement", + "disable-encryption": "Désactiver le chiffrement", + "encryption-key": "Clé de chiffrement", + "desc0": "Une phrase pour sécuriser vos identifiants avec", + "desc1": "Le fichier contenant les identifiants ne sera pas crypté et son contenu sera facilement lu", + "git-url": "URL du dépôt Git", + "protocols": "https://, ssh:// or file://", + "auth-failed": "L'authentification a échouée", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "ssh-key": "Clé SSH", + "passphrase": "Phrase de passe", + "desc2": "Avant de pouvoir cloner un référentiel sur ssh, vous devez ajouter une clé SSH pour y accéder.", + "add-ssh-key": "Ajouter une clé ssh", + "credentials-encryption-key": "Clé de chiffrement des identifiants", + "already-exists-2": "existe déjà", + "git-error": "erreur git", + "con-failed": "La connexion a échoué", + "not-git": "Ce n'est pas un dépôt git", + "no-resource": "Référentiel introuvable", + "cant-get-ssh-key-path": "Erreur! Impossible d'obtenir le chemin de clé SSH sélectionné.", + "unexpected_error": "erreur inattendue", + "clearContext": "Effacer le contexte lors du changement de projet" + }, + "delete": { + "confirm": "Voulez-vous vraiment supprimer ce projet ?" + }, + "create-project-list": { + "search": "rechercher vos projets", + "current": "actuel" + }, + "require-clean": { + "confirm": "

Vous avez des modifications non déployées qui seront perdues.

Voulez-vous continuer?

" + }, + "send-req": { + "auth-req": "Authentification requise pour le référentiel", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "passphrase": "Phrase de passe", + "retry": "Recommencer", + "update-failed": "La mise à jour a échouée", + "unhandled": "Réponse d'erreur non gérée", + "host-key-verify-failed": "

La vérification de la clé d'hôte a échoué.

La clé d'hôte du référentiel n'a pas pu être vérifiée. Veuillez mettre à jour votre fichier known_hosts et réessayer.

" + }, + "create-branch-list": { + "invalid": "Branche invalide", + "create": "Créer une branche", + "current": "actuel" + }, + "create-default-file-set": { + "no-active": "Impossible de créer un ensemble de fichiers par défaut sans projet actif", + "no-empty": "Impossible de créer un ensemble de fichiers par défaut sur un projet non vide", + "git-error": "erreur git" + }, + "errors": { + "no-username-email": "Votre client Git n'est pas configuré avec un nom d'utilisateur/e-mail.", + "unexpected": "une erreur inattendue est apparue", + "code": "code" + } + }, + "editor-tab": { + "properties": "Propriétés", + "envProperties": "Variables d'environnement", + "module": "Propriétés des modules", + "description": "Description", + "appearance": "Apparance", + "preview": "Aperçu de l'interface utilisateur", + "defaultValue": "Valeur par défaut" + }, + "tourGuide": { + "takeATour": "Faire un tour", + "start": "Commencé", + "next": "Suivant", + "welcomeTours": "Visite de bienvenue" + }, + "diagnostics": { + "title": "Information système" + }, + "languages": { + "de": "Allemand", + "en-US": "Anglais", + "fr": "Français", + "ja": "Japonais", + "ko": "Korean", + "ru": "Russe", + "zh-CN": "Chinois (Simplifié)", + "zh-TW": "Chinois (Traditionnel)" + }, + "validator": { + "errors": { + "invalid-json": "Données JSON invalides : __error__", + "invalid-json-prop": "__prop__: données JSON invalides : __error__", + "invalid-prop": "Expression de propriété non valide", + "invalid-prop-prop": "__prop__: expression de propriété invalide", + "invalid-num": "Numéro invalide", + "invalid-num-prop": "__prop__: numéro invalide", + "invalid-regexp": "Modèle d'entrée non valide", + "invalid-regex-prop": "__prop__: modèle d'entrée non valide", + "missing-required-prop": "__prop__: valeur de la propriété manquante", + "invalid-config": "__prop__: noeud de configuration invalide", + "missing-config": "__prop__: noeud de configuration manquant", + "validation-error": "__prop__: erreur de validation: __node__, __id__: __error__" + } + }, + "contextMenu": { + "insert": "Insérer", + "node": "Noeud", + "junction": "Jonction", + "linkNodes": "Liens entre les noeuds" + } +} \ No newline at end of file diff --git a/packages/node_modules/@node-red/editor-client/locales/fr/infotips.json b/packages/node_modules/@node-red/editor-client/locales/fr/infotips.json new file mode 100755 index 000000000..9d7b54451 --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/locales/fr/infotips.json @@ -0,0 +1,23 @@ +{ + "info": { + "tip0": "Vous pouvez supprimer les noeuds ou les liens sélectionnés avec {{core:delete-selection}}", + "tip1": "Rechercher des noeuds à l'aide de {{core:search}}", + "tip2": "{{core:toggle-sidebar}} basculera l'affichage de cette barre latérale", + "tip3": "Vous pouvez gérer votre palette de noeuds avec {{core:manage-palette}}", + "tip4": "Vos noeuds de configuration de flux sont répertoriés dans le panneau de la barre latérale. Ils sont accessibles depuis le menu ou avec {{core:show-config-tab}}", + "tip5": "Activez ou désactivez ces conseils à partir de l'option dans les paramètres", + "tip6": "Déplacez les noeuds sélectionnés à l'aide des touches [gauche] [haut] [bas] et [droite]. Maintenez [shift] pour les pousser plus loin", + "tip7": "Faire glisser un noeud sur un fil le raccordera au lien", + "tip8": "Exporter les noeuds sélectionnés, ou l'onglet actuel avec {{core:show-export-dialog}}", + "tip9": "Importez un flux en faisant glisser son JSON dans l'éditeur, ou avec {{core:show-import-dialog}}", + "tip10": "[majuscule] [clic] et faites glisser sur un port de noeud pour déplacer tous les fils attachés ou seulement celui sélectionné", + "tip11": "Affichez l'onglet Infos avec {{core:show-info-tab}} ou l'onglet Débogage avec {{core:show-debug-tab}}", + "tip12": "[ctrl] [clic] dans l'espace de travail pour ouvrir la boîte de dialogue d'ajout rapide", + "tip13": "Maintenez [ctrl] enfoncé lorsque vous [cliquez] sur un port de noeud pour activer le câblage rapide", + "tip14": "Maintenez [shift] enfoncé lorsque vous [cliquez] sur un noeud pour sélectionner également tous ses noeuds connectés", + "tip15": "Maintenez [ctrl] enfoncé lorsque vous [cliquez] sur un noeud pour l'ajouter ou le supprimer de la sélection actuelle", + "tip16": "Changez d'onglet de flux avec {{core:show-previous-tab}} et {{core:show-next-tab}}", + "tip17": "Vous pouvez confirmer vos modifications dans le panneau d'édition du noeud avec {{core:confirm-edit-tray}} ou les annuler avec {{core:cancel-edit-tray}}", + "tip18": "Appuyer sur {{core:edit-selected-node}} modifiera le premier noeud de la sélection actuelle" + } +} \ No newline at end of file diff --git a/packages/node_modules/@node-red/editor-client/locales/fr/jsonata.json b/packages/node_modules/@node-red/editor-client/locales/fr/jsonata.json new file mode 100755 index 000000000..b24a898b7 --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/locales/fr/jsonata.json @@ -0,0 +1,274 @@ +{ + "$string": { + "args": "arg[, prettify]", + "desc": "Casts the `arg` parameter to a string using the following casting rules:\n\n - Strings are unchanged\n - Functions are converted to an empty string\n - Numeric infinity and NaN throw an error because they cannot be represented as a JSON number\n - All other values are converted to a JSON string using the `JSON.stringify` function. If `prettify` is true, then \"prettified\" JSON is produced. i.e One line per field and lines will be indented based on the field depth." + }, + "$length": { + "args": "str", + "desc": "Returns the number of characters in the string `str`. An error is thrown if `str` is not a string." + }, + "$substring": { + "args": "str, start[, length]", + "desc": "Returns a string containing the characters in the first parameter `str` starting at position `start` (zero-offset). If `length` is specified, then the substring will contain maximum `length` characters. If `start` is negative then it indicates the number of characters from the end of `str`." + }, + "$substringBefore": { + "args": "str, chars", + "desc": "Returns the substring before the first occurrence of the character sequence `chars` in `str`. If `str` does not contain `chars`, then it returns `str`." + }, + "$substringAfter": { + "args": "str, chars", + "desc": "Returns the substring after the first occurrence of the character sequence `chars` in `str`. If `str` does not contain `chars`, then it returns `str`." + }, + "$uppercase": { + "args": "str", + "desc": "Returns a string with all the characters of `str` converted to uppercase." + }, + "$lowercase": { + "args": "str", + "desc": "Returns a string with all the characters of `str` converted to lowercase." + }, + "$trim": { + "args": "str", + "desc": "Normalizes and trims all whitespace characters in `str` by applying the following steps:\n\n - All tabs, carriage returns, and line feeds are replaced with spaces.\n- Contiguous sequences of spaces are reduced to a single space.\n- Trailing and leading spaces are removed.\n\n If `str` is not specified (i.e. this function is invoked with no arguments), then the context value is used as the value of `str`. An error is thrown if `str` is not a string." + }, + "$contains": { + "args": "str, pattern", + "desc": "Returns `true` if `str` is matched by `pattern`, otherwise it returns `false`. If `str` is not specified (i.e. this function is invoked with one argument), then the context value is used as the value of `str`. The `pattern` parameter can either be a string or a regular expression." + }, + "$split": { + "args": "str[, separator][, limit]", + "desc": "Splits the `str` parameter into an array of substrings. It is an error if `str` is not a string. The optional `separator` parameter specifies the characters within the `str` about which it should be split as either a string or regular expression. If `separator` is not specified, then the empty string is assumed, and `str` will be split into an array of single characters. It is an error if `separator` is not a string. The optional `limit` parameter is a number that specifies the maximum number of substrings to include in the resultant array. Any additional substrings are discarded. If `limit` is not specified, then `str` is fully split with no limit to the size of the resultant array. It is an error if `limit` is not a non-negative number." + }, + "$join": { + "args": "array[, separator]", + "desc": "Joins an array of component strings into a single concatenated string with each component string separated by the optional `separator` parameter. It is an error if the input `array` contains an item which isn't a string. If `separator` is not specified, then it is assumed to be the empty string, i.e. no `separator` between the component strings. It is an error if `separator` is not a string." + }, + "$match": { + "args": "str, pattern [, limit]", + "desc": "Applies the `str` string to the `pattern` regular expression and returns an array of objects, with each object containing information about each occurrence of a match within `str`." + }, + "$replace": { + "args": "str, pattern, replacement [, limit]", + "desc": "Finds occurrences of `pattern` within `str` and replaces them with `replacement`.\n\nThe optional `limit` parameter is the maximum number of replacements." + }, + "$now": { + "args": "$[picture [, timezone]]", + "desc": "Generates a timestamp in ISO 8601 compatible format and returns it as a string. If the optional picture and timezone parameters are supplied, then the current timestamp is formatted as described by the `$fromMillis()` function" + }, + "$base64encode": { + "args": "string", + "desc": "Converts an ASCII string to a base 64 representation. Each character in the string is treated as a byte of binary data. This requires that all characters in the string are in the 0x00 to 0xFF range, which includes all characters in URI encoded strings. Unicode characters outside of that range are not supported." + }, + "$base64decode": { + "args": "string", + "desc": "Converts base 64 encoded bytes to a string, using a UTF-8 Unicode codepage." + }, + "$number": { + "args": "arg", + "desc": "Casts the `arg` parameter to a number using the following casting rules:\n\n - Numbers are unchanged\n - Strings that contain a sequence of characters that represent a legal JSON number are converted to that number\n - All other values cause an error to be thrown." + }, + "$abs": { + "args": "number", + "desc": "Returns the absolute value of the `number` parameter." + }, + "$floor": { + "args": "number", + "desc": "Returns the value of `number` rounded down to the nearest integer that is smaller or equal to `number`." + }, + "$ceil": { + "args": "number", + "desc": "Returns the value of `number` rounded up to the nearest integer that is greater than or equal to `number`." + }, + "$round": { + "args": "number [, precision]", + "desc": "Returns the value of the `number` parameter rounded to the number of decimal places specified by the optional `precision` parameter." + }, + "$power": { + "args": "base, exponent", + "desc": "Returns the value of `base` raised to the power of `exponent`." + }, + "$sqrt": { + "args": "number", + "desc": "Returns the square root of the value of the `number` parameter." + }, + "$random": { + "args": "", + "desc": "Returns a pseudo random number greater than or equal to zero and less than one." + }, + "$millis": { + "args": "", + "desc": "Returns the number of milliseconds since the Unix Epoch (1 January, 1970 UTC) as a number. All invocations of `$millis()` within an evaluation of an expression will all return the same value." + }, + "$sum": { + "args": "array", + "desc": "Returns the arithmetic sum of an `array` of numbers. It is an error if the input `array` contains an item which isn't a number." + }, + "$max": { + "args": "array", + "desc": "Returns the maximum number in an `array` of numbers. It is an error if the input `array` contains an item which isn't a number." + }, + "$min": { + "args": "array", + "desc": "Returns the minimum number in an `array` of numbers. It is an error if the input `array` contains an item which isn't a number." + }, + "$average": { + "args": "array", + "desc": "Returns the mean value of an `array` of numbers. It is an error if the input `array` contains an item which isn't a number." + }, + "$boolean": { + "args": "arg", + "desc": "Casts the argument to a Boolean using the following rules:\n\n - `Boolean` : unchanged\n - `string`: empty : `false`\n - `string`: non-empty : `true`\n - `number`: `0` : `false`\n - `number`: non-zero : `true`\n - `null` : `false`\n - `array`: empty : `false`\n - `array`: contains a member that casts to `true` : `true`\n - `array`: all members cast to `false` : `false`\n - `object`: empty : `false`\n - `object`: non-empty : `true`\n - `function` : `false`" + }, + "$not": { + "args": "arg", + "desc": "Returns Boolean NOT on the argument. `arg` is first cast to a boolean" + }, + "$exists": { + "args": "arg", + "desc": "Returns Boolean `true` if the `arg` expression evaluates to a value, or `false` if the expression does not match anything (e.g. a path to a non-existent field reference)." + }, + "$count": { + "args": "array", + "desc": "Returns the number of items in the array" + }, + "$append": { + "args": "array, array", + "desc": "Appends two arrays" + }, + "$sort": { + "args": "array [, function]", + "desc": "Returns an array containing all the values in the `array` parameter, but sorted into order.\n\nIf a comparator `function` is supplied, then it must be a function that takes two parameters:\n\n`function(left, right)`\n\nThis function gets invoked by the sorting algorithm to compare two values left and right. If the value of left should be placed after the value of right in the desired sort order, then the function must return Boolean `true` to indicate a swap. Otherwise it must return `false`." + }, + "$reverse": { + "args": "array", + "desc": "Returns an array containing all the values from the `array` parameter, but in reverse order." + }, + "$shuffle": { + "args": "array", + "desc": "Returns an array containing all the values from the `array` parameter, but shuffled into random order." + }, + "$zip": { + "args": "array, ...", + "desc": "Returns a convolved (zipped) array containing grouped arrays of values from the `array1` … `arrayN` arguments from index 0, 1, 2...." + }, + "$keys": { + "args": "object", + "desc": "Returns an array containing the keys in the object. If the argument is an array of objects, then the array returned contains a de-duplicated list of all the keys in all of the objects." + }, + "$lookup": { + "args": "object, key", + "desc": "Returns the value associated with key in object. If the first argument is an array of objects, then all of the objects in the array are searched, and the values associated with all occurrences of key are returned." + }, + "$spread": { + "args": "object", + "desc": "Splits an object containing key/value pairs into an array of objects, each of which has a single key/value pair from the input object. If the parameter is an array of objects, then the resultant array contains an object for every key/value pair in every object in the supplied array." + }, + "$merge": { + "args": "array<object>", + "desc": "Merges an array of `objects` into a single `object` containing all the key/value pairs from each of the objects in the input array. If any of the input objects contain the same key, then the returned `object` will contain the value of the last one in the array. It is an error if the input array contains an item that is not an object." + }, + "$sift": { + "args": "object, function", + "desc": "Returns an object that contains only the key/value pairs from the `object` parameter that satisfy the predicate `function` passed in as the second parameter.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, key [, object]])`" + }, + "$each": { + "args": "object, function", + "desc": "Returns an array containing the values return by the `function` when applied to each key/value pair in the `object`." + }, + "$map": { + "args": "array, function", + "desc": "Returns an array containing the results of applying the `function` parameter to each value in the `array` parameter.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, index [, array]])`" + }, + "$filter": { + "args": "array, function", + "desc": "Returns an array containing only the values in the `array` parameter that satisfy the `function` predicate.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, index [, array]])`" + }, + "$reduce": { + "args": "array, function [, init]", + "desc": "Returns an aggregated value derived from applying the `function` parameter successively to each value in `array` in combination with the result of the previous application of the function.\n\nThe function must accept two arguments, and behaves like an infix operator between each value within the `array`. The signature of `function` must be of the form: `myfunc($accumulator, $value[, $index[, $array]])`\n\nThe optional `init` parameter is used as the initial value in the aggregation." + }, + "$flowContext": { + "args": "string[, string]", + "desc": "Retrieves a flow context property.\n\nThis is a Node-RED defined function." + }, + "$globalContext": { + "args": "string[, string]", + "desc": "Retrieves a global context property.\n\nThis is a Node-RED defined function." + }, + "$pad": { + "args": "string, width [, char]", + "desc": "Returns a copy of the `string` with extra padding, if necessary, so that its total number of characters is at least the absolute value of the `width` parameter.\n\nIf `width` is a positive number, then the string is padded to the right; if negative, it is padded to the left.\n\nThe optional `char` argument specifies the padding character(s) to use. If not specified, it defaults to the space character." + }, + "$fromMillis": { + "args": "number, [, picture [, timezone]]", + "desc": "Convert the `number` representing milliseconds since the Unix Epoch (1 January, 1970 UTC) to a formatted string representation of the timestamp as specified by the picture string.\n\nIf the optional `picture` parameter is omitted, then the timestamp is formatted in the ISO 8601 format.\n\nIf the optional `picture` string is supplied, then the timestamp is formatted occording to the representation specified in that string. The behaviour of this function is consistent with the two-argument version of the XPath/XQuery function `format-dateTime` as defined in the XPath F&O 3.1 specification. The picture string parameter defines how the timestamp is formatted and has the same syntax as `format-dateTime`.\n\nIf the optional `timezone` string is supplied, then the formatted timestamp will be in that timezone. The `timezone` string should be in the format '±HHMM', where ± is either the plus or minus sign and HHMM is the offset in hours and minutes from UTC. Positive offset for timezones east of UTC, negative offset for timezones west of UTC." + }, + "$formatNumber": { + "args": "number, picture [, options]", + "desc": "Casts the `number` to a string and formats it to a decimal representation as specified by the `picture` string.\n\n The behaviour of this function is consistent with the XPath/XQuery function fn:format-number as defined in the XPath F&O 3.1 specification. The picture string parameter defines how the number is formatted and has the same syntax as fn:format-number.\n\nThe optional third argument `options` is used to override the default locale specific formatting characters such as the decimal separator. If supplied, this argument must be an object containing name/value pairs specified in the decimal format section of the XPath F&O 3.1 specification." + }, + "$formatBase": { + "args": "number [, radix]", + "desc": "Casts the `number` to a string and formats it to an integer represented in the number base specified by the `radix` argument. If `radix` is not specified, then it defaults to base 10. `radix` can be between 2 and 36, otherwise an error is thrown." + }, + "$toMillis": { + "args": "timestamp", + "desc": "Convert a `timestamp` string in the ISO 8601 format to the number of milliseconds since the Unix Epoch (1 January, 1970 UTC) as a number. An error is thrown if the string is not in the correct format." + }, + "$env": { + "args": "arg", + "desc": "Returns the value of an environment variable.\n\nThis is a Node-RED defined function." + }, + "$eval": { + "args": "expr [, context]", + "desc": "Parses and evaluates the string `expr` which contains literal JSON or a JSONata expression using the current context as the context for evaluation." + }, + "$formatInteger": { + "args": "number, picture", + "desc": "Casts the `number` to a string and formats it to an integer representation as specified by the `picture` string. The picture string parameter defines how the number is formatted and has the same syntax as `fn:format-integer` from the XPath F&O 3.1 specification." + }, + "$parseInteger": { + "args": "string, picture", + "desc": "Parses the contents of the `string` parameter to an integer (as a JSON number) using the format specified by the `picture` string. The `picture` string parameter has the same format as `$formatInteger`." + }, + "$error": { + "args": "[str]", + "desc": "Throws an error with a message. The optional `str` will replace the default message of `$error() function evaluated`" + }, + "$assert": { + "args": "arg, str", + "desc": "If `arg` is true the function returns undefined. If `arg` is false an exception is thrown with `str` as the message of the exception." + }, + "$single": { + "args": "array, function", + "desc": "Returns the one and only value in the `array` parameter that satisfies the `function` predicate (i.e. the `function` returns Boolean `true` when passed the value). Throws an exception if the number of matching values is not exactly one.\n\nThe function should be supplied in the following signature: `function(value [, index [, array]])` where value is each input of the array, index is the position of that value and the whole array is passed as the third argument" + }, + "$encodeUrlComponent": { + "args": "str", + "desc": "Encodes a Uniform Resource Locator (URL) component by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character.\n\nExample: `$encodeUrlComponent(\"?x=test\")` => `\"%3Fx%3Dtest\"`" + }, + "$encodeUrl": { + "args": "str", + "desc": "Encodes a Uniform Resource Locator (URL) by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character. \n\nExample: `$encodeUrl(\"https://mozilla.org/?x=шеллы\")` => `\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\"`" + }, + "$decodeUrlComponent": { + "args": "str", + "desc": "Decodes a Uniform Resource Locator (URL) component previously created by encodeUrlComponent. \n\nExample: `$decodeUrlComponent(\"%3Fx%3Dtest\")` => `\"?x=test\"`" + }, + "$decodeUrl": { + "args": "str", + "desc": "Decodes a Uniform Resource Locator (URL) previously created by encodeUrl. \n\nExample: `$decodeUrl(\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\")` => `\"https://mozilla.org/?x=шеллы\"`" + }, + "$distinct": { + "args": "array", + "desc": "Returns an array with duplicate values removed from `array`" + }, + "$type": { + "args": "value", + "desc": "Returns the type of `value` as a string. If `value` is undefined, this will return `undefined`" + }, + "$moment": { + "args": "[str]", + "desc": "Gets a date object using the Moment library." + } +}