+
edge.edge-key
@@ -164,7 +164,7 @@
-
+
edge.edge-secret
diff --git a/ui-ngx/src/app/modules/home/pages/edge/edge.component.ts b/ui-ngx/src/app/modules/home/pages/edge/edge.component.ts
index 57ed06cef0..757d012642 100644
--- a/ui-ngx/src/app/modules/home/pages/edge/edge.component.ts
+++ b/ui-ngx/src/app/modules/home/pages/edge/edge.component.ts
@@ -26,7 +26,6 @@ import { NULL_UUID } from '@shared/models/id/has-uuid';
import { ActionNotificationShow } from '@core/notification/notification.actions';
import { generateSecret, guid } from '@core/utils';
import { EntityTableConfig } from '@home/models/entity/entities-table-config.models';
-import { WINDOW } from '@core/services/window.service';
@Component({
selector: 'tb-edge',
@@ -43,15 +42,14 @@ export class EdgeComponent extends EntityComponent {
protected translate: TranslateService,
@Inject('entity') protected entityValue: EdgeInfo,
@Inject('entitiesTableConfig') protected entitiesTableConfigValue: EntityTableConfig,
- public fb: FormBuilder,
- @Inject(WINDOW) protected window: Window) {
+ public fb: FormBuilder) {
super(store, fb, entityValue, entitiesTableConfigValue);
}
ngOnInit() {
this.edgeScope = this.entitiesTableConfig.componentsData.edgeScope;
this.entityForm.patchValue({
- cloudEndpoint: this.window.location.origin
+ cloudEndpoint: window.location.origin
});
super.ngOnInit();
}
@@ -94,7 +92,7 @@ export class EdgeComponent extends EntityComponent {
name: entity.name,
type: entity.type,
label: entity.label,
- cloudEndpoint: entity.cloudEndpoint ? entity.cloudEndpoint : this.window.location.origin,
+ cloudEndpoint: entity.cloudEndpoint ? entity.cloudEndpoint : window.location.origin,
edgeLicenseKey: entity.edgeLicenseKey,
routingKey: entity.routingKey,
secret: entity.secret,
diff --git a/ui-ngx/src/app/shared/models/entity.models.ts b/ui-ngx/src/app/shared/models/entity.models.ts
index ae3fa30f17..00b21d8961 100644
--- a/ui-ngx/src/app/shared/models/entity.models.ts
+++ b/ui-ngx/src/app/shared/models/entity.models.ts
@@ -45,6 +45,13 @@ export interface ImportEntityData {
timeseries: AttributeData[];
}
+export interface EdgeImportEntityData extends ImportEntityData {
+ secret: string;
+ routingKey: string;
+ cloudEndpoint: string;
+ edgeLicenseKey: string;
+}
+
export interface ImportEntitiesResultInfo {
create?: {
entity: number;
diff --git a/ui-ngx/src/assets/locale/locale.constant-de_DE.json b/ui-ngx/src/assets/locale/locale.constant-de_DE.json
index 541bf1469f..289bbaa0be 100644
--- a/ui-ngx/src/assets/locale/locale.constant-de_DE.json
+++ b/ui-ngx/src/assets/locale/locale.constant-de_DE.json
@@ -731,7 +731,6 @@
"no-edges-matching": "Keine passenden Rand '{{entity}}' gefunden.",
"rulechain-templates": "Regelkettenvorlagen",
"add": "Rand hinzufügen",
- "view": "Rand anzeigen",
"no-edges-text": "Kein Rand gefunden.",
"edge-details": "Details der Rand",
"add-edge-text": "Neue Rand hinzufügen",
@@ -754,7 +753,6 @@
"id-copied-message": "Regelketten-ID wurde in die Zwischenablage kopiert",
"sync": "Sync Edge",
"sync-message": "Edge wurde synchronisiert",
- "permissions": "Berechtigungen",
"edge-required": "Rand ist erforderlich.",
"edge-type": "Randtyp",
"edge-type-required": "Randtyp ist erforderlich.",
@@ -777,14 +775,12 @@
"make-private-edge-text": "Nach der Bestätigung werden der Rand und dessen Daten privat und sind für andere nicht mehr zugänglich.",
"import": "Rand importieren",
"label": "Bezeichnung",
- "assign-to-edge": "Assign to edge",
"assign-new-edge": "Neue Rand zuordnen",
"manage-edge-dashboards": "Rand-Dashboards verwalten",
"unassign-from-edge": "Rand zuweisen",
"dashboards": "Rand Dashboards",
"manage-edge-rulechains": "Randregelkette verwalten",
"rulechains": "Rand Regelketten",
- "rulechain": "Rand Regelkette",
"edge-key": "Rand Schlüssel",
"copy-edge-key": "Rand Schlüssel kopieren",
"edge-key-copied-message": "Rand Schlüssel wurde in die Zwischenablage kopiert",
@@ -797,18 +793,85 @@
"assets": "Rand Objekte",
"devices": "Objekte Geräte",
"entity-views": "Objekte Entitätsansichten",
- "set-root-rulechain-text": "Bitte wählen Sie die Regelkette zur Wurzel rule chain für die Rand",
- "set-root-rulechain-to-edges": "Regelkette zur Wurzel machen für die Rand",
- "set-root-rulechain-to-edges-text": "Die Regelkette zur Wurzel für { count, plural, 1 {1 Rand} other {# Rand} } machen",
- "status": "Von Rand empfangen",
- "success": "Bereitgestellt",
- "failed": "Steht aus",
"entity-id": "Entität ID",
- "entity-info": "Entitätsinfo",
"event-action": "Ereignisaktion",
"load-entity-error": "Entität nicht gefunden. Fehler beim Laden der Informationen",
"unassign-edges-text": "Nach der Bestätigung werden alle ausgewählten Kanten nicht zugewiesen und sind für den Kunden nicht zugänglich.",
- "unassign-edges-title": "Sind Sie sicher, dass Sie die Zuordnung aufheben möchten { count, plural, 1 {1 Rand} other {# Rand} }?"
+ "unassign-edges-title": "Sind Sie sicher, dass Sie die Zuordnung aufheben möchten { count, plural, 1 {1 Rand} other {# Rand} }?",
+ "edge-rulechains": "Kantenregelketten",
+ "edge-license-key-hint": "Um Ihre Lizenz zu erhalten, navigieren Sie zur Preisseite und wählen Sie die beste Lizenzoption für Ihre aus Fall.",
+ "assignedToCustomer": "Dem Kunden zugewiesen",
+ "edge-public": "Edge ist öffentlich",
+ "search": "Kanten durchsuchen",
+ "selected-edges": "{Anzahl, Plural, 1 {1 Kante} andere {# Kanten}} ausgewählt",
+ "any-edge": "Beliebige Kante",
+ "dashboard": "Kanten-Dashboard",
+ "sync-process-started-successfully": "Synchronisierungsprozess erfolgreich gestartet!",
+ "delete-edges-action-title": "Löschen { count, plural, 1 {1 Rand} other {# Rand} }",
+ "set-root-rule-chain-text": "Bitte wählen Sie die Regelkette zur Wurzel rule chain für die Rand",
+ "set-root-rule-chain-to-edges": "Regelkette zur Wurzel machen für die Rand",
+ "set-root-rule-chain-to-edges-text": "Die Regelkette zur Wurzel für { count, plural, 1 {1 Rand} other {# Rand} } machen",
+ "status": "Von Rand empfangen",
+ "deployed": "Bereitgestellt",
+ "pending": "Steht aus",
+ "edge-file": "Edge-Datei",
+ "name-starts-with": "Der Kantenname beginnt mit",
+ "rulechain-template": "Regelkettenvorlage",
+ "unassign-edges-action-title": "Heben Sie die Zuordnung von {count, plural, 1 {1 edge} other {# edge}} vom Kunden auf",
+ "enter-edge-type": "Geben Sie den Kantentyp ein",
+ "no-edge-types-matching": "Es wurden keine Kantentypen gefunden, die mit '{{entitySubtype}}' übereinstimmen.",
+ "edge-type-list-empty": "Keine Kantentypen ausgewählt.",
+ "edge-types": "Kantentypen",
+ "license-key-hint": "Um Ihre Lizenz zu erhalten, navigieren Sie zur Preisseite und wählen Sie die beste Lizenzoption für Ihre aus Fall.",
+ "cloud-endpoint-hint": "Edge erfordert HTTP-Zugriff auf die Cloud (ThingsBoard CE / PE), um den Lizenzschlüssel zu überprüfen. Bitte geben Sie die Cloud-URL an, zu der Edge eine Verbindung herstellen kann.",
+ "missing-related-rule-chains-title": "In Edge fehlen verwandte Regelketten.",
+ "missing-related-rule-chains-text": "Randregelkette (n) zugewiesen Verwenden Sie Regelknoten, die Nachrichten an Regelkette (n) weiterleiten, die dieser Kante nicht zugeordnet sind.
Liste der fehlenden Regelketten:
{{missingRuleChains}}",
+ "downlinks": "Downlinks",
+ "no-downlinks-prompt": "Keine Downlinks gefunden",
+ "assigned-to-customer-widget": "Zugewiesen an: {{customerTitle}}",
+ "widget-datasource-error": "Dieses Widget unterstützt nur EDGE-Entitätsdatenquellen"
+ },
+ "edge-event": {
+ "type-dashboard": "Dashboard",
+ "type-asset": "Asset",
+ "type-device": "Device",
+ "type-device-profile": "Device Profile",
+ "type-entity-view": "Entity View",
+ "type-alarm": "Alarm",
+ "type-rule-chain": "Rule Chain",
+ "type-rule-chain-metadata": "Rule Chain Metadata",
+ "type-edge": "Edge",
+ "type-entity-group": "Entity Group",
+ "type-scheduler-event": "Scheduler Event",
+ "type-white-labeling": "White Labeling",
+ "type-login-white-labeling": "White Labeling Login",
+ "type-user": "User",
+ "type-tenant": "Tenant",
+ "type-customer": "Customer",
+ "type-custom-translation": "Custom Translation",
+ "type-relation": "Relation",
+ "type-widgets-bundle": "Widgets Bundle",
+ "type-widgets-type": "Widgets Type",
+ "type-admin-settings": "Admin Settings",
+ "action-type-added": "Added",
+ "action-type-deleted": "Deleted",
+ "action-type-updated": "Updated",
+ "action-type-post-attributes": "Post Attributes",
+ "action-type-attributes-updated": "Attributes Updated",
+ "action-type-attributes-deleted": "Attributes Deleted",
+ "action-type-timeseries-updated": "Timeseries Updated",
+ "action-type-credentials-updated": "Credentials Updated",
+ "action-type-assigned-to-customer": "Assigned to Customer",
+ "action-type-unassigned-from-customer": "Unassigned from Customer",
+ "action-type-relation-add-or-update": "Relation Add or Update",
+ "action-type-relation-deleted": "Relation Deleted",
+ "action-type-rpc-call": "RPC Call",
+ "action-type-alarm-ack": "Alarm Ack",
+ "action-type-alarm-clear": "Alarm Clear",
+ "action-type-assigned-to-edge": "Assigned to Edge",
+ "action-type-unassigned-from-edge": "Unassigned from Edge",
+ "action-type-credentials-request": "Credentials Request",
+ "action-type-entity-merge-request": "Entity Merge Request"
},
"error": {
"unable-to-connect": "Es konnte keine Verbindung zum Server hergestellt werden! Bitte überprüfen Sie Ihre Internetverbindung.",
@@ -1405,7 +1468,12 @@
"unset-auto-assign-to-edge": "Deaktiviert die Zuordnung der Regelkette zu Kanten bei der Erstellung",
"unset-auto-assign-to-edge-title": "Möchten Sie die Kantenregelkette '{{ruleChainName}}' bei der Erstellung unbedingt den Kanten zuweisen?",
"unset-auto-assign-to-edge-text": "Nach der Bestätigung wird die Kantenregelkette bei der Erstellung nicht mehr automatisch den Kanten zugewiesen.",
- "edge-template-root": "Vorlagenstamm"
+ "edge-template-root": "Vorlagenstamm",
+ "search": "Suchen Sie nach Regelketten",
+ "selected-rulechains": "{count, plural, 1 {1 Regelkette} andere {# Regelketten}} ausgewählt",
+ "open-rulechain": "Regelkette öffnen",
+ "assign-to-edge": "Rand zuweisen",
+ "edge-rulechain": "Kantenregelkette"
},
"rulenode": {
"details": "Details",
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index 06da3ceacc..1b5331bf2a 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -629,7 +629,8 @@
"default-customer-required": "Default customer is required in order to debug dashboard on Tenant level",
"search": "Search customers",
"selected-customers": "{ count, plural, 1 {1 customer} other {# customers} } selected",
- "edges": "Customer edge instances"
+ "edges": "Customer edge instances",
+ "manage-edges": "Manage edges"
},
"datetime": {
"date-from": "Date from",
@@ -1197,7 +1198,6 @@
"rulechains": "Rule chains",
"edge-rulechains": "Edge Rule chains",
"add": "Add Edge",
- "view": "View Edge",
"no-edges-text": "No edges found",
"edge-details": "Edge details",
"add-edge-text": "Add new edge",
@@ -1217,14 +1217,12 @@
"cloud-endpoint-required": "Cloud Endpoint is required.",
"cloud-endpoint-hint": "Edge requires HTTP(s) access to Cloud (ThingsBoard CE/PE) to verify the license key. Please specify Cloud URL that Edge is able to connect to.",
"description": "Description",
- "entity-info": "Entity info",
"details": "Details",
"events": "Events",
"copy-id": "Copy Edge Id",
"id-copied-message": "Edge Id has been copied to clipboard",
"sync": "Sync Edge",
"sync-message": "Edge has been synchronized",
- "permissions": "Permissions",
"edge-required": "Edge required",
"edge-type": "Edge type",
"edge-type-required": "Edge type is required.",
@@ -1235,6 +1233,8 @@
"assign-to-customer-text": "Please select the customer to assign the edge(s)",
"assign-edge-to-customer": "Assign Edge(s) To Customer",
"assign-edge-to-customer-text": "Please select the edges to assign to the customer",
+ "assignedToCustomer": "Assigned to customer",
+ "edge-public": "Edge is public",
"assigned-to-customer": "Assigned to: {{customerTitle}}",
"unassign-from-customer": "Unassign from customer",
"assign-edges-text": "Assign { count, plural, 1 {1 edge} other {# edges} } to customer",
@@ -1273,9 +1273,6 @@
"set-root-rule-chain-text": "Please select root rule chain for edge(s)",
"set-root-rule-chain-to-edges": "Set root rule chain for Edge(s)",
"set-root-rule-chain-to-edges-text": "Set root rule chain for { count, plural, 1 {1 edge} other {# edges} }",
- "status": "Received by edge",
- "success": "Deployed",
- "failed": "Pending",
"search": "Search edges",
"selected-edges": "{ count, plural, 1 {1 edge} other {# edges} } selected",
"any-edge": "Any edge",
@@ -1581,7 +1578,6 @@
"type-stats": "Statistics",
"type-debug-rule-node": "Debug",
"type-debug-rule-chain": "Debug",
- "type-edge-event": "Downlink",
"no-events-prompt": "No events found",
"error": "Error",
"alarm": "Alarm",
@@ -1981,9 +1977,9 @@
"access-token": "Access token",
"isgateway": "Is Gateway",
"description": "Description",
- "edgeLicenseKey": "License Key",
- "cloudEndpoint": "Cloud Endpoint",
- "routingKey": "Edge key",
+ "edge-license-key": "License Key",
+ "cloud-endpoint": "Cloud Endpoint",
+ "routing-key": "Edge key",
"secret": "Edge secret"
},
"stepper-text":{
diff --git a/ui-ngx/src/assets/locale/locale.constant-es_ES.json b/ui-ngx/src/assets/locale/locale.constant-es_ES.json
index 125e6cf4b1..f56cd60989 100644
--- a/ui-ngx/src/assets/locale/locale.constant-es_ES.json
+++ b/ui-ngx/src/assets/locale/locale.constant-es_ES.json
@@ -753,7 +753,6 @@
"no-edges-matching": "No se encontraron bordes que coincidan con '{{entity}}'",
"rulechain-templates": "Plantillas, de cadena de reglas",
"add": "Agregar borde",
- "view": "Ver borde",
"no-edges-text": "No se encontraron bordes",
"edge-details": "Detalles del borde",
"add-edge-text": "Agregar nuevo borde",
@@ -776,12 +775,10 @@
"id-copied-message": "El ID de borde se ha copiado al portapapeles",
"sync": "Sinc Edge",
"sync-message": "Edge se ha sincronizado",
- "permissions": "Permisos",
"edge-required": "Edge required",
"edge-type": "Type de la bordure",
"edge-type-required": "El tipo de borde es requerido.",
"select-edge-type": "Seleccionar tipo de borde",
- "assign-to-edge": "Asignar al borde",
"assign-to-customer": "Asignar al cliente",
"assign-to-customer-text": "Seleccione el cliente para asignar los bordes",
"assign-edge-to-customer": "Asignar borde(s) al cliente",
@@ -806,7 +803,6 @@
"dashboards": "Paneles de borde",
"manage-edge-rulechains": "Administrar cadenas de reglas de borde",
"rulechains": "Cadenas de regla de borde",
- "rulechain": "Cadena de regla de borde",
"edge-key": "Clave de borde",
"copy-edge-key": "Copiar clave de borde",
"edge-key-copied-message": "La clave de borde se ha copiado al portapapeles",
@@ -819,18 +815,83 @@
"assets": "Activos de borde",
"devices": "Dispositivos de borde",
"entity-views": "Vistas de entidad de borde",
- "set-root-rulechain-text": "Seleccione la cadena de reglas raíz para los bordes",
- "set-root-rulechain-to-edges": "Establecer la cadena de reglas raíz para Edge (s)",
- "set-root-rulechain-to-edges-text": "Establecer la cadena de la regla raíz para {count, plural, 1 {1 borde} other {# bordes}}",
- "status": "Recibido por borde",
- "success": "Desplegada",
- "failed": "Pendiente",
"entity-id": "ID de entidad",
- "entity-info": "Entity info",
"event-action": "Información de la entidad",
"load-entity-error": "Entidad no encontrada. No se pudo cargar la información",
"unassign-edges-text": "Después de la confirmación de todos los bordes seleccionados, se anulará la asignación y el cliente no podrá acceder a ellos.",
- "unassign-edges-title": "¿Está seguro de que desea anular la asignación de {count, plural, 1 {1 borde} other {# bordes}}?"
+ "unassign-edges-title": "¿Está seguro de que desea anular la asignación de {count, plural, 1 {1 borde} other {# bordes}}?",
+ "edge-rulechains": "Cadenas de reglas de borde",
+ "edge-license-key-hint": "Para obtener su licencia, vaya a la página de precios y seleccione la mejor opción de licencia para su caso.",
+ "assignedToCustomer": "Asignada a la cliente",
+ "edge-public": "Edge es pública",
+ "set-root-rule-chain-text": "Seleccione la cadena de reglas raíz para los bordes",
+ "set-root-rule-chain-to-edges": "Establecer cadena de reglas raíz para Edge (s)",
+ "set-root-rule-chain-to-edges-text": "Establecer cadena de reglas raíz para {count, plural, 1 {1 edge} other {# ends}}",
+ "search": "Bordes de búsqueda",
+ "selected-edges": "{count, plural, 1 {1 borde} other {# bordes}} seleccionados",
+ "any-edge": "Cualquier bordee",
+ "dashboard": "Panel de control Edge",
+ "deployed": "Desplegada",
+ "pending": "Pending",
+ "sync-process-started-successfully": "¡El proceso de sincronización se inició correctamente!",
+ "edge-file": "Archivo de borde",
+ "name-starts-with": "Edge name starts with",
+ "rulechain-template": "Plantilla de cadena de reglas",
+ "unassign-edges-action-title": "Anular la asignación de {count, plural, 1 {1 borde} other {# bordes}} del cliente",
+ "enter-edge-type": "Ingrese el tipo de borde",
+ "no-edge-types-matching": "No se encontraron tipos de aristas que coincidan con '{{entitySubtype}}'.",
+ "edge-type-list-empty": "No se seleccionó ningún tipo de borde.",
+ "edge-types": "Tipos de bordes",
+ "license-key-hint": "Para obtener su licencia, vaya a la página de precios y seleccione la mejor opción de licencia para su caso.",
+ "cloud-endpoint-hint": "Edge requiere acceso HTTP (s) a la nube (ThingsBoard CE / PE) para verificar la clave de licencia. Especifique la URL de la nube a la que Edge puede conectarse.",
+ "missing-related-rule-chains-title": "Al borde le faltan cadenas de reglas relacionadas",
+ "missing-related-rule-chains-text": "Asignado a la (s) cadena (s) de reglas de borde usa nodos de reglas que reenvían mensajes a cadenas de reglas que no están asignadas a este borde.
Lista de cadenas de reglas faltantes:
{{missingRuleChains}}",
+ "downlinks": "Enlaces descendentes",
+ "no-downlinks-prompt": "No se encontraron enlaces descendentes",
+ "assigned-to-customer-widget": "Asignado a: {{customerTitle}}",
+ "widget-datasource-error": "Este widget solo admite la fuente de datos de la entidad EDGE"
+ },
+ "edge-event": {
+ "type-dashboard": "Dashboard",
+ "type-asset": "Asset",
+ "type-device": "Device",
+ "type-device-profile": "Device Profile",
+ "type-entity-view": "Entity View",
+ "type-alarm": "Alarm",
+ "type-rule-chain": "Rule Chain",
+ "type-rule-chain-metadata": "Rule Chain Metadata",
+ "type-edge": "Edge",
+ "type-entity-group": "Entity Group",
+ "type-scheduler-event": "Scheduler Event",
+ "type-white-labeling": "White Labeling",
+ "type-login-white-labeling": "White Labeling Login",
+ "type-user": "User",
+ "type-tenant": "Tenant",
+ "type-customer": "Customer",
+ "type-custom-translation": "Custom Translation",
+ "type-relation": "Relation",
+ "type-widgets-bundle": "Widgets Bundle",
+ "type-widgets-type": "Widgets Type",
+ "type-admin-settings": "Admin Settings",
+ "action-type-added": "Added",
+ "action-type-deleted": "Deleted",
+ "action-type-updated": "Updated",
+ "action-type-post-attributes": "Post Attributes",
+ "action-type-attributes-updated": "Attributes Updated",
+ "action-type-attributes-deleted": "Attributes Deleted",
+ "action-type-timeseries-updated": "Timeseries Updated",
+ "action-type-credentials-updated": "Credentials Updated",
+ "action-type-assigned-to-customer": "Assigned to Customer",
+ "action-type-unassigned-from-customer": "Unassigned from Customer",
+ "action-type-relation-add-or-update": "Relation Add or Update",
+ "action-type-relation-deleted": "Relation Deleted",
+ "action-type-rpc-call": "RPC Call",
+ "action-type-alarm-ack": "Alarm Ack",
+ "action-type-alarm-clear": "Alarm Clear",
+ "action-type-assigned-to-edge": "Assigned to Edge",
+ "action-type-unassigned-from-edge": "Unassigned from Edge",
+ "action-type-credentials-request": "Credentials Request",
+ "action-type-entity-merge-request": "Entity Merge Request"
},
"error": {
"unable-to-connect": "Imposible conectar con el servidor! Por favor, revise su conexión a internet.",
@@ -1576,7 +1637,12 @@
"unset-auto-assign-to-edge": "Desmarcar asignar cadena de reglas a los bordes en la creación",
"unset-auto-assign-to-edge-title": "¿Está seguro de que desea anular la asignación de la cadena de reglas de borde '{{ruleChainName}}' a los bordes en la creación?",
"unset-auto-assign-to-edge-text": "Después de la confirmación, la cadena de reglas de borde ya no se asignará automáticamente a los bordes en la creación.",
- "edge-template-root": "Raíz de plantilla"
+ "edge-template-root": "Raíz de plantilla",
+ "search": "Cadenas de reglas de búsqueda",
+ "selected-rulechains": "{count, plural, 1 {1 cadena de reglas} otras {# cadenas de reglas}} seleccionadas",
+ "open-rulechain": "Cadena de reglas abierta",
+ "assign-to-edge": "Asignar a Edge",
+ "edge-rulechain": "Cadena de regla de borde"
},
"rulenode": {
"details": "Detalles",
diff --git a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
index b16ffe3268..074042d65b 100644
--- a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
@@ -749,7 +749,6 @@
"no-edges-matching": "Aucun bordure correspondant à {{entity}} n'a été trouvé.",
"rulechain-templates": "Modèles de chaîne de règles",
"add": "Ajouter un bordure",
- "view": "Afficher la bordure",
"no-edges-text": "Aucun bordure trouvé",
"edge-details": "Détails de la bordure",
"add-edge-text": "Ajouter une nouveau bordure",
@@ -772,12 +771,10 @@
"id-copied-message": "Id de la bordure a été copié dans le presse-papier",
"sync": "Sync Edge",
"sync-message": "Edge a été synchronisé",
- "permissions": "Autorisations",
"edge-required": "Bordure est requise",
"edge-type": "Type de la bordure",
"edge-type-required": "Type de la bordure est requise.",
"select-edge-type": "Selectionner un type de la bordure",
- "assign-to-edge": "Attribuer au bord",
"assign-to-customer": "Attribuer au client",
"assign-to-customer-text": "Veuillez sélectionner la bordure pour attribuer le ou les dispositifs",
"assign-edge-to-customer": "Attribuer la bordure au client",
@@ -802,7 +799,6 @@
"dashboards": "Tableau de bord de la bordure",
"manage-edge-rulechains": "Gérer les chaînes de règles",
"rulechains": "Chaînes de règles de la bordure",
- "rulechain": "Chaîne de règles de la bordure",
"edge-key": "Clé de la bordure",
"copy-edge-key": "Copier clé de la bordure",
"edge-key-copied-message": "Clé de la bordure a été copié dans le presse-papier",
@@ -815,18 +811,79 @@
"assets": "Actifs de la bordure",
"devices": "Dispositifs de la bordure",
"entity-views": "Vues de l'entité bordure",
- "set-root-rulechain-text": "Veuillez sélectionner la chaîne de règles racine pour les bordure(s)",
- "set-rootrule-chain-to-edges": "Définir la chaîne de règles racine pour bordure(s)",
- "set-root-rulechain-to-edges-text": "Définir la chaîne de règles racine pour {count, plural, 1 {1 bordure} other {# bordures} }",
- "status": "Reçu par bord",
- "success": "Déployée",
- "failed": "En attente",
"entity-id": "ID d'entité",
- "entity-info": "Informations sur l'entité",
"event-action": "Action d'événement",
"load-entity-error": "Entité introuvable. Échec du chargement des informations",
"unassign-edges-text": "Après la confirmation, tous les bordures sélectionnés ne seront plus attribués et ne seront pas accessibles par le client.",
- "unassign-edges-title": "Voulez-vous vraiment annuler l'attribution de {count, plural, 1 {1 bordure} other {# bordures}}?"
+ "unassign-edges-title": "Voulez-vous vraiment annuler l'attribution de {count, plural, 1 {1 bordure} other {# bordures}}?",
+ "edge-file": "Fichier Edge",
+ "edge-rulechains": "Chaînes de règles Edge",
+ "name-starts-with": "Le nom du bord commence par",
+ "edge-license-key-hint": "Pour obtenir votre licence, accédez à la page de tarification and select the best license option for your case.",
+ "cloud-endpoint-hint": "Edge nécessite un accès HTTP (s) au Cloud (ThingsBoard CE / PE) pour vérifier la clé de licence. Veuillez spécifier l'URL du cloud à laquelle Edge peut se connecter.",
+ "assignedToCustomer": "Attribué au client",
+ "edge-public": "Edge est public",
+ "set-root-rule-chain-text": "Veuillez sélectionner la chaîne de règles racine pour les arêtes",
+ "set-root-rule-chain-to-edges": "Définir la chaîne de règles racine pour Edge (s)",
+ "set-root-rule-chain-to-edges-text": "Définir la chaîne de règles racine pour {count, plural, 1 {1 edge} other {# edges}}",
+ "search": "Rechercher les bords",
+ "selected-edges": "{count, plural, 1 {1 edge} other {# bords}} sélectionné",
+ "any-edge": "Tout bord",
+ "no-edge-types-matching": "Aucun type d'arête correspondant à \"{{entitySubtype}}\" n'a été trouvé.",
+ "edge-type-list-empty": "Aucun type d'arête sélectionné.",
+ "edge-types": "Types de bords",
+ "dashboard": "Tableau de bord Edge",
+ "enter-edge-type": "Entrez le type d'arête",
+ "deployed": "Déployé",
+ "pending": "En attente",
+ "downlinks": "Liens descendants",
+ "no-downlinks-prompt": "Aucun lien descendant trouvé",
+ "sync-process-started-successfully": "Le processus de synchronisation a démarré avec succès!",
+ "missing-related-rule-chains-title": "Edge n'a pas de chaîne (s) de règles associées",
+ "missing-related-rule-chains-text": "Les chaînes de règles affectées aux tronçons utilisent des nœuds de règles qui transfèrent les messages vers les chaînes de règles non affectées à ce tronçon.
Liste des chaînes de règles manquantes:
{{missingRuleChains}}",
+ "widget-datasource-error": "Ce widget prend en charge uniquement la source de données d'entité EDGE"
+ },
+ "edge-event": {
+ "type-dashboard": "Dashboard",
+ "type-asset": "Asset",
+ "type-device": "Device",
+ "type-device-profile": "Device Profile",
+ "type-entity-view": "Entity View",
+ "type-alarm": "Alarm",
+ "type-rule-chain": "Rule Chain",
+ "type-rule-chain-metadata": "Rule Chain Metadata",
+ "type-edge": "Edge",
+ "type-entity-group": "Entity Group",
+ "type-scheduler-event": "Scheduler Event",
+ "type-white-labeling": "White Labeling",
+ "type-login-white-labeling": "White Labeling Login",
+ "type-user": "User",
+ "type-tenant": "Tenant",
+ "type-customer": "Customer",
+ "type-custom-translation": "Custom Translation",
+ "type-relation": "Relation",
+ "type-widgets-bundle": "Widgets Bundle",
+ "type-widgets-type": "Widgets Type",
+ "type-admin-settings": "Admin Settings",
+ "action-type-added": "Added",
+ "action-type-deleted": "Deleted",
+ "action-type-updated": "Updated",
+ "action-type-post-attributes": "Post Attributes",
+ "action-type-attributes-updated": "Attributes Updated",
+ "action-type-attributes-deleted": "Attributes Deleted",
+ "action-type-timeseries-updated": "Timeseries Updated",
+ "action-type-credentials-updated": "Credentials Updated",
+ "action-type-assigned-to-customer": "Assigned to Customer",
+ "action-type-unassigned-from-customer": "Unassigned from Customer",
+ "action-type-relation-add-or-update": "Relation Add or Update",
+ "action-type-relation-deleted": "Relation Deleted",
+ "action-type-rpc-call": "RPC Call",
+ "action-type-alarm-ack": "Alarm Ack",
+ "action-type-alarm-clear": "Alarm Clear",
+ "action-type-assigned-to-edge": "Assigned to Edge",
+ "action-type-unassigned-from-edge": "Unassigned from Edge",
+ "action-type-credentials-request": "Credentials Request",
+ "action-type-entity-merge-request": "Entity Merge Request"
},
"entity": {
"add-alias": "Ajouter un alias d'entité",
@@ -1450,7 +1507,13 @@
"unset-auto-assign-to-edge": "Non défini, attribuer une chaîne de règles aux arêtes lors de la création",
"unset-auto-assign-to-edge-title": "Voulez-vous vraiment annuler l'attribution de la chaîne de règles d'arête \"{{ruleChainName}}\" aux arêtes lors de la création?",
"unset-auto-assign-to-edge-text": "Après la confirmation, la chaîne de règles d'arêtes ne sera plus automatiquement affectée aux arêtes lors de la création.",
- "edge-template-root": "Racine du modèle"
+ "edge-template-root": "Racine du modèle",
+ "search": "Rechercher des chaînes de règles",
+ "selected-rulechains": "{count, plural, 1 {1 rule chain} other {# rule chains}} sélectionné",
+ "open-rulechain": "Chaîne de règles ouverte",
+ "assign-to-edge": "Attribuer à Edge",
+ "edge-rulechain": "Chaîne de règles Edge",
+ "unassign-rulechains-from-edge-title": "Voulez-vous vraiment annuler l'attribution de {count, plural, 1 {1 rulechain} other {# rulechains}}?"
},
"rulenode": {
"add": "Ajouter un noeud de règle",