{
  "@nocobase/client": {
    "(Fields only)": "(Champs uniquement)",
    "12 hour": "12 heures",
    "24 hour": "24 heures",
    "<": "<",
    "=": "=",
    ">": ">",
    "ACL": "ACL",
    "ASC": "ASC",
    "Access": "Accès",
    "Access control": "Access control",
    "Accessible": "Accessible",
    "Accuracy": "Accuracy",
    "Action": "Action",
    "Action after successful submission": "Action after successful submission",
    "Action column": "Colonne d'action",
    "Action display name": "Nom d'affichage de l'action",
    "Action logs": "Logs d'action",
    "Action name": "Nom de l'action",
    "Action on existing records": "Action sur les enregistrements existants",
    "Action on new records": "Action sur les nouveaux enregistrements",
    "Action permission": "Permission d'action",
    "Action permissions": "Permissions d'action",
    "Action scope": "Portée de l'action",
    "Action type": "Type d'action",
    "Actions": "Actions",
    "Add": "Ajouter",
    "Add & Update": "Add & Update",
    "Add Markdown": "Add Markdown",
    "Add attach": "Ajouter une pièce jointe",
    "Add block": "Ajouter un bloc",
    "Add card": "Ajouter une carte",
    "Add category": "Ajouter une catégorie",
    "Add child": "Ajouter un enfant",
    "Add child route": "Ajouter une route enfant",
    "Add condition": "Ajouter une condition",
    "Add condition group": "Ajouter un groupe de conditions",
    "Add exportable field": "Ajouter un champ exportable",
    "Add field": "Ajouter un champ",
    "Add filter": "Ajouter un filtre",
    "Add filter group": "Ajouter un groupe de filtres",
    "Add group": "Ajouter un groupe",
    "Add link": "Ajouter un lien",
    "Add linkage rule": "Ajouter une règle de liaison",
    "Add menu item": "Ajouter un élément de menu",
    "Add new": "Ajouter nouveau",
    "Add new mode": "Mode d'ajout",
    "Add option": "Ajouter une option",
    "Add page": "Ajouter une page",
    "Add parameter": "Add parameter",
    "Add plugin": "Add plugin",
    "Add property": "Ajouter une propriété",
    "Add record": "Ajouter un enregistrement",
    "Add role": "Ajouter un rôle",
    "Add rule": "Add rule",
    "Add sort field": "Ajouter un champ de tri",
    "Add tab": "Ajouter un onglet",
    "Add template": "Add template",
    "Add text": "Ajouter du texte",
    "Add type": "Ajouter un type",
    "Add validation rule": "Ajouter une règle de validation",
    "Add {{type}} after \"{{title}}\"": "Ajouter {{type}} après \"{{title}}\"",
    "Add {{type}} before \"{{title}}\"": "Ajouter {{type}} avant \"{{title}}\"",
    "Add {{type}} in \"{{title}}\"": "Ajouter {{type}} dans \"{{title}}\"",
    "Advanced type": "Type avancé",
    "After": "Après",
    "After change": "Après modification",
    "After clicking the custom button, the following field values will be assigned according to the following form.": "Après avoir cliqué sur le bouton personnalisé, les valeurs de champ suivantes seront attribuées selon le formulaire suivant.",
    "After clicking the custom button, the following fields of the current record will be saved according to the following form.": "Après avoir cliqué sur le bouton personnalisé, les champs suivants de l'enregistrement actuel seront sauvegardés selon le formulaire suivant.",
    "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "Après avoir masqué, ce menu ne sera plus affiché dans la barre de menu. Pour le réafficher, vous devez aller à la page de gestion des routes pour le configurer.",
    "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "Après avoir masqué, cette tab ne sera plus affichée dans la barre de tab. Pour la montrer à nouveau, vous devez vous rendre sur la page de gestion des routes pour la configurer.",
    "After successful bulk update": "Après une mise à jour en masse réussie",
    "After successful request": "Après une requête réussie",
    "After successful save": "Après un enregistrement réussie",
    "After successful submission": "Après un envoi réussi",
    "After successful submission, the selected data blocks will be automatically refreshed.": "Après une soumission réussie, les blocs de données sélectionnés seront automatiquement actualisés.",
    "After successful update": "Après une mise à jour réussie",
    "Agenda": "Agenda",
    "All": "Tous",
    "All collections": "Toutes les collections",
    "All collections use general action permissions by default; permission configured individually will override the default one.": "Toutes les collections utilisent les permissions d'action générales par défaut ; les permissions configurées individuellement remplaceront celles par défaut.",
    "All events": "Tous les événements",
    "All plugin settings": "Tous les paramètres de plugin",
    "All records": "Tous les enregistrements",
    "Allow": "Autoriser",
    "Allow access": "Autoriser l'accès",
    "Allow action": "Autoriser l'action",
    "Allow add new": "Autoriser les ajouts",
    "Allow add new data": "Autoriser l'ajout de nouvelles données",
    "Allow add new, update and delete actions": "Autoriser les actions d'ajout, de mise à jour et de suppression",
    "Allow adding records to the current collection": "Autoriser l'ajout d'enregistrements à la collection actuelle",
    "Allow disassociation": "Allow disassociation",
    "Allow dissociate": "Allow dissociate",
    "Allow linking to multiple records": "Autoriser la liaison à plusieurs enregistrements",
    "Allow list": "Allow list",
    "Allow multiple": "Autoriser plusieurs",
    "Allow multiple selection": "Permettre la sélection multiple",
    "Allow relative URIs": "Allow relative URIs",
    "Allow selection of existing records": "Permet de sélectionner des données existantes",
    "Allow sign up": "Autoriser l'inscription",
    "Allow to configure plugins": "Autoriser la configuration des plugins",
    "Allow to desgin pages": "Autoriser la conception des pages",
    "Allow to manage plugins": "Autoriser la gestion des plugins",
    "Allow uploading multiple files": "Autoriser le téléchargement de plusieurs fichiers",
    "Allows configuration of the whole system, including UI, collections, permissions, etc.": "Permet de configurer l'ensemble du système, y compris l'interface utilisateur, les collections, les permissions, etc.",
    "Allows to clear cache, reboot application": "Allows to clear cache, reboot application",
    "Allows to configure interface": "Permet de configurer l'interface",
    "Allows to configure plugins": "Permet de configurer des plugins",
    "Allows to install, activate, disable plugins": "Permet d'installer, d'activer, de désactiver des plugins",
    "Allows unencoded square brackets inside the query string": "Allows unencoded square brackets inside the query string",
    "Alphabet": "Alphabet",
    "App error": "App error",
    "Application reloading": "Application reloading",
    "Are you sure to delete this plugin?": "Êtes-vous sûr de vouloir supprimer ce plugin ?",
    "Are you sure to disable this plugin?": "Are you sure to disable this plugin?",
    "Are you sure you don't want to save?": "Êtes-vous sûr de ne pas vouloir enregistrer ?",
    "Are you sure you want to clear cache ?": "Are you sure you want to clear cache ?",
    "Are you sure you want to delete it?": "Êtes-vous sûr de vouloir le supprimer ?",
    "Are you sure you want to disassociate it?": "Êtes-vous sûr de vouloir le dissocier ?",
    "Are you sure you want to hide these routes in menu?": "Êtes-vous sûr de vouloir masquer ces routes dans le menu ?",
    "Are you sure you want to hide this menu?": "Êtes-vous sûr de vouloir masquer ce menu ?",
    "Are you sure you want to hide this tab?": "Êtes-vous sûr de vouloir masquer cet onglet ?",
    "Are you sure you want to perform the Custom request action": "Are you sure you want to perform the Custom request action",
    "Are you sure you want to perform the Refresh action?": "Are you sure you want to perform the Refresh action?",
    "Are you sure you want to perform the Submit action?": "Are you sure you want to perform the Submit action?",
    "Are you sure you want to perform the Trigger workflow action?": "Are you sure you want to perform the Trigger workflow action?",
    "Are you sure you want to perform the Update record action?": "Are you sure you want to perform the Update record action?",
    "Are you sure you want to perform the {{title}} action?": "Are you sure you want to perform the {{title}} action?",
    "Are you sure you want to show these routes in menu?": "Êtes-vous sûr de vouloir afficher ces routes dans le menu ?",
    "Area": "Région",
    "Area chart": "Graphique en aires",
    "Assign  data scope for the template": "Assign  data scope for the template",
    "Assign field values": "Attribuer des valeurs de champ",
    "Associate": "Associate",
    "Associated records": "Enregistrements associés",
    "Association fields": "Champs d'association",
    "Association fields filter": "Filtre des champs d'association",
    "Attempts to encode the URI using encodeURI before validating it again": "Attempts to encode the URI using encodeURI before validating it again",
    "Audit logs": "Journaux d'audit",
    "Authentication": "Authentication",
    "Author": "Auteur",
    "Auto": "Auto",
    "Auto focus": "Auto focus",
    "Auto increment": "Auto increment",
    "AutoGenId": "Champ d'ID généré automatiquement",
    "Automatic close": "Fermeture automatique",
    "Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects": "Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects",
    "Automatically generate default values": "Automatically generate default values",
    "Automatically remove heading and tailing spaces": "Automatically remove heading and tailing spaces",
    "Automatically update timestamp on update": "Automatically update timestamp on update",
    "Automatically update timestamp to the current server time on update": "Automatically update timestamp to the current server time on update",
    "Background Color": "Background Color",
    "Bar chart": "Graphique à barres",
    "Base": "Base",
    "Basic": "Basique",
    "Before": "Avant",
    "Before change": "Avant modification",
    "Blank block": "Bloc vierge",
    "Block": "Block",
    "Block Linkage rules": "Block Linkage rules",
    "Block template": "Modèle de bloc",
    "Block templates": "Modèles de bloc",
    "Block title": "Titre du bloc",
    "Block type": "Type de bloc",
    "Blocks": "Blocks",
    "Blue": "Bleu",
    "Bookmark": "Signet",
    "Boolean": "Boolean",
    "Built-in": "Intégré",
    "Bulk edit": "Édition en masse",
    "Bulk enable": "Bulk enable",
    "Bulk update": "Mise à jour en masse",
    "Button background color": "Couleur d'arrière-plan du bouton",
    "Button icon": "Icône du bouton",
    "Button title": "Titre du bouton",
    "Calculation engine": "Calculation engine",
    "Calendar": "Calendrier",
    "Calendar Month": "Calendar Month",
    "Calendar Year": "Calendar Year",
    "Calendar collection": "Collection de calendrier",
    "Calendar week": "Calendar week",
    "Cancel": "Annuler",
    "Cascade Select": "Cascade Select",
    "Categories": "Catégories",
    "Category name": "Nom de la catégorie",
    "Center": "Center",
    "Change password": "Changer de mot de passe",
    "Changed to": "Modifié en",
    "Changelog": "Journal des modifications",
    "Chart blocks": "Blocs de graphique",
    "Chart config": "Configuration du graphique",
    "Chart title": "Titre du graphique",
    "Chart type": "Type de graphique",
    "Checkbox": "Case à cocher",
    "Checkbox group": "Groupe de cases à cocher",
    "Children": "Children",
    "China region": "Région de Chine",
    "Choices": "Choix",
    "Choices fields": "Champs de choix",
    "City": "Ville",
    "Clear": "Effacer",
    "Clear cache": "Clear cache",
    "Clear default value": "Effacer la valeur par défaut",
    "Click or drag file to this area to upload": "Click or drag file to this area to upload",
    "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Cliquez sur l'icône \"Éditeur d'interface utilisateur\" dans le coin supérieur droit pour entrer en mode Éditeur d'interface utilisateur",
    "Close": "Fermer",
    "Collapse": "Pliable",
    "Collapse all": "Réduire tout",
    "Collection": "Collection",
    "Collection category": "Catégorie de collection",
    "Collection display name": "Nom d'affichage de la collection",
    "Collection fields": "Collection fields",
    "Collection manager": "Gestionnaire de collection",
    "Collection name": "Nom de la collection",
    "Collection selector": "Collection selector",
    "Collection template": "Modèle de collection",
    "Collections": "Collections",
    "Collections & Fields": "Collections et champs",
    "Colon": "Colon",
    "Color": "Couleur",
    "Column": "Colonne",
    "Column Settings": "Paramètres de colonne",
    "Column chart": "Graphique en colonnes",
    "Column title": "Titre de colonne",
    "Column width": "Largeur de colonne",
    "Coming soon...": "Bientôt...",
    "Compact theme": "Compact theme",
    "Comparision": "Comparaison",
    "Compressed file url": "URL du fichier compressé",
    "Condition": "Condition",
    "Configure": "Configurer",
    "Configure actions": "Configurer les actions",
    "Configure calendar": "Configurer le calendrier",
    "Configure columns": "Configurer les colonnes",
    "Configure field": "Configure field",
    "Configure fields": "Configurer les champs",
    "Configure fields of {{title}}": "Configurer les champs de {{title}}",
    "Configure permission": "Configurer la permission",
    "Configure permissions": "Configurer les permissions",
    "Confirm": "Confirm",
    "Confirm password": "Confirmer le mot de passe",
    "Connect data blocks": "Connecter les blocs de données",
    "Connect to database view": "Connexion à la vue de la base de données",
    "Constant": "Constant",
    "Constant value": "Valeur constante",
    "Contain": "Contenir",
    "Content": "Content",
    "Controls whether the current document is allowed to autoplay media requested through the HTMLMediaElement interface. When this policy is disabled and there were no user gestures, the Promise returned by HTMLMediaElement.play() will reject with a NotAllowedError DOMException. The autoplay attribute on <audio> and <video> elements will be ignored.": "Controls whether the current document is allowed to autoplay media requested through the HTMLMediaElement interface. When this policy is disabled and there were no user gestures, the Promise returned by HTMLMediaElement.play() will reject with a NotAllowedError DOMException. The autoplay attribute on <audio> and <video> elements will be ignored.",
    "Controls whether the current document is allowed to set document.domain. When this policy is disabled, attempting to set document.domain will fail and cause a SecurityError DOMException to be thrown.": "Controls whether the current document is allowed to set document.domain. When this policy is disabled, attempting to set document.domain will fail and cause a SecurityError DOMException to be thrown.",
    "Controls whether the current document is allowed to use Element.requestFullscreen(). When this policy is disabled, the returned Promise rejects with a TypeError.": "Controls whether the current document is allowed to use Element.requestFullscreen(). When this policy is disabled, the returned Promise rejects with a TypeError.",
    "Controls whether the current document is allowed to use audio input devices. When this policy is disabled, the Promise returned by MediaDevices.getUserMedia() will reject with a NotAllowedError DOMException.": "Controls whether the current document is allowed to use audio input devices. When this policy is disabled, the Promise returned by MediaDevices.getUserMedia() will reject with a NotAllowedError DOMException.",
    "Controls whether the current document is allowed to use the Encrypted Media Extensions API (EME). When this policy is disabled, the Promise returned by Navigator.requestMediaKeySystemAccess() will reject with a SecurityError DOMException.": "Controls whether the current document is allowed to use the Encrypted Media Extensions API (EME). When this policy is disabled, the Promise returned by Navigator.requestMediaKeySystemAccess() will reject with a SecurityError DOMException.",
    "Controls whether the current document is allowed to use the Geolocation Interface. When this policy is disabled, calls to getCurrentPosition() and watchPosition() will cause those functions callbacks to be invoked with a GeolocationPositionError code of PERMISSION_DENIED.": "Controls whether the current document is allowed to use the Geolocation Interface. When this policy is disabled, calls to getCurrentPosition() and watchPosition() will cause those functions callbacks to be invoked with a GeolocationPositionError code of PERMISSION_DENIED.",
    "Controls whether the current document is allowed to use the Payment Request API. When this policy is enabled, the PaymentRequest() constructor will throw a SecurityError DOMException.": "Controls whether the current document is allowed to use the Payment Request API. When this policy is enabled, the PaymentRequest() constructor will throw a SecurityError DOMException.",
    "Controls whether the current document is allowed to use the Web MIDI API. When this policy is disabled, the Promise returned by Navigator.requestMIDIAccess() will reject with a SecurityError DOMException.": "Controls whether the current document is allowed to use the Web MIDI API. When this policy is disabled, the Promise returned by Navigator.requestMIDIAccess() will reject with a SecurityError DOMException.",
    "Controls whether the current document is allowed to use video input devices. When this policy is disabled, the Promise returned by getUserMedia() will reject with a NotAllowedError DOMException.": "Controls whether the current document is allowed to use video input devices. When this policy is disabled, the Promise returned by getUserMedia() will reject with a NotAllowedError DOMException.",
    "Convert reference to duplicate": "Convertir la référence en doublon",
    "Convert template to duplicate": "Convert template to duplicate",
    "Copy into the form and continue to fill in": "Copy into the form and continue to fill in",
    "Cover": "Couvrir",
    "Create": "Créer",
    "Create an account": "Créer un compte",
    "Create calendar block": "Créer un bloc de calendrier",
    "Create collection": "Créer une collection",
    "Create form": "Créer un formulaire",
    "Create gantt block": "Créer un bloc de Gantt",
    "Create inverse field in the target collection": "Créer un champ inverse dans la collection cible",
    "Create kanban block": "Créer un bloc kanban",
    "Create template": "Créer un modèle",
    "Created at": "Créé le",
    "Created by": "Créé par",
    "CreatedAt": "Enregistrer l'heure de création d'une ligne",
    "CreatedBy": "Enregistrer l'utilisateur qui a créé une ligne",
    "Current collection": "Collection actuelle",
    "Current form": "Formulaire actuel",
    "Current object": "Objet actuel",
    "Current popup record": "Enregistrement popup actuel",
    "Current record": "Enregistrement actuel",
    "Current record blocks": "Blocs d'enregistrement actuels",
    "Current role": "Rôle actuel",
    "Current time": "Heure actuelle",
    "Current user": "Utilisateur actuel",
    "Custom": "Personnalisé",
    "Custom Title": "Titre personnalisé",
    "Custom column name": "Nom de colonne personnalisé",
    "Custom column title": "Titre de colonne personnalisé",
    "Custom field display name": "Nom d'affichage personnalisé du champ",
    "Custom name": "Nom personnalisé",
    "Custom request": "Requête personnalisée",
    "Custom title": "Titre personnalisé",
    "Customize": "Personnaliser",
    "Cyan": "Cyan",
    "DESC": "DESC",
    "Daily": "Quotidien",
    "Danger red": "Rouge danger",
    "Dashed": "Dashed",
    "Data Model": "Data Model",
    "Data blocks": "Blocs de données",
    "Data changes": "Modifications des données",
    "Data fields": "Data fields",
    "Data loading mode": "Mode de chargement des données",
    "Data model": "Data model",
    "Data model tools": "Data model tools",
    "Data scope": "Portée des données",
    "Data source": "source de données",
    "Data source permissions": "Data source permissions",
    "Data sources": "Data sources",
    "Data template": "Modèle de données",
    "Data will be updated": "Les données seront mises à jour",
    "DataSource": "Source de données",
    "Date": "Date",
    "Date & Time": "Date & heure",
    "Date display format": "Date display format",
    "Date format": "Format de date",
    "Date range limit": "Date range limit",
    "Date scope": "Date scope",
    "Date variables": "Variables de date",
    "Date variables(Deprecated)": "Date variables(Deprecated)",
    "DateOnly": "DateOnly",
    "Datetime": "Date et heure",
    "Datetime (with time zone)": "Datetime (with time zone)",
    "Datetime (without time zone)": "Datetime (without time zone)",
    "Day": "Jour",
    "Day before yesterday": "Day before yesterday",
    "Day/Month/Year": "Jour/Mois/Année",
    "Default": "Par défaut",
    "Default collapse": "Développé/réduit par défaut",
    "Default is the ID field": "La valeur par défaut est le champ ID",
    "Default role": "Rôle par défaut",
    "Default theme": "Default theme",
    "Default title for each record": "Default title for each record",
    "Default value": "Valeur par défaut",
    "Default value to current server time": "Default value to current server time",
    "Default value to current time": "Default value to current time",
    "Delete": "Supprimer",
    "Delete Event": "Supprimer l'événement",
    "Delete action": "Supprimer l'action",
    "Delete block": "Supprimer le bloc",
    "Delete category": "Supprimer la catégorie",
    "Delete collection": "Delete collection",
    "Delete events": "Supprimer les événements",
    "Delete field": "Supprimer le champ",
    "Delete menu item": "Supprimer l'élément de menu",
    "Delete record": "Supprimer l'enregistrement",
    "Delete role": "Supprimer le rôle",
    "Delete route": "Supprimer la route",
    "Delete routes": "Supprimer les routes",
    "Delete table column": "Supprimer la colonne de tableau",
    "Delete this event?": "Supprimer cet événement ?",
    "Deny list": "Deny list",
    "Department name": "Department name",
    "Departments": "Departments",
    "Dependencies check": "Vérification des dépendances",
    "Dependencies check failed": "Échec de la vérification des dépendances",
    "Dependencies check failed, can't enable.": "Échec de la vérification des dépendances, impossible d'activer.",
    "Dependencies compatibility check": "Vérification de la compatibilité des dépendances",
    "Deprecated": "Déprécié",
    "Description": "Description",
    "Desktop device": "Ordinateur de bureau",
    "Desktop routes": "Routes de bureau",
    "Details": "Détails",
    "Determine whether a record exists by the following fields": "Determine whether a record exists by the following fields",
    "Dialog": "Dialogue",
    "Direct duplicate": "Direct duplicate",
    "Disable": "Disable",
    "Disable manual input": "Disable manual input",
    "Disable tabs": "Désactiver les onglets",
    "Disable validation": "Disable validation",
    "Disabled": "Désactivé",
    "Disassociate": "Dissocier",
    "Disassociate record": "Dissocier l'enregistrement",
    "Display <1><0>10</0><1>20</1><2>50</2><3>100</3></1> items per page": "Afficher <1><0>10</0><1>20</1><2>50</2><3>100</3></1> éléments par page",
    "Display <icon></icon> when unchecked": "Display <icon></icon> when unchecked",
    "Display association fields": "Afficher les champs d'association",
    "Display field title": "Afficher le titre du champ",
    "Display fields": "Afficher les champs de la collection",
    "Display name": "Nom d'affichage",
    "Display order number": "Afficher numéro d'ordre",
    "Display page title": "Display page title",
    "Display title": "Titre d'affichage",
    "DisplayName": "Nom d'affichage",
    "Divide by": "Divide by",
    "Divider line color": "Divider line color",
    "Do not concatenate search params in the URL": "Do not concatenate search params in the URL",
    "Do not load data when filter is empty": "Ne pas charger les données lorsque le filtre est vide",
    "Docs": "Docs",
    "Domains ending with a . character are permitted": "Domains ending with a . character are permitted",
    "Done": "Terminé",
    "Double click to choose entire object": "Double click to choose entire object",
    "Download": "Download",
    "Download logs": "Download logs",
    "Drag and drop sorting field": "Drag and drop sorting field",
    "Drag and drop the file here or click to upload, file size should not exceed 30M": "Faites glisser et déposez le fichier ici ou cliquez pour télécharger, la taille du fichier ne doit pas dépasser 30M",
    "Dragging": "Déplacement",
    "Drawer": "Tiroir",
    "Dropdown": "Dropdown",
    "Duplicate": "Dupliquer",
    "Duplicate and continue": "Dupliquer et continuer",
    "Duplicate mode": "Mode de duplication",
    "Duplicate template": "Dupliquer le modèle",
    "Duplicating": "Duplication",
    "Dynamic value": "Valeur dynamique",
    "Easy reading": "Lecture facile",
    "Easy-reading": "Lecture facile",
    "Edit": "Modifier",
    "Edit block title": "Modifier le titre du bloc",
    "Edit block title & description": "Edit block title & description",
    "Edit button": "Modifier le bouton",
    "Edit category": "Modifier la catégorie",
    "Edit chart": "Modifier le graphique",
    "Edit collection": "Modifier la collection",
    "Edit description": "Modifier la description",
    "Edit field": "Modifier le champ",
    "Edit field title": "Modifier le titre du champ",
    "Edit form": "Modifier le formulaire",
    "Edit group title": "Edit group title",
    "Edit link": "Edit link",
    "Edit markdown": "Modifier le markdown",
    "Edit menu item": "Modifier l'élément de menu",
    "Edit page title": "Edit page title",
    "Edit profile": "Modifier le profil",
    "Edit record": "Modifier l'enregistrement",
    "Edit role": "Modifier le rôle",
    "Edit tab": "Modifier l'onglet",
    "Edit tooltip": "Modifier l'info-bulle",
    "Editable": "Modifiable",
    "Ellipsis": "Ellipsis",
    "Ellipsis overflow content": "Contenu de débordement avec ellipse",
    "Email": "Email",
    "Empty": "Vide",
    "Enable": "Enable",
    "Enable SMS authentication": "Activer l'authentification par SMS",
    "Enable Scan": "Enable Scan",
    "Enable actions": "Activer les actions",
    "Enable child collections": "Activer les collections enfants",
    "Enable drag and drop sorting": "Activer le tri par glisser-déposer",
    "Enable form data template": "Enable form data template",
    "Enable index column": "Enable index column",
    "Enable link": "Activer le lien",
    "Enable page header": "Enable page header",
    "Enable page tabs": "Enable page tabs",
    "Enable secondary confirmation": "Enable secondary confirmation",
    "Enabled": "Activé",
    "Enabled languages": "Langues activées",
    "End date field": "Champ de date de fin",
    "Enter value": "Enter value",
    "Error message": "Message d'erreur",
    "Event": "Événement",
    "Exact day": "Exact day",
    "Execute": "Execute",
    "Exists": "Existe",
    "Expand All": "Tout déplier",
    "Expand all": "Développer tout",
    "Expand/Collapse": "Développer/Réduire",
    "Export": "Exporter",
    "Exportable fields": "Champs exportables",
    "Expression": "Expression",
    "Expression collection": "Expression collection",
    "Failed to load plugin": "Failed to load plugin",
    "False": "False",
    "Feedback": "Commentaires",
    "Field": "Champ",
    "Field Linkage rules": "Field Linkage rules",
    "Field component": "Composant de champ",
    "Field display name": "Nom d'affichage du champ",
    "Field interface": "Interface du champ",
    "Field mode": "Mode du champ",
    "Field name": "Nom du champ",
    "Field permission": "Permission de champ",
    "Field source": "Source de champ",
    "Field title": "Titre du champ",
    "Field type": "Type de champ",
    "Field value changes": "Changements de valeur du champ",
    "Field value do not meet the requirements": "Field value do not meet the requirements",
    "Field value size is": "Field value size is",
    "Field values must be unique.": "Field values must be unique.",
    "Fields": "Champs",
    "Fields can only be used correctly if they are defined with an interface.": "Fields can only be used correctly if they are defined with an interface.",
    "Fields values": "Valeurs des champs",
    "File manager": "Gestionnaire de fichiers",
    "File size exceeds the limit": "File size exceeds the limit",
    "File size should not exceed {{size}}.": "File size should not exceed {{size}}.",
    "File type is not allowed": "File type is not allowed",
    "File type is not supported for previewing, please download it to preview.": "File type is not supported for previewing, please download it to preview.",
    "Fill": "Remplir",
    "Filled": "Filled",
    "Filter": "Filtrer",
    "Filter blocks": "Blocs de filtre",
    "Filter data based on the specific field, with the requirement that the field value must be unique.": "Filter data based on the specific field, with the requirement that the field value must be unique.",
    "Filter out a single piece or a group of records as a template": "Filter out a single piece or a group of records as a template",
    "Filter target key": "Filter target key",
    "Filterable fields": "Champs filtrables",
    "Find by the following fields": "Trouver par les champs suivants",
    "First or create": "D'abord ou créer",
    "Fix block": "Fixer le bloc",
    "Fixed": "Fixed",
    "Fixed to the left": "Fixer à gauche",
    "Fixed to the right": "Fixer à droite",
    "Flexible popup": "Flexible popup",
    "Font Size（px）": "Font Size（px）",
    "Font Style": "Font Style",
    "Font Weight": "Font Weight",
    "Foreign key": "Clé étrangère",
    "Foreign key 1": "Clé étrangère 1",
    "Foreign key 2": "Clé étrangère 2",
    "Form": "Formulaire",
    "Form (Add new)": "Formulaire (Ajouter nouveau)",
    "Form (Edit)": "Formulaire (Modifier)",
    "Form data templates": "Form data templates",
    "Form values": "Valeurs du formulaire",
    "Format": "Format",
    "Formula": "Formule",
    "Formula description": "Calcule une valeur dans chaque enregistrement en fonction d'autres champs dans le même enregistrement.",
    "Formula error.": "Erreur de formule.",
    "Formula mode": "Mode formule",
    "Formula.js supports most Microsoft Excel formula functions.": "Formula.js supports most Microsoft Excel formula functions.",
    "Full height": "Full height",
    "Full permissions": "Tous les droits",
    "Function": "Fonction",
    "Gantt": "Gantt",
    "Geek blue": "Bleu geek",
    "General": "Générale",
    "General action permissions": "Permissions d'action générales",
    "General collection": "Collection générale",
    "General fields": "Champs généraux",
    "General permissions": "Permissions générales",
    "Generated automatically if left blank": "Généré automatiquement si laissé vide",
    "Generic properties": "Generic properties",
    "Global action permissions": "Permissions d'action globales",
    "Global permissions": "Permissions globales",
    "Gold": "Or",
    "Greater than": "Greater than",
    "Green": "Vert",
    "Grid Card": "Grille de cartes",
    "Group": "Groupe",
    "Grouped sorting": "Grouped sorting",
    "Grouping field": "Champ de regroupement",
    "Half of day": "Demi-journée",
    "Handbook": "Manuel de l'utilisateur",
    "Hidden": "Caché",
    "Hidden(reserved value)": "Caché (valeur réservée)",
    "Hide": "Masquer",
    "Hide column": "Masquer la colonne",
    "Hide in menu": "Masquer dans le menu",
    "Highlight": "Mise en évidence",
    "Home page": "Page d'accueil",
    "Homepage": "Page d'accueil",
    "Horizontal": "Horizontal",
    "Hour": "Heure",
    "IANA registry": "IANA registry",
    "ID": "ID",
    "Icon": "Icône",
    "Icon only": "Icon only",
    "Identifier for program usage. Support letters, numbers and underscores, must start with an letter.": "Identifiant pour une utilisation dans le programme. Prend en charge les lettres, les chiffres et les traits de soulignement et doit commencer par une lettre.",
    "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.": "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.",
    "If collection inherits, choose inherited collections as templates": "If collection inherits, choose inherited collections as templates",
    "If selected, the page will display Tab pages.": "Si sélectionné, la page affichera des onglets.",
    "If selected, the route will be displayed in the menu.": "Si sélectionné, la route sera affichée dans le menu.",
    "If the compatibility check fails, you should change the dependent version to meet the version requirements.": "Si la vérification de la compatibilité échoue, vous devez modifier la version dépendante pour répondre aux exigences de version.",
    "Ignore invalid email length errors": "Ignore invalid email length errors",
    "Import": "Importer",
    "Importable fields": "Champs importables",
    "In configuration": "En configuration",
    "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "En mode de configuration, toute la colonne devient transparente. En mode de non-configuration, toute la colonne sera masquée. Même si toute la colonne est masquée, ses valeurs par défaut configurées et les autres paramètres resteront toujours en vigueur.",
    "Index": "Index",
    "Individual": "Individuelle",
    "Inherited fields": "Champs hérités",
    "Inherited template": "Modèle hérité",
    "Inherits": "Hérite de",
    "Inner": "Interne",
    "Input +, -, *, /, ( ) to calculate, input @ to open field variables.": "Saisissez +, -, *, /, ( ) pour calculer, saisissez @ pour ouvrir les variables de champ.",
    "Insert": "Insérer",
    "Insert above": "Insérer au-dessus",
    "Insert after": "Insérer après",
    "Insert before": "Insérer avant",
    "Insert below": "Insérer en dessous",
    "Insert if not exists": "Insert if not exists",
    "Insert if not exists, or update": "Insert if not exists, or update",
    "Insert inner": "Insérer à l'intérieur",
    "Insert left": "Insérer à gauche",
    "Insert right": "Insérer à droite",
    "Installing": "Installation",
    "Integer": "Entier",
    "Invalid JSON format": "Format JSON invalide",
    "Inverse field display name": "Nom d'affichage du champ inverse",
    "Inverse field name": "Nom du champ inverse",
    "Inverse relationship type": "Type de relation inverse",
    "Italic": "Italic",
    "Junction collection": "Collection de jonction",
    "Kanban": "Kanban",
    "Label align": "Label align",
    "Label field": "Champ d'étiquette",
    "Label width": "Label width",
    "Language": "Langue",
    "Large": "Grande",
    "Large screen device": "Ordinateur à grand écran",
    "Last 30 days": "Les 30 derniers jours",
    "Last 7 days": "Les 7 derniers jours",
    "Last 90 days": "Les 90 derniers jours",
    "Last Month": "Last Month",
    "Last Quarter": "Last Quarter",
    "Last Week": "Last Week",
    "Last Year": "Last Year",
    "Last month": "Le mois dernier",
    "Last quarter": "Le dernier trimestre",
    "Last updated": "Dernière mise à jour",
    "Last updated at": "Dernière mise à jour le",
    "Last updated by": "Dernière mise à jour par",
    "Last week": "La semaine dernière",
    "Last year": "L'année dernière",
    "Layout": "Layout",
    "Leave it blank, unless you need a custom intermediate table": "Laissez-le vide, sauf si vous avez besoin d'une table intermédiaire personnalisée",
    "Left": "Left",
    "Left fixed": "Left fixed",
    "Length": "Longueur",
    "Less than": "Less than",
    "License": "Licence",
    "Lime": "Citron vert",
    "Limit": "Limit",
    "Line break": "Line break",
    "Line chart": "Graphique linéaire",
    "Link": "Lien",
    "Link to": "Lien vers",
    "Link to description": "Utilisé pour créer rapidement des relations entre collections et compatible avec la plupart des scénarios courants. Convient à une utilisation sans développement. Lorsqu'il est présent en tant que champ, c'est une sélection déroulante utilisée pour sélectionner des enregistrements de la collection cible. Une fois créé, il génère simultanément les champs associés de la collection actuelle dans la collection cible.",
    "Linkage rule": "Règle de liaison",
    "Linkage rules": "Règles de liaison",
    "Linkage with form fields": "Lien avec les champs de formulaire",
    "List": "Liste",
    "Load all data when filter is empty": "Charger toutes les données lorsque le filtre est vide",
    "Local": "Local",
    "Log in with an existing account": "Se connecter avec un compte existant",
    "Logging and monitoring": "Logging and monitoring",
    "Logo": "Logo",
    "Long text": "Texte long",
    "Magenta": "Magenta",
    "Main": "Main",
    "Main department": "Main department",
    "Manage all settings": "Gérer tous les paramètres",
    "Manually close": "Fermeture manuelle",
    "Many to many": "Many to many",
    "Many to many description": "Utilisé pour créer des relations de plusieurs à plusieurs. Par exemple, un étudiant aura de nombreux enseignants et un enseignant aura de nombreux étudiants. Lorsqu'il est présent en tant que champ, c'est une sélection déroulante utilisée pour sélectionner des enregistrements dans la collection associée.",
    "Many to one": "Many to one",
    "Many to one description": "Utilisé pour créer des relations de plusieurs à un. Par exemple, une ville peut appartenir à un seul pays et un pays peut avoir de nombreuses villes. Lorsqu'il est présent en tant que champ, c'est une sélection déroulante utilisée pour sélectionner un enregistrement dans la collection associée. Une fois créé, un champ One to many est automatiquement généré dans la collection associée.",
    "Markdown": "Markdown",
    "Marketplace": "Place de marché",
    "Math.js comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types.": "Math.js comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types.",
    "Max Domain Segments": "Max Domain Segments",
    "Max length": "Longueur maximale",
    "Max length must greater than min length": "La longueur maximale doit être supérieure à la longueur minimale",
    "Max value": "Max value",
    "MaxDate": "MaxDate",
    "Maximum": "Maximum",
    "Maximum must greater than minimum": "La valeur maximale doit être supérieure à la valeur minimale",
    "Media": "Média",
    "Meet <1><0>All</0><1>Any</1></1> conditions in the group": "Remplir <1><0>Toutes</0><1>Quelconques</1></1> conditions dans le groupe",
    "Menu": "Menu",
    "Menu item icon": "Icône de l'élément de menu",
    "Menu item name": "Nom de l'élément de menu",
    "Menu item title": "Titre de l'élément de menu",
    "Menu permissions": "Permissions de menu",
    "Message popup close method": "Message popup close method",
    "Middle": "Moyenne",
    "Millisecond": "Millisecond",
    "Min Domain Segments": "Min Domain Segments",
    "Min length": "Longueur minimale",
    "Min length must less than max length": "La longueur minimale doit être inférieure à la longueur maximale",
    "Min value": "Min value",
    "MinDate": "MinDate",
    "Minimum": "Minimum",
    "Minimum must less than maximum": "La valeur minimale doit être inférieure à la valeur maximale",
    "Mobile routes": "Routes mobiles",
    "Modal add": "Ajout modal",
    "Month": "Mois",
    "Monthly": "Mensuel",
    "More details": "Plus de détails",
    "More options": "Plus d'options",
    "Move to": "Déplacer vers",
    "Move {{title}} to": "Déplacer {{title}} vers",
    "Multiple": "Multiple",
    "Multiple select": "Sélection multiple",
    "Multiply by": "Multiply by",
    "Must be 1-50 characters in length (excluding @.<>\"'/)": "Must be 1-50 characters in length (excluding @.<>\"'/)",
    "Must select to the last level": "Doit sélectionner jusqu'au dernier niveau",
    "Must use `-` and `:`": "Must use `-` and `:`",
    "Name": "Nom",
    "Navigate": "Naviguer",
    "New menu items are allowed to be accessed by default.": "Les nouveaux éléments de menu peuvent être accessibles par défaut.",
    "New password": "Nouveau mot de passe",
    "New plugin": "Nouveau plugin",
    "New routes are allowed to be accessed by default": "Les nouvelles routes sont autorisées à être accessibles par défaut",
    "Next": "Next",
    "Next 30 days": "Les 30 prochains jours",
    "Next 7 days": "Les 7 prochains jours",
    "Next 90 days": "Les 90 prochains jours",
    "Next Month": "Next Month",
    "Next Quarter": "Next Quarter",
    "Next Week": "Next Week",
    "Next Year": "Next Year",
    "Next month": "Le mois prochain",
    "Next quarter": "Le prochain trimestre",
    "Next week": "La semaine prochaine",
    "Next year": "L'année prochaine",
    "Nickname": "Pseudo",
    "No": "Non",
    "No CHANGELOG.md file": "Aucun fichier CHANGELOG.md",
    "No README.md file": "Aucun fichier README.md",
    "No allow `-` and `:`": "No allow `-` and `:`",
    "No blocks to connect": "Aucun bloc à connecter",
    "No configuration available.": "No configuration available.",
    "No data": "No data",
    "No pages yet, please configure first": "Pas encore de pages, veuillez configurer d'abord",
    "None": "Aucun",
    "Normal": "Normal",
    "Not Fixed": "Défixer",
    "Not enabled": "Non activé",
    "Not fixed": "Not fixed",
    "Not required": "Non requis",
    "Notification": "Notification",
    "Now": "Now",
    "Npm package": "Paquet Npm",
    "Npm package name": "Nom du paquet Npm",
    "Null": "Null",
    "Number": "Nombre",
    "Object Fit": "Ajustement de l'objet",
    "Off": "Inactif",
    "Official plugin": "Plugin officiel",
    "Old password": "Ancien mot de passe",
    "On": "Actif",
    "One to many": "One to many",
    "One to many description": "Utilisé pour créer une relation un à plusieurs. Par exemple, un pays aura de nombreuses villes et une ville ne peut être que dans un pays. Lorsqu'il est présent en tant que champ, c'est un sous-tableau qui affiche les enregistrements de la collection associée. Lors de la création, un champ Many to one est automatiquement généré dans la collection associée.",
    "One to one": "One to one",
    "One to one (belongs to)": "One to one (belongs to)",
    "One to one (has one)": "One to one (has one)",
    "One to one description": "Utilisé pour créer des relations un à un. Par exemple, un utilisateur a un profil.",
    "Only the selected fields will be used as the initialization data for the form": "Only the selected fields will be used as the initialization data for the form",
    "Only use `-`": "Only use `-`",
    "Only use `.`": "Only use `.`",
    "Only use `_`": "Only use `_`",
    "Open in new window": "Ouvrir dans une nouvelle fenêtre",
    "Open in<1><0>Modal</0><1>Drawer</1><2>Window</2></1>": "Ouvrir dans<1><0>Modale</0><1>Tiroir</1><2>Fenêtre</2></1>",
    "Open mode": "Mode d'ouverture",
    "Operate on existing data": "Opérer sur des données existantes",
    "Operate on new data": "Opérer sur de nouvelles données",
    "Operation failed": "Échec de l'opération",
    "Operation succeeded": "Opération réussie",
    "Operator": "Opérateur",
    "Option label": "Étiquette de l'option",
    "Option value": "Valeur de l'option",
    "Options": "Options",
    "Orange": "Orange",
    "Original field title: ": "Titre du champ d'origine : ",
    "Original name": "Nom d'origine",
    "Original title: ": "Titre original : ",
    "Other": "Other",
    "Other blocks": "Autres blocs",
    "Other chart": "Autre graphique",
    "Other collections": "Autres collections",
    "Other records": "Autres enregistrements",
    "Others": "Autres",
    "Outlined": "Outlined",
    "Override": "Remplacer",
    "Override field": "Remplacer le champ",
    "Oversized": "Surdimensionné",
    "Own records": "Ses propres enregistrements",
    "Owners": "Owners",
    "PK & FK fields": "Champs PK & FK",
    "Package name": "Package name",
    "PackageName": "Nom du paquet",
    "Page": "Page",
    "Page number": "Page number",
    "Page size": "Page size",
    "Parent": "Parent",
    "Parent ID": "Parent ID",
    "Parent collection fields": "Champs de la collection parente",
    "Parent object": "Objet parent",
    "Parent popup record": "Enregistrement popup parent",
    "Parent record": "Enregistrement parent",
    "Password": "Mot de passe",
    "Password mismatch": "Erreur de mot de passe",
    "Past": "Past",
    "Path": "Chemin",
    "Pattern": "Motif",
    "Percent": "Pourcentage",
    "Perform the Custom request": "Perform the Custom request",
    "Perform the Refresh": "Perform the Refresh",
    "Perform the Submit": "Perform the Submit",
    "Perform the Trigger workflow": "Perform the Trigger workflow",
    "Perform the Update record": "Perform the Update record",
    "Perform the {{title}}": "Perform the {{title}}",
    "Permission deined": "Permission denied",
    "Permission denied": "Permission denied",
    "Permission policy": "Politique de permission",
    "Phone": "Téléphone",
    "Phone device": "Smartphone",
    "Picker": "Picker",
    "Pie chart": "Graphique en camembert",
    "Pin to left": "Fixer à gauche",
    "Pin to right": "Fixer à droite",
    "Please add or select record": "Please add or select record",
    "Please configure the URL": "Please configure the URL",
    "Please configure the duplicate fields": "Veuillez configurer les champs de duplication",
    "Please confirm the SQL statement first": "Please confirm the SQL statement first",
    "Please fill in the iframe URL": "Veuillez remplir l'URL de l'iframe",
    "Please select": "Please select",
    "Please select the records to be updated": "Veuillez sélectionner les enregistrements à mettre à jour",
    "Please select time or variable": "Please select time or variable",
    "Please use a valid SELECT or WITH AS statement": "Please use a valid SELECT or WITH AS statement",
    "Plugin": "Plugin",
    "Plugin Zip File": "Fichier Zip du plugin",
    "Plugin dependencies check failed": "Plugin dependencies check failed",
    "Plugin dependencies check failed, you should change the dependent version to meet the version requirements.": "Plugin dependencies check failed, you should change the dependent version to meet the version requirements.",
    "Plugin dependency version mismatch": "Plugin dependency version mismatch",
    "Plugin loading failed. Please check the server logs.": "Échec du chargement du plugin. Veuillez vérifier les journaux du serveur.",
    "Plugin manager": "Gestionnaire de plugins",
    "Plugin name": "Nom du plugin",
    "Plugin settings": "Plugin settings",
    "Plugin settings permissions": "Permissions de configuration des plugins",
    "Plugin source": "Plugin source",
    "Plugin starting...": "Démarrage du plugin...",
    "Plugin stopping...": "Arrêt du plugin...",
    "Plugin tab name": "Nom de l'onglet du plugin",
    "Plugin's version": "Version du plugin",
    "Pop-up": "Pop-up",
    "Popup": "Popup",
    "Popup close method": "Méthode de fermeture de la popup",
    "Popup form": "Formulaire popup",
    "Popup message": "Message popup",
    "Popup size": "Taille de la popup",
    "Position": "Position",
    "Precision": "Précision",
    "Prefix": "Prefix",
    "Preset fields": "Preset fields",
    "Prettify": "Prettify",
    "Preview": "Aperçu",
    "Primary": "Primary",
    "Primary key, unique identifier, self growth": "Générer automatiquement le champ ID",
    "Print": "Imprimer",
    "Problematic": "Problematic",
    "Progress field": "Champ de progression",
    "Properties": "Propriétés",
    "Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios": "Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios",
    "Province": "Province",
    "Province/city/area name": "Nom de la province/ville/région",
    "Purple": "Violet",
    "Quarter": "Quarter",
    "Quarter of day": "Quart de journée",
    "QuarterYear": "Trimestre",
    "Quick add": "Ajout rapide",
    "Quick create": "Quick create",
    "Quick duplicate": "Duplication rapide",
    "Quick upload": "Téléchargement rapide",
    "Radio group": "Groupe de boutons radio",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Généré aléatoirement et peut être modifié. Prend en charge les lettres, les chiffres et les traits de soulignement, doit commencer par une lettre.",
    "Read only": "Lecture seule",
    "Readme": "Lisez-moi",
    "Readonly": "Lecture seule",
    "Record ID": "ID de l'enregistrement",
    "Record picker": "Sélecteur d'enregistrement",
    "Record unique key": "Record unique key",
    "Records can be sorted": "Les enregistrements peuvent être triés",
    "Records per page": "Enregistrements par page",
    "Red": "Rouge",
    "Redirect to": "Rediriger vers",
    "Reference template": "Référencer le modèle",
    "References": "References",
    "Refresh": "Actualiser",
    "Refresh data blocks": "Actualiser les blocs de données",
    "Refresh data on action": "Refresh data on action",
    "Refresh data on close": "Refresh data on close",
    "Regular Expression": "Regular Expression",
    "Regular expression": "Expression régulière",
    "Related collection": "Collection associée",
    "Relation": "Relation",
    "Relationship blocks": "Blocs de relations",
    "Relationship type": "Type de relation",
    "Reload application": "Reload application",
    "Remains the same": "Reste inchangé",
    "Remove": "Remove",
    "Render Failed": "Échec du rendu",
    "Repeats": "Répétitions",
    "Request API": "Interroger une API",
    "Request URL": "URL de la requête",
    "Request body": "Corps de la requête",
    "Request headers": "En-têtes de requête",
    "Request method": "Méthode de requête",
    "Request query parameters": "Paramètres de requête",
    "Request settings": "Paramètres de la requête",
    "Request success": "Succès de la requête",
    "Required": "Requis",
    "Reset": "Réinitialiser",
    "Reset link expiration": "Réinitialiser l'expiration du lien",
    "Response record": "Response record",
    "Restart": "Restart",
    "Restart application": "Restart application",
    "Restrict only relative URIs": "Restrict only relative URIs",
    "Result": "Résultat",
    "Retry after {{count}} seconds": "Réessayer après {{count}} secondes",
    "Return to the main application": "Return to the main application",
    "Return to the previous popup or page": "Return to the previous popup or page",
    "Rich Text": "Texte enrichi",
    "Right": "Right",
    "Right fixed": "Right fixed",
    "Role UID": "UID du rôle",
    "Role display name": "Nom d'affichage du rôle",
    "Role name": "Nom du rôle",
    "Roles": "Rôles",
    "Roles & Permissions": "Rôles & permissions",
    "Route name": "Nom de route",
    "Route permissions": "Permissions de route",
    "Routes": "Routes",
    "SQL collection": "SQL collection",
    "Save": "Enregistrer",
    "Save action": "Enregistrer l'action",
    "Save as block template": "Enregistrer en tant que modèle de bloc",
    "Save as inherited template": "Enregistrer en tant que modèle hérité",
    "Save as reference template": "Enregistrer en tant que modèle de référence",
    "Save as template": "Enregistrer en tant que modèle",
    "Save conditions": "Enregistrer les conditions",
    "Save mode": "Mode d'enregistrement",
    "Save record": "Enregistrer",
    "Saved successfully": "Enregistré avec succès",
    "Scale Down": "Réduire",
    "Scan to input": "Scan to input",
    "Scheme": "Scheme",
    "Scientifix notation": "Scientifix notation",
    "Scope name": "Nom de la portée",
    "Screen size": "Taille de l'écran",
    "Search": "Search",
    "Search and select collection": "Rechercher et sélectionner une collection",
    "Search parameters": "Search parameters",
    "Search plugin": "Rechercher un plugin",
    "Search plugin...": "Search plugin...",
    "Second": "Second",
    "Secondary confirmation": "Secondary confirmation",
    "Security": "Security",
    "Select": "Sélectionner",
    "Select a variable": "Select a variable",
    "Select all": "Select all",
    "Select an existing piece of data as the initialization data for the form": "Select an existing piece of data as the initialization data for the form",
    "Select collection": "Sélectionner une collection",
    "Select data blocks to refresh": "Actualiser les blocs de données",
    "Select data source": "Sélectionner la source de données",
    "Select date": "Select date",
    "Select field": "Sélectionner un champ",
    "Select file": "Sélectionner un fichier",
    "Select grouping field": "Sélectionner le champ de regroupement",
    "Select icon": "Sélectionner une icône",
    "Select level": "Sélectionner un niveau",
    "Select record": "Sélectionner un enregistrement",
    "Select template": "Sélectionner un modèle",
    "Select view": "Sélectionner la vue",
    "Selected": "Sélectionné",
    "Selector": "Sélecteur",
    "Selector mode": "Mode sélecteur",
    "Send code": "Envoyer le code",
    "Separator": "Separator",
    "Set Template Engine": "Set Template Engine",
    "Set block height": "Set block height",
    "Set block layout": "Set block layout",
    "Set data loading mode": "Définir le mode de chargement des données",
    "Set default sorting rules": "Définir les règles de tri par défaut",
    "Set default value": "Définir la valeur par défaut",
    "Set the count of columns displayed in a row": "Définir le nombre de colonnes affichées par ligne",
    "Set the data scope": "Définir la portée des données",
    "Set validation rules": "Définir les règles de validation",
    "Setting": "Setting",
    "Settings": "Settings",
    "Show file name": "Show file name",
    "Show in menu": "Afficher dans le menu",
    "Show lunar": "Afficher le calendrier lunaire",
    "Show time": "Afficher l'heure",
    "Sign in": "Se connecter",
    "Sign in via account": "Se connecter via un compte",
    "Sign in via phone": "Se connecter via un numéro de téléphone",
    "Sign in with another account": "Sign in with another account",
    "Sign out": "Déconnexion",
    "Sign up": "S'inscrire",
    "Sign up successfully, and automatically jump to the sign in page": "Inscription réussie, et redirection automatique vers la page de connexion",
    "Signed up successfully. It will jump to the login page.": "Inscription réussie. Vous allez être redirigé(e) vers la page de connexion.",
    "Simple string replacement, can be used to interpolate variables in a string.": "Simple string replacement, can be used to interpolate variables in a string.",
    "Single line text": "Texte sur une seule ligne",
    "Single select": "Sélection unique",
    "Single select and radio fields can be used as the grouping field": "Les champs de sélection unique et radio peuvent être utilisés comme champ de regroupement",
    "Size": "Taille",
    "Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data": "Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data",
    "Skip required validation": "Ignorer la validation requise",
    "Small": "Petite",
    "Some files are not uploaded correctly, please check.": "Some files are not uploaded correctly, please check.",
    "Sorry, the page you visited does not exist.": "Désolé, la page que vous avez visitée n'existe pas.",
    "Sort": "Trier",
    "Sortable": "Triable",
    "Source collection": "Collection source",
    "Source collections": "Collections source",
    "Source key": "Clé source",
    "Specific properties": "Specific properties",
    "Specifies a Permissions Policy for the <iframe>. The policy defines what features are available to the <iframe> (for example, access to the microphone, camera, battery, web-share, etc.) based on the origin of the request.": "Specifies a Permissions Policy for the <iframe>. The policy defines what features are available to the <iframe> (for example, access to the microphone, camera, battery, web-share, etc.) based on the origin of the request.",
    "Specify height": "Specify height",
    "Start date field": "Champ de date de début",
    "Stay on current page": "Rester sur la page actuelle",
    "Stay on the current popup or page": "Stay on the current popup or page",
    "Store the creation time of each record": "Stocker l'heure de création de chaque enregistrement",
    "Store the creation user of each record": "Enregistrer l'utilisateur de création de chaque enregistrement",
    "Store the last update time of each record": "Stocker l'heure de dernière mise à jour de chaque enregistrement",
    "Store the last update user of each record": "Enregistrer l'utilisateur de dernière mise à jour de chaque enregistrement",
    "Street": "Rue",
    "String": "String",
    "String template": "String template",
    "Style": "Style",
    "Sub-details": "Sous-détails",
    "Sub-form": "Sous-formulaire",
    "Sub-form(Popover)": "Sub-form(Popover)",
    "Sub-table": "Sous-tableau",
    "Subform mode": "Mode sous-formulaire",
    "Submit": "Envoyer",
    "Submitted successfully": "Envoyé avec succès",
    "Subtable": "Sous-tableau",
    "Subtable mode": "Mode sous-table",
    "Suffix": "Suffix",
    "Super admin": "Super administrateur",
    "Superior department": "Superior department",
    "Support for a single or bulk upload.": "Support for a single or bulk upload.",
    "Switch role": "Changer de rôle",
    "Switching the picker, the value and default value will be cleared": "Switching the picker, the value and default value will be cleared",
    "Sync from database": "Sync from database",
    "Sync from form fields": "Sync from form fields",
    "Sync successfully": "Sync successfully",
    "Syntax references": "Syntax references",
    "System": "System",
    "System & security": "System & security",
    "System fields": "Champs système",
    "System info": "Informations système",
    "System management": "System management",
    "System settings": "Paramètres système",
    "System title": "Titre du système",
    "System variables": "Variables système",
    "Tab": "Onglet",
    "Tab name": "Nom de l'onglet",
    "Table": "Tableau",
    "Table OID(Inheritance)": "Table OID(Héritage)",
    "Table selected records": "Table selected records",
    "Table size": "Table size",
    "Tablet device": "Tablette",
    "Tag": "Tag",
    "Tag color field": "Tag color field",
    "Target": "Cible",
    "Target collection": "Collection cible",
    "Target key": "Clé cible",
    "Target position": "Position cible",
    "Template": "Modèle",
    "Template Data": "Template Data",
    "Template engine": "Template engine",
    "Template fields": "Template fields",
    "Template name": "Nom du modèle",
    "Templates": "Modèles",
    "Text Align": "Text Align",
    "The application is reloading, please do not close the page.": "The application is reloading, please do not close the page.",
    "The current dependency version of the plugin does not match the version of the application and may not work properly. Are you sure you want to continue enabling the plugin?": "The current dependency version of the plugin does not match the version of the application and may not work properly. Are you sure you want to continue enabling the plugin?",
    "The current user only has the UI configuration permission, but don't have view permission for collection \"{{name}}\"": "The current user only has the UI configuration permission, but don't have view permission for collection \"{{name}}\"",
    "The deletion was successful.": "La suppression a réussi.",
    "The field has been deleted": "Le champ a été supprimé",
    "The field value cannot be greater than ": "La valeur du champ ne peut pas être supérieure à ",
    "The field value cannot be less than ": "La valeur du champ ne peut pas être inférieure à ",
    "The field value is not an integer number": "La valeur du champ n'est pas un nombre entier",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "The selected fields will automatically populate the form": "The selected fields will automatically populate the form",
    "The title field is used to identify the template record": "The title field is used to identify the template record",
    "The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string.": "La valeur de cette variable est dérivée de la chaîne de requête de l'URL de la page. Cette variable ne peut être utilisée normalement que lorsque la page a une chaîne de requête.",
    "The will interrupt service, it may take a few seconds to restart. Are you sure to continue?": "The will interrupt service, it may take a few seconds to restart. Are you sure to continue?",
    "The {{type}} \"{{name}}\" may have been deleted. Please remove this {{blockType}}.": "Le {{type}} \"{{name}}\" a peut-être été supprimé. Veuillez supprimer ce {{blockType}}.",
    "Theme": "Theme",
    "Then": "Ensuite",
    "Third party services": "Third party services",
    "This Month": "This Month",
    "This Quarter": "This Quarter",
    "This Week": "This Week",
    "This Year": "This Year",
    "This and following events": "Cet événement et les suivants",
    "This event": "Cet événement",
    "This field is required": "This field is required",
    "This is a demo text, **supports Markdown syntax**.": "Ceci est un texte de démonstration, **prend en charge la syntaxe Markdown.**",
    "This is likely a NocoBase internals bug. Please open an issue at <1>here</1>": "Ceci est probablement un bogue interne de NocoBase. Veuillez ouvrir un problème <1>ici</1>",
    "This month": "Ce mois-ci",
    "This quarter": "Ce trimestre",
    "This variable has been deprecated and can be replaced with \"Current form\"": "La variable a été obsolète ; \"Formulaire actuel\" peut être utilisé comme substitut",
    "This week": "Cette semaine",
    "This year": "Cette année",
    "Through collection": "Collection intermédiaire",
    "Time": "Heure",
    "Time format": "Format d'heure",
    "Time scale": "Échelle de temps",
    "Timestamp": "Timestamp",
    "Title": "Titre",
    "Title field": "Champ de titre",
    "Title position": "Title position",
    "Today": "Aujourd'hui",
    "Toggles the subfield mode": "Activer/désactiver le mode sous-champ",
    "Tomorrow": "Demain",
    "Total {{count}} items": "Total {{count}} éléments",
    "Tree collection": "Tree collection",
    "Tree table": "Tableau arborescent",
    "Trigger workflow": "Déclencher un workflow",
    "Triggered when the row is clicked": "Déclenché lorsque la ligne est cliquée",
    "True": "True",
    "Try again": "Réessayer",
    "Turn pages": "Tourner les pages",
    "Two tone": "Two tone",
    "Type": "Genre",
    "UI Editor": "Éditeur d'interface utilisateur",
    "UI editor": "Éditeur d'interface utilisateur",
    "URL": "URL",
    "URL search params": "Paramètres de recherche d'URL",
    "UnSelect all": "UnSelect all",
    "Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue.",
    "Unconnected": "Non connecté",
    "Unicode characters are permitted": "Unicode characters are permitted",
    "Unique": "Unique",
    "Unit conversion": "Unit conversion",
    "Unix Timestamp": "Unix Timestamp",
    "Unknown field type": "Unknown field type",
    "Unnamed": "Unnamed",
    "Unpinned": "Défixer",
    "Unsafe integer": "Unsafe integer",
    "Unsaved changes": "Modifications non enregistrées",
    "Update": "Mettre à jour",
    "Update all data?": "Mettre à jour toutes les données ?",
    "Update or create": "Mettre à jour ou créer",
    "Update plugin": "Mettre à jour le plugin",
    "Update record": "Update record",
    "Update selected data?": "Mettre à jour les données sélectionnées ?",
    "Updated successfully": "Mis à jour avec succès",
    "UpdatedAt": "Enregistrer le dernier utilisateur ayant effectué une mise à jour de la ligne",
    "UpdatedBy": "Enregistrer le dernier utilisateur ayant effectué une mise à jour de la ligne",
    "Upgrade": "Mise à jour",
    "Upload": "Télécharger",
    "Upload new version": "Télécharger une nouvelle version",
    "Upload plugin": "Télécharger un plugin",
    "Uploading": "Uploading",
    "Use simple pagination mode": "Use simple pagination mode",
    "Use the same time zone (GMT) for all users": "Utiliser le même fuseau horaire (GMT) pour tous les utilisateurs",
    "Used for drag and drop sorting scenarios, supporting grouping sorting": "Used for drag and drop sorting scenarios, supporting grouping sorting",
    "User": "Utilisateur",
    "User not found. Please sign in again to continue.": "User not found. Please sign in again to continue.",
    "User password changed, please signin again.": "User password changed, please signin again.",
    "Username": "Username",
    "Users": "Utilisateurs",
    "Users & permissions": "Users & permissions",
    "Valid range: 10-40": "Valid range: 10-40",
    "Valid range: 100-900": "Valid range: 100-900",
    "Validation": "Validation",
    "Validation rule": "Règle de validation",
    "Value": "Valeur",
    "Verification code": "Code de vérification",
    "Version": "Version",
    "Version range": "Plage de version",
    "Vertical": "Vertical",
    "View": "Voir",
    "View all plugins": "Voir tous les plugins",
    "View record": "Voir l'enregistrement",
    "Village": "Village",
    "Visible": "Visible",
    "Volcano": "Volcan",
    "Week": "Semaine",
    "Weekly": "Hebdomadaire",
    "When a field is selected for grouping, it will be grouped first before sorting.": "When a field is selected for grouping, it will be grouped first before sorting.",
    "When submitting the following fields, the saved values are": "Lors de l'envoi des champs suivants, les valeurs enregistrées sont",
    "When the Label exceeds the width": "When the Label exceeds the width",
    "Work week": "Semaine de travail",
    "Workflow": "Workflow",
    "Wysiwyg": "Wysiwyg",
    "Year": "Année",
    "Year-Month-Day": "Année-Mois-Jour",
    "Year/Month/Day": "Année/Mois/Jour",
    "Yearly": "Annuel",
    "Yes": "Oui",
    "Yesterday": "Hier",
    "Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.",
    "contains": "contient",
    "data source": "source de données",
    "does not contain": "ne contient pas",
    "edit title": "modifier le titre",
    "ends with": "se termine par",
    "exists": "existe",
    "https://docs.nocobase.com/handbook/calculation-engines/formula": "https://docs.nocobase.com/handbook/calculation-engines/formula",
    "https://docs.nocobase.com/handbook/calculation-engines/mathjs": "https://docs.nocobase.com/handbook/calculation-engines/mathjs",
    "is": "est",
    "is after": "est après",
    "is any of": "is any of",
    "is before": "est avant",
    "is between": "est entre",
    "is empty": "est vide",
    "is none of": "is none of",
    "is not": "n'est pas",
    "is not empty": "n'est pas vide",
    "is on or after": "est le même jour ou après",
    "is on or before": "est le même jour ou avant",
    "loading": "chargement",
    "name is required": "le nom est requis",
    "not ends with": "ne se termine pas par",
    "not exists": "n'existe pas",
    "not starts with": "ne commence pas par",
    "pixels": "pixels",
    "re-download file": "re-télécharger le fichier",
    "starts with": "commence par",
    "tlds": "tlds",
    "visible": "visible",
    "{{#label}} length must be {{#limit}} characters long": "{{#label}} length must be {{#limit}} characters long",
    "{{count}} filter items": "{{count}} éléments filtrés",
    "{{count}} more items": "{{count}} autres éléments",
    "≠": "≠",
    "≤": "≤",
    "≥": "≥"
  },
  "@nocobase/plugin-acl": {
    "Allow roles union": "Allow roles union",
    "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
    "Data sources": "Data sources",
    "Desktop menu": "Desktop menu",
    "Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
    "Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
    "Full permissions": "Full permissions",
    "General": "General",
    "Independent roles": "Independent roles",
    "New role": "New role",
    "Permissions": "Permissions",
    "Please select role mode": "Please select role mode",
    "Plugin settings": "Plugin settings",
    "Role mode": "Role mode",
    "Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
    "Roles & Permissions": "Roles & Permissions",
    "Roles union only": "Roles union only",
    "Saved successfully": "Saved successfully",
    "The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
    "The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
  },
  "@nocobase/plugin-action-bulk-edit": {
    "Bulk edit": "Bulk edit",
    "Data will be updated": "Data will be updated",
    "Entire collection": "Entire collection"
  },
  "@nocobase/plugin-action-bulk-update": {
    "After successful bulk update": "After successful bulk update",
    "Bulk update": "Bulk update",
    "Entire collection": "Entire collection",
    "Please select the records to be updated": "Please select the records to be updated"
  },
  "@nocobase/plugin-action-custom-request": {
    "\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
    "Access control": "Access control",
    "Add parameter": "Add parameter",
    "Add request header": "Add request header",
    "Body": "Body",
    "Custom Request": "Custom Request",
    "Enter description info": "Enter description info",
    "Format": "Format",
    "HTTP method": "HTTP method",
    "Headers": "Headers",
    "If not set, all roles can see this action": "If not set, all roles can see this action",
    "Input request data": "Input request data",
    "Insert": "Insert",
    "Only support standard JSON data": "Only support standard JSON data",
    "Parameters": "Parameters",
    "Please configure the request settings first": "Please configure the request settings first",
    "Request settings": "Request settings",
    "Roles": "Roles",
    "Timeout config": "Timeout config",
    "Title": "Title",
    "URL": "URL",
    "Use variable": "Use variable",
    "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
    "ms": "ms"
  },
  "@nocobase/plugin-action-export": {
    "Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
    "False": "False",
    "Start export": "Start export",
    "True": "True",
    "another export action is running, please try again later.": "another export action is running, please try again later."
  },
  "@nocobase/plugin-action-export-pro": {
    "Add field": "Add field",
    "Async": "Async",
    "Auto": "Auto",
    "Auto mode threshold description": "Determine data volume during execution: if data length is less than {{threshold}}, use sync mode; otherwise, use async mode.",
    "Configure export": "Configure export",
    "Configure export attachments": "Configure export attachments",
    "Confirm to export attachments": "Confirm to export attachments",
    "Confirm to export attachments?": "Confirm to export attachments?",
    "Export": "Export records",
    "Export Attachments": "Export attachments",
    "Export attachments": "Export attachments",
    "Export attachments of collection {{collection}}": "Export attachments of collection {{collection}}",
    "Export confirm": "Export confirmation",
    "Export data of collection {{collection}}": "Export data of collection {{collection}}",
    "Export failed": "Export failed",
    "Export mode": "Export mode",
    "Export records": "Export records",
    "Export records confirm": "Confirm to export records?",
    "Field": "Field",
    "Field display name": "Field display name",
    "Generate a folder for each record": "Generate a folder for each record",
    "No": "No",
    "Options": "Options",
    "Please configure export attachment fields first": "Please configure export attachment fields first",
    "Please select at least one export field": "Please select at least one export field",
    "Please select fields to export": "Please select fields to export",
    "Process and download immediately": "Run in main thread, suitable for handling small-scale data",
    "Process in background": "Run in background thread, suitable for handling large-scale data",
    "Processing mode": "Processing mode",
    "Select export attachment fields": "Select export attachment fields",
    "Select export fields": "Select export fields",
    "Start export": "Start export",
    "Sync": "Sync",
    "Yes": "Yes"
  },
  "@nocobase/plugin-action-import": {
    "Add importable field": "Add importable field",
    "Columns configuration is empty": "Columns configuration is empty",
    "Custom column title": "Custom column title",
    "Done": "Done",
    "Download template": "Download template",
    "Download tips": "- Download the template and fill in the data according to the format \r\n - Import only the first worksheet \r\n - Do not change the header of the template to prevent import failure",
    "Excel data importing": "Excel data importing",
    "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Failed to import row {{row}}, {{message}}, row data: {{data}}",
    "Field description": "Field description",
    "Field description placeholder": "Enter field description",
    "Field not found: {{field}}": "Field not found: {{field}}",
    "Field {{fieldName}} does not exist": "Field {{fieldName}} does not exist",
    "File size cannot exceed 10M": "File size cannot exceed 10M",
    "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"",
    "Headers not found. Expected headers: {{headers}}": "Headers not found. Expected headers: {{headers}}",
    "Illegal percentage format": "Illegal percentage format",
    "Import": "Import",
    "Import Data": "Import Data",
    "Import completed": "Import completed",
    "Import explain": "Guide",
    "Import warnings": "You can import up to {{limit}} rows of data at a time, any excess will be ignored.",
    "ImportResult": "ImportResult",
    "Imported template does not match, please download again.": "Imported template does not match, please download again.",
    "Incorrect date format": "Incorrect date format",
    "Incorrect email format": "Incorrect email format",
    "Incorrect time format": "Incorrect time format",
    "No": "No",
    "No data to import": "No data to import",
    "Only one file is allowed to be uploaded": "Only one file is allowed to be uploaded",
    "Please select": "Please select",
    "Please upload the file of Excel": "Please upload the file of Excel",
    "Skipped records": "Skipped records",
    "Start import": "Start import",
    "Step 1: Download template": "Step 1: Download template",
    "Step 2: Upload Excel": "Step 2: Upload Excel",
    "Step 3: Import options": "Step 3: Import options",
    "Successfully imported": "Successfully imported",
    "Task result": "Task result",
    "To download the failure data": "To download the failure data",
    "Total records": "Total records",
    "Unique constraint error, fields:": "Unique constraint error, fields:",
    "Updated records": "Updated records",
    "Upload placeholder": "Drag and drop the file here or click to upload, file size should not exceed 80M",
    "View result": "View result",
    "Yes": "Yes",
    "another import action is running, please try again later.": "another import action is running, please try again later.",
    "can not find value": "can not find value",
    "import-error": "Failed to import row {{rowIndex}}, row data: {{rowData}}, cause: {{causeMessage}}",
    "password is empty": "password is empty",
    "{{successCount}} records have been successfully imported": "{{successCount}} records have been successfully imported"
  },
  "@nocobase/plugin-action-import-pro": {
    "Allow uploader to modify import options": "Allow uploader to modify import options",
    "Async": "Async",
    "Auto": "Auto",
    "Auto mode threshold description": "Auto mode threshold description",
    "Clear": "Clear",
    "Columns configuration is empty": "Columns configuration is empty",
    "Custom column title": "Custom column title",
    "Duplicate handling": "Duplicate handling",
    "Duplicate handling description": "Choose how to handle duplicate data:<br/>Skip: Skip existing records based on Reference field<br/>Overwrite: Update existing records with new data<br/>Update only: Only update existing records, no new records",
    "Empty cell handling Options": "Empty cell handling Options",
    "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Failed to import row {{row}}, {{message}}, row data: {{data}}",
    "Field description": "Field description",
    "Field description placeholder": "Field description placeholder",
    "Field not found: {{field}}": "Field not found: {{field}}",
    "Field {{fieldName}} does not exist": "Field {{fieldName}} does not exist",
    "Handling Options": "Handling Options",
    "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"",
    "Headers not found. Expected headers: {{headers}}": "Headers not found. Expected headers: {{headers}}",
    "Identify duplicate records": "Identify duplicate records",
    "Identifying Field": "Identifying Field",
    "Illegal percentage format": "Illegal percentage format",
    "Import XLSX of collection {{collection}}": "Import XLSX of collection {{collection}}",
    "Import guide": "Import guide",
    "Import options": "Import options",
    "Import settings": "Import settings",
    "Importable fields": "Importable fields",
    "Imported template does not match, please download again.": "Imported template does not match, please download again.",
    "Incorrect date format": "Incorrect date format",
    "Incorrect email format": "Incorrect email format",
    "Incorrect time format": "Incorrect time format",
    "No data to import": "No data to import",
    "No update": "No update",
    "Overwrite": "Update or Add",
    "Process immediately": "Process immediately",
    "Process in background": "Process in background",
    "Processing mode": "Processing mode",
    "Skip": "Skip",
    "Skip Duplicates": "Skip Duplicates",
    "Skipped": "Skipped",
    "Step 3: Import options": "Step 3: Import options",
    "Successfully imported": "Successfully imported",
    "Sync": "Sync",
    "The guide will be displayed above the Excel template.": "The guide will be displayed above the Excel template.",
    "Total records": "Total records",
    "Trigger workflow": "Trigger Workflow",
    "Trigger workflow events label": "trigger for each row",
    "Trigger workflow events tooltip": "When checked, workflow events will be triggered for each row",
    "Trigger workflow tooltip": "If a workflow (collection event) is bound to the collection, the import will trigger the workflow row by row. Be cautious when importing large volumes of data, as this may result in significant workflow queuing.",
    "Unique constraint error, fields:": "Unique constraint error, fields:",
    "Update Duplicates": "Update Duplicates",
    "Update Duplicates Only": "Update Duplicates Only",
    "Update only": "Update Only",
    "Updated": "Updated",
    "another import action is running, please try again later.": "another import action is running, please try again later.",
    "can not find value": "can not find value",
    "duplicate_strategy_overwrite_description": "Check for existing records using the data in the \"Identifying Field\". If a record exists, update it; otherwise, import it as a new record.",
    "duplicate_strategy_skip_description": "Check for existing records using the data in the \"Identifying Field\". If a record exists, skip this entry; otherwise, import it as a new record.",
    "duplicate_strategy_update_only_description": "Check for existing records using the data in the \"Identifying Field\". If a record exists, update it; otherwise, skip it.",
    "empty_cell_strategy_ignore_description": "When an imported cell is empty, preserve the original field value",
    "empty_cell_strategy_overwrite_description": "When an imported cell is empty, set the corresponding field to empty",
    "import-error": "import-error",
    "password is empty": "password is empty"
  },
  "@nocobase/plugin-action-template-print": {
    "Config template": "Config template",
    "Converted to PDF": "Converted to PDF",
    "Copied successfully": "Copied successfully",
    "Copy": "Copy",
    "Fields list": "Fields list",
    "Please select a printing template first": "Please select a printing template first",
    "Please select the records to be print": "Please select the records to be print",
    "Print all records": "Print all records",
    "Print selected records": "Print selected records",
    "Replace template": "Replace template",
    "Saved successfully!": "Saved successfully!",
    "Template display name": "Template display name",
    "Template file": "Template file",
    "Template form": "Template form",
    "Template name": "Template name",
    "Template not found or deleted": "Template not found or deleted",
    "Template print": "Template print",
    "Template render failed": "Template render failed",
    "The number of records to be printed cannot exceed 300": "The number of records to be printed cannot exceed 300",
    "Upload template": "Upload template",
    "Use": "Use",
    "View fields": "View fields"
  },
  "@nocobase/plugin-ai": {
    "AI integration": "AI integration",
    "Add content": "Add content",
    "Add prompt": "Add prompt",
    "Frequency penalty description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
    "Get models list failed, you can enter a model name manually.": "Get models list failed, you can enter a model name manually.",
    "Image": "Image",
    "LLM service": "LLM service",
    "LLM services": "LLM services",
    "Max completion tokens description": "An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.",
    "Max retries": "Max retries",
    "Message": "Message",
    "Messages": "Messages",
    "Model": "Model",
    "Presence penalty description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
    "Provider": "Provider",
    "Response format description": "Important: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message.",
    "Role": "Role",
    "Structured output": "Structured output",
    "Temperature description": "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.",
    "Text": "Text",
    "Timout (ms)": "Timout (ms)",
    "Top P description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.",
    "UID": "UID"
  },
  "@nocobase/plugin-ai-ee": {
    "AI integration": "AI integration",
    "Add content": "Add content",
    "Add prompt": "Add prompt",
    "Frequency penalty description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
    "Image (send via Base64)": "Image (send via Base64)",
    "Image (send via URL)": "Image (send via URL)",
    "LLM service": "LLM service",
    "LLM services": "LLM services",
    "Max completion tokens description": "An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.",
    "Max retries": "Max retries",
    "Message": "Message",
    "Messages": "Messages",
    "Model": "Model",
    "Presence penalty description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
    "Provider": "Provider",
    "Response format description": "Important: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message.",
    "Role": "Role",
    "Structured output": "Structured output",
    "Temperature description": "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.",
    "Text": "Text",
    "Timout (ms)": "Timout (ms)",
    "Top P description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.",
    "UID": "UID"
  },
  "@nocobase/plugin-ai-gigachat": {},
  "@nocobase/plugin-api-doc": {
    "API documentation": "API documentation",
    "Documentation": "Documentation",
    "Select a definition": "Select a definition"
  },
  "@nocobase/plugin-api-keys": {
    "1 Day": "1 Day",
    "30 Days": "30 Days",
    "7 Days": "7 Days",
    "90 Days": "90 Days",
    "API key created successfully": "API key created successfully",
    "API keys": "API keys",
    "Add API key": "Add API key",
    "Allow only your own roles to be selected": "Allow only your own roles to be selected",
    "Created at": "Created at",
    "Custom": "Custom",
    "Delete API key": "Delete API key",
    "Expiration": "Expiration",
    "Key name": "Key name",
    "Keys manager": "Keys manager",
    "Make sure to copy your personal access key now as you will not be able to see this again.": "Make sure to copy your personal access key now as you will not be able to see this again.",
    "Never": "Never",
    "Never expires": "Never expires",
    "Role": "Role",
    "Role not found": "Role not found"
  },
  "@nocobase/plugin-async-task-manager": {
    "Actions": "Actions",
    "Cancel": "Cancel",
    "Cancelled": "Cancelled",
    "Cancelling": "Cancelling",
    "Close": "Close",
    "Completed": "Completed",
    "Confirm": "Confirm",
    "Confirm cancel": "Confirm cancel",
    "Confirm to cancel this task?": "Confirm to cancel this task?",
    "Created at": "Created at",
    "Data": "Data",
    "Download": "Download",
    "Error Details": "Error Details",
    "Error code": "Error code",
    "Error details": "Error details",
    "Export": "Export",
    "Export {collection} attachments": "{collection} attachments export",
    "Export {collection} data": "{collection} data export",
    "Failed": "Failed",
    "Import": "Import",
    "Import completed": "Import completed",
    "Import details": "Import details",
    "Import result": "Import result",
    "Import summary": "Import summary",
    "Import {collection} data": "{collection} data import",
    "ImportResult": "ImportResult",
    "Imported": "Imported",
    "OK": "OK",
    "Processing": "Processing",
    "Skipped records": "Skipped records",
    "Status": "Status",
    "Successfully imported": "Successfully imported",
    "Task": "Task",
    "Task cancelled": "Task cancelled",
    "Task completed": "Task completed",
    "Task failed": "Task failed",
    "Task result": "Task result",
    "Total records": "Total records",
    "Type": "Type",
    "Unknown error": "Unknown error",
    "Updated records": "Updated records",
    "View result": "View result",
    "Waiting": "Waiting"
  },
  "@nocobase/plugin-audit-logger": {
    "Association": "Association",
    "Audit logs": "Audit logs",
    "Data source": "Data source",
    "Failed": "Failed",
    "Resource": "Resource",
    "Resource UK": "Resource UK",
    "Role": "Role",
    "Source record UK": "Source record UK",
    "Status": "Status",
    "Success": "Success",
    "Target record UK": "Target record UK",
    "UserId": "User ID"
  },
  "@nocobase/plugin-audit-logs": {
    "Details of changes": "Détails des changements"
  },
  "@nocobase/plugin-auth": {
    "1. Select notification channel": "1. Select notification channel",
    "2. Configure reset email": "2. Configure reset email",
    "Allow to sign in with": "Allow to sign in with",
    "Allow to sign up": "Allow to sign up",
    "At least one of the username or email fields is required": "At least one of the username or email fields is required",
    "Auth Type": "Auth Type",
    "Auth UID": "Auth UID",
    "Authentication": "Authentication",
    "Authenticators": "Authenticators",
    "Back to login": "Back to login",
    "Content type": "Content type",
    "Days": "Days",
    "Email channel not found": "Email channel not found",
    "Enable forget password": "Enable forget password",
    "Expired token refresh limit": "Expired token refresh limit",
    "Forgot password": "Forgot password",
    "Go to login": "Go to login",
    "Hours": "Hours",
    "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.",
    "Minutes": "Minutes",
    "Missing X-Authenticator in request header": "Missing X-Authenticator in request header",
    "No authentication methods available.": "No authentication methods available.",
    "No notification channels found. Please ": "No notification channels found. Please ",
    "Not a valid cellphone number, please re-enter": "Not a valid cellphone number, please re-enter",
    "Not allowed to reset password": "Not allowed to reset password",
    "Not allowed to sign up": "Not allowed to sign up",
    "Notification channel (Email)": "Notification channel (Email)",
    "Notification manager plugin not found": "Notification manager plugin not found",
    "Password": "Password",
    "Password is not allowed to be changed": "Password is not allowed to be changed",
    "Password reset successful": "Password reset successful",
    "Plain text": "Plain text",
    "Please enter a password": "Please enter a password",
    "Please enter a valid email": "Please enter a valid email",
    "Please enter a valid username": "Please enter a valid username",
    "Please enter new password": "Please enter new password",
    "Please enter the same password again": "Please enter the same password again",
    "Please enter your email": "Please enter your email",
    "Please enter your username or email": "Please enter your username or email",
    "Please keep and enable at least one authenticator": "Please keep and enable at least one authenticator",
    "Reset email sent successfully": "Reset email sent successfully",
    "Reset link expiration (minutes)": "Reset link expiration (minutes)",
    "Reset link has expired": "Reset link has expired",
    "Reset password": "Reset password",
    "Reset password email": "Reset password email",
    "Reset password link": "Reset password link",
    "Saved successfully!": "Saved successfully!",
    "Seconds": "Seconds",
    "Send reset email": "Send reset email",
    "Session validity period": "Session validity period",
    "Show": "Show",
    "Sign in via email": "Sign in via email",
    "Sign in via password": "Sign in via password",
    "Sign up form": "Sign up form",
    "Sign up settings": "Sign up settings",
    "Sign-in": "Sign-in",
    "Subject": "Subject",
    "The authentication allows users to sign in via username or email.": "The authentication allows users to sign in via username or email.",
    "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.",
    "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.",
    "The notification channel used to send the reset password email, only support email channel": "The notification channel used to send the reset password email, only support email channel",
    "The password is inconsistent, please re-enter": "The password is inconsistent, please re-enter",
    "The password is incorrect, please re-enter": "The password is incorrect, please re-enter",
    "The passwords entered twice are inconsistent": "The passwords entered twice are inconsistent",
    "The phone number has been registered, please login directly": "The phone number has been registered, please login directly",
    "The phone number is not registered, please register first": "The phone number is not registered, please register first",
    "The username or email is incorrect, please re-enter": "The username or email is incorrect, please re-enter",
    "The username/email or password is incorrect, please re-enter": "The username/email or password is incorrect, please re-enter",
    "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)",
    "Token expired": "Token expired",
    "Token policy": "Token policy",
    "Token validity period": "Token validity period",
    "Token validity period must be less than session validity period!": "Token validity period must be less than session validity period!",
    "Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue.",
    "User not found": "User not found",
    "User not found. Please sign in again to continue.": "User not found. Please sign in again to continue.",
    "Username/Email": "Username/Email",
    "Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.",
    "add one first": "add one first",
    "defaultResetPasswordEmailContentHTML": "<p>Hello {{$user.username}},</p>\n\n<p>We received a request to reset the password for your {{$systemSettings.title}} account.</p>\n\n<p>Please click the link below to set your new password:</p>\n\n<p>\n  <a href=\"{{$resetLink}}\">Reset Your Password</a>\n</p>\n\n<p>\n  If you did not request a password reset, please ignore this email. Your password will remain unchanged.\n</p>\n\n<p>\n  Please note: For your security, this password reset link will expire in <strong>{{$resetLinkExpiration}} minutes</strong>.\n</p>\n\n<p>If you encounter any issues resetting your password, please contact our support team.</p>\n\n<p>\n  Thanks,<br>\n  The {{$systemSettings.title}} Team\n</p>",
    "defaultResetPasswordEmailContentText": "Hello {{$user.username}},\n\nWe received a request to reset the password for your {{$systemSettings.title}} account.\n\nPlease click the link below to set your new password:\n\n{{$resetLink}}\n\nIf you did not request a password reset, please ignore this email. Your password will remain unchanged.\n\nPlease note: For your security, this password reset link will expire in {{$resetLinkExpiration}} minutes.\n\nIf you encounter any issues resetting your password, please contact our support team.\n\nThanks, The {{$systemSettings.title}} Team",
    "defaultResetPasswordEmailSubject": "Reset your password for {{$systemSettings.title}}"
  },
  "@nocobase/plugin-auth-cas": {
    "Service domain": "Service domain",
    "Sign in": "Sign in",
    "Sign up automatically when the user does not exist": "Sign up automatically when the user does not exist",
    "The domain is usually the address of your server, in local development, you can use the address of your local machine, such as: http://localhost:13000": "The domain is usually the address of your server, in local development, you can use the address of your local machine, such as: http://localhost:13000",
    "User will be registered automatically if not exists.": "User will be registered automatically if not exists."
  },
  "@nocobase/plugin-auth-dingtalk": {
    "Authorizing Login": "Authorizing Login",
    "Client ID": "Client ID",
    "Client Secret": "Client Secret",
    "Copied": "Copied",
    "DingTalk": "DingTalk",
    "Failed to get accessToken": "Failed to get accessToken",
    "Failed to get mobile": "Failed to get mobile",
    "Please enter the authCode": "Please enter the authCode",
    "Redirect URL": "Redirect URL",
    "Sign in via DingTalk": "Sign in via DingTalk",
    "Sign up automatically when the user does not exist": "Sign up automatically when the user does not exist",
    "User not found": "User not found",
    "dingtalk": "dingtalk"
  },
  "@nocobase/plugin-auth-ldap": {
    "Account": "Account",
    "Add": "Add",
    "Attribute": "Attribute",
    "Attribute map": "Attribute map",
    "Attribute mapping": "Attribute mapping",
    "Basic configuration": "Basic configuration",
    "Bind DN tooltip": "The DN used for testing connection and searching for users",
    "Bind failed": "Bind failed",
    "Bind field description": "Choose \"Username\" if the login account is a username, and \"Email\" if it's an email.",
    "Bind password": "Bind password",
    "Bind password tooltip": "The password for bind DN",
    "Bind succeeded": "Bind succeeded",
    "Connection failed": "Connection failed",
    "Connection succeeded": "Connection succeeded",
    "LDAP URL description": "protocol://host:port, e.g. ldap://ldap.nocobase.com:389",
    "Not tested for binding": "Not tested for binding",
    "Please enter your account and password": "Please enter your account and password",
    "Search DN": "Search DN",
    "Search configuration": "Search configuration",
    "Search filter": "Search filter",
    "Search filter description": "For example: (uid={{account}}), where {{account}} will be replaced with the user account",
    "Sign up automatically when the user does not exist": "Sign up automatically when the user does not exist",
    "Size limit": "Size limit",
    "Target field": "Target field",
    "Test connection": "Test connection",
    "The account or password is incorrect, please re-enter": "The account or password is incorrect, please re-enter",
    "Use this field to bind the user": "Use this field to bind the user",
    "User will be registered automatically if not exists.": "User will be registered automatically if not exists."
  },
  "@nocobase/plugin-auth-oidc": {
    "Access token endpoint": "Access token endpoint",
    "Actions": "Actions",
    "Add provider": "Ajouter",
    "Advanced configuration": "Advanced configuration",
    "Authorization endpoint": "Authorization endpoint",
    "Automatically redirect to SSO URL when unauthenticated": "Automatically redirect to SSO URL when unauthenticated",
    "Basic configuration": "Basic configuration",
    "Body (Use with POST method)": "Body (Use with POST method)",
    "Check if NocoBase is running on HTTP protocol": "Check if NocoBase is running on HTTP protocol",
    "Client id": "Client id",
    "Client secret": "Client secret",
    "Copied": "Copied",
    "Delete": "Delete",
    "Delete provider": "Supprimer",
    "Edit": "Edit",
    "Edit provider": "Modifier",
    "Enable": "Activer",
    "Enable RP-initiated logout": "Enable RP-initiated logout",
    "Field Map": "Field Map",
    "Field mapping": "Field mapping",
    "Header": "Header",
    "Id token sign alg": "Id token sign alg",
    "Issuer": "Issuer",
    "JWKS endpoint": "JWKS endpoint",
    "Logout endpoint": "Logout endpoint",
    "Method to call the user info endpoint": "Method to call the user info endpoint",
    "OIDC Providers": "OIDC Providers",
    "OIDC manager": "OIDC manager",
    "Openid configuration": "Openid configuration",
    "Parameter name": "Parameter name",
    "Pass parameters in the authorization code grant exchange": "Pass parameters in the authorization code grant exchange",
    "Provider name": "Nom",
    "Query parameters (Use with GET method)": "Query parameters (Use with GET method)",
    "Redirect URL": "Redirect URL",
    "Redirect url": "Redirect url",
    "Sign in button name, which will be displayed on the sign in page": "Nom du bouton de connexion, qui sera affiché sur la page de connexion",
    "Sign the user out of IdP when signing out": "Sign the user out of IdP when signing out",
    "Sign up automatically when the user does not exist": "Sign up automatically when the user does not exist",
    "Skip SSL verification": "Skip SSL verification",
    "Skip SSL verification when calling the IdP endpoint": "Skip SSL verification when calling the IdP endpoint",
    "The port number of the NocoBase service if it is not 80 or 443": "The port number of the NocoBase service if it is not 80 or 443",
    "The state token helps prevent CSRF attacks. It's recommended to leave it blank for automatic random generation.": "The state token helps prevent CSRF attacks. It's recommended to leave it blank for automatic random generation.",
    "Usage": "Usage",
    "Use this field to bind the user": "Use this field to bind the user",
    "User not found": "User not found",
    "Userinfo endpoint": "Userinfo endpoint",
    "Username must be 2-16 characters in length (excluding @.<>\"'/)": "Username must be 2-16 characters in length (excluding @.<>\"'/)",
    "Where to put the access token when calling the user info endpoint": "Where to put the access token when calling the user info endpoint",
    "id_token signed response algorithm": "id_token signed response algorithm",
    "skipSSLVerification note": "Note: this option will expose your system to the risk of man in the middle attacks. Check this option only when you know the exact purpose of this option. We strongly do not recommend check this option in production."
  },
  "@nocobase/plugin-auth-saml": {
    "Actions": "Actions",
    "Add provider": "Ajouter",
    "Are you sure you want to delete it?": "Êtes-vous sûr de vouloir le supprimer ?",
    "Automatically redirect to SSO URL when unauthenticated": "Automatically redirect to SSO URL when unauthenticated",
    "Button title": "Button title",
    "Cancel": "Annuler",
    "Client id": "Client id",
    "Copied": "Copied",
    "Delete": "Supprimer",
    "Delete provider": "Supprimer",
    "Edit": "Modifier",
    "Edit provider": "Modifier",
    "Enable": "Activer",
    "Entity id or issuer": "Entity id or issuer",
    "Login Url": "Url de connexion",
    "Public cert": "Public cert",
    "Redirect url": "Url de redirection",
    "SAML Providers": "SAML Providers",
    "SAML manager": "SAML manager",
    "SP entity id": "SP entity id",
    "Sign assertion": "Sign assertion",
    "Sign in button name, which will be displayed on the sign in page": "Nom du bouton de connexion, qui sera affiché sur la page de connexion",
    "Sign response": "Sign response",
    "Sign up automatically when the user does not exist": "Sign up automatically when the user does not exist",
    "Signature algorithm": "Signature algorithm",
    "Submit": "Envoyer",
    "Title": "Titre",
    "Usage": "Usage",
    "Use this field to bind the user": "Use this field to bind the user",
    "User not found": "User not found",
    "Username must be 2-16 characters in length (excluding @.<>\"'/)": "Username must be 2-16 characters in length (excluding @.<>\"'/)"
  },
  "@nocobase/plugin-auth-sms": {
    "SMS": "SMS",
    "Sign in via SMS": "Sign in via SMS",
    "Sign up automatically when the user does not exist": "Sign up automatically when the user does not exist",
    "User will be registered automatically if not exists.": "User will be registered automatically if not exists.",
    "Verifier": "Verifier"
  },
  "@nocobase/plugin-auth-wecom": {
    "Add jump link": "Add jump link",
    "Add recipient": "Add recipient",
    "Address book callback notification link": "Address book callback notification link",
    "After enabling this option, open the application links in the WeCom chat dialog will automatically log in, and the application links can also be configured on the home page of the workbench application, and only one WeCom authenticator can enable this option.": "After enabling this option, open the application links in the WeCom chat dialog will automatically log in, and the application links can also be configured on the home page of the workbench application, and only one WeCom authenticator can enable this option.",
    "Authentication - WeCom": "Authentication - WeCom",
    "Authenticator": "Authenticator",
    "Authorization code does not exist.": "Authorization code does not exist.",
    "Automatic login": "Automatic login",
    "Black": "Black",
    "Button text": "Button text",
    "Card action URL": "Card action URL",
    "Card type": "Card type",
    "Company ID": "Company ID",
    "Configure card source style information": "Configure card source style information",
    "Content": "Content",
    "Content type": "Content type",
    "Copied": "Copied",
    "Description, no more than 512 characters, exceeding will be truncated automatically": "Description, no more than 512 characters, exceeding will be truncated automatically",
    "Detail URL button text. Default is \"Details\", no more than 4 characters, exceeding will be truncated automatically": "Detail URL button text. Default is \"Details\", no more than 4 characters, exceeding will be truncated automatically",
    "Detail URL, up to 2048 bytes": "Detail URL, up to 2048 bytes",
    "Failed to get accessToken": "Failed to get accessToken",
    "Failed to get mobile": "Failed to get mobile",
    "Failed to get userid": "Failed to get userid",
    "First-Time Login": "first-time-login",
    "For first-time WeCom login, please see here": "For first-time WeCom login, please see here",
    "For the first time signing in via WeCom, please refer: ": "For the first time signing in via WeCom, please refer: ",
    "Gray": "Gray",
    "Green": "Green",
    "In-app path, for example: /m": "In-app path, for example: /m",
    "Jump link list, up to 3 links": "Jump link list, up to 3 links",
    "Link title, no more than 18 characters": "Link title, no more than 18 characters",
    "Main description, up to 2 lines (22 characters x 2)": "Main description, up to 2 lines (22 characters x 2)",
    "Main title, up to 2 lines (18 characters x 2)": "Main title, up to 2 lines (18 characters x 2)",
    "Markdown content, no more than 2048 bytes in length": "Markdown content, no more than 2048 bytes in length",
    "Markdown message": "Markdown message",
    "Message type": "Message type",
    "Origin": "Origin",
    "Plain text": "Plain text",
    "Please enter the code": "Please enter the code",
    "Please use WeCom to scan the QR code for login.": "Please use WeCom to scan the QR code for login.",
    "Recipient": "Recipient",
    "Recipients": "Recipients",
    "Red": "Red",
    "Redirect URL": "Redirect URL",
    "Sign in via WeCom": "Sign in via WeCom",
    "Sign-in button tooltip": "Sign-in button tooltip",
    "Source description color": "Source description color",
    "Source description, up to 1 line (20 characters)": "Source description, up to 1 line (20 characters)",
    "Source icon URL, the recommended size for the source icon is 72*72": "Source icon URL, the recommended size for the source icon is 72*72",
    "Sub title text, up to 8 lines (20 characters x 8)": "Sub title text, up to 8 lines (20 characters x 8)",
    "Subject": "Subject",
    "Support two types of links: internal links and external links. If using an internal link, the link starts with\"/\", for example, \"/m\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".": "Support two types of links: internal links and external links. If using an internal link, the link starts with\"/\", for example, \"/m\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".",
    "Supports only a subset of Markdown syntax, reference documentation: https://developer.work.weixin.qq.com/document/path/96458#%E6%94%AF%E6%8C%81%E7%9A%84markdown%E8%AF%AD%E6%B3%95": "Supports only a subset of Markdown syntax, reference documentation: https://developer.work.weixin.qq.com/document/path/96458#%E6%94%AF%E6%8C%81%E7%9A%84markdown%E8%AF%AD%E6%B3%95",
    "Template card message": "Template card message",
    "Text notice": "Text notice",
    "Textcard detail url": "Textcard detail url",
    "Textcard message": "Textcard message",
    "The WeCom API call failed. Please check the logs to troubleshoot the issue.": "The WeCom API call failed. Please check the logs to troubleshoot the issue.",
    "The domain name of the current application, for example: https://example.app.com": "The domain name of the current application, for example: https://example.app.com",
    "Title, no more than 128 characters, exceeding will be truncated automatically": "Title, no more than 128 characters, exceeding will be truncated automatically",
    "User not found.": "User not found.",
    "WeCom": "WeCom",
    "When a phone number does not match an existing user, should a new user be created automatically": "When a phone number does not match an existing user, should a new user be created automatically",
    "Workbench application homepage link": "Workbench application homepage link",
    "Workbench application redirect link": "Workbench application redirect link",
    "You have not bound your WeCom account yet. It will be automatically bound after logging in on this page.": "You have not bound your WeCom account yet. It will be automatically bound after logging in on this page.",
    "wecom": "wecom"
  },
  "@nocobase/plugin-backup-restore": {
    "Backed up successfully": "Backed up successfully",
    "Backing up": "Backing up",
    "Backup": "Backup",
    "Backup & Restore": "Backup & Restore",
    "Backup file": "Backup file",
    "Backup instructions": "Backup instructions",
    "Basic Data": "Basic Data",
    "Business data": "Business data",
    "Click or drag file to this area to upload": "Click or drag file to this area to upload",
    "Configuration": "Configuration",
    "Delete": "Delete",
    "Deleted successfully": "Deleted successfully",
    "Download": "Download",
    "File size": "File size",
    "Learn more": "Learn more",
    "New backup": "New backup",
    "Optional Data": "Optional Data",
    "Origin": "Origin",
    "Plugin": "Plugin",
    "Refresh": "Refresh",
    "Restore": "Restore",
    "Restore backup from local": "Restore backup from local",
    "Select Import Plugins": "Select Import Plugins",
    "Select Import data": "Select Import data",
    "Select User Collections": "Select User Collections",
    "Select the data to be backed up": "Select the data to be backed up",
    "Select the data to be restored": "Select the data to be restored",
    "Start backup": "Start backup",
    "Start restore": "Start restore",
    "System config": "System config",
    "System metadata": "System metadata",
    "User Data": "User Data",
    "custom.description": "Custom collection data",
    "custom.title": "Custom collection data",
    "file upload failed": "file upload failed",
    "file uploaded successfully": "file uploaded successfully",
    "log.description": "Log data",
    "log.title": "Log data",
    "required.description": "Required data",
    "required.title": "Required data",
    "skipped.description": "Skipped data",
    "skipped.title": "Skipped data",
    "third-party.description": "Third-party service information",
    "third-party.title": "Third-party service information",
    "unknown.description": "Data without configured dump rules",
    "unknown.title": "Unknown",
    "user.description": "User data",
    "user.title": "User data"
  },
  "@nocobase/plugin-backups": {
    "Are you sure you want to create new backup": "Are you sure you want to create new backup?",
    "Are you sure you want to create new backup?": "Are you sure you want to create new backup?",
    "Automatic backup": "Automatic backup",
    "BACKUP_VERSION_MISMATCH": "Unable to restore: backup version({{backupVersion}}) is greater than current application({{currentVersion}})",
    "Backing up": "Backing up",
    "Backup list": "Backup list",
    "Backup local storage files": "Backup local storage files",
    "Backup manager": "Backup manager",
    "Click or drag file to this area to upload": "Click or drag file to this area to upload",
    "Confirm the application database schema": "Confirm the application database schema",
    "Created at": "Created at",
    "Database dialect mismatch": "Unable to restore: database dialect mismatch",
    "Database schema mismatch": "Unable to restore: database schema mismatch",
    "Database table prefix mismatch": "Unable to restore: database table prefix mismatch",
    "Database underscored mismatch": "Unable to restore: database underscored mismatch",
    "Database version is lower than the backup, if you really want to restore, please enable the tolerent mode.": "Database version is lower than the backup, if you really want to restore, please enable the tolerent mode.",
    "ERROR_COMPRESSING_FILES": "Error compressing files: {{detail}}",
    "ERROR_CREATING_LOCK_FILE": "Error creating lock file: {{detail}}",
    "ERROR_CREATING_PATH": "Error creating file path: {{detail}}",
    "ERROR_DECRYPTING_FILES": "Error decrypting files: {{detail}}",
    "ERROR_DECRYPTING_PLS_CHECK_PASSWORD": "Error decrypting: {{detail}}, please check your password",
    "ERROR_LISTING_BACKUPS": "Error listing backups: {{detail}}",
    "ERROR_PARSING_BACKUP_FILE": "Error parsing backup file: {{detail}}",
    "ERROR_PG_DUMP_LT_17": "The backup file was created by pg_dump 17 or later, but the current database version is lower than 17. Please enable the tolerent mode.",
    "ERROR_REMOVING_FILES": "Error removing files: {{detail}}",
    "ERROR_RESTORING_BACKUP": "Error restoring backup: {{detail}}",
    "ERROR_SAVING_MEATADATA": "Error saving metadata: {{detail}}",
    "ERROR_TRIGGERING_BACKUP": "Error backing up: {{detail}}",
    "ERROR_UPLOADING_FILES": "Error uploading files: {{detail}}",
    "FILE_NOT_FOUND": "File {{detail}} not found",
    "File size": "File size",
    "If a restore password is set, it must be entered when restoring the backup.": "If a restore password is set, it must be entered when restoring the backup.",
    "Maximum number of backups": "Maximum number of backups",
    "NEW_BACKUPS_CREATED": "New backups[{{names}}] created successfully",
    "New backup": "New backup",
    "New backup operation started": "New backup operation started",
    "Not a valid backup file": "Not a valid backup file",
    "PG_DUMP_SERVER_VERSION_MISMATCH": "pg_dump version is lower than postgres server version. Please install the correct version of pg_dump. Check reference here: https://docs.nocobase.com/handbook/backups#installation",
    "Please select a backup file": "Please select a backup file",
    "Required if application database schema is different with the backup": "Required if application database schema{{currentDbSchemaTips}} is different with the backup",
    "Restore": "Restore",
    "Restore backup from local": "Restore from local backup file",
    "Restore password": "Restore password",
    "Run automatic backup on the cron schedule": "Run automatic backup on the cron schedule",
    "Settings": "Settings",
    "Sync backups to cloud storage": "Sync backups to cloud storage",
    "TOLERENT_MODE_TIP": "Allows backups from higher-version databases to be restored to lower-version databases while ignoring non-critical errors. Please use with caution, and it is strongly recommended to create a new backup before restoration.",
    "The maximum number of backups to keep, older backups are automatically deleted.": "The maximum amount of backups to keep, older backups are automatically deleted.",
    "Tolerent mode": "Tolerent mode",
    "WARN_RESTORING_BACKUP_MISSING_PLUGINS": "The following plugins are missing in current application: {{detail}}"
  },
  "@nocobase/plugin-block-multi-step-form": {
    "AddStep": "Add step",
    "Delete": "Delete",
    "Edit step title": "Edit step title",
    "Next": "Next",
    "Previous": "Previous",
    "Step": "Step",
    "Step title": "Step title",
    "StepsForm": "Multi-step form",
    "StepsForm(Add new)": "Multi-step form (Add new)",
    "StepsForm(Edit)": "Multi-step form (Edit)",
    "The last step cannot be deleted": "The last step cannot be deleted",
    "Whether to delete this step": "Whether to delete this step?"
  },
  "@nocobase/plugin-block-template": {
    "Add new": "Add new",
    "Are you sure you want to convert this template block to a normal block?": "Are you sure you want to convert this template block to a normal block?",
    "Are you sure you want to delete it?": "Are you sure you want to delete it?",
    "Are you sure you want to revert all changes from the template?": "Are you sure you want to revert all changes from the template?",
    "Associate record": "Associate record",
    "Block template": "Block template",
    "Block templates": "Block templates",
    "Cancel": "Cancel",
    "Configure": "Configure",
    "Convert to normal block": "Convert to normal block",
    "Converted successfully": "Converted successfully",
    "Current": "Current record",
    "Delete": "Delete",
    "Delete record": "Delete record",
    "Delete successfully": "Delete successfully",
    "Deleted successfully": "Deleted successfully",
    "Description": "Description",
    "Desktop": "Desktop",
    "Duplicate": "Duplicate",
    "Duplicate to new template": "Duplicate to new template",
    "Edit": "Edit",
    "Filter": "Filter",
    "Form type": "Form type",
    "Keep the created blocks?": "Keep the created blocks?",
    "Mobile": "Mobile",
    "None": "None",
    "Please select the records you want to delete": "Please select the records you want to delete",
    "Refresh": "Refresh",
    "Reset successfully": "Reset successfully",
    "Revert to template": "Revert to template",
    "Save as template successfully": "Save as template successfully",
    "Saved successfully": "Saved successfully",
    "Search and select template": "Search and select template",
    "Submit": "Submit",
    "Template block settings": "Template block settings",
    "Templates": "Templates",
    "This block is using some reference templates, please convert to duplicate template first.": "This block is using some reference templates, please convert to duplicate template first.",
    "This is part of a template, deletion is not allowed": "This is part of a template, deletion is not allowed",
    "Title": "Title",
    "Type": "Type"
  },
  "@nocobase/plugin-block-tree": {
    "Expand all": "Expand all",
    "Root records per page": "Root records per page",
    "Search": "Search",
    "Searchable": "Searchable",
    "Tree": "Tree"
  },
  "@nocobase/plugin-block-workbench": {
    "Action panel": "Action panel",
    "Add custom request": "Add custom request",
    "Add popup": "Add popup",
    "Album": "Album",
    "At least 1, up to 6": "At least 1, up to 6",
    "Ellipsis action title": "Ellipsis action title",
    "Grid": "Grid",
    "Items per row": "Items per row",
    "Layout": "Layout",
    "List": "List",
    "No camera device detected": "No camera device detected",
    "QR code recognition failed, please scan again": "QR code recognition failed, please scan again",
    "Scan QR code": "Scan QR code",
    "The image size is too large. Please compress it to below 1MB before uploading": "The image size is too large. Please compress it to below 1MB before uploading",
    "Unknown error": "Unknown error",
    "You have not granted permission to use the camera": "You have not granted permission to use the camera"
  },
  "@nocobase/plugin-calendar": {
    "Add new": "Ajouter nouveau",
    "Agenda": "Agenda",
    "All events": "Tous les événements",
    "Calendar": "Calendrier",
    "Calendar collection": "Collection de calendrier",
    "Color field": "Color field",
    "Configure actions": "Configurer les actions",
    "Configure calendar": "Configurer le calendrier",
    "Create calendar block": "Créer un bloc de calendrier",
    "Custom request": "Requête personnalisée",
    "Custom title": "Titre personnalisé",
    "Customize": "Personnaliser",
    "Daily": "Quotidien",
    "Date": "Date",
    "Day": "Jour",
    "Default view": "Default view",
    "Delete": "Supprimer",
    "Delete Event": "Supprimer l'événement",
    "Delete events": "Supprimer les événements",
    "Delete this event?": "Supprimer cet événement ?",
    "Details": "Détails",
    "Edit": "Modifier",
    "Enable actions": "Activer les actions",
    "End date field": "Champ de date de fin",
    "Event": "Événement",
    "Event open mode": "Event open mode",
    "Filter": "Filtrer",
    "Month": "Month",
    "Monthly": "Mensuel",
    "None": "Aucun",
    "Not selected": "Not selected",
    "Popup": "Popup",
    "Print": "Imprimer",
    "Quick create event": "Quick create event",
    "Repeats": "Répétitions",
    "Select view": "Sélectionner la vue",
    "Show lunar": "Afficher le calendrier lunaire",
    "Start date field": "Champ de date de début",
    "This and following events": "Cet événement et les suivants",
    "This event": "Cet événement",
    "Time": "Heure",
    "Title": "Title",
    "Title field": "Champ de titre",
    "Today": "Aujourd'hui",
    "Turn pages": "Tourner les pages",
    "Update record": "Update record",
    "Updated successfully": "Mis à jour avec succès",
    "View record": "Voir l'enregistrement",
    "Week": "Week",
    "Week start day": "Week start day",
    "Weekly": "Hebdomadaire",
    "Work week": "Semaine de travail",
    "Yearly": "Annuel",
    "{{count}} more items": "{{count}} more items"
  },
  "@nocobase/plugin-charts": {
    "1 「Numeric」 field, 0~ 1 「Unordered Noun」 field": "1 「Numeric」 field, 0~ 1 「Unordered Noun」 field",
    "1 「Time」 or 「Order Noun」 field, 1 「Value」 field": "1 「Time」 or 「Order Noun」 field, 1 「Value」 field",
    "1 「Unordered Noun」 field, 1 「Numeric」 field": "1 「Unordered Noun」 field, 1 「Numeric」 field",
    "1 「time」 or 「ordered noun」 field, 1 「value」 field, 0 to 1 「unordered noun」": "1 「time」 or 「ordered noun」 field, 1 「value」 field, 0 to 1 「unordered noun」",
    "1 「time」 or 「ordered noun」 field, 1 「value」 field, 0~ 1 「unordered noun」": "1 「time」 or 「ordered noun」 field, 1 「value」 field, 0~ 1 「unordered noun」",
    "1 「time」or 「Ordered Noun」 field,1 「Numerical」 field,1 「Unordered Noun」 field (optional)": "1 「time」or 「Ordered Noun」 field,1 「Numerical」 field,1 「Unordered Noun」 field (optional)",
    "1~ 2 「Unordered Noun」 fields, 1 「Numeric」 field": "1~ 2 「Unordered Noun」 fields, 1 「Numeric」 field",
    "Actions": "Actions",
    "Add JSON query": "Add JSON query",
    "Add SQL query": "Add SQL query",
    "Add chart query": "Add chart query",
    "Add provider": "Add",
    "Add query": "Add query",
    "Are you sure you want to delete it?": "Are you sure you want to delete it?",
    "Area": "Area",
    "Bar": "Bar",
    "Basic charts": "Basic charts",
    "Branch Length/Metrics": "Branch Length/Metrics",
    "Branch Tags/Dimensions": "Branch Tags/Dimensions",
    "Cancel": "Cancel",
    "Category axis / Dimension": "Category axis / Dimension",
    "Chart": "Chart",
    "Chart (Old)": "Chart (Old)",
    "Chart config": "Chart config",
    "Chart preview": "Chart preview",
    "Chart title": "Chart title",
    "Chart type": "Chart type",
    "Charts": "Charts",
    "Client id": "Client id",
    "Color legend / Dimensional": "Color legend / Dimensional",
    "Column": "Column",
    "Create chart block": "Create chart block",
    "Data preview": "Data preview",
    "Delete": "Delete",
    "Delete provider": "Delete",
    "Delete queries": "Delete queries",
    "Delete query": "Delete query",
    "Edit": "Edit",
    "Edit chart block": "Edit chart block",
    "Edit provider": "Edit",
    "Edit query": "Edit query",
    "Enable": "Enable",
    "Entity id or issuer": "Entity id or issuer",
    "Funnel": "Funnel",
    "Funnel Layer Width/Metrics": "Funnel Layer Width/Metrics",
    "Invalid JSON format": "Invalid JSON format",
    "Invalid JSON format,must be an object array.": "Invalid JSON format,must be an object array.",
    "JSON config": "JSON config",
    "Json config references": "Json config references",
    "Json config references: ": "Json config references: ",
    "Line": "Line",
    "Login Url": "Login Url",
    "More charts": "More charts",
    "Pie": "Pie",
    "Please check the chart config": "Please check the chart config",
    "Public cert": "Public cert",
    "Queries": "Queries",
    "Radar": "Radar",
    "Redirect url": "Redirect url",
    "SAML Providers": "SAML Providers",
    "SAML manager": "SAML manager",
    "SP entity id": "SP entity id",
    "Scatter": "Scatter",
    "Sector Angle / Metric": "Sector Angle / Metric",
    "Sector label / Dimensional": "Sector label / Dimensional",
    "Select chart query": "Select chart query",
    "Select query data": "Select query data",
    "Sign in button name, which will be displayed on the sign in page": "Sign in button name, which will be displayed on the sign in page",
    "Submit": "Submit",
    "Title": "Title",
    "Type": "Type",
    "Value axis / Metrics": "Value axis / Metrics"
  },
  "@nocobase/plugin-collection-fdw": {
    "Connect to foreign data": "Connect to foreign data",
    "Connection successful": "Connection successful",
    "Create database server": "Create database server",
    "Database": "Database",
    "Database server": "Database server",
    "Display name": "Display name",
    "Edit database server": "Edit database server",
    "Host": "Host",
    "Password": "Password",
    "Port": "Port",
    "Remote table": "Remote table",
    "Server name": "Server name",
    "Sync from remote table": "Sync from remote table",
    "Test Connection": "Test Connection",
    "Username": "Username"
  },
  "@nocobase/plugin-comments": {
    "Cancel": "Cancel",
    "Comment": "Comment",
    "Comment Collection": "Comment collection",
    "Comment Content": "Content",
    "Delete": "Delete",
    "Edit": "Edit",
    "Enable Create": "Allow adding comments",
    "Quote Reply": "Quote reply",
    "Update Comment": "Update comment",
    "commented": "commented"
  },
  "@nocobase/plugin-commercial": {
    ", and NocoBase has the right to cancel any license used in violation of the agreement.": ", and NocoBase has the right to cancel any license used in violation of the agreement.",
    "Active": "Active",
    "Community Edition": "Community Edition",
    "Created at": "Created at",
    "Domain/IP match status": "Domain/IP match status",
    "Edition": "Edition",
    "Enabled": "Enabled",
    "Enterprise Edition": "Enterprise Edition",
    "Environment mismatch": "Environment mismatch",
    "Expired": "Expired",
    "Get license information failed": "Get license information failed",
    "Installed": "Installed",
    "Invalid": "Invalid",
    "License": "License",
    "License expiry date": "License expiry date",
    "License information": "License information",
    "License status": "License status",
    "Licensed": "Licensed",
    "Licensed edition": "Licensed edition",
    "Licensed plugins": "Licensed plugins",
    "Licensee": "Licensee",
    "Matched": "Matched",
    "Never Expires": "Never Expires",
    "Not Installed": "Not Installed",
    "Not matched": "Not matched",
    "Pending": "Pending",
    "Please configure the License key to enable full functionality.": "Please configure the License key to enable full functionality.",
    "Please try logging into NocoBase Service to regenerate and update the Key for the current application. Alternatively, you can submit a support ticket in NocoBase Service for assistance, otherwise, this license may be canceled.": "Please try logging into NocoBase Service to regenerate and update the Key for the current application. Alternatively, you can submit a support ticket in NocoBase Service for assistance, otherwise, this license may be canceled.",
    "Plugin name": "Plugin name",
    "Plugin status": "Plugin status",
    "Professional Edition": "Professional Edition",
    "Revoked": "Revoked",
    "Standard Edition": "Standard Edition",
    "Status": "Status",
    "Suspended": "Suspended",
    "The Key status is abnormal, which may be due to changes in your environment. Please log in to NocoBase Service to regenerate the Key and update it to the current application, otherwise, this license may be canceled.": "The Key status is abnormal, which may be due to changes in your environment. Please log in to NocoBase Service to regenerate the Key and update it to the current application, otherwise, this license may be canceled.",
    "The Key status is abnormal. Possible reasons include: your application environment changed; unlicensed plugins were installed; the Key was marked as deprecated by an administrator.": "The Key status is abnormal. Possible reasons include: your application environment changed; unlicensed plugins were installed; the Key was marked as deprecated by an administrator.",
    "The License key is invalid. Please check and reconfigure it.": "The License key is invalid. Please check and reconfigure it.",
    "This license is issued by": "This license is issued by",
    "Trial": "Trial",
    "Unlicensed": "Unlicensed",
    "Upgrade expiration date": "Upgrade expiry date",
    "Upgrade expiry date": "Upgrade expiry date",
    "Valid": "Valid",
    "When you see this license information, it proves that you are an employee of the Licensee, otherwise you are in breach of license agreement.": "When you see this license information, it proves that you are an employee of the Licensee, otherwise you are in breach of license agreement.",
    "White Label Edition": "White Label Edition"
  },
  "@nocobase/plugin-custom-brand": {
    "About": "About",
    "Brand": "Brand",
    "Custom brand": "Custom brand",
    "Favicon": "Favicon",
    "Saved successfully": "Saved successfully",
    "The \"About\" information is displayed in the top right corner of the page.": "The \"About\" information is displayed in the top right corner of the page.",
    "The \"Brand\" information is displayed at the bottom of the page.": "The \"Brand\" information is displayed at the bottom of the page.",
    "The content displayed at the bottom of the sign in page.": "The content displayed at the bottom of the sign in page.",
    "The content displayed inside the \"?\" icon on the right side of the top navigation bar.": "The content displayed inside the \"?\" icon on the right side of the top navigation bar."
  },
  "@nocobase/plugin-custom-variables": {
    "Add aggregate variable": "Add aggregate variable",
    "Add variable": "Add variable",
    "Aggregate": "Aggregate",
    "Aggregate variable": "Aggregate variable",
    "Aggregator function": "Aggregator function",
    "Are you sure you want to delete \"{{label}}\" variable?": "Are you sure you want to delete \"{{label}}\" variable?",
    "Background color": "Background color",
    "Badge": "Badge",
    "Create an aggregate variable that performs statistical calculations (COUNT, SUM, AVG, MIN, MAX) on data from a specific collection. You can apply filters to narrow down the data scope and optionally use distinct values for counting operations.": "Create an aggregate variable that performs statistical calculations (COUNT, SUM, AVG, MIN, MAX) on data from a specific collection. You can apply filters to narrow down the data scope and optionally use distinct values for counting operations.",
    "Custom Variables": "Custom Variables",
    "Data of collection": "Data of collection",
    "Default": "Default",
    "Delete": "Delete",
    "Delete Variable": "Delete Variable",
    "Distinct": "Distinct",
    "Edit": "Edit",
    "Edit aggregate variable": "Edit aggregate variable",
    "Edit badge": "Edit badge",
    "Field to aggregate": "Field to aggregate",
    "Max number": "Max number",
    "Maximum number to display when the badge is a number": "Maximum number to display when the badge is a number",
    "No": "No",
    "Number of decimal places for query result.": "Number of decimal places for query result.",
    "Result precision": "Result precision",
    "Show zero": "Show zero",
    "Size": "Size",
    "Small": "Small",
    "Syntax references: ": "Syntax references: ",
    "Text color": "Text color",
    "Variable name": "Variable name",
    "Variable type": "Variable type",
    "Whether to show the badge when it is a number and the number is 0": "Whether to show the badge when it is a number and the number is 0",
    "Yes": "Yes",
    "You can enter numbers, text, variables, aggregation variables, expressions, etc.": "You can enter numbers, text, variables, aggregation variables, expressions, etc."
  },
  "@nocobase/plugin-data-source-external-mariadb": {
    "Add": "Add",
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "Collections": "Collections",
    "Connection successful'": "Connection successful'",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "Database": "Database",
    "Database connections": "Database connections",
    "Database dialaect": "Database dialaect",
    "Description": "Description",
    "Display name": "Display name",
    "Enabled the data source": "Enabled the data source",
    "Field database type": "Field database type",
    "Host": "Host",
    "Load Collections": "Load Collections",
    "Password": "Password",
    "Permissions": "Permissions",
    "Port": "Port",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Search collection name": "Search collection name",
    "Storage": "Storage",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Unknown field type": "Unknown field type",
    "Username": "Username",
    "is required": "is required"
  },
  "@nocobase/plugin-data-source-external-mssql": {
    "Add": "Add",
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "Collections": "Collections",
    "Connection successful'": "Connection successful'",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "Database": "Database",
    "Database connections": "Database connections",
    "Database dialaect": "Database dialaect",
    "Description": "Description",
    "Display name": "Display name",
    "Enabled the data source": "Enabled the data source",
    "Encrypt connection": "Encrypt connection",
    "Field database type": "Field database type",
    "Host": "Host",
    "Load Collections": "Load Collections",
    "Password": "Password",
    "Permissions": "Permissions",
    "Port": "Port",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Search collection name": "Search collection name",
    "Storage": "Storage",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Trust server certificate": "Trust server certificate",
    "Unknown field type": "Unknown field type",
    "Username": "Username",
    "is required": "is required"
  },
  "@nocobase/plugin-data-source-external-mysql": {
    "Add": "Add",
    "Add all collections": "Add all collections",
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "Collections": "Collections",
    "Connection successful'": "Connection successful'",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "Database": "Database",
    "Database connections": "Database connections",
    "Database dialaect": "Database dialaect",
    "Description": "Description",
    "Display name": "Display name",
    "Enabled the data source": "Enabled the data source",
    "Field database type": "Field database type",
    "Host": "Host",
    "Load Collections": "Load Collections",
    "Password": "Password",
    "Permissions": "Permissions",
    "Port": "Port",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Search collection name": "Search collection name",
    "Storage": "Storage",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Unknown field type": "Unknown field type",
    "Username": "Username",
    "When there are too many data tables, it may cause system loading lag.": "When there are too many data tables, it may cause system loading lag.",
    "is required": "is required"
  },
  "@nocobase/plugin-data-source-external-oracle": {
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "Client directory": "Client directory",
    "Collections": "Collections",
    "Connection successful'": "Connection successful'",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "DataBase": "DataBase",
    "Database": "Database",
    "Database connections": "Database connections",
    "Database dialaect": "Database dialaect",
    "Description": "Description",
    "Display name": "Display name",
    "Enabled the data source": "Enabled the data source",
    "Field database type": "Field database type",
    "For use Thick model, you need to install Oracle Client libraries": "For use Thick model, you need to install Oracle Client libraries",
    "Host": "Host",
    "Oracle Database 12.1 or later, it is recommended to use the Thin mode; for Oracle Database versions earlier than 12.1, please use the Thick mode.": "Oracle Database 12.1 or later, it is recommended to use the Thin mode; for Oracle Database versions earlier than 12.1, please use the Thick mode.",
    "Password": "Password",
    "Permissions": "Permissions",
    "Port": "Port",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Schema": "Schema",
    "ServerName": "ServerName",
    "ServerType": "ServerType",
    "Storage": "Storage",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Thick, for Oracle Database version < 12.1": "Thick, for Oracle Database version < 12.1",
    "Thin, for Oracle Database version >= 12.1": "Thin, for Oracle Database version >= 12.1",
    "Unknown field type": "Unknown field type",
    "Username": "Username"
  },
  "@nocobase/plugin-data-source-external-postgres": {
    "Add": "Add",
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "CA certificate path": "CA certificate path",
    "Client certificate path": "Client certificate path",
    "Client key path": "Client key path",
    "Collections": "Collections",
    "Connection successful'": "Connection successful'",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "Database": "Database",
    "Database connections": "Database connections",
    "Database dialaect": "Database dialaect",
    "Description": "Description",
    "Display name": "Display name",
    "Enabled the data source": "Enabled the data source",
    "Field database type": "Field database type",
    "Host": "Host",
    "Load Collections": "Load Collections",
    "Password": "Password",
    "Permissions": "Permissions",
    "Port": "Port",
    "Postgres": "Postgres",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Reject unauthorized": "Reject unauthorized",
    "SSL mode": "SSL mode",
    "SSL options": "SSL options",
    "Schema": "Schema",
    "Search collection name": "Search collection name",
    "Storage": "Storage",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Unknown field type": "Unknown field type",
    "Username": "Username",
    "is required": "is required"
  },
  "@nocobase/plugin-data-source-kingbase": {
    "Add": "Add",
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "Collections": "Collections",
    "Connection successful'": "Connection successful'",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "Database": "Database",
    "Database connections": "Database connections",
    "Database dialaect": "Database dialaect",
    "Description": "Description",
    "Display name": "Display name",
    "Enabled the data source": "Enabled the data source",
    "Field database type": "Field database type",
    "Host": "Host",
    "Kingbase": "Kingbase",
    "Load Collections": "Load Collections",
    "Password": "Password",
    "Permissions": "Permissions",
    "Port": "Port",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Search collection name": "Search collection name",
    "Storage": "Storage",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Unknown field type": "Unknown field type",
    "Username": "Username",
    "is required": "is required"
  },
  "@nocobase/plugin-data-source-main": {
    "any.required": "{{label}} is required",
    "date.base": "{{label}} must be a valid date",
    "date.format": "{{label}} must be in {{format}} format",
    "date.greater": "{{label}} must be greater than {{limit}}",
    "date.less": "{{label}} must be less than {{limit}}",
    "date.max": "{{label}} must be less than or equal to {{limit}}",
    "date.min": "{{label}} must be greater than or equal to {{limit}}",
    "field-is-depended-on-by-other": "Can not delete field \"{{fieldName}}\" in \"{{fieldCollectionName}}\", it is used by field \"{{dependedFieldName}}\" in \"{{dependedFieldCollectionName}}\" as \"{{dependedFieldAs}}\"",
    "field-name-exists": "Field name \"{{name}}\" already exists in collection \"{{collectionName}}\"",
    "number.base": "{{label}} must be a number",
    "number.float": "{{label}} must be a float or double",
    "number.greater": "{{label}} must be greater than {{limit}}",
    "number.integer": "{{label}} must be an integer",
    "number.less": "{{label}} must be less than {{limit}}",
    "number.max": "{{label}} must be less than or equal to {{limit}}",
    "number.min": "{{label}} must be greater than or equal to {{limit}}",
    "number.multiple": "{{label}} must be a multiple of {{multiple}}",
    "number.negative": "{{label}} must be a negative number",
    "number.port": "{{label}} must be a valid port",
    "number.positive": "{{label}} must be a positive number",
    "number.precision": "{{label}} must not have more than {{limit}} decimal places",
    "number.unsafe": "{{label}} must be a safe number",
    "string.alphanum": "{{label}} must only contain alpha-numeric characters",
    "string.base": "{{label}} must be a string",
    "string.creditCard": "{{label}} must be a credit card",
    "string.email": "{{label}} email address doesn’t meet the required format",
    "string.empty": "{{label}} is not allowed to be empty",
    "string.guid": "{{label}} must be a valid UUID",
    "string.hex": "{{label}} must only contain hexadecimal characters",
    "string.hostname": "{{label}} must be a valid hostname",
    "string.isoDate": "{{label}} must be a valid ISO 8601 date",
    "string.length": "{{label}} length must be {{limit}} characters long",
    "string.lowercase": "{{label}} must only contain lowercase characters",
    "string.max": "{{label}} length must be less than or equal to {{limit}} characters long",
    "string.min": "{{label}} length must be at least {{limit}} characters long",
    "string.pattern.base": "{{label}} with value \"{{value}}\" fails to match the required pattern: {{regex}}",
    "string.pattern.invert.base": "{{label}} with value \"{{value}}\" matches the inverted pattern",
    "string.pattern.invert.name": "{{label}} with value \"{{value}}\" matches the inverted {{name}} pattern",
    "string.pattern.name": "{{label}} with value \"{{value}}\" fails to match the {{name}} pattern",
    "string.regex": "{{label}} with value {{value}} fails to match the required pattern",
    "string.token": "{{label}} must only contain alpha-numeric and underscore characters",
    "string.trim": "{{label}} must not have leading or trailing whitespace",
    "string.uppercase": "{{label}} must only contain uppercase characters",
    "string.uri": "{{label}} must be a valid uri",
    "string.uriCustomScheme": "{{label}} must be a valid uri with a scheme matching the {{scheme}} pattern",
    "string.uriRelativeOnly": "{{label}} must be a valid relative uri"
  },
  "@nocobase/plugin-data-source-manager": {
    "Allow adding and modifying collection": "Allow adding and modifying collection",
    "Are you sure you want to set the \"{{title}}\" field as a record unique key? This setting cannot be changed after it's been set.": "Are you sure you want to set the \"{{title}}\" field as a record unique key? This setting cannot be changed after it's been set.",
    "Collections": "Collections",
    "Connection successful": "Connection successful",
    "Data source display name": "Data source display name",
    "Data source manager": "Data source manager",
    "Data source name": "Data source name",
    "Data source synchronization in progress": "Data source synchronization in progress",
    "Data source synchronization successful": "Data source synchronization successful",
    "Data sources": "Data sources",
    "Database": "Database",
    "Description": "Description",
    "Display name": "Display name",
    "Failed": "Failed",
    "Field database type": "Field database type",
    "Field interface": "Field interface",
    "Filter data based on the specific field, with the requirement that the field value must be unique.": "Filter data based on the specific field, with the requirement that the field value must be unique.",
    "Filter target key": "Filter target key",
    "Host": "Host",
    "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.": "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.",
    "Loaded": "Loaded",
    "Loading": "Loading",
    "No external data source plugin installed": "No external data source plugin installed",
    "OK": "OK",
    "Password": "Password",
    "Permissions": "Permissions",
    "Please select a field.": "Please select a field.",
    "Port": "Port",
    "Reloading": "Reloading",
    "Select field": "Select field",
    "Status": "Status",
    "Storage": "Storage",
    "Test Connection": "Test Connection",
    "The following field types are not compatible and do not support output and display": "The following field types are not compatible and do not support output and display",
    "Type": "Type",
    "Unknown field type": "Unknown field type",
    "Username": "Username",
    "View documentation": "View documentation"
  },
  "@nocobase/plugin-data-source-rest-api": {
    "\"Content-Type\" only support \"application/json\",and no need to specify": "\"Content-Type\" only support \"application/json\",and no need to specify",
    "Actions": "Actions",
    "Adapt request parameters": "Adapt request parameters",
    "Add header": "Add header",
    "Add parameter": "Add parameter",
    "Add variable": "Add variable",
    "Are you sure you want to clear fields?": "Are you sure you want to clear fields?",
    "BaseURL": "BaseURL",
    "Blacklist": "Blacklist",
    "Clear": "Clear",
    "Connection successful'": "Connection successful'",
    "Convert third-party response results to NocoBase standard": "Convert third-party response results to NocoBase standard",
    "Create collection": "Create collection",
    "Current page": "Current page",
    "Custom variables": "Custom variables",
    "Data JSONPath": "Data JSONPath",
    "Data source display name": "Data source display name",
    "Data source name": "Data source name",
    "Data to update": "Data to update",
    "Debug": "Debug",
    "Debugging Variables": "Debugging Variables",
    "Description": "Description",
    "Display name": "Display name",
    "Edit": "Edit",
    "Enabled the data source": "Enabled the data source",
    "Enter values for these variables to test them with third-party API. Note: Only variables added to the API will work.": "Enter values for these variables to test them with third-party API. Note: Only variables added to the API will work.",
    "External URL": "External URL",
    "Extract field metadata": "Extract field metadata",
    "Extract field metadata from the response data": "Extract field metadata from the response data",
    "Field database type": "Field database type",
    "Field display name": "Field display name",
    "Field interface": "Field interface",
    "Field name": "Field name",
    "Field type": "Field type",
    "Fields": "Fields",
    "Fields to exclude (blacklist)": "Fields to exclude (blacklist)",
    "Fields to include (whitelist)": "Fields to include (whitelist)",
    "Fields to load on demand, typically for association fields": "Fields to load on demand, typically for association fields",
    "Filter criteria (must meet NocoBase Filter format)": "Filter criteria (must meet NocoBase Filter format)",
    "Filter target key": "Filter target key",
    "Get (required)": "Get (required)",
    "HTTP method": "HTTP method",
    "Headers": "Headers",
    "Host": "Host",
    "Initial data for creation": "Initial data for creation",
    "List (required)": "List (required)",
    "Method is required": "Method is required",
    "Name": "Name",
    "NocoBase request variables": "NocoBase request variables",
    "NocoBase response": "NocoBase response",
    "Number of items per page": "Number of items per page",
    "Operations": "Operations",
    "Parameters": "Parameters",
    "Path is required": "Path is required",
    "Please set the filter target key": "Please set the filter target key",
    "Port": "Port",
    "Provide request variables from NocoBase for use by third-party APIs.": "Provide request variables from NocoBase for use by third-party APIs.",
    "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",
    "Request": "Request",
    "Request actions": "Request actions",
    "Request headers": "Request headers",
    "Required, typically the current record ID": "Required, typically the current record ID",
    "Response": "Response",
    "Response headers": "Response headers",
    "Response type": "Response type",
    "Send": "Send",
    "Sorting criteria (must meet NocoBase Sort format)": "Sorting criteria (must meet NocoBase Sort format)",
    "Table prefix": "Table prefix",
    "Test Connection": "Test Connection",
    "The field value is a invalid url": "The field value is a invalid url",
    "The response results from third-party APIs need to be converted to the NocoBase standard to display correctly on the frontend.": "The response results from third-party APIs need to be converted to the NocoBase standard to display correctly on the frontend.",
    "Third-party API": "Third-party API",
    "Timeout": "Timeout",
    "Total count": "Total count",
    "Try it out": "Try it out",
    "Username": "Username",
    "Value": "Value",
    "Variables": "Variables",
    "View example": "View example",
    "Whitelist": "Whitelist"
  },
  "@nocobase/plugin-data-visualization": {
    "Abbreviation": "Abbreviation",
    "Actions": "Actions",
    "Add chart": "Add chart",
    "Add custom field": "Add custom field",
    "Add field": "Add field",
    "Add transformation": "Add transformation",
    "Aggregation": "Aggregation",
    "Alias": "Alias",
    "Are you sure to cancel?": "Are you sure to cancel?",
    "Area": "Area",
    "Aspect ratio": "Aspect ratio",
    "Auto refresh": "Auto refresh",
    "Avg": "Avg",
    "Bar": "Bar",
    "Built-in": "Built-in",
    "Cancel": "Cancel",
    "Chart": "Chart",
    "Chart type": "Chart type",
    "ChartV2": "ChartV2",
    "Charts": "Charts",
    "Collapse": "Collapse",
    "Collection": "Collection",
    "Column": "Column",
    "Config reference: ": "Config reference: ",
    "Configure": "Configure",
    "Configure chart": "Configure chart",
    "Container": "Container",
    "Count": "Count",
    "Currency": "Currency",
    "Current filter": "Current filter",
    "Data": "Data",
    "Date range": "Date range",
    "Delete": "Delete",
    "Dimensions": "Dimensions",
    "Distinct": "Distinct",
    "Divide": "Divide",
    "Dual axes": "Dual axes",
    "Duplicate": "Duplicate",
    "Edit": "Edit",
    "Edit field properties": "Edit field properties",
    "Enable": "Enable",
    "Enable cache": "Enable cache",
    "Expand": "Expand",
    "Exponential": "Exponential",
    "Field": "Field",
    "Filter": "Filter",
    "Fixed height": "Fixed height",
    "Format": "Format",
    "Gauge": "Gauge",
    "Height": "Height",
    "Input": "Input",
    "JSON config": "JSON config",
    "Limit": "Limit",
    "Line": "Line",
    "Max": "Max",
    "Measures": "Measures",
    "Min": "Min",
    "Multiply": "Multiply",
    "Offset": "Offset",
    "Original field": "Original field",
    "Percent": "Percent",
    "Pie": "Pie",
    "Please configure and run query": "Please configure and run query",
    "Please configure chart": "Please configure chart",
    "Please run query to retrive data.": "Please run query to retrive data.",
    "Please select a chart type.": "Please select a chart type.",
    "Query": "Query",
    "Run query": "Run query",
    "Same properties set in the form above will be overwritten by this JSON config.": "Same properties set in the form above will be overwritten by this JSON config.",
    "Scatter": "Scatter",
    "Select a source field to use metadata of the field": "Select a source field to use metadata of the field",
    "Show background": "Show background",
    "Show border": "Show border",
    "Show padding": "Show padding",
    "Size": "Size",
    "Sort": "Sort",
    "Statistic": "Statistic",
    "Submit": "Submit",
    "Sum": "Sum",
    "TTL (second)": "TTL (second)",
    "Table": "Table",
    "The first 10 records of the query result:": "The first 10 records of the query result:",
    "Time range": "Time range",
    "Title": "Title",
    "To filter with custom fields, use \"Current filter\" variables in the chart configuration.": "To filter with custom fields, use \"Current filter\" variables in the chart configuration.",
    "Transform": "Transform",
    "Transformation": "Transformation",
    "Transformation tip": "Fields allow multiple transformations, applied sequentially. Pay attention to data type changes after each transformation. Drag-and-drop functionality enables adjustment of transformation order.",
    "Transformer": "Transformer",
    "Type": "Type",
    "Type conversion": "Type conversion",
    "Width": "Width",
    "You changes are not saved. If you click OK, your changes will be lost.": "You changes are not saved. If you click OK, your changes will be lost.",
    "angleField": "Angle field",
    "colorField": "Color field",
    "isGroup": "isGroup",
    "isPercent": "isPercent",
    "isStack": "isStack",
    "seriesField": "Series field",
    "smooth": "smooth",
    "xField": "X field",
    "yField": "Y field"
  },
  "@nocobase/plugin-data-visualization-echarts": {
    "100% stack": "100% stack",
    "Abscissa": "Abscissa",
    "Bar category gap": "Bar category gap",
    "Bar gap": "Bar gap",
    "Bar width (min, max)": "Bar width (min, max)",
    "Both x and y-axis": "Both x and y-axis",
    "Bottom": "Bottom",
    "Cardioid": "Cardioid",
    "Category name": "Category name",
    "Center": "Center",
    "Center coordinates": "Center coordinates",
    "Circle": "Circle",
    "Color by": "Color by",
    "Colors": "Colors",
    "Dark mode theme": "Dark mode theme",
    "Data": "Data",
    "Diverging bar": "Diverging bar",
    "End": "End",
    "Funnel": "Funnel",
    "Funnel size (min, max)": "Funnel size (min, max)",
    "Horizontal": "Horizontal",
    "Inner radius": "Inner radius",
    "Inside": "Inside",
    "Inside right": "Inside right",
    "Inside top": "Inside top",
    "Label position": "Label position",
    "Label type": "Label type",
    "Left": "Left",
    "Left X field": "Left X field",
    "Legend orient": "Legend orient",
    "Legend position (left, bottom, right, top)": "Legend position (left, bottom, right, top)",
    "Light mode theme": "Light mode theme",
    "Mark line": "Mark line",
    "Max": "Max",
    "Middle": "Middle",
    "Min": "Min",
    "No stack": "No stack",
    "Only x-axis": "Only x-axis",
    "Only y-axis": "Only y-axis",
    "Ordinate": "Ordinate",
    "Outside": "Outside",
    "Outter radius": "Outter radius",
    "Padding (left, bottom, right, top)": "Padding (left, bottom, right, top)",
    "Pentagon": "Pentagon",
    "Percentage": "Percentage",
    "Polygon": "Polygon",
    "Radar": "Radar",
    "Radius": "Radius",
    "Range": "Range",
    "Right": "Right",
    "Right X field": "Right X field",
    "Series": "Series",
    "Shape": "Shape",
    "Show label line": "Show label line",
    "Show legend": "Show legend",
    "Split line": "Split line",
    "Square": "Square",
    "Stack": "Stack",
    "Star": "Star",
    "Start": "Start",
    "Symbol": "Symbol",
    "Top": "Top",
    "Treemap": "Treemap",
    "Triangle": "Triangle",
    "Triangle forward": "Triangle forward",
    "Use dimensions as variables": "Use dimensions as variables",
    "Use measures as variables": "Use measures as variables",
    "Vertical": "Vertical",
    "Word cloud": "Word cloud",
    "X-Axis label rotate": "X-Axis label rotate",
    "X-Axis title": "X-Axis title",
    "Y-Axis inverse": "Y-Axis inverse",
    "Y-Axis label rotate": "Y-Axis label rotate",
    "Y-Axis title": "Y-Axis title",
    "posRight": "Right",
    "posTop": "Top"
  },
  "@nocobase/plugin-departments": {
    "Add department": "Add department",
    "Add departments": "Add departments",
    "Add members": "Add members",
    "All users": "All users",
    "Are you sure you want to remove it?": "Are you sure you want to remove it?",
    "Are you sure you want to remove these departments?": "Are you sure you want to remove these departments?",
    "Are you sure you want to remove these members?": "Are you sure you want to remove these members?",
    "Delete department": "Delete department",
    "Department": "Department",
    "Department name": "Department name",
    "Departments": "Departments",
    "Departments management": "Departments management",
    "Edit department": "Edit department",
    "Invalid main department, it must be one of the user's departments": "Invalid main department, it must be one of the user's departments",
    "Main": "Main",
    "Main department": "Main department",
    "New department": "New department",
    "New sub department": "New sub department",
    "Owner": "Owner",
    "Owners": "Owners",
    "Please create department first": "Please create department first, then set the owners",
    "Please select departments": "Please select departments",
    "Please select members": "Please select members",
    "Remove department": "Remove department",
    "Remove departments": "Remove departments",
    "Remove member": "Remove member",
    "Remove members": "Remove members",
    "Roles management": "Roles management",
    "Search for departments, users": "Search for departments, users",
    "Search results": "Search results",
    "Set as main department": "Set as main department",
    "Superior department": "Superior department",
    "The department has members, please remove them first": "The department has members, please remove them first",
    "The department has sub-departments, please delete them first": "The department has sub-departments, please delete them first",
    "This field is currently not supported for use in form blocks.": "This field is currently not supported for use in form blocks."
  },
  "@nocobase/plugin-developer-platform": {},
  "@nocobase/plugin-email-manager": {
    "(no subject)": "(no subject)",
    "Account": "Account",
    "Account not found, the email address does not match the current user.": "Account not found, the email address does not match the current user.",
    "Add Note": "Add Note",
    "All emails have been sent": "All emails have been sent",
    "Archive": "Archive",
    "Are you sure to delete this email": "Are you sure to delete this email",
    "Are you sure you want to perform a full re-sync of your emails? This action may take some time and will rebuild the conversational threads within your emails.": "Are you sure you want to perform a full re-sync of your emails? This action may take some time and will rebuild the conversational threads within your emails.",
    "Are you sure you want to permanently delete?": "Are you sure you want to permanently delete?",
    "Associating email": "Associating email",
    "Attachments": "Attachments",
    "Bcc": "Bcc",
    "BodyHtml": "Body Html",
    "BodyText": "Body Text",
    "BoxType": "Box Type",
    "Cancel": "Cancel",
    "Canceled": "Canceled",
    "Cc": "Cc",
    "Close": "Close",
    "Collapse quote": "Collapse quote",
    "Color": "Color",
    "Confirm": "Confirm",
    "Content": "Content",
    "Continue editing": "Continue editing",
    "Create new": "Create new",
    "Create new label": "Create new label",
    "Date": "Date",
    "Delete": "Delete",
    "Description": "Description",
    "Detail": "Detail",
    "Do you want to cancel this email?": "Do you want to cancel this email?",
    "Do you want to cancel this emails?": "Do you want to cancel this emails?",
    "Do you want to resend the failed and canceled emails?": "Do you want to resend the failed and canceled emails?",
    "Do you want to resend this email?": "Do you want to resend this email?",
    "Draft": "Draft",
    "E-mail": "E-mail",
    "Edit Note": "Edit Note",
    "Email": "Email",
    "Email address search setting": "Email address search setting",
    "Email field": "Email field",
    "Email field name": "Email field name",
    "Email manager": "Email manager",
    "Email sent successfully": "Email sent successfully",
    "Email sync setting": "Email sync setting",
    "Emails": "Emails",
    "Emails marked as read successfully": "Emails marked as read successfully",
    "Emails marked as unread successfully": "Emails marked as unread successfully",
    "Enable": "Enable",
    "Expand quote": "Expand quote",
    "Failed": "Failed",
    "False": "False",
    "Forward": "Forward",
    "From": "From",
    "General": "General",
    "Inbox": "Inbox",
    "Invalid grant, please reauthorize": "Invalid grant, please reauthorize",
    "IsDraft": "Draft",
    "IsRead": "Read",
    "Label": "Label",
    "Labels": "Labels",
    "Link Email": "Link Email",
    "Link success and refresh": "Your account has been successfully linked. Data is currently being synchronized in the background. Please refresh the page in a moment.",
    "Mail": "Mail",
    "Mail account is syncing, please wait": "Mail account is syncing, please wait",
    "Mail default value": "Mail default value",
    "Mail message ID": "Mail message ID",
    "Mail message detail": "Mail message detail",
    "Mail message label ID": "Mail message label ID",
    "Mail message labels": "Mail message labels",
    "Mail message labels association": "Mail message labels association",
    "Mail message send": "Mail message send",
    "Mail messages": "Mail messages",
    "Mail messages(all)": "Mail messages(all)",
    "Mail messages(personal)": "Mail messages(personal)",
    "MailId": "Mail ID",
    "MailSettings": "Email settings",
    "Mailbox": "Mailbox",
    "Manage Emails": "Manage Emails",
    "Manage Templates": "Manage Templates",
    "Mark as To-Do": "Mark as To-Do",
    "Mark as read": "Mark as read",
    "Mark as unread": "Mark as unread",
    "Marked as unread": "Marked as unread",
    "Mass Send Tracking": "Mass Send Tracking",
    "Mass email": "Mass email",
    "Mass send": "Mass send",
    "Mass send interval (milliseconds)": "Mass send interval (milliseconds)",
    "Mass send to": "Mass send to",
    "Messages that have been in Trash more than 30 days will be automatically deleted": "Messages that have been in Trash more than 30 days will be automatically deleted",
    "Move to trash": "Move to trash",
    "Moving...": "Moving...",
    "Multiple recipients": "Multiple recipients",
    "Name": "Name",
    "Name new signature": "Name new signature",
    "No email account, click the left bottom + to associated email account": "No email account, click the left bottom + to associated email account",
    "No email, click the left bottom + to associated email account": "No email, click the left bottom + to associated email account",
    "No email, please connect email account first": "No email, please associate email account first",
    "No signature": "No signature",
    "Note": "Note",
    "Outbox": "Outbox",
    "Pending": "Pending",
    "Permanently delete": "Permanently delete",
    "Please check the mail first": "Please check the mail first",
    "Please enter a name": "Please enter a name",
    "Please select an email address": "Please select email address",
    "Please select or input email address": "Please select or input email address",
    "Popup record": "Popup record",
    "Put back": "Put back",
    "Raw ID": "Raw ID",
    "Re": "Re",
    "Reauthorize": "Reauthorize",
    "Refresh": "Refresh",
    "Related email latest date": "Related email latest date",
    "Replied message": "Replied message",
    "Reply": "Reply",
    "Reply all": "Reply all",
    "Resend": "Resend",
    "Result": "Result",
    "Resync": "Resync",
    "Resyncing successfully": "Resyncing successfully",
    "Resyncing...": "Resyncing...",
    "Save draft": "Save draft",
    "Schedule send at": "Schedule send at",
    "Search fields": "Search fields",
    "Select labels": "Select labels",
    "Select template": "Select template",
    "Selects all records in the collection as recipients by default": "Selects all records in the collection as recipients by default",
    "Send": "Send",
    "Send at": "Send at",
    "Send interval": "Send interval",
    "Send settings": "Send settings",
    "Send to": "to",
    "Sender name": "Sender name",
    "Sending": "Sending",
    "Sent": "Sent",
    "Service provider": "Service provider",
    "Set as default": "Set as default",
    "Setting": "Setting",
    "Settings": "Settings",
    "Signature": "Signature",
    "Size is too large, please upload files smaller than": "Size is too large, please upload files smaller than",
    "Some sent": "Some sent",
    "Spam": "Spam",
    "Start Sync": "Start Sync",
    "Start date": "Start date",
    "Status": "Status",
    "Subject": "Subject",
    "Sync Interval (minutes)": "Sync Interval (minutes)",
    "Sync tips": "By default, only emails from the past month will be synced.",
    "Synchronizing mail data": "Synchronizing mail data",
    "Table data": "Table data",
    "Templates": "Manage Templates",
    "The display name will be shown to the recipient": "The display name will be shown to the recipient",
    "The email address {{email}} has an invalid grant. Please reauthorize your account.": "The email address {{email}} has an invalid grant. Please reauthorize your account.",
    "The email body will be overwritten": "The email body will be overwritten",
    "The email is associated successfully, and you will be redirected to the original page": "The email is associated successfully, and you will be redirected to the original page",
    "There is no setting for outlook": "There is no setting for outlook",
    "This feature relies on the plugin-departments. Once enabled, the department owner can view the emails of all subordinate users.": "This feature relies on the plugin-departments. Once enabled, the department owner can view the emails of all subordinate users.",
    "To": "To",
    "To-Do": "To-Do",
    "Today": "Today",
    "Todo": "Todo",
    "Trash": "Trash",
    "True": "True",
    "Unmark as To-Do": "Unmark as To-Do",
    "Upload": "Upload",
    "View messages by department": "View messages by department",
    "Write Email": "Write email",
    "Your email account has been successfully authorized. Please select the start date for email synchronization.": "Your email account has been successfully authorized. Please select the start date for email synchronization.",
    "is not a email format": "is not a email format",
    "row {{index}}": "row {{index}}",
    "signature name": "signature name",
    "{{count}} recipients": "{{count}} recipients"
  },
  "@nocobase/plugin-embed": {
    "Copy Failed": "Copy Failed",
    "Copy embedded link": "Copy embedded link",
    "Copy successful": "Copy successful"
  },
  "@nocobase/plugin-environment-variables": {
    "Add variable": "Add variable",
    "Bulk import": "Bulk import",
    "Delete variable": "Delete variable",
    "Encrypted": "Encrypted",
    "Environment": "Environment",
    "Name": "Name",
    "Plain text": "Plain text",
    "Restart now": "Restart now",
    "Secrets": "Secrets",
    "Type": "Type",
    "Value": "Value",
    "Variables": "Variables",
    "Variables and secrets": "Variables and secrets",
    "Variables and secrets have been updated. A restart is required for the changes to take effect.": "Variables and secrets have been updated. A restart is required for the changes to take effect."
  },
  "@nocobase/plugin-error-handler": {
    "Validation error": "Erreur de validation de {{field}}",
    "notNull Violation": "{{field}} ne peut pas être null",
    "notNull violation": "Violation de contrainte notNull",
    "unique violation": "{{field}} doit être unique"
  },
  "@nocobase/plugin-field-attachment-url": {
    "Attachment (URL)": "Attachment (URL)",
    "Which file collection should it be uploaded to": "Which file collection should it be uploaded to"
  },
  "@nocobase/plugin-field-code": {
    "Code": "Code",
    "Content height": "Content height",
    "Could use CSS values (e.g., \"300px\" or \"50%\"). Use \"auto\" for automatic height adjustment based on content.": "Could use CSS values (e.g., \"300px\" or \"50%\"). Use \"auto\" for automatic height adjustment based on content.",
    "Programming code editor with syntax highlighting.": "Programming code editor with syntax highlighting.",
    "Programming language": "Programming language"
  },
  "@nocobase/plugin-field-component-mask": {
    "Custom": "Custom rule",
    "Custom mask rule tooltip": "* represents masking several characters at that position as * output, and other characters represent the content of the original character at the actual position. For example:",
    "Custom rule": "Custom rule",
    "Custom rule example-1": "a*a*a* will mask 123456 as  1*3*5*",
    "Custom rule example-2": "a****a will mask 123456789 as 1****9",
    "Custom rule example-3": "ab***abc will mask asdfghjkl as as***jkl",
    "Mask": "Mask",
    "Mask rule": "Mask rule",
    "Mask settings": "Mask settings",
    "Please enter a custom rule": "Please enter a custom rule, e.g. a*****b",
    "Roles can see the original value": "Roles can see the original value",
    "Selected roles will be able to see the original value in non-editing mode after clicking the field": "Selected roles will be able to see the original value in non-editing mode after clicking the field"
  },
  "@nocobase/plugin-field-encryption": {
    "Decryption failed, the environment variable `ENCRYPTION_FIELD_KEY` may be incorrect": "Decryption failed, the environment variable `ENCRYPTION_FIELD_KEY` may be incorrect",
    "Encryption": "Encryption",
    "Encryption failed": "Encryption failed",
    "The environment variable `ENCRYPTION_FIELD_KEY` is required, please set it": "The environment variable `ENCRYPTION_FIELD_KEY` is required, please set it",
    "The environment variable `ENCRYPTION_FIELD_KEY` must be a 32-character string": "The environment variable `ENCRYPTION_FIELD_KEY` must be a 32-character string",
    "The environment variable `ENCRYPTION_FIELD_KEY` must be a string": "The environment variable `ENCRYPTION_FIELD_KEY` must be a string",
    "The response result does not return the value of this field": "The response result does not return the value of this field"
  },
  "@nocobase/plugin-field-formula": {
    "Calculation engine": "Calculation engine",
    "Compute a value based on the other fields": "Compute a value based on the other fields",
    "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
    "Expression": "Expression",
    "Expression syntax error": "Expression syntax error",
    "Formula": "Formula",
    "Syntax references": "Syntax references"
  },
  "@nocobase/plugin-field-m2m-array": {
    "Many to many (array)": "Many to many (array)",
    "Many to many (array) description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model."
  },
  "@nocobase/plugin-field-markdown-vditor": {
    "Bold": "Bold",
    "Both": "Editor & Preview",
    "Check": "Task List",
    "Code": "Code Block",
    "EditMode": "Edit Mode",
    "Emoji": "Emoji",
    "File collection": "File collection",
    "Fullscreen": "Toggle Fullscreen",
    "Headings": "Headings",
    "Indent": "Indent",
    "InlineCode": "Inline Code",
    "InsertAfter": "Insert Line After",
    "InsertBefore": "Insert Line Before",
    "Italic": "Italic",
    "Line": "Line",
    "Link": "Link",
    "List": "List",
    "OrderedList": "Order List",
    "Outdent": "Outdent",
    "Outline": "Outline",
    "Preview": "Preview",
    "Quote": "Quote",
    "Record": "Start Record/End Record",
    "Redo": "Redo",
    "Response data is empty": "Response data is empty",
    "Storage configuration not found. Please configure a storage provider first.": "Storage configuration not found. Please configure a storage provider first.",
    "Strike": "Strike",
    "Table": "Table",
    "Toolbar": "Editor toolbar configuration",
    "Undo": "Undo",
    "Upload": "Upload image or file",
    "Used to store files uploaded in the Markdown editor (default: attachments)": "Used to store files uploaded in the Markdown editor (default: attachments)",
    "Vditor": "Markdown(Vditor)",
    "upload failed": "upload failed",
    "uploading": "Uploading...",
    "vditor.uploadError.message": "Unable to upload files to the current storage. You are trying to upload files to the Markdown editor, but the current storage configuration does not support this operation. To enable upload functionality, please complete the following settings: 1. Go to \"File Manager\". 2. Select the storage currently in use ({{storageTitle}}). 3. Set \"Base URL\" and enable the \"Public access\" option."
  },
  "@nocobase/plugin-field-sequence": {
    "Add rule": "Ajouter une règle",
    "Autoincrement": "Incrémentation automatique",
    "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.",
    "Character sets": "Character sets",
    "Customize": "Personnaliser",
    "Daily": "Quotidien",
    "Date": "Date",
    "Date format": "Date format",
    "Digits": "Chiffres",
    "Every Monday": "Chaque lundi",
    "Fixed text": "Texte fixe",
    "Inputable": "Modifiable",
    "Length": "Length",
    "Lowercase letters": "Lowercase letters",
    "Match rules": "Règles de correspondance",
    "Monthly": "Mensuel",
    "No reset": "Pas de réinitialisation",
    "Number": "Number",
    "Operations": "Opérations",
    "Random character": "Random character",
    "Reset cycle": "Cycle de réinitialisation",
    "Rule content": "Contenu de la règle",
    "Select character sets to generate random characters.": "Select character sets to generate random characters.",
    "Sequence": "Séquence",
    "Sequence rules": "Règles de séquence",
    "Start from": "Commencer à partir de",
    "Starts from {{value}}": "Commence à partir de {{value}}",
    "Supports all formats of the Day.js library, such as \"YYYYMMDD\", \"YYYY-MM-DD\", etc.": "Supports all formats of the Day.js library, such as \"YYYYMMDD\", \"YYYY-MM-DD\", etc.",
    "Symbols": "Symbols",
    "Text content": "Contenu du texte",
    "Type": "Type",
    "Uppercase letters": "Uppercase letters",
    "Will generate random characters with specified length.": "Will generate random characters with specified length.",
    "Yearly": "Annuel",
    "{{value}} Digits": "{{value}} chiffres"
  },
  "@nocobase/plugin-field-sort": {},
  "@nocobase/plugin-file-manager": {
    "Access base URL": "Access base URL",
    "Aliyun OSS": "Aliyun OSS",
    "Aliyun OSS region part of the bucket. For example: \"oss-cn-beijing\".": "Aliyun OSS region part of the bucket. For example: \"oss-cn-beijing\".",
    "Allow uploading multiple files": "Allow uploading multiple files",
    "Amazon S3": "Amazon S3",
    "Attachment": "Pièce jointe",
    "Base URL": "Base URL",
    "Base URL for file access, could be your CDN base URL. For example: \"https://cdn.nocobase.com\".": "Base URL for file access, could be your CDN base URL. For example: \"https://cdn.nocobase.com\".",
    "Bucket": "Bucket",
    "Default storage": "Stockage par défaut",
    "Default storage will be used when not selected": "Default storage will be used when not selected",
    "Destination": "Destination",
    "Extension name": "Extension name",
    "File collection": "File collection",
    "File manager": "Gestionnaire de fichiers",
    "File name": "File name",
    "File size limit": "File size limit",
    "File storage": "File storage",
    "File type (in MIME type format)": "File type (in MIME type format)",
    "Filename": "Nom de fichier",
    "Files are only removed when their corresponding records in the file collection are deleted. If a record from another collection includes an associating field referencing the file collection, the file will not be deleted unless cascade deletion is enabled for that association.": "Files are only removed when their corresponding records in the file collection are deleted. If a record from another collection includes an associating field referencing the file collection, the file will not be deleted unless cascade deletion is enabled for that association.",
    "Keep file in storage when destroy record": "Keep file in storage when destroy record",
    "Keep file in storage when destroy the file record": "Keep file in storage when destroy the file record",
    "Local storage": "Stockage local",
    "MIME type": "Type MIME",
    "Minimum from 1 byte, maximum up to 1GB.": "Minimum from 1 byte, maximum up to 1GB.",
    "Minimum from 1 byte.": "Minimum from 1 byte.",
    "Multi-types seperated with comma, for example: \"image/*\", \"image/png\", \"image/*, application/pdf\" etc.": "Multi-types seperated with comma, for example: \"image/*\", \"image/png\", \"image/*, application/pdf\" etc.",
    "Path": "Chemin",
    "Region": "Region",
    "Relative path the file will be saved to. Left blank as root path. The leading and trailing slashes \"/\" will be ignored. For example: \"user/avatar\".": "Relative path the file will be saved to. Left blank as root path. The leading and trailing slashes \"/\" will be ignored. For example: \"user/avatar\".",
    "See more": "See more",
    "Size": "Size",
    "Storage": "Storage",
    "Storage base URL": "URL de base du stockage",
    "Storage display name": "Nom d'affichage du stockage",
    "Storage name": "Nom du stockage",
    "Storage type": "Type de stockage",
    "Storage type {{type}} is not registered, please check if related plugin is enabled.": "Storage type {{type}} is not registered, please check if related plugin is enabled.",
    "Storages": "Storages",
    "Tencent COS": "Tencent COS",
    "Timeout": "Timeout",
    "URL": "URL",
    "Upload timeout for a single file in milliseconds. Default is 600000.": "Upload timeout for a single file in milliseconds. Default is 600000.",
    "Use the built-in static file server": "Utiliser le serveur de fichiers statique intégré",
    "Will be used for API": "Sera utilisé pour l'API"
  },
  "@nocobase/plugin-file-previewer-office": {},
  "@nocobase/plugin-file-storage-s3-pro": {
    "Access": "Access",
    "Access URL expiration": "Access URL expiration",
    "Access endpoint": "Access endpoint",
    "Bucket as subdomain": "Bucket as subdomain",
    "Bucket as subpath": "Bucket as subpath",
    "Full access URL style": "Full access URL style",
    "Full upload URL style": "Full upload URL style",
    "Ignore bucket": "Ignore bucket",
    "Public access": "Public access",
    "S3 Pro": "S3 Pro",
    "The API endpoint that handles file uploads, e.g., https://s3.eu-west-1.amazonaws.com.": "The API endpoint that handles file uploads, e.g., https://s3.eu-west-1.amazonaws.com.",
    "The access path matches the upload path": "The access path matches the upload path",
    "Thumbnail rule": "Thumbnail rule",
    "Upload": "Upload",
    "Upload URL expiration": "Upload URL expiration",
    "Upload endpoint": "Upload endpoint",
    "When empty, it matches the upload endpoint. You can also use a custom CDN domain, like https://cdn.nocobase.com.": "When empty, it matches the upload endpoint. You can also use a custom CDN domain, like https://cdn.nocobase.com.",
    "When public access is enabled, make sure the bucket is set to public. If the access endpoint doesn't support URL signing, this option must also be enabled.": "When public access is enabled, make sure the bucket is set to public. If the access endpoint doesn't support URL signing, this option must also be enabled.",
    "maxSize.error": "The file size exceeds the maximum limit of {{maxSize}} MB",
    "seconds": "seconds"
  },
  "@nocobase/plugin-gantt": {
    "End date field": "End date field",
    "Progress field": "Progress field",
    "Start date field": "Start date field",
    "Time scale": "Time scale",
    "Title field": "Title field"
  },
  "@nocobase/plugin-graph-collection-manager": {
    "All Fields": "Tous les champs",
    "All relationships": "Toutes les relations",
    "Association Fields": "Champs d'association",
    "Auto layout": "Auto layout",
    "Choices fields": "Champs de choix",
    "Collection List": "Liste des collections",
    "Collection Search": "Recherche de collection",
    "Create Collection": "Créer une collection",
    "Entity relationship only": "Uniquement les relations d'entité",
    "Full Screen": "Plein écran",
    "Graph Collection": "Collection de graphiques",
    "Graphical interface": "Interface graphique",
    "Inheritance relationship only": "Uniquement les relations d'héritage",
    "Selection": "Sélection"
  },
  "@nocobase/plugin-ip-restriction": {
    "Access denied": "Access denied",
    "Blacklist": "Blacklist",
    "Config": "Config",
    "IP filter mode": "IP filter mode",
    "IP list": "IP list",
    "IP restriction": "IP restriction",
    "Invalid IP format": "Invalid IP format",
    "Please enter one or more IP addresses or CIDR ranges. Separate multiple entries with commas or line breaks, for example: 192.168.1.1, 10.0.0.0/24. If the input is empty, it indicates no restrictions.": "Please enter one or more IP addresses or CIDR ranges. Separate multiple entries with commas or line breaks, for example: 192.168.1.1, 10.0.0.0/24. If the input is empty, it indicates no restrictions.",
    "Please try again later.": "Please try again later.",
    "Saved successfully": "Saved successfully",
    "Whitelist": "Whitelist"
  },
  "@nocobase/plugin-kanban": {
    "Convert the following integer fields to sorting fields": "Convert the following integer fields to sorting fields",
    "Create sort field": "Create sort field",
    "Enable drag and drop sorting": "Enable drag and drop sorting",
    "Global sorting": "Global sorting",
    "Grouped sorting based on": "Grouped sorting based on",
    "Set column width": "Set column width",
    "Sorting field": "Sorting field",
    "Used for sorting kanban cards, only sorting fields corresponding to grouping fields can be selected": "Used for sorting kanban cards, only sorting fields corresponding to grouping fields can be selected"
  },
  "@nocobase/plugin-license": {
    "Change key": "Change key",
    "Copied": "Copied",
    "Copy": "Copy",
    "Enter license key": "Enter license key",
    "Failed to copy, please open ./storage/.license/instance-id and copy it": "Failed to copy, please open ./storage/.license/instance-id and copy it",
    "Instance ID": "Instance ID",
    "Invalid license key": "Invalid license key",
    "License key": "License key",
    "License key has been set": "License key has been set",
    "License key saved successfully, please re-run the plugin installation.": "License key saved successfully, please re-run the plugin installation.",
    "License settings": "License settings"
  },
  "@nocobase/plugin-locale-tester": {
    "Locale": "Locale",
    "Locale tester": "Locale tester",
    "Please go to <a target=\"_blank\" href=\"https://github.com/nocobase/locales\">nocobase/locales</a> to get the language file that needs translation, then paste it below and provide the translation.": "Please go to <a target=\"_blank\" href=\"https://github.com/nocobase/locales\">nocobase/locales</a> to get the language file that needs translation, then paste it below and provide the translation.",
    "Translations": "Translations"
  },
  "@nocobase/plugin-localization": {
    "Add new": "Add new",
    "All": "All",
    "Collections & Fields": "Collections & Fields",
    "Current language": "Current language",
    "Delete text": "Delete text",
    "Delete translation": "Delete translation",
    "Edit": "Edit",
    "Keyword": "Keyword",
    "Localization": "Localization",
    "Localization management": "Localization management",
    "Menu": "Menu",
    "Module": "Module",
    "No data": "No data",
    "No translation": "No translation",
    "Please select the resources you want to synchronize": "Please select the resources you want to synchronize",
    "Publish": "Publish",
    "Sync": "Sync",
    "System & Plugins": "System & Plugins",
    "Text": "Text",
    "Translation": "Translation",
    "Translations": "Translations",
    "User interfaces": "User interfaces"
  },
  "@nocobase/plugin-logger": {
    "API request and response logs": "API request and response logs",
    "Application, database, plugins and other system logs, the error level logs will be sent to": "Application, database, plugins and other system logs, the error level logs will be sent to",
    "Download": "Download",
    "Download logs": "Download logs",
    "Logger": "Logger",
    "SQL execution logs, printed by Sequelize when the db logging is enabled": "SQL execution logs, printed by Sequelize when the db logging is enabled",
    "Search": "Search"
  },
  "@nocobase/plugin-map": {
    "AMap": "AMap",
    "Access key": "Access key",
    "Access key is required": "Access key is required",
    "Api key is required": "Api key is required",
    "Are you sure to clear the canvas?": "Are you sure to clear the canvas?",
    "Cancel": "Cancel",
    "Circle": "Circle",
    "Clear": "Clear",
    "Clear the canvas": "Clear the canvas",
    "Click to select the starting point and double-click to end the drawing": "Click to select the starting point and double-click to end the drawing",
    "Concatenation order field": "Concatenation order field",
    "Configuration": "Configuration",
    "Confirm": "Confirm",
    "Create map block": "Create map block",
    "Delete field": "Delete field",
    "Easy-reading": "Easy-reading",
    "Edit": "Edit",
    "Edit description": "Edit description",
    "Edit field title": "Edit field title",
    "Edit tooltip": "Edit tooltip",
    "Editable": "Editable",
    "End point": "End point",
    "Enter keywords to search": "Enter keywords to search",
    "Field title": "Field title",
    "Go to the configuration page": "Go to the configuration page",
    "Google Maps": "Google Maps",
    "Line": "Line",
    "Load google maps failed, Please check the Api key and refresh the page": "Load google maps failed, Please check the Api key and refresh the page",
    "Map": "Map",
    "Map field": "Map field",
    "Map manager": "Map manager",
    "Map type": "Map type",
    "Map-based geometry": "Map-based geometry",
    "Marker field": "Marker field",
    "Operator": "Operator",
    "Pattern": "Pattern",
    "Please configure the AMap securityCode or serviceHost correctly": "Please configure the AMap securityCode or serviceHost correctly",
    "Please configure the AccessKey and SecurityJsCode first": "Please configure the AccessKey and SecurityJsCode first",
    "Point": "Point",
    "Polygon": "Polygon",
    "Readonly": "Readonly",
    "Required": "Required",
    "Save": "Save",
    "Saved failed": "Saved failed",
    "Saved successfully": "Saved successfully",
    "Set default zoom level": "Set default zoom level",
    "Start point": "Start point",
    "The AccessKey is incorrect, please check it": "The AccessKey is incorrect, please check it",
    "The default zoom level of the map": "The default zoom level of the map",
    "Zoom": "Zoom",
    "securityJsCode or serviceHost": "securityJsCode or serviceHost",
    "securityJsCode or serviceHost is required": "securityJsCode or serviceHost is required"
  },
  "@nocobase/plugin-migration-manager": {
    "Add collection": "Add collection",
    "Add independent rule": "Add independent rule",
    "Add rule": "Add rule",
    "All": "All",
    "All environment variables are properly set, you can continue.": "All environment variables are properly set, you can continue.",
    "Apply essential data using a clear-and-reinsert strategy.": "Apply essential data using a clear-and-reinsert strategy.",
    "Apply essential data using an insert-or-update strategy": "Apply essential data using an insert-or-update strategy",
    "Backup file": "Backup file",
    "Before the migration, the application will automatically create a backup, and restore this backup if the migration fails. Check this option to skip this process.": "Before the migration, the application will automatically create a backup, and restore this backup if the migration fails. Check this option to skip this process.",
    "Built-in": "Built-in",
    "Clear all existing records in the table, then insert new data": "Clear all existing records in the table, then insert new data",
    "Collections": "Collections",
    "Create migration file": "Create migration file",
    "CreatedAt": "CreatedAt",
    "Default migration rule": "Default migration rule",
    "Delete Migration file": "Delete Migration file",
    "Delete log": "Delete log",
    "Delete rule": "Delete rule",
    "Description": "Description",
    "Detected that some plugin collection lack built-in rules. to prevent data loss during migration due to skipped processing,": "Detected that some plugin collection lack built-in rules. to prevent data loss during migration due to skipped processing,",
    "Edit rule": "Edit rule",
    "File name": "File name",
    "File size": "File size",
    "Global rule": "Global rule",
    "Independent rule": "Independent rule",
    "Insert Ignore": "Insert Ignore",
    "Insert or update priority (under development)": "Insert or update priority (under development)",
    "Kernel/plugin built-in collections": "Kernel/plugin built-in collections",
    "Migration list": "Migration list",
    "Migration log": "Migration log",
    "Migration logs": "Migration logs",
    "Migration manager": "Migration manager",
    "Migration rule": "Migration rule",
    "Migration rules": "Migration rules",
    "New migration": "New migration",
    "No action will be taken": "No action will be taken",
    "Only migrate collection structures without involving data insertion or updates": "Only migrate collection structures without involving data insertion or updates",
    "Origin": "Origin",
    "Overwrite": "Overwrite",
    "Overwrite (Truncate and Insert)": "Overwrite (Truncate and Insert)",
    "Overwrite priority (recommended)": "Overwrite priority (recommended)",
    "Overwrite priority rule information": "Overwrite priority rule information",
    "Please click here to review and add these collections to the independent rule configuration.": "Please click here to review and add these collections to the independent rule configuration.",
    "Please ensure you have created a backup before executing the migration to prevent data issues in case of migration failure.": "Please ensure you have created a backup before executing the migration to prevent data issues in case of migration failure.",
    "Rule": "Rule",
    "Rules": "Rules",
    "Saved successfully": "Saved successfully",
    "Schema only": "Schema only",
    "Search": "Search",
    "Secrets": "Secrets",
    "Set environment": "Set environment",
    "Skip": "Skip",
    "Skip automatic backup and restore": "Skip automatic backup and restore",
    "Start": "Start",
    "Support for a single or bulk upload. Strictly prohibited from uploading company data or other banned files.": "Support for a single or bulk upload. Strictly prohibited from uploading company data or other banned files.",
    "The built-in rule are migration rule defined by each plugin. You do not need to modify them unless you have a deep understanding of the plugin": "The built-in rule are migration rule defined by each plugin. You do not need to modify them unless you have a deep understanding of the plugin",
    "The following environment variables are missing in the current application. Please fill them in and continue.": "The following environment variables are missing in the current application. Please fill them in and continue.",
    "Unknown": "Unknown",
    "Update the record if it exists, insert it if it does not": "Update the record if it exists, insert it if it does not",
    "Upload and run migration": "Upload and run migration",
    "Upsert": "Upsert",
    "User-defined collections": "User-defined collections",
    "Variables": "Variables",
    "View details": "View details",
    "When configuring rule for specific collections, they will take precedence over global rule.": "When configuring rule for specific collections, they will take precedence over global rule.",
    "When inserting data, if the record already exists, ignore it without updating": "When inserting data, if the record already exists, ignore it without updating"
  },
  "@nocobase/plugin-mobile": {
    "Add link": "Add link",
    "Add page": "Add page",
    "Add tab": "Add tab",
    "App settings": "App settings",
    "Back": "Back",
    "Cancel": "Cancel",
    "Clear": "Clear",
    "Confirm": "Confirm",
    "Deprecated Warning": "This plugin has been deprecated and may be removed in future versions. Please migrate to the new mobile solution.",
    "Desktop data blocks": "Desktop data blocks",
    "Display < back button": "Display < back button",
    "Display navigation bar": "Display navigation bar",
    "Display page header": "Display page header",
    "Display page title": "Display page title",
    "Display tab bar": "Display tab bar",
    "Display tabs": "Display tabs",
    "Fill": "Fill",
    "Icon": "Icon",
    "Icon field is required": "Icon field is required",
    "Info": "Info",
    "Link": "Link",
    "Mobile": "Mobile",
    "Mobile (deprecated)": "Mobile (deprecated)",
    "Mobile menu": "Mobile menu",
    "Mobile routes": "Mobile routes",
    "No accessible pages found": "No accessible pages found",
    "Other desktop blocks": "Other desktop blocks",
    "Page settings": "Page settings",
    "Remove": "Remove",
    "Select time": "Select time",
    "Selected icon": "Selected icon",
    "Settings": "Settings",
    "This might be due to permission configuration issues": "This might be due to permission configuration issues",
    "Title": "Title",
    "Title field is required": "Title field is required"
  },
  "@nocobase/plugin-mobile-client": {
    "Add menu item": "Add menu item",
    "Add tab": "Add tab",
    "App Configuration": "App Configuration",
    "App level Configuration": "App level Configuration",
    "Delete menu": "Delete menu",
    "Delete menu block": "Delete menu block",
    "Delete menu item?": "Delete menu item?",
    "Delete settings block": "Delete settings block",
    "Delete tab item?": "Delete tab item?",
    "Display back button": "Display back button",
    "Edit info": "Edit info",
    "Edit menu info": "Edit menu info",
    "Enable Header": "Enable Header",
    "Enable TabBar": "Enable TabBar",
    "Enable Tabs": "Enable Tabs",
    "Icon": "Icon",
    "Interface Configuration": "Interface Configuration",
    "Menu": "Menu",
    "Menu configuration": "Menu configuration",
    "Menu name": "Menu name",
    "Mobile Client-side(Deprecated)": "Mobile Client-side(Deprecated)",
    "Mobile client access address": "Mobile client access address",
    "Page configuration": "Page configuration",
    "Page template": "Page template",
    "Preview": "Preview",
    "Settings": "Settings",
    "Template mode": "Template mode",
    "The full address is": "The full address is",
    "Title": "Title",
    "Untitled": "Untitled"
  },
  "@nocobase/plugin-multi-app-manager": {
    "An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
    "App ID": "App ID",
    "App display name": "App display name",
    "Applications": "Applications",
    "Authentication options": "Authentication options",
    "Auto start": "Auto start",
    "Automatically generate a JWT secret": "Automatically generate a JWT secret",
    "Custom domain": "Custom domain",
    "JWT secret": "JWT secret",
    "Manage applications": "Manage applications",
    "Multi-app manager": "Multi-app manager",
    "Pin to menu": "Pin to menu",
    "Standalone deployment": "Standalone deployment",
    "Start mode": "Start mode",
    "Start on first visit": "Start on first visit",
    "Start with main application": "Start with main application"
  },
  "@nocobase/plugin-multi-app-share-collection": {
    "All categories": "All categories",
    "Are you sure to add the following collections?": "Are you sure to add the following collections?",
    "Are you sure to remove the following collections?": "Are you sure to remove the following collections?",
    "Collection category": "Collection category",
    "Collection display name": "Collection display name",
    "Collection name": "Collection name",
    "Enter name or title...": "Enter name or title...",
    "Share collections": "Share collections",
    "Shared collections": "Shared collections",
    "Unshared collections": "Unshared collections"
  },
  "@nocobase/plugin-multi-keyword-filter": {
    "cancel": "Cancel",
    "confirm": "Confirm",
    "equalsAny": "is any of",
    "errorParsingExcel": "Error parsing Excel file:",
    "excelFileEmpty": "Excel file is empty",
    "failedToParseExcel": "Failed to parse Excel file",
    "importExcel": "Batch import keywords from Excel",
    "importSuccess": "Successfully imported {{count}} keywords",
    "keywordsInputPlaceholder": "Multiple keywords separated by line breaks",
    "noValidKeywords": "No valid keywords found",
    "notEqualsAny": "is none of",
    "providedByPlugin": "Provided by @nocobase/plugin-multi-keyword-filter plugin",
    "selectAtLeastOneColumn": "Please select at least one column",
    "selectColumnsPlaceholder": "Please select columns to import",
    "selectExcelColumns": "Select Excel columns to import",
    "tips": "Effect of selecting a single column: All non-empty values in that column will be imported as keywords.\nEffect of selecting multiple columns: Non-empty values from multiple columns will be merged as keywords, duplicate values will be removed."
  },
  "@nocobase/plugin-notification-email": {
    "Account": "Account",
    "Add email address": "Add email address",
    "BCC": "BCC",
    "CC": "CC",
    "Configure": "Configure",
    "Content": "Content",
    "Content type": "Content type",
    "Email": "Email",
    "From": "From",
    "Host": "Host",
    "In most cases, if using port 465, set it to true; otherwise, set it to false.": "In most cases, if using port 465, set it to true; otherwise, set it to false.",
    "Password": "Password",
    "Plain text": "Plain text",
    "Port": "Port",
    "SMTP mail": "SMTP mail",
    "SMTP server host": "SMTP server host",
    "Secure": "Secure",
    "Subject": "Subject",
    "The email address that will be used as the sender": "The email address that will be used as the sender",
    "To": "To",
    "Transport": "Transport"
  },
  "@nocobase/plugin-notification-in-app-message": {
    "All": "All",
    "Channel name": "Channel name",
    "Close after": "Close after",
    "Content": "Content",
    "Content type": "Content type",
    "Datetime": "Datetime",
    "Detail": "Detail",
    "Details page for desktop": "Details page for desktop",
    "Details page for mobile": "Details page for mobile",
    "In-app message": "In-app message",
    "Inbox": "Inbox",
    "Loading": "Loading",
    "Loading failed,": "Loading failed,",
    "Loading more": "Loading more",
    "Mark all as read": "Mark all as read",
    "Mark as read": "Mark as read",
    "Mark as unread": "Mark as unread",
    "Message": "Message",
    "Message content": "Message content",
    "Message group name": "Message group name",
    "Message title": "Message title",
    "No more": "No more",
    "Plain text": "Plain text",
    "Read": "Read",
    "Receivers": "Receivers",
    "Status": "Status",
    "Support two types of links: internal links and external links. If using an internal link, the link starts with \"/\", for example, \"/admin\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".": "Support two types of links: internal links and external links. If using an internal link, the link starts with \"/\", for example, \"/admin\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".",
    "Support two types of links: internal links and external links. If using an internal link, the link starts with \"/\", for example, \"/m\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".": "Support two types of links: internal links and external links. If using an internal link, the link starts with \"/\", for example, \"/m\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".",
    "Support two types of links: internal links and external links. If using an internal link, the link starts with\"/\", for example, \"/admin\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".": "Support two types of links: internal links and external links. If using an internal link, the link starts with \"/\", for example, \"/admin\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".",
    "Support two types of links: internal links and external links. If using an internal link, the link starts with\"/\", for example, \"/m\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".": "Support two types of links: internal links and external links. If using an internal link, the link starts with \"/\", for example, \"/m\". If using an external link, the link starts with \"http\", for example, \"https://example.com\".",
    "The message page has already been created.": "The message page has already been created.",
    "Unit is second. Will not close automatically when set to empty.": "Unit is second. Will not close automatically when set to empty.",
    "Unread": "Unread",
    "When select receivers from node result, only support ID of user (or IDs array of users). Others will not match any user.": "When select receivers from node result, only support ID of user (or IDs array of users). Others will not match any user.",
    "detail URL": "detail URL",
    "please reload": "please reload"
  },
  "@nocobase/plugin-notification-manager": {
    "Actions": "Actions",
    "Add new": "Add new",
    "Add new receiver": "Add new receiver",
    "Add user": "Add user",
    "Are you sure you want to delete it?": "Are you sure you want to delete it?",
    "Channel": "Channel",
    "Channel display name": "Channel display name",
    "Channel name": "Channel name",
    "Channel title": "Channel title",
    "Channels": "Channels",
    "Configure": "Configure",
    "Content": "Content",
    "Created At": "Created At",
    "Created at": "Created at",
    "Delete record": "Delete record",
    "Deleted successfully!": "Deleted successfully!",
    "Description": "Description",
    "Edit": "Edit",
    "Fail": "Fail",
    "Failed reason": "Failed reason",
    "Failure": "Failure",
    "Log detail": "Log detail",
    "Logs": "Logs",
    "Manual input": "Manual input",
    "Message": "Message",
    "No channel enabled yet": "No channel enabled yet",
    "Notification": "Notification",
    "Notification Management": "Notification Management",
    "Notification manager": "Notification manager",
    "Notification type": "Notification type",
    "Query users": "Query users",
    "Randomly generated and can not be modified. Support letters, numbers and underscores, must start with an letter.": "Randomly generated and can not be modified. Support letters, numbers and underscores, must start with an letter.",
    "Reason": "Reason",
    "Receiver": "Receiver",
    "Receiver type": "Receiver type",
    "Receivers": "Receivers",
    "Select user": "Select user",
    "Select users": "Select users",
    "Status": "Status",
    "Success": "Success",
    "Templates": "Templates",
    "Title": "Title",
    "Trigger From": "Trigger From",
    "Trigger from": "Trigger from"
  },
  "@nocobase/plugin-password-policy": {
    "Add user": "Add user",
    "Are you sure you want to clear unlocked users?": "Are you sure you want to clear unlocked users?",
    "Can't include username in password": "Can't include username in password",
    "Clear successfully": "Clear successfully",
    "Clear unlocked users": "Clear unlocked users",
    "Clear unlocked users tooltip": "Unlocked users usually have lock records cleared upon sign-in, but in some cases expired records may remain. You can manually clear them if needed.",
    "Leave blank to lock permanently.": "Leave blank to lock permanently.",
    "Lock reason": "Lock reason",
    "Locked time": "Locked time",
    "Locked users": "Locked users",
    "Lockout duration (seconds)": "Lockout duration (seconds)",
    "Lockout duration description": "Lockout duration (in seconds) after exceeding the maximum invalid sign-in attempts (0 means no lockout). Users are blocked from accessing the application, including via API keys.",
    "Max invalid password sign-in attempts": "Max invalid password sign-in attempts",
    "Max invalid password sign-in attempts interval (seconds)": "Max invalid password sign-in attempts interval (seconds)",
    "Max sign-in attempts description": "The maximum number of invalid password sign-in attempts allowed within a specific time frame.",
    "Max sign-in attempts interval description": "The interval (in seconds) for counting the invalid password sign-in attempts, with a minimum value of 30 seconds.",
    "Minimum password length": "Minimum password length",
    "Never expire": "Never expire",
    "No limit": "No limit",
    "No restrictions": "No restrictions",
    "Password complexity 3_of_4": "Must include 3 of the following: numbers, uppercase letters, lowercase letters, and special characters",
    "Password complexity alpha_numeric": "Must include alpha and numeric characters",
    "Password complexity alpha_numeric_special": "Must include alpha, numeric and special characters",
    "Password complexity numbers_upper_lower": "Must include numbers and uppercase and lowercase letters",
    "Password complexity numbers_upper_lower_special": "Must include numbers, uppercase and lowercase letters, and special characters",
    "Password complexity requirements": "Password complexity requirements",
    "Password expiration channel description": "Notify users at sign in if their password expires within 10 days. You can create notification channels in notification management.",
    "Password expiration configuration": "Password expiration configuration",
    "Password expiration notification channel": "Passwords expiration notification channel",
    "Password expiration warning": "Password expiration warning",
    "Password expired": "Password expired",
    "Password history count": "Password history count",
    "Password history count description": "The number of previous passwords stored to prevent reuse.",
    "Password length must be between {{n}} and 64 characters": "Password length must be between {{n}} and 64 characters",
    "Password must be different from the last {{historyCount}} passwords": "Password must be different from the last {{historyCount}} passwords",
    "Password policy": "Password policy",
    "Password rules": "Password rules",
    "Password sign-in security": "Password sign-in security",
    "Password validity period (days)": "Passwords validity period (days)",
    "Password validity period description": "After the password expires, the user can't sign in using password until the administrator resets the password. However, the user can still sign in using other configured authentication methods.",
    "Security settings notice lockout": "users will be locked for {{ lockoutDuration }} seconds after {{ maxSignInAttempts }} invalid password sign-in attempts within {{ maxSignInAttemptsInterval }} seconds.",
    "Security settings notice no limit": "there is not limit on invalid password sign-in attempts.",
    "Security settings notice no lockout": "users can attempt to sign-in in {{ maxSignInAttempts }} times every {{ maxSignInAttemptsInterval }} seconds.",
    "The account has been locked due to too many sign-in attempts.": "The account has been locked due to too many sign-in attempts.",
    "The account has been reached the maximum number of sign-in attempts, please try again later.": "The account has been reached the maximum number of sign-in attempts, please try again later.",
    "The user is locked, please try again later.": "The user is locked, please try again later.",
    "Unlock time": "Unlock time",
    "With the current settings, ": "With the current settings, ",
    "Your password will expire in {{days}} days, please reset your password.": "Your password will expire in {{days}} days, please reset your password."
  },
  "@nocobase/plugin-pro-tpl": {},
  "@nocobase/plugin-public-forms": {
    "# Submitted successfully!\nThis is a demo text, **supports Markdown syntax**.": "# Submitted successfully!\nThis is a demo text, **supports Markdown syntax**.",
    "Add New": "Add New",
    "After successful submission": "After successful submission",
    "Copy link": "Copy link",
    "Enable form": "Enable form",
    "Enable password": "Enable password",
    "Form": "Form",
    "Link copied successfully": "Link copied successfully",
    "Open form": "Open form",
    "Prompt after successful submission": "Prompt after successful submission",
    "Public forms": "Public forms",
    "QR code": "QR code",
    "Set password": "Set password",
    "The form is not enabled and cannot be accessed": "The form is not enabled and cannot be accessed",
    "The form is not found": "The form is not found",
    "Type": "Type"
  },
  "@nocobase/plugin-qr-uploader": {},
  "@nocobase/plugin-queue-adapter-rabbitmq": {},
  "@nocobase/plugin-request-encryption": {},
  "@nocobase/plugin-service-platform": {
    "Copied": "Copied",
    "Copy": "Copy",
    "Copy success": "Copy success",
    "Download file": "Download file",
    "Instruction: Please save the downloaded file or content to <nocobase>/storage/.license/key": "Instruction: Please save the downloaded file or content to <nocobase>/storage/.license/key",
    "Key not found": "Key not found",
    "Regenerate": "Regenerate",
    "Regenerate key successfully": "Regenerate key successfully",
    "license key": "license key"
  },
  "@nocobase/plugin-snapshot-field": {
    "Add block": "Ajouter un bloc",
    "Allow linking to multiple records": "Autoriser la liaison à plusieurs enregistrements",
    "Detail": "Détail",
    "Please select": "Veuillez sélectionner",
    "Snapshot": "Snapshot",
    "Snapshot data": "Snapshot data",
    "Snapshot the snapshot's association fields": "Snapshot des champs d'association du snapshot",
    "The association field to snapshot": "Le champ d'association à un snapshot",
    "View record": "Voir l'enregistrement",
    "When a record is created, association data is backed up in a snapshot": "When a record is created, association data is backed up in a snapshot",
    "When adding a new record, create a snapshot for its relational record and save in the current record. The snapshot is not updated when the record is subsequently updated.": "Lors de l'ajout d'un nouvel enregistrement, créez un snapshot pour son enregistrement relationnel et enregistrez-le dans l'enregistrement actuel. Le snapshot n'est pas mis à jour lorsque l'enregistrement est ultérieurement modifié.",
    "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated."
  },
  "@nocobase/plugin-template-generator": {},
  "@nocobase/plugin-testing-platform": {},
  "@nocobase/plugin-text-copy": {
    "Display copy button": "Display copy button"
  },
  "@nocobase/plugin-theme-editor": {
    "Add new theme": "Add new theme",
    "Close": "Fermer",
    "Compact": "Compact",
    "Compact dark": "Compact dark",
    "Create a brand new theme": "Create a brand new theme",
    "Current": "Actuel",
    "Dark": "Dark",
    "Dark theme": "Thème sombre",
    "Default": "Par défaut",
    "Default theme": "Default theme",
    "Delete theme": "Delete theme",
    "Deleted successfully": "Deleted successfully",
    "Deletion is unrecoverable. Confirm deletion?": "Deletion is unrecoverable. Confirm deletion?",
    "Edit": "Modifier",
    "Edit based on current theme": "Edit based on current theme",
    "Edited successfully": "Modifié avec succès",
    "Export": "Exporter",
    "Initializing Editor...": "Initialisation de l'éditeur...",
    "Local": "Local",
    "Non-optional": "Non-optionnel",
    "Optional": "Optionnel",
    "Please input the theme name": "Veuillez saisir le nom du thème",
    "Please set a name for this theme": "Veuillez définir un nom pour ce thème",
    "Save": "Enregistrer",
    "Save theme": "Enregistrer le thème",
    "Saved successfully": "Enregistré avec succès",
    "The theme of the JSON format is incorrect": "Le thème au format JSON est incorrect",
    "Theme": "Thème",
    "Theme Editor": "Éditeur de thème",
    "Theme editor": "Theme editor",
    "Themes": "Themes",
    "Updated successfully": "Updated successfully",
    "User selectable": "User selectable",
    "edit Theme Config": "Modifier la configuration du thème"
  },
  "@nocobase/plugin-two-factor-authentication": {
    "Bind": "Bind",
    "Enforce 2FA for all users": "Enforce two-factor authentication (2FA) for all users",
    "Please sign in again.": "Please sign in again",
    "The application has enabled two-factor authentication, please bind one kind of verification methods.": "The application has enabled two-factor authentication, please bind one kind of verification methods.",
    "The application has enabled two-factor authentication, please verify your identity.": "The application has enabled two-factor authentication, please verify your identity.",
    "Two-factor authentication": "Two-factor authentication (2FA)",
    "Two-factor authentication has expired": "Two-factor authentication has exipred",
    "Two-factor authentication has expired. Please sign-in again": "Two-factor authentication has expired. Please sign-in again",
    "Verify": "Verify"
  },
  "@nocobase/plugin-user-data-sync": {
    "Authenticator": "Authenticator",
    "Batch": "Batch",
    "Failed": "Failed",
    "Init": "Init",
    "Message": "Message",
    "No user data source plugin installed": "No user data source plugin installed",
    "Processing": "Processing",
    "Retry": "Retry",
    "Source display name": "Source display name",
    "Source name": "Source name",
    "Status": "Status",
    "Success": "Success",
    "Sync": "Sync",
    "Synchronize": "Synchronize",
    "Tasks": "Tasks",
    "The sync source API call failed. Please check the logs to troubleshoot the issue.": "The sync source API call failed. Please check the logs to troubleshoot the issue.",
    "The synchronization has started. You can click on 'Tasks' to view the synchronization status.": "The synchronization has started. You can click on 'Tasks' to view the synchronization status.",
    "Type": "Type",
    "View documentation": "View documentation",
    "default": "default",
    "dingtalk": "dingtalk",
    "wecom": "wecom"
  },
  "@nocobase/plugin-users": {
    "Add user": "Add user",
    "Add users": "Add users",
    "Allow change password": "Allow change password",
    "Allow edit profile": "Allow edit profile",
    "Are you sure you want to remove it?": "Are you sure you want to remove it?",
    "Random password": "Random password",
    "Remove user": "Remove user",
    "User profile is not allowed to be edited": "User profile is not allowed to be edited",
    "Users & Permissions": "Users & Permissions",
    "Users manager": "Users manager"
  },
  "@nocobase/plugin-verification": {
    "Access Key ID": "Access Key ID",
    "Access Key Secret": "Access Key Secret",
    "Aliyun SMS": "Aliyun SMS",
    "Bind": "Bind",
    "Bound successfully": "Bound successfully",
    "Configured": "Configured",
    "Endpoint": "Endpoint",
    "Get one-time codes sent to your phone via SMS to complete authentication requests.": "Get one-time codes sent to your phone via SMS to complete authentication requests.",
    "Go to": "Go to",
    "Not a valid cellphone number, please re-enter": "Not a valid cellphone number, please re-enter",
    "Not configured": "Not configured",
    "Please don't retry in {{time}} seconds": "Please don't retry in {{time}} seconds",
    "Provider": "Provider",
    "Provider type": "Provider type",
    "Region": "Region",
    "SMS OTP": "SMS OTP",
    "Secret Id": "Secret Id",
    "Secret Key": "Secret Key",
    "Sign": "Sign",
    "Sign name": "Sign name",
    "Sms sdk app id": "Sms sdk app id",
    "Template Id": "Template Id",
    "Template code": "Template code",
    "Tencent SMS": "Tencent SMS",
    "The following types of verifiers are available:": "The following types of verifiers are available: ",
    "Too many failed attempts. Please request a new verification code.": "Too many failed attempts. Please request a new verification code.",
    "Unbind": "Unbind",
    "Unbind verifier": "Unbind verifier",
    "Unbound successfully": "Unbound successfully",
    "Verification": "Verification",
    "Verification code is invalid": "Verification code is invalid",
    "Verification providers": "Verification providers",
    "Verification send failed, please try later or contact to administrator": "Verification send failed, please try later or contact to administrator",
    "Verification type": "Verification type",
    "Verifier": "Verifier",
    "Verifiers": "Verifiers",
    "You are trying so frequently, please slow down": "You are trying so frequently, please slow down",
    "create verifiers": "create verifiers"
  },
  "@nocobase/plugin-verification-totp-authenticator": {
    "Scan the QR code": "Scan the QR code",
    "TOTP authenticator": "TOTP authenticator",
    "The code is invalid": "The code is invalid",
    "The secret is expired, please regenerate and try again": "The secret is expired, please regenerate and try again",
    "Too many failed attempts. Please try again later": "Too many failed attempts. Please try again later",
    "Unable to scan? You can use the setup key below to manually configure your authenticator app.": "Unable to scan? You can use the setup key below to manually configure your authenticator app.",
    "Use an authentication app or browser extension to get time-based one-time codes when prompted.": "Use an authentication app or browser extension to get time-based one-time codes when prompted.",
    "Verify the code from the app": "Verify the code from the app",
    "You have no attempts left. Please try again later": "You have no attempts left. Please try again later",
    "You have {{attempts}} attempts left": "You have {{attempts}} attempts left"
  },
  "@nocobase/plugin-workerid-allocator-redis": {},
  "@nocobase/plugin-workflow": {
    "\"Submit to workflow\" to \"Post-action event\" is deprecated, please use \"Custom action event\" instead.": "\"Submit to workflow\" to \"Post-action event\" is deprecated, please use \"Custom action event\" instead.",
    "\"{{branchName}}\" branch": "\"{{branchName}}\" branch",
    "A new version will be created automatically after execution if current version is not executed.": "A new version will be created automatically after execution if current version is not executed.",
    "Aborted": "Aborted",
    "Add": "Add",
    "Add category": "Add category",
    "Add new record to a collection. You can use variables from upstream nodes to assign values to fields.": "Add new record to a collection. You can use variables from upstream nodes to assign values to fields.",
    "Add node": "Add node",
    "Add workflow": "Add workflow",
    "Advanced": "Avancé",
    "After end of branches": "After end of branches",
    "After record added": "Après l'ajout d'un enregistrement",
    "After record added or updated": "Après l'ajout ou la mise à jour d'un enregistrement",
    "After record deleted": "Après la suppression d'un enregistrement",
    "After record updated": "Après la mise à jour d'un enregistrement",
    "All": "All",
    "Allow multiple records as result": "Allow multiple records as result",
    "Are you sure you want to cancel the execution?": "Are you sure you want to cancel the execution?",
    "Arithmetic calculation": "Calcul arithmétique",
    "Asynchronously": "Asynchronously",
    "Auto delete history when execution is on end status": "Auto delete history when execution is on end status",
    "Automatically create a new version after execution": "Automatically create a new version after execution",
    "Based on boolean result of the calculation to determine whether to \"continue\" or \"exit\" the process, or continue on different branches of \"yes\" and \"no\".": "Based on boolean result of the calculation to determine whether to \"continue\" or \"exit\" the process, or continue on different branches of \"yes\" and \"no\".",
    "Based on certain date": "Basé sur une date spécifique",
    "Based on date field of collection": "Basé sur le champ de date de la collection",
    "Basic": "Basic",
    "Bind workflows": "Bind workflows",
    "Boolean": "Booléen",
    "Branch into \"Yes\" and \"No\"": "Brancher sur \"Oui\" et \"Non\"",
    "Branch to keep": "Branch to keep",
    "Branch {{index}}": "Branch {{index}}",
    "By custom date": "Par date personnalisée",
    "By day": "Par jour",
    "By field": "Par champ",
    "By hour": "Par heure",
    "By minute": "Par minute",
    "By month": "Par mois",
    "By week": "Par semaine",
    "Calculate an expression based on a calculation engine and obtain a value as the result. Variables in the upstream nodes can be used in the expression.": "Calculate an expression based on a calculation engine and obtain a value as the result. Variables in the upstream nodes can be used in the expression.",
    "Calculation": "Calcul",
    "Calculation engine": "Calculation engine",
    "Calculation expression": "Calculation expression",
    "Calculation result": "Résultat du calcul",
    "Can not delete": "Impossible de supprimer",
    "Cancel the execution": "Cancel the execution",
    "Canceled": "Annulé",
    "Category": "Category",
    "Changed fields": "Champs modifiés",
    "Choose a record or primary key of a record in the collection to trigger.": "Choose a record or primary key of a record in the collection to trigger.",
    "Clear all executions": "Clear all executions",
    "Clear executions will not reset executed count, and started executions will not be deleted, are you sure you want to delete them all?": "Clear executions will not reset executed count, and started executions will not be deleted, are you sure you want to delete them all?",
    "Collection event": "Événement de collection",
    "Collection operations": "Opérations sur la collection",
    "Completed": "Completed",
    "Concat": "Concat",
    "Condition": "Condition",
    "Condition expression": "Condition expression",
    "Conditions": "Conditions",
    "Configure calculation": "Configurer le calcul",
    "Constant": "Constante",
    "Continue when \"Yes\"": "Continuer quand \"Oui\"",
    "Continue when disabled or upgraded": "Continue when disabled or upgraded",
    "Control": "Contrôle",
    "Copy to new version": "Copier vers une nouvelle version",
    "Create record": "Créer un enregistrement",
    "Current time": "Current time",
    "Current version will be deleted (without affecting other versions).": "Current version will be deleted (without affecting other versions).",
    "Data operation nodes in workflow will run in a same transaction until any interruption. Any failure will cause data rollback, and will also rollback the history of the execution.": "Data operation nodes in workflow will run in a same transaction until any interruption. Any failure will cause data rollback, and will also rollback the history of the execution.",
    "Date range": "Date range",
    "Date variables": "Date variables",
    "Days": "Jours",
    "Delete all": "Delete all",
    "Delete category": "Delete category",
    "Delete node": "Delete node",
    "Delete record": "Delete record",
    "Delete records of a collection. Could use variables in workflow context as filter. All records match the filter will be deleted.": "Delete records of a collection. Could use variables in workflow context as filter. All records match the filter will be deleted.",
    "Duplicate": "Dupliquer",
    "Duplicate to new workflow": "Duplicate to new workflow",
    "Edit category": "Edit category",
    "End": "Fin",
    "End process": "End process",
    "End status": "End status",
    "End the process immediately, with set status.": "End the process immediately, with set status.",
    "Ends on": "Se termine le",
    "Error": "Error",
    "Every": "Chaque",
    "Exactly at": "Exactement à",
    "Execute manually": "Execute manually",
    "Execute mode": "Execute mode",
    "Execute on": "Execute on",
    "Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.": "Execute workflow asynchronously or synchronously based on trigger type, and could not be changed after created.",
    "Executed": "Exécuté",
    "Executed at": "Exécuté à",
    "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Executed workflow cannot be modified. Could be copied to a new version to modify.",
    "Execution history": "Historique d'exécution",
    "Exit when query result is null": "Exit when query result is null",
    "Expression syntax error": "Expression syntax error",
    "Extended types": "Types étendus",
    "Failed": "Échoué",
    "Failed to satisfy node configurations.": "Failed to satisfy node configurations.",
    "False": "Faux",
    "Fields that are not assigned a value will be set to the default value, and those that do not have a default value are set to null.": "Les champs qui ne reçoivent pas de valeur seront définis sur la valeur par défaut, et ceux qui n'ont pas de valeur par défaut seront définis sur null.",
    "For user actions that require immediate feedback. Can not use asynchronous nodes in such mode, and it is not recommended to perform time-consuming operations under synchronous mode.": "For user actions that require immediate feedback. Can not use asynchronous nodes in such mode, and it is not recommended to perform time-consuming operations under synchronous mode.",
    "Full form data": "Full form data",
    "General failed but should do another try.": "General failed but should do another try.",
    "Go back": "Go back",
    "Hours": "Heures",
    "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
    "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.",
    "Inside of \"No\" branch": "Inside of \"No\" branch",
    "Inside of \"Yes\" branch": "Inside of \"Yes\" branch",
    "Inside of \"{{branchName}}\" branch": "Inside of \"{{branchName}}\" branch",
    "Inside of branch": "Inside of branch",
    "Keep": "Keep",
    "Load failed": "Échec du chargement",
    "Loading": "Chargement",
    "Log": "Log",
    "Manual": "Manual",
    "Manually canceled whole execution when waiting.": "Manually canceled whole execution when waiting.",
    "Maximum number of cycling triggers": "Maximum number of cycling triggers",
    "Minutes": "Minutes",
    "Mode": "Mode",
    "Months": "Mois",
    "Move all downstream nodes to": "Move all downstream nodes to",
    "Multiple records": "Multiples enregistrements",
    "New version enabled": "New version enabled",
    "No": "No",
    "No end": "Pas de fin",
    "No limit": "Pas de limite",
    "No repeat": "Pas de répétition",
    "No variable": "No variable",
    "No workflow tasks available. Please contact the administrator.": "No workflow tasks available. Please contact the administrator.",
    "Node in executed workflow cannot be modified": "Le nœud dans le workflow exécuté ne peut pas être modifié",
    "Node result": "Résultat du nœud",
    "Node type": "Type de nœud",
    "Node with unknown type will cause error. Please delete it or check plugin which provide this type.": "Node with unknown type will cause error. Please delete it or check plugin which provide this type.",
    "Null": "Null",
    "Off": "Désactivé",
    "On": "Activé",
    "On going": "En cours",
    "Only triggers when match conditions": "Déclenche uniquement lorsque les conditions correspondent",
    "Only update records matching conditions": "Mettre à jour uniquement les enregistrements correspondant aux conditions",
    "Operations": "Operations",
    "Operator": "Calculatrice",
    "Pending": "En attente",
    "Please add at least one condition": "Please add at least one condition",
    "Please select collection first": "Veuillez d'abord sélectionner une collection",
    "Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.": "Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.",
    "Preload associations": "Preload associations",
    "Query record": "Interroger un enregistrement",
    "Query records from a collection. You can use variables from upstream nodes as query conditions.": "Query records from a collection. You can use variables from upstream nodes as query conditions.",
    "Query users": "Query users",
    "Queueing": "En attente",
    "Rejected": "Rejected",
    "Rejected from a manual node.": "Rejected from a manual node.",
    "Repeat limit": "Limite de répétition",
    "Repeat mode": "Mode de répétition",
    "Replace variables": "Replace variables",
    "Resolved": "Resolved",
    "Result": "Result",
    "Result type": "Result type",
    "Retry needed": "Retry needed",
    "Running of some node was aborted by program flow.": "Running of some node was aborted by program flow.",
    "Schedule event": "Événement planifié",
    "Scope variables": "Scope variables",
    "Seconds": "Secondes",
    "Select context": "Select context",
    "Select users": "Select users",
    "Select workflow": "Select workflow",
    "Single record": "Single record",
    "Some node meets error.": "Some node meets error.",
    "Started and executing, maybe waiting for an async callback (manual, delay etc.).": "Started and executing, maybe waiting for an async callback (manual, delay etc.).",
    "Starts on": "Commence le",
    "Status": "Statut",
    "String": "Chaîne de caractères",
    "String operation": "Opération sur les chaînes de caractères",
    "Submit to workflow": "Submit to workflow",
    "Succeeded": "Réussi",
    "Successfully finished.": "Successfully finished.",
    "Support pre-action event (local mode), post-action event (local mode), and approval event here.": "Support pre-action event (local mode), post-action event (local mode), and approval event here.",
    "Sync": "Sync",
    "Sync enabled status of all workflows from database": "Sync enabled status of all workflows from database",
    "Synchronously": "Synchronously",
    "Syntax references: ": "Syntax references: ",
    "System time": "System time",
    "System variables": "System variables",
    "Task type {{type}} is invalid": "Task type {{type}} is invalid",
    "Test run": "Test run",
    "Test run will do the actual data manipulating or API calling, please use with caution.": "Test run will do the actual data manipulating or API calling, please use with caution.",
    "The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.": "Le résultat de ce nœud a été référencé par d'autres nœuds ({{nodes}}), veuillez supprimer son utilisation avant de le supprimer.",
    "The result will be an array containing matched records, or an empty one if no matching records. This can be used to be processed in a loop node.": "The result will be an array containing matched records, or an empty one if no matching records. This can be used to be processed in a loop node.",
    "The result will be an object of the first matching record only, or null if no matched record.": "The result will be an object of the first matching record only, or null if no matched record.",
    "The trigger is not configured correctly, please check the trigger configuration.": "The trigger is not configured correctly, please check the trigger configuration.",
    "The triggers of same workflow by some node (create, update and sub-flow etc.) more than this number will be ignored. Large number may cause performance issues. Please use with caution.": "The triggers of same workflow by some node (create, update and sub-flow etc.) more than this number will be ignored. Large number may cause performance issues. Please use with caution.",
    "The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.": "The updated data can trigger other workflows, and the audit log will also be recorded. But it is usually only applicable to several or dozens of pieces of data, otherwise there will be performance problems.",
    "The workflow tasks page has already been created.": "The workflow tasks page has already been created.",
    "This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions).": "This is a main version, delete it will cause the whole workflow to be deleted (including all other revisions).",
    "This node contains branches, deleting will also be preformed to them, are you sure?": "Ce nœud contient des branches, leur suppression sera également effectuée, êtes-vous sûr(e) ?",
    "This type of trigger has not been supported to be executed manually.": "This type of trigger has not been supported to be executed manually.",
    "This will perform all the actions configured in the workflow. Are you sure you want to continue?": "This will perform all the actions configured in the workflow. Are you sure you want to continue?",
    "Trigger": "Déclencheur",
    "Trigger data": "Données de déclenchement",
    "Trigger data context": "Trigger data context",
    "Trigger in executed workflow cannot be modified": "Le déclencheur dans le workflow exécuté ne peut pas être modifié",
    "Trigger mode": "Mode de déclenchement",
    "Trigger on": "Déclencher sur",
    "Trigger time": "Temps de déclenchement",
    "Trigger type": "Type de déclencheur",
    "Trigger variables": "Variables de déclenchement",
    "Trigger variables need to be filled for executing.": "Trigger variables need to be filled for executing.",
    "Triggered according to preset time conditions. Suitable for one-time or periodic tasks, such as sending notifications and cleaning data on a schedule.": "Triggered according to preset time conditions. Suitable for one-time or periodic tasks, such as sending notifications and cleaning data on a schedule.",
    "Triggered at": "Déclenché à",
    "Triggered but still waiting in queue to execute.": "Triggered but still waiting in queue to execute.",
    "Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added or deleted, any field is considered to have been changed.": "Déclenché uniquement si l'un des champs sélectionnés change. S'il n'est pas sélectionné, cela signifie qu'il sera déclenché lorsque n'importe quel champ change. Lorsque l'enregistrement est ajouté ou supprimé, n'importe quel champ est considéré comme ayant été modifié.",
    "Triggered when data changes in the collection, such as after adding, updating, or deleting a record. Unlike \"Post-action event\", Collection event listens for data changes rather than HTTP requests. Unless you understand the exact meaning, it is recommended to use \"Post-action event\".": "Triggered when data changes in the collection, such as after adding, updating, or deleting a record. Unlike \"Post-action event\", Collection event listens for data changes rather than HTTP requests. Unless you understand the exact meaning, it is recommended to use \"Post-action event\".",
    "True": "Vrai",
    "Unassigned fields will be set to default values, and those without default values will be set to null.": "Unassigned fields will be set to default values, and those without default values will be set to null.",
    "Unknown node": "Unknown node",
    "Unknown trigger": "Unknown trigger",
    "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.",
    "Update in a batch": "Update in a batch",
    "Update mode": "Update mode",
    "Update one by one": "Update one by one",
    "Update record": "Mettre à jour un enregistrement",
    "Update records of a collection. You can use variables from upstream nodes as query conditions and field values.": "Update records of a collection. You can use variables from upstream nodes as query conditions and field values.",
    "Use transaction": "Use transaction",
    "Variable key of node": "Variable key of node",
    "Version": "Version",
    "View result": "View result",
    "Weeks": "Semaines",
    "Will be executed in the background as a queued task.": "Will be executed in the background as a queued task.",
    "Workflow": "Workflow",
    "Workflow executed, the result status is <1>{{statusText}}</1><2>View the execution</2>": "Workflow executed, the result status is <1>{{statusText}}</1><2>View the execution</2>",
    "Workflow of execution is not existed": "Workflow of execution is not existed",
    "Workflow tasks": "Workflow tasks",
    "Workflow todos": "Workflow todos",
    "Workflow will be triggered before deleting succeeded (only supports pre-action event in local mode).": "Workflow will be triggered before deleting succeeded (only supports pre-action event in local mode).",
    "Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with \"Custom action event\".": "Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with \"Custom action event\".",
    "Workflow with unknown type will cause error. Please delete it or check plugin which provide this type.": "Workflow with unknown type will cause error. Please delete it or check plugin which provide this type.",
    "Yes": "Yes",
    "concat": "concat"
  },
  "@nocobase/plugin-workflow-action-trigger": {
    "Associations to use": "Associations to use",
    "Collection": "Collection",
    "Create record action": "Create record action",
    "Global mode, triggered after the completion of the following actions": "Global mode, triggered after the completion of the following actions",
    "Local mode, triggered after the completion of actions bound to this workflow": "Local mode, triggered after the completion of actions bound to this workflow",
    "Post-action event": "Post-action event",
    "Role of user acted": "Role of user acted",
    "Select actions": "Select actions",
    "The collection to which the triggered data belongs.": "The collection to which the triggered data belongs.",
    "Trigger data": "Trigger data",
    "Trigger mode": "Trigger mode",
    "Triggered after the completion of a request initiated through an action button or API, such as after adding or updating data. Suitable for data processing, sending notifications, etc., after actions are completed.": "Triggered after the completion of a request initiated through an action button or API, such as after adding or updating data. Suitable for data processing, sending notifications, etc., after actions are completed.",
    "Update record action": "Update record action",
    "User acted": "User acted"
  },
  "@nocobase/plugin-workflow-aggregate": {
    "Aggregate": "Aggregate",
    "Aggregator function": "Aggregator function",
    "Counting, summing, finding maximum, minimum, and average values for multiple records of a collection or associated data of a record.": "Counting, summing, finding maximum, minimum, and average values for multiple records of a collection or associated data of a record.",
    "Data of associated collection": "Data of associated collection",
    "Data of collection": "Data of collection",
    "Distinct": "Distinct",
    "Field to aggregate": "Field to aggregate",
    "Number of decimal places for query result.": "Number of decimal places for query result.",
    "Query result": "Query result",
    "Result precision": "Result precision",
    "Target type": "Target type"
  },
  "@nocobase/plugin-workflow-approval": {
    "* Result: {{statusText}}": "* Result: {{statusText}}",
    "* Task: {{approval.nodeTitle}}\n* Applicant: {{applicant.nickname}}": "* Task: {{approval.nodeTitle}}\n* Applicant: {{applicant.nickname}}",
    "Aborted": "Aborted",
    "Actions from any form block can be bound to this workflow for initiating approvals, and the approval process can be handled and tracked in the approval block of a single record which is typically applicable to business data.": "Actions from any form block can be bound to this workflow for initiating approvals, and the approval process can be handled and tracked in the approval block of a single record which is typically applicable to business data.",
    "Add": "Add",
    "Add Order": "Order",
    "Add assignee": "Add assignee",
    "Add channel": "Add channel",
    "Added": "Added",
    "Added assignees": "Added assignees",
    "After Me": "After Me",
    "After data saved": "After data saved",
    "Allow the initiator to withdraw the approval before the approval starts.": "Allow the initiator to withdraw the approval before the approval starts.",
    "Allowed to be withdrawn": "Allowed to be withdrawn",
    "And": "And",
    "Any": "Any",
    "Any previous approval node": "Any previous approval node",
    "Applicant": "Applicant",
    "Applicant (restart)": "Applicant (restart)",
    "Application content": "Application content",
    "Apply": "Apply",
    "Apply form": "Apply form",
    "Apply new": "Apply new",
    "Approval": "Approval",
    "Approval ID": "Approval ID",
    "Approval action changes unsaved, click \"Submit\" to save.": "Approval action changes unsaved, click \"Submit\" to save.",
    "Approval applications": "Approval applications",
    "Approval blocks": "Approval blocks",
    "Approval data key": "Approval data key",
    "Approval done": "Approval done",
    "Approval done: {{approval.workflowTitle}} (#{{approval.approvalId}})": "Approval done: {{approval.workflowTitle}} (#{{approval.approvalId}})",
    "Approval event": "Approval event",
    "Approval information": "Approval information",
    "Approval message templates": "Approval message templates",
    "Approval node": "Approval node",
    "Approval notification": "Approval notification",
    "Approval process": "Approval process",
    "Approval records": "Approval records",
    "Approval submit ID": "Approval submit ID",
    "Approval todo": "Approval todo",
    "Approval todo: {{approval.workflowTitle}} (#{{approval.approvalId}})": "Approval todo: {{approval.workflowTitle}} (#{{approval.approvalId}})",
    "Approval todos": "Approval todos",
    "Approvals": "Approvals",
    "Approve": "Approve",
    "Approved": "Approved",
    "Approved if the approval rate is greater than the set percentage, otherwise rejected.": "Approved if the approval rate is greater than the set percentage, otherwise rejected.",
    "Approver's interface": "Approver's interface",
    "Are you sure you want to withdraw it?": "Are you sure you want to withdraw it?",
    "Assigned": "Assigned",
    "Assigned at": "Assigned at",
    "Assignee": "Assignee",
    "Assignee ID": "Assignee ID",
    "Assignees": "Assignees",
    "Assignees added": "Added",
    "Assignees scope": "Assignees scope",
    "At least one default template in specific channel and type is required.": "At least one default template in specific channel and type is required.",
    "Before Me": "Before Me",
    "Before data saved": "Before data saved",
    "Belonged approval": "Belonged approval",
    "Branch mode": "Branch mode",
    "By checking this on, will use the same task title for all approval nodes in the workflow, or will use the title configured in each node.": "By checking this on, will use the same task title for all approval nodes in the workflow, or will use the title configured in each node.",
    "Canceled": "Canceled",
    "Channel type": "Channel type",
    "Comment": "Comment",
    "Configure modifiable fields": "Configure modifiable fields",
    "Configure template": "Configure template",
    "Could be used as the identifier of the application detail popup in the URL": "Could be used as the identifier of the application detail popup in the URL",
    "Could run different branch based on result.": "Could run different branch based on result.",
    "Current status": "Current status",
    "Data approved": "Data approved",
    "Data will be saved first, then the approval process will begin.": "Data will be saved first, then the approval process will begin.",
    "Data will not be saved until it has been approved.": "Data will not be saved until it has been approved.",
    "Delegate": "Delegate",
    "Delegated": "Delegated",
    "Delegated to": "Delegated to",
    "Disabled": "Disabled",
    "Done": "Done",
    "Done notifications": "Done notifications",
    "Draft": "Draft",
    "End the workflow after rejection branch": "End the workflow after rejection branch",
    "Failed to load approval data": "Failed to load approval data",
    "For initiating approvals, or viewing and manipulating initiated approvals.": "For initiating approvals, or viewing and manipulating initiated approvals.",
    "Go to configure": "Go to configure",
    "If it's approved by all, it's approved. If it's rejected by anyone, it's rejected.": "If it's approved by all, it's approved. If it's rejected by anyone, it's rejected.",
    "If it's approved by anyone, it's approved. If it's rejected by all, it's rejected.": "If it's approved by anyone, it's approved. If it's rejected by all, it's rejected.",
    "In addition to data blocks, a global approval block can also be used to initiates and processes approvals, which typically applies to administrative data.": "In addition to data blocks, a global approval block can also be used to initiates and processes approvals, which typically applies to administrative data.",
    "Initiate in both data blocks and global approval blocks": "Initiate in both data blocks and global approval blocks",
    "Initiate in data blocks only": "Initiate in data blocks only",
    "Initiations": "Initiations",
    "Initiator": "Initiator",
    "Initiator's interface": "Initiator's interface",
    "Inline template": "Inline template",
    "Manual approval operations within the approval process, the approver can approve in the global approval block or in the approval block of a single record.": "Manual approval operations within the approval process, the approver can approve in the global approval block or in the approval block of a single record.",
    "Message template": "Message template",
    "Message type": "Message type",
    "Multiple approvers can approve in any order.": "Multiple approvers can approve in any order.",
    "Multiple approvers in sequential order.": "Multiple approvers in sequential order.",
    "My applications": "My applications",
    "My approvals": "My approvals",
    "Negotiation mode": "Negotiation mode",
    "No data yet": "No data yet",
    "No extra field": "No extra field",
    "Node title": "Node title",
    "Node to return to": "Node to return to",
    "Nodes count": "Nodes count",
    "Nodes scope allow to return to": "Nodes scope allow to return to",
    "Notification channel": "Notification channel",
    "Notify applicant when approval is approved, rejected or returned.": "Notify applicant when approval is approved, rejected or returned.",
    "Notify approver when task starts.": "Notify approver when task starts.",
    "Only specific approval node": "Only specific approval node",
    "Or": "Or",
    "Order": "Order",
    "Original application content": "Original application content",
    "Parallelly": "Parallelly",
    "Pass mode": "Pass mode",
    "Passthrough mode": "Passthrough mode",
    "Pending": "Pending",
    "Predefined": "Predefined",
    "Previous N approval nodes": "Previous N approval nodes",
    "Process form": "Process form",
    "Process settings": "Process settings",
    "Processed at": "Processed at",
    "Processed status": "Processed status",
    "Processing": "Processing",
    "Query assignees": "Query assignees",
    "Record ID": "Record ID",
    "Reject": "Reject",
    "Rejected": "Rejected",
    "Related approvals": "Related approvals",
    "Removed": "Removed",
    "Return": "Return",
    "Returnable": "Returnable",
    "Returned": "Returned",
    "Role of applicant": "Role of applicant",
    "Save draft": "Save draft",
    "Select assignees": "Select assignees",
    "Send notifications to applicant when approval is done.": "Send notifications to applicant when approval is done.",
    "Send notifications to assignees when approval todo is assigned.": "Send notifications to assignees when approval todo is assigned.",
    "Sequentially": "Sequentially",
    "Show extra field in search list": "Show extra field in search list",
    "Status": "Status",
    "Submission not exists or has been withdrawn, please try refresh the list.": "Submission not exists or has been withdrawn, please try refresh the list.",
    "Submitted": "Submitted",
    "System": "System",
    "Task ID": "Task ID",
    "Task node": "Task node",
    "Task title": "Task title",
    "Template title": "Template title",
    "The approval is not exists, please contact administrator.": "The approval is not exists, please contact administrator.",
    "The approval or rejection by anyone of them is the result.": "The approval or rejection by anyone of them is the result.",
    "The approval related collection is not exists, please contact administrator.": "The approval related collection is not exists, please contact administrator.",
    "The operation is under approval, could be checked in the task center.": "The operation is under approval, could be checked in the task center.",
    "The title set in approval trigger will be used as the task title.": "The title set in approval trigger will be used as the task title.",
    "This operation can not be revocated. Please confirm before submitting.": "This operation can not be revocated. Please confirm before submitting.",
    "Title of each task item in approval table. Could use variables in string template. Default to node title.": "Title of each task item in approval table. Could use variables in string template. Default to node title.",
    "To do": "To do",
    "Todo notifications": "Todo notifications",
    "Todos": "Todos",
    "Trigger data": "Trigger data",
    "Trigger mode": "Trigger mode",
    "Triggered when an approval request is initiated through an action button or API. Dedicated to the approval process, with exclusive approval node and block for managing documents and tracking processing processes.": "Triggered when an approval request is initiated through an action button or API. Dedicated to the approval process, with exclusive approval node and block for managing documents and tracking processing processes.",
    "Unprocessed": "Unprocessed",
    "Updated at": "Updated at",
    "Use same task title for all approval nodes": "Use same task title for all approval nodes",
    "User not found": "User not found",
    "Values in the modifiable fields above may be different from the original application if changed by other assignees.": "Values in the modifiable fields above may be different from the original application if changed by other assignees.",
    "Voting": "Voting",
    "When checked, the workflow will terminate when the rejection branch ends.": "When checked, the workflow will terminate when the rejection branch ends.",
    "When rejected or returned, the workflow will be terminated immediately.": "When rejected or returned, the workflow will be terminated immediately.",
    "When select assignees from node result, only support ID of user (or IDs array of users). Others will not match any user.": "When select assignees from node result, only support ID of user (or IDs array of users). Others will not match any user.",
    "Where to initiate": "Where to initiate",
    "Where to initiate and approve": "Where to initiate and approve",
    "Withdraw": "Withdraw",
    "Withdrawable changes unsaved, click \"Submit\" to save.": "Withdrawable changes unsaved, click \"Submit\" to save.",
    "Withdrawn": "Withdrawn",
    "Workflow failed": "Workflow failed",
    "Workflow title": "Workflow title"
  },
  "@nocobase/plugin-workflow-cc": {
    "CC": "CC",
    "CC to me": "CC to me",
    "Configure user interface": "Configure user interface",
    "Mark all as read": "Mark all as read",
    "Mark as read": "Mark as read",
    "Mark as unread": "Mark as unread",
    "Provide a CC (carbon copy) feature in workflows to send approvals, or any other type of information to specified users.": "Provide a CC (carbon copy) feature in workflows to send approvals, or any other type of information to specified users.",
    "Read": "Read",
    "Recipients": "Recipients",
    "Title of each CC item in tasks center. Could use variables in string template. Default to node title.": "Title of each CC item in tasks center. Could use variables in string template. Default to node title.",
    "Unread": "Unread",
    "User interface": "User interface",
    "View user interface": "View user interface"
  },
  "@nocobase/plugin-workflow-custom-action-trigger": {
    "Associations to use": "Associations to use",
    "Binding scope": "Binding scope",
    "Button is not configured properly, please contact the administrator.": "Button is not configured properly, please contact the administrator.",
    "Context type": "Context type",
    "Could be used on non-record related action buttons. Such as buttons in workbench panel or in table blocks.": "Could be used on non-record related action buttons. Such as buttons in workbench panel or in table blocks.",
    "Could only be used on multiple record related action buttons. Such as for batch action in table block. The data in trigger variable will be an array.": "Could only be used on multiple record related action buttons. Such as for batch action in table block. The data in trigger variable will be an array.",
    "Could only be used on single record related action buttons. Such as in form, detail block and table row of record.": "Could only be used on single record related action buttons. Such as in form, detail block and table row of record.",
    "Custom action event": "Custom action event",
    "Different positions of the created trigger button can use different context types.": "Different positions of the created trigger button can use different context types.",
    "Multiple collection records": "Multiple collection records",
    "None": "None",
    "Only support custom action workflow with context type set to \"Multiple records\".": "Only support custom action workflow with context type set to \"Multiple records\".",
    "Only support custom action workflow with context type set to \"None\".": "Only support custom action workflow with context type set to \"None\".",
    "Please select at least one record.": "Please select at least one record.",
    "Role of user acted": "Role of user acted",
    "Single collection record": "Single collection record",
    "Trigger data": "Trigger data",
    "Trigger global workflow": "Trigger global workflow",
    "Trigger workflow": "Trigger workflow",
    "User acted": "User acted",
    "When the \"Trigger Workflow\" button is clicked, the event is triggered based on different context where the button is located. For complex data processing that cannot be handled simply by built-in operations (CRUD) of NocoBase, you can define a series of operations through a workflow and trigger it with the \"Trigger Workflow\" button.": "When the \"Trigger Workflow\" button is clicked, the event is triggered based on different context where the button is located. For complex data processing that cannot be handled simply by built-in operations (CRUD) of NocoBase, you can define a series of operations through a workflow and trigger it with the \"Trigger Workflow\" button.",
    "Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with \"Custom action event\".": "Workflow will be triggered directly once the button clicked, without data saving. Only supports to be bound with \"Custom action event\"."
  },
  "@nocobase/plugin-workflow-date-calculation": {
    "Absolute value": "Absolute value",
    "Add a range": "Add a range",
    "Add step": "Add step",
    "Boolean": "Boolean",
    "Calculation steps": "Calculation steps",
    "Change timezone": "Change timezone",
    "Convert unit": "Convert unit",
    "Date": "Date",
    "Date calculation": "Date calculation",
    "Date calculation result": "Date calculation result",
    "Date type": "Date type",
    "Day": "Day",
    "Format": "Format",
    "Format to string": "Format to string",
    "From": "From",
    "From date to timestamp": "From date to timestamp",
    "From timestamp to date": "From timestamp to date",
    "Get difference with another date value": "Get difference with another date value",
    "Get value": "Get value",
    "Get value on specific unit of input date": "Get value on specific unit of input date",
    "Hour": "Hour",
    "Input": "Input",
    "Input type as": "Input type as",
    "Input value will be converted from its original type to date type to do futher calculation by Day.js constructor.": "Input value will be converted from its original type to date type to do futher calculation by Day.js constructor.",
    "Is leap year": "Is leap year",
    "Keep decimals": "Keep decimals",
    "Millisecond": "Millisecond",
    "Minute": "Minute",
    "Month": "Month",
    "Number": "Number",
    "Number type": "Number type",
    "Only calculation functions with numeric input value are supported.": "Only calculation functions with numeric input value are supported.",
    "Pattern": "Pattern",
    "Quarter": "Quarter",
    "Round": "Round",
    "Round down": "Round down",
    "Round up": "Round up",
    "Second": "Second",
    "Set to time of unit end": "Set to time of unit end",
    "Set to time of unit start": "Set to time of unit start",
    "String": "String",
    "Subtract a range": "Subtract a range",
    "Target timezone": "Target timezone",
    "To": "To",
    "To another date": "To another date",
    "Unit": "Unit",
    "Used for doing a series of date related calculation on an input value.": "Used for doing a series of date related calculation on an input value.",
    "Value conversion": "Value conversion",
    "Week": "Week",
    "Year": "Year"
  },
  "@nocobase/plugin-workflow-delay": {
    "Delay": "Délai",
    "Delay a period of time and then continue or exit the process. Can be used to set wait or timeout times in parallel branches.": "Delay a period of time and then continue or exit the process. Can be used to set wait or timeout times in parallel branches.",
    "Duration": "Durée",
    "End status": "Statut de fin",
    "Fail and exit": "Échouer et quitter",
    "Select status": "Sélectionner un statut",
    "Succeed and continue": "Réussir et continuer",
    "Unit": "Unit"
  },
  "@nocobase/plugin-workflow-dynamic-calculation": {
    "Calculate an expression based on a calculation engine and obtain a value as the result. Variables in the upstream nodes can be used in the expression. The expression is dynamic one from an expression collections.": "Calculate an expression based on a calculation engine and obtain a value as the result. Variables in the upstream nodes can be used in the expression. The expression is dynamic one from an expression collections.",
    "Calculation result": "Calculation result",
    "Dynamic expression": "Dynamic expression",
    "Dynamic expression calculation": "Dynamic expression calculation",
    "Expression": "Expression",
    "Select dynamic expression": "Select dynamic expression",
    "Select the dynamic expression queried from the upstream node. You need to query it from an expression collection.": "Select the dynamic expression queried from the upstream node. You need to query it from an expression collection.",
    "Unconfigured": "Unconfigured",
    "Used to store expressions for use in workflows so that different expressions can be called for different data.": "Used to store expressions for use in workflows so that different expressions can be called for different data.",
    "Variable datasource": "Variable datasource"
  },
  "@nocobase/plugin-workflow-javascript": {
    "Add argument": "Add argument",
    "Argument name duplicated": "Argument name duplicated",
    "Argument name is invalid": "Argument name is invalid",
    "Arguments": "Arguments",
    "Continue when exception thrown": "Continue when exception thrown",
    "Error occurs in the execution": "Error occurs in the execution",
    "Execute a piece of JavaScript in an isolated Node.js environment.": "Execute a piece of JavaScript in an isolated Node.js environment.",
    "Execution status": "Execution status",
    "Milliseconds": "Milliseconds",
    "Mock Arguments": "Mock Arguments",
    "Node.js features supported can be found in the documentaion: ": "Node.js features supported can be found in the documentaion: ",
    "Output": "Output",
    "Result": "Result",
    "Run": "Run",
    "Script": "Script",
    "Script content": "Script content",
    "Script node": "Script node",
    "Script result": "Script result",
    "Test run success": "Test run success",
    "The arguments that will be used in script with same name.": "The arguments that will be used in script with same name.",
    "The maximum execution time of the script. 0 means no timeout.": "The maximum execution time of the script. 0 means no timeout.",
    "Timeout": "Timeout",
    "Try it out": "Try it out",
    "https://docs.nocobase.com/handbook/workflow-javascript": "https://docs.nocobase.com/handbook/workflow-javascript"
  },
  "@nocobase/plugin-workflow-json-query": {
    "Add property": "Add property",
    "Alias": "Alias",
    "Data source": "Data source",
    "Display label": "Display label",
    "If the type of query result is object or array of object, could map the properties which to be accessed in subsequent nodes.": "If the type of query result is object or array of object, could map the properties which to be accessed in subsequent nodes.",
    "JSON calculation": "JSON calculation",
    "Properties mapping": "Properties mapping",
    "Property key": "Property key",
    "Query engine": "Query engine",
    "Query expression": "Query expression",
    "Transforming or calculating values from complex JSON data.": "Transforming or calculating values from complex JSON data."
  },
  "@nocobase/plugin-workflow-json-variable-mapping": {
    "Alias": "Alias",
    "Clear below items": "Clear below items",
    "If the JSON object contains array items, parse them. eg: { \"arrayKey\": [ \"item1\", \"item2\" ] will be parsed as \"arrayKey\", \"arrayKey.0\", \"arrayKey.1\", if set to false, only \"arrayKey\" will be parsed.": "If the JSON object contains array items, parse them. eg: { \"arrayKey\": [ \"item1\", \"item2\" ] will be parsed as \"arrayKey\", \"arrayKey.0\", \"arrayKey.1\", if set to false, only \"arrayKey\" will be parsed.",
    "Include array index in path": "Include array index in path",
    "Input example": "Input example",
    "JSON data source": "JSON data source",
    "JSON variable mapping": "JSON variable mapping",
    "Key path": "Key path",
    "Parse": "Parse",
    "Please input JSON example like { \"key1\": \"item1\", \"key2\": \"item2\" }": "Please input JSON example like { \"key1\": \"item1\", \"key2\": \"item2\" }",
    "Please update other node references to the key after clicking the parse button.": "Please update other node references to the key after clicking the parse button.",
    "Used for mapping any JSON data to structured variables for usage in subsequent nodes.": "Used for mapping any JSON data to structured variables for usage in subsequent nodes."
  },
  "@nocobase/plugin-workflow-loop": {
    "A single number will be treated as a loop count, a single string will be treated as an array of characters, and other non-array values will be converted to arrays. The loop node ends when the loop count is reached, or when the array loop is completed. You can also add condition nodes to the loop to terminate it.": "A single number will be treated as a loop count, a single string will be treated as an array of characters, and other non-array values will be converted to arrays. The loop node ends when the loop count is reached, or when the array loop is completed. You can also add condition nodes to the loop to terminate it.",
    "After each ends": "After each ends",
    "Before each starts": "Before each starts",
    "By using a loop node, you can perform the same operation on multiple sets of data. The source of these sets can be either multiple records from a query node or multiple associated records of a single record. Loop node can also be used for iterating a certain number of times or for looping through each character in a string. However, excessive looping may cause performance issues, so use with caution.": "By using a loop node, you can perform the same operation on multiple sets of data. The source of these sets can be either multiple records from a query node or multiple associated records of a single record. Loop node can also be used for iterating a certain number of times or for looping through each character in a string. However, excessive looping may cause performance issues, so use with caution.",
    "Condition": "Condition",
    "Continue loop on next item": "Continue loop on next item",
    "Continue on next item": "Continue on next item",
    "Enable loop condition": "Enable loop condition",
    "Exit loop": "Exit loop",
    "Exit loop and continue workflow": "Exit loop and continue workflow",
    "Exit workflow": "Exit workflow",
    "Loop": "Loop",
    "Loop condition on each item": "Loop condition on each item",
    "Loop index (starts from 0)": "Loop index (starts from 0)",
    "Loop length": "Loop length",
    "Loop sequence (starts from 1)": "Loop sequence (starts from 1)",
    "Loop target": "Loop target",
    "When condition is not met on item": "When condition is not met on item",
    "When node inside loop failed": "When node inside loop failed",
    "When to check": "When to check"
  },
  "@nocobase/plugin-workflow-mailer": {
    "Add email address": "Add email address",
    "BCC": "BCC",
    "CC": "CC",
    "Content": "Content",
    "Content type": "Content type",
    "From": "From",
    "Ignore failed sending and continue workflow": "Ignore failed sending and continue workflow",
    "In most cases, if using port 465, set it to true; otherwise, set it to false.": "In most cases, if using port 465, set it to true; otherwise, set it to false.",
    "Mailer": "Mailer",
    "Password": "Password",
    "Plain text": "Plain text",
    "Port": "Port",
    "SMTP host": "Service host",
    "Secure": "Secure",
    "Send email. You can use the variables in the upstream nodes as receivers, subject and content of the email.": "Send email by calling SMTP service. You can use the variables in the upstream nodes as receivers, subject and content of the email.",
    "Subject": "Subject",
    "To": "To",
    "User": "User"
  },
  "@nocobase/plugin-workflow-manual": {
    "All pass": "All pass",
    "Any pass": "Any pass",
    "Anyone pass": "Anyone pass",
    "Assignee": "Assignee",
    "Assignees": "Assignees",
    "Collaboratively": "Collaboratively",
    "Configure user interface": "Configure user interface",
    "Continue the process": "Continue the process",
    "Could be used for manually submitting data, and determine whether to continue or exit. Workflow will generate a todo item for assigned user when it reaches a manual node, and continue processing after user submits the form.": "Could be used for manually submitting data, and determine whether to continue or exit. Workflow will generate a todo item for assigned user when it reaches a manual node, and continue processing after user submits the form.",
    "Create record form": "Create record form",
    "Custom form": "Custom form",
    "Data record": "Data record",
    "Each user has own task": "Each user has own task",
    "Everyone shares one task": "Everyone shares one task",
    "Everyone should pass": "Everyone should pass",
    "Field name existed in form": "Field name existed in form",
    "Filter settings": "Filter settings",
    "Manual": "Manual",
    "My manual tasks": "My manual tasks",
    "Negotiation": "Negotiation",
    "Please check one of your update record form, and add at least one filter condition in form settings.": "Please check one of your update record form, and add at least one filter condition in form settings.",
    "Save temporarily": "Save temporarily",
    "Separately": "Separately",
    "Task node": "Task node",
    "Task title": "Task title",
    "Terminate the process": "Terminate the process",
    "Title of each task item. Default to node title.": "Title of each task item. Default to node title.",
    "Unprocessed": "Unprocessed",
    "Update record form": "Update record form",
    "User interface": "User interface",
    "Values preset in this form will override user submitted ones when continue or reject.": "Values preset in this form will override user submitted ones when continue or reject.",
    "View user interface": "View user interface",
    "Workflow todos": "Workflow todos"
  },
  "@nocobase/plugin-workflow-notification": {
    "Ignore failure and continue workflow": "Ignore failure and continue workflow",
    "Notification": "Notification",
    "Send notification. You can use the variables in the upstream nodes as content and ohter config.": "Send notification. You can use the variables in the upstream nodes as content and ohter config."
  },
  "@nocobase/plugin-workflow-parallel": {
    "Add branch": "Ajouter une branche",
    "All succeeded": "Tous réussis",
    "Always continue after all branches end, regardless of success or failure.": "Always continue after all branches end, regardless of success or failure.",
    "Any succeeded": "Un réussi",
    "Any succeeded or failed": "Un réussi ou un échoué",
    "Continue after all branches succeeded": "Continuer après la réussite de toutes les branches",
    "Continue after any branch succeeded": "Continuer après la réussite d'une branche",
    "Continue after any branch succeeded, or exit after any branch failed": "Continuer après la réussite d'une branche, ou quitter après l'échec d'une branche",
    "Continue after any branch succeeded, or exit after any branch failed.": "Continue after any branch succeeded, or exit after any branch failed.",
    "Mode": "Mode",
    "Parallel branch": "Branche parallèle",
    "Run all branches (ignore failures)": "Run all branches (ignore failures)",
    "Run multiple branch processes in parallel.": "Run multiple branch processes in parallel."
  },
  "@nocobase/plugin-workflow-request": {
    "\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" prend uniquement en charge \"application/json\" et n'a pas besoin d'être spécifié",
    "\"Content-Type\" will be ignored from headers.": "\"Content-Type\" will be ignored from headers.",
    "Add key-value pairs": "Add key-value pairs",
    "Add parameter": "Ajouter un paramètre",
    "Add request header": "Ajouter un en-tête de requête",
    "Body": "Corps",
    "Data": "Data",
    "Format": "Format",
    "HTTP method": "Méthode HTTP",
    "HTTP request": "Requête HTTP",
    "Headers": "En-têtes",
    "Ignore fail request and continue workflow": "Ignorer l'échec de la requête et continuer le workflow",
    "Ignore failed request and continue workflow": "Ignore failed request and continue workflow",
    "Input request data": "Entrée des données de requête",
    "Insert": "Insérer",
    "Milliseconds": "Milliseconds",
    "Only support standard JSON data": "Prend uniquement en charge les données JSON standard",
    "Parameters": "Paramètres",
    "Response headers": "Response headers",
    "Send HTTP request to a URL. You can use the variables in the upstream nodes as request headers, parameters and request body.": "Send HTTP request to a URL. You can use the variables in the upstream nodes as request headers, parameters and request body.",
    "Status code": "Status code",
    "Timeout": "Timeout",
    "Timeout config": "Configuration du délai d'expiration",
    "URL": "URL",
    "Use variable": "Utiliser une variable",
    "ms": "ms"
  },
  "@nocobase/plugin-workflow-request-interceptor": {
    "Create record": "Create record",
    "Delete record": "Delete record",
    "Global mode, triggered before executing the following actions": "Global mode, triggered before executing the following actions",
    "Local mode, triggered before executing the actions bound to this workflow": "Local mode, triggered before executing the actions bound to this workflow",
    "Parameters": "Parameters",
    "Pre-action event": "Pre-action event",
    "Record to submit": "Record to submit",
    "Role of user acted": "Role of user acted",
    "Select actions": "Select actions",
    "Trigger mode": "Trigger mode",
    "Triggered before the execution of a request initiated through an action button or API, such as before adding, updating, or deleting data. Suitable for data validation and logic judgment before action, and the request could be rejected by using the \"End process\" node.": "Triggered before the execution of a request initiated through an action button or API, such as before adding, updating, or deleting data. Suitable for data validation and logic judgment before action, and the request could be rejected by using the \"End process\" node.",
    "Update record": "Update record",
    "User acted": "User acted",
    "Values submitted": "Values submitted"
  },
  "@nocobase/plugin-workflow-response-message": {
    "Add response message, will be send to client when process of request ends.": "Add response message, will be send to client when process of request ends.",
    "If the workflow ends normally, the response message will return a success status by default.": "If the workflow ends normally, the response message will return a success status by default.",
    "If you want to return a failure status, please add an \"End Process\" node downstream to terminate the workflow.": "If you want to return a failure status, please add an \"End Process\" node downstream to terminate the workflow.",
    "Message content": "Message content",
    "Response message": "Response message",
    "Supports variables in template.": "Supports variables in template."
  },
  "@nocobase/plugin-workflow-sql": {
    "Execute a SQL statement in database.": "Execute a SQL statement in database.",
    "Include meta information of this query in result": "Include meta information of this query in result",
    "SQL action": "SQL action",
    "SQL query result could be used through <1>JSON query node</1> (Commercial plugin).": "SQL query result could be used through <1>JSON query node</1> (Commercial plugin).",
    "Select a data source to execute SQL.": "Select a data source to execute SQL."
  },
  "@nocobase/plugin-workflow-subflow": {
    "Call workflow": "Call workflow",
    "Input workflow result": "Input workflow result",
    "Output": "Output",
    "Run another workflow and use its output as variables.": "Run another workflow and use its output as variables.",
    "Set output data of this workflow. When this one is executed as a subflow, the output could be used as variables in downstream nodes of super workflow. If this node is added multiple times, the value of the last executed node prevails.": "Set output data of this workflow. When this one is executed as a subflow, the output could be used as variables in downstream nodes of super workflow. If this node is added multiple times, the value of the last executed node prevails.",
    "Synchronous workflow can only call synchronous sub-flow.": "Synchronous workflow can only call synchronous sub-flow.",
    "The trigger of this workflow is not configured correctly, and will not be called. Please <1>go to check it</1>.": "The trigger of this workflow is not configured correctly, and will not be called. Please <1>go to check it</1>.",
    "This type of trigger has not been supported to be called as sub-flow.": "This type of trigger has not been supported to be called as sub-flow.",
    "Value": "Value"
  },
  "@nocobase/plugin-workflow-variable": {
    "Assign value to a variable, for later use.": "Assign value to a variable, for later use.",
    "Assign value to an existing variable": "Assign value to an existing variable",
    "Declare a new variable": "Declare a new variable",
    "Mode": "Mode",
    "Properties mapping": "Properties mapping",
    "Value": "Value",
    "Variable": "Variable"
  },
  "@nocobase/plugin-workflow-webhook": {
    "Add item": "Add item",
    "Alias": "Alias",
    "Are you sure to clear below items?": "Are you sure to clear below items?",
    "Can only contain numbers, letters, underscores, and the first letter should be alphabet.": "Can only contain numbers, letters, underscores, and the first letter should be alphabet.",
    "Clear below items": "Clear below items",
    "Config HTTP response data.": "Config HTTP response data.",
    "Configure webhook response.": "Configure webhook response.",
    "Content-type application/json are currently supported.": "Content-type application/json are currently supported.",
    "Copy URL": "Copy URL",
    "Custom": "Custom",
    "Default response (200)": "Default response (200)",
    "Default(status code: 200)": "Default(status code: 200)",
    "Full URL or search parameters part both supported. For example: \"?query1=item1&query2=item2\".": "Full URL or search parameters part both supported. For example: \"?query1=item1&query2=item2\".",
    "HTTP basic authentication": "HTTP basic authentication",
    "Header name": "Header name",
    "Header name support letters, numbers, underscores “_” or hyphens “-”, and the first letter should be alphabet.": "Header names support letters, numbers, underscores “_” or hyphens “-”, and the first letter should be alphabet.",
    "Header value support letters, numbers, underscores “_” or hyphens “-”": "Header value support letters, numbers, underscores “_” or hyphens “-”",
    "Headers": "Headers",
    "If HTTP basic authentication is set, the response status code is 401 if the authentication fails.": "If HTTP basic authentication is set, the response status code is 401 if the authentication fails.",
    "Input example": "Input example",
    "Input response data": "Input response data",
    "Invalid parameter name": "Invalid parameter name",
    "Invalid parameter value": "Invalid parameter value",
    "JSON Example": "JSON Example",
    "Key path": "Key path",
    "Name": "Name",
    "Only \"application/json\" supported for \"Content-Type\".": "Only \"application/json\" supported for \"Content-Type\".",
    "Parse": "Parse",
    "Password": "Password",
    "Please input JSON example from request body like { \"key1\": \"item1\", \"key2\": \"item2\" }": "Please input JSON example from request body like { \"key1\": \"item1\", \"key2\": \"item2\" }",
    "Please input URL query like \"?query1=item1&query2=item2\"": "Please input URL query like \"?query1=item1&query2=item2\"",
    "Please set user name and password, and callback URL should be": "Please set user name and password, and callback URL should be",
    "Query Example": "Query Example",
    "Request Params": "Request Params",
    "Request body": "Request body",
    "Request data (to use as variables)": "Request data (to use as variables)",
    "Request data can only be used as variables in subsequent nodes after parsing configured.": "Request data can only be used as variables in subsequent nodes after parsing configured.",
    "Request data parsing": "Request data parsing",
    "Request headers": "Request headers",
    "Response": "Response",
    "Response Setting": "Response Setting",
    "Response body": "Response body",
    "Response headers": "Response headers",
    "Security": "Security",
    "Status code": "Status code",
    "Synchronized workflows require the addition of a response node setting. If you do not add a response node, the response status code is set to 200 if the workflow execution succeeds, and 500 if it fails. If the workflow exception does not execute to the response node after the response node is added, the response status code is set to 500.": "Synchronized workflows require the addition of a response node setting. If you do not add a response node, the response status code is set to 200 if the workflow execution succeeds, and 500 if it fails. If the workflow exception does not execute to the response node after the response node is added, the response status code is set to 500.",
    "These request data can only be used as variables in next nodes after the configuration has been parsed.": "These request data can only be used as variables in next nodes after the configuration has been parsed.",
    "Third-party calls to Webhook URLs trigger process execution. Suitable for third-party systems to initiate notifications, payment callbacks, messages, etc.": "Third-party calls to Webhook URLs trigger process execution. Suitable for third-party systems to initiate notifications, payment callbacks, messages, etc.",
    "This URL has been generated to accept the request, which is used to trigger this workflow": "This URL has been generated to accept the request, which is used to trigger this workflow",
    "Trigger data": "Trigger data",
    "User name": "User name",
    "Username and password are required": "Username and password are required",
    "Username and password need to be put in URL like \"{{url}}\". See: <1>MDN reference</1>.": "Username and password need to be put in URL like \"{{url}}\". See: <1>MDN reference</1>.",
    "Webhook URL": "Webhook URL",
    "Webhook event": "Webhook event",
    "When webhook URL is called, the received parameters set up a structured transformation to be used in subsequent nodes.": "When webhook URL is called, the received parameters set up a structured transformation to be used in subsequent nodes.",
    "see in": "see in"
  }
}
