diff --git a/ui-ngx/src/assets/locale/locale.constant-da_DK.json b/ui-ngx/src/assets/locale/locale.constant-da_DK.json
index 69ab79f43b..3ccb1678ac 100644
--- a/ui-ngx/src/assets/locale/locale.constant-da_DK.json
+++ b/ui-ngx/src/assets/locale/locale.constant-da_DK.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Ingen assets matcher '{{entity}}'.",
"asset-required": "Asset er påkrævet",
"name-starts-with": "Asset-navneudtryk",
- "help-text": "Brug '%' efter behov: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.",
+ "help-text": "Brug '%' efter behov: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Søg assets",
"import": "Importér assets",
"asset-file": "Assetfil",
@@ -910,9 +910,9 @@
"processing-timeouts": "${entityName} behandlingstimeouts",
"rule-chain": "Rule Chain",
"rule-engine": "Rule Engine",
- "rule-engine-daily-activity": "Daglig aktivitet for Rule Engine",
"rule-engine-executions": "Rule Engine-udførelser",
"rule-engine-hourly-activity": "Timebaseret aktivitet for Rule Engine",
+ "rule-engine-daily-activity": "Daglig aktivitet for Rule Engine",
"rule-engine-monthly-activity": "Månedlig aktivitet for Rule Engine",
"rule-engine-statistics": "Statistik for Rule Engine",
"rule-node": "Rule Node",
@@ -2124,7 +2124,7 @@
"remove-alias": "Fjern enhedsalias",
"add-alias": "Tilføj enhedsalias",
"name-starts-with": "Udtryk for enhedsnavn",
- "help-text": "Brug '%' efter behov: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Brug '%' efter behov: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Enhedsliste",
"use-device-name-filter": "Brug filter",
"device-list-empty": "Ingen enheder valgt.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Ingen enheder fundet",
"no-entity-types-matching": "Ingen enhedstyper matcher '{{entityType}}'.",
"name-starts-with": "Navneudtryk",
- "help-text": "Brug '%' efter behov: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "Brug '%' efter behov: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Brug filter",
"entity-list-empty": "Ingen enheder valgt.",
"entity-type-list-required": "Mindst én enhedstype skal vælges.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Fjern entitetsvisningsalias",
"add-alias": "Tilføj entitetsvisningsalias",
"name-starts-with": "Entitetsvisningsnavn udtryk",
- "help-text": "Brug '%' efter behov: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Brug '%' efter behov: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Entitetsvisningsliste",
"use-entity-view-name-filter": "Brug filter",
"entity-view-list-empty": "Ingen entitetsvisninger valgt.",
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 78a744a68d..9aefa0be37 100644
--- a/ui-ngx/src/assets/locale/locale.constant-de_DE.json
+++ b/ui-ngx/src/assets/locale/locale.constant-de_DE.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Keine Assets gefunden, die mit '{{entity}}' übereinstimmen.",
"asset-required": "Asset ist erforderlich",
"name-starts-with": "Ausdruck für Assetnamen",
- "help-text": "Verwenden Sie '%' je nach Bedarf: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.",
+ "help-text": "Verwenden Sie '%' nach Bedarf: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Assets suchen",
"import": "Assets importieren",
"asset-file": "Asset-Datei",
@@ -910,9 +910,9 @@
"processing-timeouts": "${entityName} Verarbeitungszeitüberschreitungen",
"rule-chain": "Regelkette",
"rule-engine": "Regel-Engine",
- "rule-engine-daily-activity": "Tägliche Aktivität der Regel-Engine",
"rule-engine-executions": "Ausführungen der Regel-Engine",
"rule-engine-hourly-activity": "Stündliche Aktivität der Regel-Engine",
+ "rule-engine-daily-activity": "Tägliche Aktivität der Regel-Engine",
"rule-engine-monthly-activity": "Monatliche Aktivität der Regel-Engine",
"rule-engine-statistics": "Regel-Engine-Statistiken",
"rule-node": "Regelknoten",
@@ -2124,7 +2124,7 @@
"remove-alias": "Gerätealias entfernen",
"add-alias": "Gerätealias hinzufügen",
"name-starts-with": "Ausdruck für Gerätename",
- "help-text": "Verwenden Sie '%' bei Bedarf: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Verwenden Sie '%' nach Bedarf: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Geräteliste",
"use-device-name-filter": "Filter verwenden",
"device-list-empty": "Keine Geräte ausgewählt.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Keine Entitäten gefunden",
"no-entity-types-matching": "Keine Entitätstypen gefunden, die mit '{{entityType}}' übereinstimmen.",
"name-starts-with": "Namensausdruck",
- "help-text": "Verwenden Sie '%' nach Bedarf: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "Verwenden Sie '%' nach Bedarf: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Filter verwenden",
"entity-list-empty": "Keine Entitäten ausgewählt.",
"entity-type-list-required": "Mindestens ein Entitätstyp sollte ausgewählt werden.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Entitätsansicht-Alias entfernen",
"add-alias": "Entitätsansicht-Alias hinzufügen",
"name-starts-with": "Namensausdruck für Entitätsansicht",
- "help-text": "Verwenden Sie '%' nach Bedarf: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Verwenden Sie '%' nach Bedarf: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Liste der Entitätsansichten",
"use-entity-view-name-filter": "Filter verwenden",
"entity-view-list-empty": "Keine Entitätsansichten ausgewählt.",
diff --git a/ui-ngx/src/assets/locale/locale.constant-el_GR.json b/ui-ngx/src/assets/locale/locale.constant-el_GR.json
index 1583faa8e0..8e238b0f3b 100644
--- a/ui-ngx/src/assets/locale/locale.constant-el_GR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-el_GR.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Δεν βρέθηκαν περιουσιακά στοιχεία που να ταιριάζουν με '{{entity}}'.",
"asset-required": "Απαιτείται περιουσιακό στοιχείο",
"name-starts-with": "Έκφραση ονόματος περιουσιακού στοιχείου",
- "help-text": "Χρησιμοποιήστε το '%' κατά περίπτωση: '%περιουσιακό_όνομα%', '%περιουσιακό_όνομα_λήγει', 'περιουσιακό_ξεκινά_με'.",
+ "help-text": "Χρησιμοποιήστε '%' ανάλογα με τις ανάγκες: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Αναζήτηση περιουσιακών στοιχείων",
"import": "Εισαγωγή περιουσιακών στοιχείων",
"asset-file": "Αρχείο περιουσιακών στοιχείων",
@@ -910,9 +910,9 @@
"processing-timeouts": "Χρονικά όρια επεξεργασίας ${entityName}",
"rule-chain": "Αλυσίδα κανόνων",
"rule-engine": "Μηχανή κανόνων",
- "rule-engine-daily-activity": "Ημερήσια δραστηριότητα μηχανής κανόνων",
"rule-engine-executions": "Εκτελέσεις μηχανής κανόνων",
"rule-engine-hourly-activity": "Ωριαία δραστηριότητα μηχανής κανόνων",
+ "rule-engine-daily-activity": "Ημερήσια δραστηριότητα μηχανής κανόνων",
"rule-engine-monthly-activity": "Μηνιαία δραστηριότητα μηχανής κανόνων",
"rule-engine-statistics": "Στατιστικά μηχανής κανόνων",
"rule-node": "Κόμβος κανόνα",
@@ -2124,7 +2124,7 @@
"remove-alias": "Αφαίρεση ψευδωνύμου συσκευής",
"add-alias": "Προσθήκη ψευδωνύμου συσκευής",
"name-starts-with": "Έκφραση ονόματος συσκευής",
- "help-text": "Χρησιμοποιήστε '%' όπως απαιτείται: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Χρησιμοποιήστε '%' ανάλογα με τις ανάγκες: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Λίστα συσκευών",
"use-device-name-filter": "Χρήση φίλτρου",
"device-list-empty": "Δεν έχουν επιλεγεί συσκευές.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Δεν βρέθηκαν οντότητες",
"no-entity-types-matching": "Δεν βρέθηκαν τύποι οντοτήτων που να ταιριάζουν με '{{entityType}}'.",
"name-starts-with": "Έκφραση ονόματος",
- "help-text": "Χρησιμοποιήστε '%' ανάλογα με την ανάγκη: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "Χρησιμοποιήστε '%' ανάλογα με τις ανάγκες: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Χρήση φίλτρου",
"entity-list-empty": "Δεν επιλέχθηκαν οντότητες.",
"entity-type-list-required": "Πρέπει να επιλεγεί τουλάχιστον ένας τύπος οντότητας.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Αφαίρεση ψευδωνύμου προβολής οντότητας",
"add-alias": "Προσθήκη ψευδωνύμου προβολής οντότητας",
"name-starts-with": "Έκφραση ονόματος προβολής οντότητας",
- "help-text": "Χρησιμοποιήστε '%' όπως απαιτείται: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Χρησιμοποιήστε '%' ανάλογα με τις ανάγκες: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Λίστα προβολών οντοτήτων",
"use-entity-view-name-filter": "Χρήση φίλτρου",
"entity-view-list-empty": "Δεν έχουν επιλεγεί προβολές οντοτήτων.",
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 28e4484572..d6c30dfd40 100644
--- a/ui-ngx/src/assets/locale/locale.constant-es_ES.json
+++ b/ui-ngx/src/assets/locale/locale.constant-es_ES.json
@@ -803,7 +803,7 @@
"no-assets-matching": "No se encontraron activos que coincidan con '{{entity}}'.",
"asset-required": "Se requiere un activo",
"name-starts-with": "Expresión del nombre del activo",
- "help-text": "Usa '%' según sea necesario: '%nombre_activo_contiene%', '%nombre_activo_termina', 'activo_empieza_con'.",
+ "help-text": "Usa '%' según sea necesario: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Buscar activos",
"import": "Importar activos",
"asset-file": "Archivo de activos",
@@ -910,9 +910,9 @@
"processing-timeouts": "Tiempos de espera de procesamiento de ${entityName}",
"rule-chain": "Cadena de reglas",
"rule-engine": "Motor de reglas",
- "rule-engine-daily-activity": "Actividad diaria del motor de reglas",
"rule-engine-executions": "Ejecuciones del motor de reglas",
"rule-engine-hourly-activity": "Actividad por hora del motor de reglas",
+ "rule-engine-daily-activity": "Actividad diaria del motor de reglas",
"rule-engine-monthly-activity": "Actividad mensual del motor de reglas",
"rule-engine-statistics": "Estadísticas del motor de reglas",
"rule-node": "Nodo de regla",
@@ -2124,7 +2124,7 @@
"remove-alias": "Eliminar alias de dispositivo",
"add-alias": "Agregar alias de dispositivo",
"name-starts-with": "Expresión del nombre del dispositivo",
- "help-text": "Usa '%' según sea necesario: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Usa '%' según sea necesario: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Lista de dispositivos",
"use-device-name-filter": "Usar filtro",
"device-list-empty": "No se seleccionaron dispositivos.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "No se encontraron entidades",
"no-entity-types-matching": "No se encontraron tipos de entidad que coincidan con '{{entityType}}'.",
"name-starts-with": "Expresión de nombre",
- "help-text": "Use '%' según sea necesario: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "Usa '%' según sea necesario: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Usar filtro",
"entity-list-empty": "No hay entidades seleccionadas.",
"entity-type-list-required": "Se debe seleccionar al menos un tipo de entidad.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Eliminar alias de vista de entidad",
"add-alias": "Agregar alias de vista de entidad",
"name-starts-with": "Expresión del nombre de la vista de entidad",
- "help-text": "Use '%' según sea necesario: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Usa '%' según sea necesario: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Lista de vistas de entidad",
"use-entity-view-name-filter": "Usar filtro",
"entity-view-list-empty": "No se seleccionaron vistas de entidad.",
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 989b252cc2..7f03212914 100644
--- a/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-fr_FR.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Aucun actif correspondant à '{{entity}}' trouvé.",
"asset-required": "L'actif est requis",
"name-starts-with": "Expression du nom de l'actif",
- "help-text": "Utilisez '%' selon le besoin : '%nom_actif_contient%', '%nom_actif_termine', 'actif_commence_par'.",
+ "help-text": "Utilisez '%' selon vos besoins : '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Rechercher des actifs",
"import": "Importer des actifs",
"asset-file": "Fichier d'actifs",
@@ -910,9 +910,9 @@
"processing-timeouts": "Expirations de traitement ${entityName}",
"rule-chain": "Chaîne de règles",
"rule-engine": "Moteur de règles",
- "rule-engine-daily-activity": "Activité quotidienne du moteur de règles",
"rule-engine-executions": "Exécutions du moteur de règles",
"rule-engine-hourly-activity": "Activité horaire du moteur de règles",
+ "rule-engine-daily-activity": "Activité quotidienne du moteur de règles",
"rule-engine-monthly-activity": "Activité mensuelle du moteur de règles",
"rule-engine-statistics": "Statistiques du moteur de règles",
"rule-node": "Nœud de règle",
@@ -2124,7 +2124,7 @@
"remove-alias": "Supprimer l'alias de l'appareil",
"add-alias": "Ajouter un alias d'appareil",
"name-starts-with": "Expression du nom de l'appareil",
- "help-text": "Utilisez '%' selon le besoin : '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Utilisez '%' selon vos besoins : '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Liste des appareils",
"use-device-name-filter": "Utiliser un filtre",
"device-list-empty": "Aucun appareil sélectionné.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Aucune entité trouvée",
"no-entity-types-matching": "Aucun type d'entité correspondant à '{{entityType}}' n'a été trouvé.",
"name-starts-with": "Expression du nom",
- "help-text": "Utilisez '%' selon le besoin : '%nom_entité_contient%', '%nom_entité_se_termine', 'entité_commence_par'.",
+ "help-text": "Utilisez '%' selon vos besoins : '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Utiliser le filtre",
"entity-list-empty": "Aucune entité sélectionnée.",
"entity-type-list-required": "Au moins un type d'entité doit être sélectionné.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Supprimer l'alias de la vue d'entité",
"add-alias": "Ajouter un alias de vue d'entité",
"name-starts-with": "Expression du nom de la vue d'entité",
- "help-text": "Utilisez '%' selon le besoin : '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Utilisez '%' selon vos besoins : '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Liste des vues d'entité",
"use-entity-view-name-filter": "Utiliser un filtre",
"entity-view-list-empty": "Aucune vue d'entité sélectionnée.",
diff --git a/ui-ngx/src/assets/locale/locale.constant-hi_IN.json b/ui-ngx/src/assets/locale/locale.constant-hi_IN.json
index ef5707a0bd..afd71d0305 100644
--- a/ui-ngx/src/assets/locale/locale.constant-hi_IN.json
+++ b/ui-ngx/src/assets/locale/locale.constant-hi_IN.json
@@ -803,7 +803,7 @@
"no-assets-matching": "'{{entity}}' से मेल खाता कोई एसेट नहीं मिला।",
"asset-required": "एसेट आवश्यक है।",
"name-starts-with": "एसेट नाम अभिव्यक्ति",
- "help-text": "ज़रूरत के अनुसार '%' का उपयोग करें: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.",
+ "help-text": "आवश्यकतानुसार '%' का उपयोग करें: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "एसेट खोजें",
"import": "एसेट आयात करें",
"asset-file": "एसेट फ़ाइल",
@@ -910,9 +910,9 @@
"processing-timeouts": "${entityName} प्रोसेसिंग टाइमआउट",
"rule-chain": "रूल चेन",
"rule-engine": "रूल इंजन",
- "rule-engine-daily-activity": "रूल इंजन की दैनिक सक्रियता",
"rule-engine-executions": "रूल इंजन निष्पादन",
"rule-engine-hourly-activity": "रूल इंजन की प्रति घंटा सक्रियता",
+ "rule-engine-daily-activity": "रूल इंजन की दैनिक सक्रियता",
"rule-engine-monthly-activity": "रूल इंजन की मासिक सक्रियता",
"rule-engine-statistics": "रूल इंजन सांख्यिकी",
"rule-node": "रूल नोड",
@@ -2124,7 +2124,7 @@
"remove-alias": "डिवाइस उपनाम हटाएँ",
"add-alias": "डिवाइस उपनाम जोड़ें",
"name-starts-with": "डिवाइस नाम अभिव्यक्ति",
- "help-text": "आवश्यकता अनुसार '%' का उपयोग करें: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "आवश्यकतानुसार '%' का उपयोग करें: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "डिवाइस सूची",
"use-device-name-filter": "फ़िल्टर का उपयोग करें",
"device-list-empty": "कोई डिवाइस चयनित नहीं है।",
@@ -3039,7 +3039,7 @@
"no-entities-text": "कोई एंटिटी नहीं मिली.",
"no-entity-types-matching": "'{{entityType}}' से मेल खाने वाले कोई एंटिटी प्रकार नहीं मिले.",
"name-starts-with": "नाम अभिव्यक्ति",
- "help-text": "ज़रूरत के अनुसार '%' का उपयोग करें: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "आवश्यकतानुसार '%' का उपयोग करें: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "फ़िल्टर उपयोग करें",
"entity-list-empty": "कोई एंटिटी चयनित नहीं है.",
"entity-type-list-required": "कम से कम एक एंटिटी प्रकार चुना जाना चाहिए.",
@@ -3242,7 +3242,7 @@
"remove-alias": "एंटिटी व्यू उपनाम हटाएँ",
"add-alias": "एंटिटी व्यू उपनाम जोड़ें",
"name-starts-with": "एंटिटी व्यू नाम अभिव्यक्ति",
- "help-text": "ज़रूरत के अनुसार '%' का उपयोग करें: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "आवश्यकतानुसार '%' का उपयोग करें: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "एंटिटी व्यू सूची",
"use-entity-view-name-filter": "फ़िल्टर उपयोग करें",
"entity-view-list-empty": "कोई एंटिटी व्यू चयनित नहीं है.",
diff --git a/ui-ngx/src/assets/locale/locale.constant-it_IT.json b/ui-ngx/src/assets/locale/locale.constant-it_IT.json
index ab07b5ec48..d2173f7631 100644
--- a/ui-ngx/src/assets/locale/locale.constant-it_IT.json
+++ b/ui-ngx/src/assets/locale/locale.constant-it_IT.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Nessun asset corrispondente a '{{entity}}' trovato.",
"asset-required": "L'asset è obbligatorio",
"name-starts-with": "Espressione nome asset",
- "help-text": "Usa '%' secondo necessità: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.",
+ "help-text": "Usa '%' secondo necessità: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Cerca asset",
"import": "Importa asset",
"asset-file": "File asset",
@@ -910,9 +910,9 @@
"processing-timeouts": "Timeout di elaborazione ${entityName}",
"rule-chain": "Catena di regole",
"rule-engine": "Motore di regole",
- "rule-engine-daily-activity": "Attività giornaliera motore di regole",
"rule-engine-executions": "Esecuzioni motore di regole",
"rule-engine-hourly-activity": "Attività oraria motore di regole",
+ "rule-engine-daily-activity": "Attività giornaliera motore di regole",
"rule-engine-monthly-activity": "Attività mensile motore di regole",
"rule-engine-statistics": "Statistiche motore di regole",
"rule-node": "Nodo regola",
@@ -2124,7 +2124,7 @@
"remove-alias": "Rimuovi alias del dispositivo",
"add-alias": "Aggiungi alias del dispositivo",
"name-starts-with": "Espressione nome dispositivo",
- "help-text": "Usa '%' secondo necessità: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Usa '%' secondo necessità: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Elenco dispositivi",
"use-device-name-filter": "Usa filtro",
"device-list-empty": "Nessun dispositivo selezionato.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Nessuna entità trovata",
"no-entity-types-matching": "Nessun tipo entità corrispondente a '{{entityType}}' trovato.",
"name-starts-with": "Espressione nome",
- "help-text": "Usa '%' secondo necessità: '%nome_entità_contiene%', '%nome_entità_finisce', 'entità_inizia_con'.",
+ "help-text": "Usa '%' secondo necessità: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Usa filtro",
"entity-list-empty": "Nessuna entità selezionata.",
"entity-type-list-required": "È richiesto almeno un tipo di entità.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Rimuovi alias vista entità",
"add-alias": "Aggiungi alias vista entità",
"name-starts-with": "Espressione nome vista entità",
- "help-text": "Usa '%' se necessario: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Usa '%' secondo necessità: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Elenco viste entità",
"use-entity-view-name-filter": "Usa filtro",
"entity-view-list-empty": "Nessuna vista entità selezionata.",
diff --git a/ui-ngx/src/assets/locale/locale.constant-ja_JP.json b/ui-ngx/src/assets/locale/locale.constant-ja_JP.json
index d4726ac3e9..9eb965a9e9 100644
--- a/ui-ngx/src/assets/locale/locale.constant-ja_JP.json
+++ b/ui-ngx/src/assets/locale/locale.constant-ja_JP.json
@@ -803,7 +803,7 @@
"no-assets-matching": "'{{entity}}'に一致するアセットが見つかりません。",
"asset-required": "アセットは必須です",
"name-starts-with": "アセット名の式",
- "help-text": "必要に応じて'%'を使用してください: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'。",
+ "help-text": "必要に応じて'%'を使用してください: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "アセットを検索",
"import": "アセットをインポート",
"asset-file": "アセットファイル",
@@ -910,9 +910,9 @@
"processing-timeouts": "${entityName} 処理タイムアウト",
"rule-chain": "ルールチェーン",
"rule-engine": "ルールエンジン",
- "rule-engine-daily-activity": "ルールエンジンの日別アクティビティ",
"rule-engine-executions": "ルールエンジン実行",
"rule-engine-hourly-activity": "ルールエンジンの時間別アクティビティ",
+ "rule-engine-daily-activity": "ルールエンジンの日別アクティビティ",
"rule-engine-monthly-activity": "ルールエンジンの月別アクティビティ",
"rule-engine-statistics": "ルールエンジン統計",
"rule-node": "ルールノード",
@@ -2124,7 +2124,7 @@
"remove-alias": "デバイスエイリアスを削除",
"add-alias": "デバイスエイリアスを追加",
"name-starts-with": "デバイス名式",
- "help-text": "必要に応じて'%'を使用してください: '%device_name_contains%', '%device_name_ends', 'device_starts_with'。",
+ "help-text": "必要に応じて'%'を使用してください: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "デバイス一覧",
"use-device-name-filter": "フィルターを使用",
"device-list-empty": "デバイスが選択されていません。",
@@ -3039,7 +3039,7 @@
"no-entities-text": "エンティティは見つかりません",
"no-entity-types-matching": "エンティティタイプ '{{entityType}}' に一致するエンティティタイプは見つかりませんでした。",
"name-starts-with": "名前の表現",
- "help-text": "必要に応じて '%' を使用します: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "必要に応じて'%'を使用してください: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "フィルターを使用",
"entity-list-empty": "エンティティが選択されていません。",
"entity-type-list-required": "少なくとも1つのエンティティタイプを選択する必要があります。",
@@ -3242,7 +3242,7 @@
"remove-alias": "エンティティビューのエイリアスを削除",
"add-alias": "エンティティビューのエイリアスを追加",
"name-starts-with": "エンティティビュー名の式",
- "help-text": "必要に応じて '%' を使用してください:'%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'。",
+ "help-text": "必要に応じて'%'を使用してください: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "エンティティビュー一覧",
"use-entity-view-name-filter": "フィルターを使用",
"entity-view-list-empty": "エンティティビューが選択されていません。",
diff --git a/ui-ngx/src/assets/locale/locale.constant-nl_NL.json b/ui-ngx/src/assets/locale/locale.constant-nl_NL.json
index 0f8b4adea2..49923f7ae3 100644
--- a/ui-ngx/src/assets/locale/locale.constant-nl_NL.json
+++ b/ui-ngx/src/assets/locale/locale.constant-nl_NL.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Geen overeenkomende assets gevonden voor '{{entity}}'.",
"asset-required": "Asset is verplicht",
"name-starts-with": "Assetnaam-expressie",
- "help-text": "Gebruik '%' indien nodig: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.",
+ "help-text": "Gebruik '%' naar behoefte: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Assets zoeken",
"import": "Assets importeren",
"asset-file": "Assetbestand",
@@ -910,9 +910,9 @@
"processing-timeouts": "${entityName} Verwerking time-outs",
"rule-chain": "Rule chain",
"rule-engine": "Rule Engine",
- "rule-engine-daily-activity": "Dagelijkse activiteit Rule Engine",
"rule-engine-executions": "Rule Engine-uitvoeringen",
"rule-engine-hourly-activity": "Uurlijkse activiteit Rule Engine",
+ "rule-engine-daily-activity": "Dagelijkse activiteit Rule Engine",
"rule-engine-monthly-activity": "Maandelijkse activiteit Rule Engine",
"rule-engine-statistics": "Rule Engine-statistieken",
"rule-node": "Rule node",
@@ -2124,7 +2124,7 @@
"remove-alias": "Apparaatalias verwijderen",
"add-alias": "Apparaatalias toevoegen",
"name-starts-with": "Apparaatnaam expressie",
- "help-text": "Gebruik '%' indien nodig: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Gebruik '%' naar behoefte: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Apparatenlijst",
"use-device-name-filter": "Filter gebruiken",
"device-list-empty": "Geen apparaten geselecteerd.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Geen entiteiten gevonden",
"no-entity-types-matching": "Geen entiteittypes gevonden die overeenkomen met '{{entityType}}'.",
"name-starts-with": "Naamexpressie",
- "help-text": "Gebruik '%' indien nodig: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "Gebruik '%' naar behoefte: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Gebruik filter",
"entity-list-empty": "Geen entiteiten geselecteerd.",
"entity-type-list-required": "Minstens één entiteittype moet worden geselecteerd.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Alias van entiteitweergave verwijderen",
"add-alias": "Alias voor entiteitweergave toevoegen",
"name-starts-with": "Naamexpressie van entiteitweergave",
- "help-text": "Gebruik '%' waar nodig: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Gebruik '%' naar behoefte: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Lijst van entiteitweergaven",
"use-entity-view-name-filter": "Filter gebruiken",
"entity-view-list-empty": "Geen entiteitweergaven geselecteerd.",
diff --git a/ui-ngx/src/assets/locale/locale.constant-no_NO.json b/ui-ngx/src/assets/locale/locale.constant-no_NO.json
index 9b2c33dae9..80c1467767 100644
--- a/ui-ngx/src/assets/locale/locale.constant-no_NO.json
+++ b/ui-ngx/src/assets/locale/locale.constant-no_NO.json
@@ -803,7 +803,7 @@
"no-assets-matching": "Ingen eiendeler som samsvarer med '{{entity}}' ble funnet.",
"asset-required": "Eiendel er påkrevd",
"name-starts-with": "Navneuttrykk for eiendel",
- "help-text": "Bruk '%' etter behov: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.",
+ "help-text": "Bruk '%' etter behov: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
"search": "Søk etter eiendeler",
"import": "Importer eiendeler",
"asset-file": "Eiendelsfil",
@@ -910,9 +910,9 @@
"processing-timeouts": "${entityName} Behandlingstidsavbrudd",
"rule-chain": "Regelkjede",
"rule-engine": "Regelmotor",
- "rule-engine-daily-activity": "Daglig aktivitet for regelmotor",
"rule-engine-executions": "Utførelser av regelmotor",
"rule-engine-hourly-activity": "Timebasert aktivitet for regelmotor",
+ "rule-engine-daily-activity": "Daglig aktivitet for regelmotor",
"rule-engine-monthly-activity": "Månedlig aktivitet for regelmotor",
"rule-engine-statistics": "Statistikk for regelmotor",
"rule-node": "Regelnode",
@@ -2124,7 +2124,7 @@
"remove-alias": "Fjern enhetsalias",
"add-alias": "Legg til enhetsalias",
"name-starts-with": "Enhetsnavnuttrykk",
- "help-text": "Bruk '%' etter behov: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.",
+ "help-text": "Bruk '%' etter behov: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Enhetsliste",
"use-device-name-filter": "Bruk filter",
"device-list-empty": "Ingen enheter valgt.",
@@ -3039,7 +3039,7 @@
"no-entities-text": "Ingen enheter funnet",
"no-entity-types-matching": "Ingen enhetstyper som samsvarer med '{{entityType}}' ble funnet.",
"name-starts-with": "Navnuttrykk",
- "help-text": "Bruk '%' etter behov: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.",
+ "help-text": "Bruk '%' etter behov: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Bruk filter",
"entity-list-empty": "Ingen enheter valgt.",
"entity-type-list-required": "Minst én enhetstype må velges.",
@@ -3242,7 +3242,7 @@
"remove-alias": "Fjern alias for entitetsvisning",
"add-alias": "Legg til alias for entitetsvisning",
"name-starts-with": "Navnuttrykk for entitetsvisning",
- "help-text": "Bruk '%' etter behov: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.",
+ "help-text": "Bruk '%' etter behov: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
"entity-view-list": "Liste over entitetsvisninger",
"use-entity-view-name-filter": "Bruk filter",
"entity-view-list-empty": "Ingen entitetsvisninger valgt.",
diff --git a/ui-ngx/src/assets/locale/locale.constant-pt_BR.json b/ui-ngx/src/assets/locale/locale.constant-pt_BR.json
index 91ffd72b2f..094b013595 100644
--- a/ui-ngx/src/assets/locale/locale.constant-pt_BR.json
+++ b/ui-ngx/src/assets/locale/locale.constant-pt_BR.json
@@ -2,19 +2,24 @@
"access": {
"unauthorized": "Não autorizado",
"unauthorized-access": "Acesso não autorizado",
- "unauthorized-access-text": "Para acessar este recurso, você precisa se inscrever!",
+ "unauthorized-access-text": "Você precisa fazer login para acessar este recurso!",
"access-forbidden": "Acesso proibido",
- "access-forbidden-text": "Você não tem direito de acesso a esta localização!
Se ainda deseja acessar esta localização, tente inscrever-se com um nome de usuário diferente.",
- "refresh-token-expired": "A sessão expirou",
- "refresh-token-failed": "Impossível atualizar a sessão",
+ "access-forbidden-text": "Você não tem permissão de acesso a este local!
Tente fazer login com outro usuário se ainda deseja obter acesso a este local.",
+ "refresh-token-expired": "Sessão expirada",
+ "refresh-token-failed": "Não foi possível atualizar a sessão",
"permission-denied": "Permissão negada",
"permission-denied-text": "Você não tem permissão para executar esta operação!"
},
+ "account": {
+ "account": "Conta",
+ "notification-settings": "Configurações de notificação"
+ },
"action": {
"activate": "Ativar",
"suspend": "Suspender",
"save": "Salvar",
"saveAs": "Salvar como",
+ "move": "Mover",
"cancel": "Cancelar",
"ok": "OK",
"delete": "Excluir",
@@ -23,22 +28,22 @@
"no": "Não",
"update": "Atualizar",
"remove": "Remover",
- "select": "Selecionar",
"search": "Pesquisar",
"clear-search": "Limpar pesquisa",
"assign": "Atribuir",
- "unassign": "Cancelar atribuição",
+ "unassign": "Desatribuir",
"share": "Compartilhar",
"make-private": "Tornar privado",
"apply": "Aplicar",
"apply-changes": "Aplicar alterações",
"edit-mode": "Modo de edição",
"enter-edit-mode": "Entrar no modo de edição",
- "decline-changes": "Rejeitar alterações",
+ "decline-changes": "Recusar alterações",
+ "decline": "Recusar",
"close": "Fechar",
"back": "Voltar",
"run": "Executar",
- "sign-in": "Inscreva-se!",
+ "sign-in": "Entrar!",
"edit": "Editar",
"view": "Visualizar",
"create": "Criar",
@@ -52,59 +57,138 @@
"import": "Importar",
"export": "Exportar",
"share-via": "Compartilhar via {{provider}}",
+ "select": "Selecionar",
"continue": "Continuar",
"discard-changes": "Descartar alterações",
- "download": "Download",
- "done": "Concluído"
+ "download": "Baixar",
+ "next": "Próximo",
+ "next-with-label": "Próximo: {{label}}",
+ "read-more": "Ler mais",
+ "hide": "Ocultar",
+ "test": "Testar",
+ "done": "Concluir",
+ "print": "Imprimir",
+ "restore": "Restaurar",
+ "confirm": "Confirmar",
+ "more": "Mais",
+ "less": "Menos",
+ "skip": "Ignorar",
+ "send": "Enviar",
+ "reset": "Redefinir",
+ "show-more": "Mostrar mais",
+ "dont-show-again": "Não mostrar novamente",
+ "see-documentation": "Ver documentação",
+ "see-debug-events": "Ver eventos de depuração",
+ "clear": "Limpar",
+ "upload": "Carregar",
+ "delete-anyway": "Excluir mesmo assim",
+ "delete-selected": "Excluir selecionados",
+ "set": "Definir"
},
"aggregation": {
"aggregation": "Agregação",
"function": "Função de agregação de dados",
- "limit": "Valores máx.",
+ "limit": "Máximo de valores",
"group-interval": "Intervalo de agrupamento",
- "min": "Mín.",
- "max": "Máx.",
+ "min": "Mín",
+ "max": "Máx",
"avg": "Média",
"sum": "Soma",
"count": "Contagem",
"none": "Nenhum"
},
"admin": {
+ "settings": "Configurações",
"general": "Geral",
- "general-settings": "Configuração geral",
- "outgoing-mail": "Servidor de e-mail",
- "outgoing-mail-settings": "Configuração do servidor de saída de e-mail",
- "system-settings": "Configuração do sistema",
- "test-mail-sent": "O e-mail de teste foi enviado corretamente!",
- "base-url": "URL de base",
- "base-url-required": "O URL de base é obrigatório.",
- "mail-from": "E-mail de",
- "mail-from-required": "'E-mail de' é obrigatório.",
+ "general-settings": "Configurações gerais",
+ "home-settings": "Configurações da página inicial",
+ "home": "Início",
+ "outgoing-mail": "Servidor de email",
+ "outgoing-mail-settings": "Configurações do servidor de email de saída",
+ "system-settings": "Configurações do sistema",
+ "test-mail-sent": "Email de teste enviado com sucesso!",
+ "base-url": "URL base",
+ "base-url-required": "URL base é obrigatória.",
+ "prohibit-different-url": "Proibir o uso de hostname dos cabeçalhos de requisição do cliente",
+ "prohibit-different-url-hint": "Esta configuração deve ser habilitada em ambientes de produção. Pode causar problemas de segurança quando desabilitada",
+ "device-connectivity": {
+ "device-connectivity": "Conectividade do dispositivo",
+ "http-s": "HTTP(s)",
+ "mqtt-s": "MQTT(s)",
+ "coap-s": "COAP(s)",
+ "http": "HTTP",
+ "https": "HTTPs",
+ "mqtt": "MQTT",
+ "mqtts": "MQTTs",
+ "coap": "COAP",
+ "coaps": "COAPs",
+ "hint": "Se os campos de host ou porta estiverem vazios, o valor padrão do protocolo será utilizado.",
+ "host": "Host",
+ "port": "Porta",
+ "port-pattern": "A porta deve ser um número inteiro positivo.",
+ "port-range": "A porta deve estar no intervalo de 1 a 65535."
+ },
+ "mail-from": "Remetente do email",
+ "mail-from-required": "Remetente do email é obrigatório.",
"smtp-protocol": "Protocolo SMTP",
"smtp-host": "Host SMTP",
- "smtp-host-required": "O host SMTP é obrigatório.",
+ "smtp-host-required": "Host SMTP é obrigatório.",
"smtp-port": "Porta SMTP",
- "smtp-port-required": "É necessário informar a porta SMPT.",
- "smtp-port-invalid": "Esta não parece ser uma porta SMTP válida.",
- "timeout-msec": "Tempo limite (ms)",
- "timeout-required": "O tempo limite é obrigatório.",
- "timeout-invalid": "Este não parece ser um tempo limite válido.",
- "enable-tls": "Habilitar TLS",
- "tls-version": "Versão de TLS",
- "enable-proxy": "Habilitar proxy",
- "proxy-host": "Host de proxy",
- "proxy-host-required": "O host de proxy é obrigatório.",
+ "smtp-port-required": "É necessário informar uma porta SMTP.",
+ "smtp-port-invalid": "Isso não parece uma porta SMTP válida.",
+ "timeout-msec": "Tempo limite (msec)",
+ "timeout-required": "Tempo limite é obrigatório.",
+ "timeout-invalid": "Isso não parece um tempo limite válido.",
+ "enable-tls": "Ativar TLS",
+ "tls-version": "Versão TLS",
+ "enable-proxy": "Ativar proxy",
+ "proxy-host": "Host do proxy",
+ "proxy-host-required": "Host do proxy é obrigatório.",
"proxy-port": "Porta do proxy",
- "proxy-port-required": "A porta do proxy é obrigatória.",
- "proxy-port-range": "A porta do proxy deve estar em um intervalo de 1 a 65535.",
+ "proxy-port-required": "Porta do proxy é obrigatória.",
+ "proxy-port-range": "A porta do proxy deve estar no intervalo de 1 a 65535.",
"proxy-user": "Usuário do proxy",
"proxy-password": "Senha do proxy",
- "send-test-mail": "Enviar e-mail de teste",
- "security-settings": "Configuração de segurança",
- "password-policy": "Política de senhas",
+ "change-password": "Alterar senha",
+ "send-test-mail": "Enviar email de teste",
+ "sms-provider": "Provedor de SMS",
+ "sms-provider-settings": "Configurações do provedor de SMS",
+ "sms-provider-type": "Tipo de provedor de SMS",
+ "sms-provider-type-required": "Tipo de provedor de SMS é obrigatório.",
+ "sms-provider-type-aws-sns": "Amazon SNS",
+ "sms-provider-type-twilio": "Twilio",
+ "sms-provider-type-smpp": "SMPP",
+ "aws-access-key-id": "AWS Access Key ID",
+ "aws-access-key-id-required": "AWS Access Key ID é obrigatório",
+ "aws-secret-access-key": "AWS Secret Access Key",
+ "aws-secret-access-key-required": "AWS Secret Access Key é obrigatório",
+ "aws-region": "Região AWS",
+ "aws-region-required": "Região AWS é obrigatória",
+ "number-from": "Número de telefone remetente",
+ "number-from-required": "Número de telefone remetente é obrigatório.",
+ "number-to": "Número de telefone destinatário",
+ "number-to-required": "Número de telefone destinatário é obrigatório.",
+ "phone-number-hint": "Número de telefone no formato E.164, ex.: +19995550123",
+ "phone-number-hint-twilio": "Número de telefone no formato E.164/SID do número de telefone/SID do serviço de mensagens, ex.: +19995550123/PNXXX/MGXXX",
+ "phone-number-pattern": "Número de telefone inválido. Deve estar no formato E.164, ex.: +19995550123.",
+ "phone-number-pattern-twilio": "Número de telefone inválido. Deve estar no formato E.164/SID do número de telefone/SID do serviço de mensagens, ex.: +19995550123/PNXXX/MGXXX.",
+ "sms-message": "Mensagem SMS",
+ "sms-message-required": "Mensagem SMS é obrigatória.",
+ "sms-message-max-length": "A mensagem SMS não pode ter mais de 1600 caracteres",
+ "twilio-account-sid": "Twilio Account SID",
+ "twilio-account-sid-required": "Twilio Account SID é obrigatório",
+ "twilio-account-token": "Twilio Account Token",
+ "twilio-account-token-required": "Twilio Account Token é obrigatório",
+ "send-test-sms": "Enviar SMS de teste",
+ "test-sms-sent": "SMS de teste enviado com sucesso!",
+ "security-settings": "Configurações de segurança",
+ "password-policy": "Política de senha",
"minimum-password-length": "Comprimento mínimo da senha",
- "minimum-password-length-required": "O comprimento mínimo da senha é obrigatório",
- "minimum-password-length-range": "O comprimento mínimo da senha deve estar em um intervalo de 5 a 50.",
+ "minimum-password-length-required": "Comprimento mínimo da senha é obrigatório",
+ "minimum-password-length-range": "O comprimento mínimo da senha deve estar no intervalo de 6 a 50",
+ "maximum-password-length": "Comprimento máximo da senha",
+ "maximum-password-length-min": "O comprimento máximo da senha deve ser de pelo menos 6",
+ "maximum-password-length-less-min": "O comprimento máximo da senha deve ser maior que o comprimento mínimo",
"minimum-uppercase-letters": "Número mínimo de letras maiúsculas",
"minimum-uppercase-letters-range": "O número mínimo de letras maiúsculas não pode ser negativo",
"minimum-lowercase-letters": "Número mínimo de letras minúsculas",
@@ -113,36 +197,385 @@
"minimum-digits-range": "O número mínimo de dígitos não pode ser negativo",
"minimum-special-characters": "Número mínimo de caracteres especiais",
"minimum-special-characters-range": "O número mínimo de caracteres especiais não pode ser negativo",
- "password-expiration-period-days": "Período de expiração de senha em dias",
- "password-expiration-period-days-range": "O período de expiração de senha não pode ser negativo",
+ "password-expiration-period-days": "Período de expiração da senha em dias",
+ "password-expiration-period-days-range": "O período de expiração da senha em dias não pode ser negativo",
"password-reuse-frequency-days": "Frequência de reutilização de senha em dias",
- "password-reuse-frequency-days-range": "A frequência em dias de reutilização da senha não pode ser negativa",
+ "password-reuse-frequency-days-range": "A frequência de reutilização de senha em dias não pode ser negativa",
+ "allow-whitespace": "Permitir espaço em branco",
+ "force-reset-password-if-no-valid": "Forçar redefinição de senha se não for válida",
+ "force-reset-password-if-no-valid-hint": "Tenha cuidado ao habilitar este recurso: ele exigirá que usuários com senha inválida redefinam sua senha por email.",
"general-policy": "Política geral",
- "max-failed-login-attempts": "Número máximo de tentativas de login com falha antes de bloquear a conta",
- "minimum-max-failed-login-attempts-range": "O número máximo de tentativas de login com falha não pode ser negativo",
- "user-lockout-notification-email": "Em caso de bloqueio de conta do usuário, enviar notificação para o endereço de e-mail"
+ "max-failed-login-attempts": "Número máximo de tentativas de login falhas antes de bloquear a conta",
+ "minimum-max-failed-login-attempts-range": "O número máximo de tentativas de login falhas não pode ser negativo",
+ "user-lockout-notification-email": "Em caso de bloqueio de conta do usuário, enviar notificação por email",
+ "user-activation-token-ttl": "TTL do link de ativação do usuário em horas",
+ "user-activation-token-ttl-range": "O TTL do link de ativação do usuário deve estar no intervalo de 1 a 24 horas",
+ "password-reset-token-ttl": "TTL do link de redefinição de senha em horas",
+ "password-reset-token-ttl-range": "O TTL do link de redefinição de senha deve estar no intervalo de 1 a 24 horas",
+ "mobile-secret-key-length": "Comprimento da chave secreta do aplicativo móvel",
+ "mobile-secret-key-length-range": "O comprimento da chave secreta do aplicativo móvel deve ser positivo",
+ "domain-name": "Nome de domínio",
+ "domain-name-unique": "O nome de domínio e o protocolo precisam ser únicos.",
+ "domain-name-max-length": "O nome de domínio deve ter menos de 256 caracteres",
+ "error-verification-url": "O nome de domínio não deve conter os símbolos '/' e ':'. Exemplo: thingsboard.io",
+ "connection-settings": "Configurações de conexão",
+ "oauth2": {
+ "access-token-uri": "Access token URI",
+ "access-token-uri-required": "Access token URI é obrigatório.",
+ "activate-user": "Ativar usuário",
+ "add-domain": "Adicionar domínio",
+ "delete-domain": "Excluir domínio",
+ "add-provider": "Adicionar provedor",
+ "delete-provider": "Excluir provedor",
+ "allow-user-creation": "Permitir criação de usuário",
+ "always-fullscreen": "Sempre em tela cheia",
+ "authorization-uri": "Authorization URI",
+ "authorization-uri-required": "Authorization URI é obrigatório.",
+ "add-client": "Adicionar cliente OAuth 2.0",
+ "client-details": "Detalhes do cliente OAuth 2.0",
+ "client": "Cliente OAuth 2.0",
+ "clients": "Clientes OAuth 2.0",
+ "no-oauth2-clients": "Nenhum cliente OAuth 2.0 encontrado",
+ "search-oauth2-clients": "Pesquisar clientes OAuth 2.0",
+ "delete-client-title": "Tem certeza de que deseja excluir o cliente OAuth 2.0 '{{clientName}}'?",
+ "delete-client-text": "Atenção: após a confirmação, o cliente e todos os dados relacionados serão irrecuperáveis.",
+ "delete-mobile-app-title": "Tem certeza de que deseja excluir o aplicativo móvel '{{applicationName}}'?",
+ "delete-mobile-app-text": "Atenção: após a confirmação, o aplicativo móvel e todos os dados relacionados serão irrecuperáveis.",
+ "title": "Título",
+ "client-title-required": "Título é obrigatório",
+ "client-title-max-length": "O título deve ter menos de 100 caracteres",
+ "advanced-settings": "Configurações avançadas",
+ "domain-details": "Detalhes do domínio",
+ "no-domains": "Nenhum domínio encontrado",
+ "search-domains": "Pesquisar domínios",
+ "mobile-app-details": "Detalhes do aplicativo móvel",
+ "add-mobile-app": "Adicionar aplicativo móvel",
+ "no-mobile-apps": "Nenhum aplicativo móvel encontrado",
+ "search-mobile-apps": "Pesquisar aplicativos móveis",
+ "send-token": "Enviar token",
+ "create-new": "Criar novo",
+ "client-authentication-method": "Método de autenticação do cliente",
+ "client-id": "Client ID",
+ "client-id-required": "Client ID é obrigatório.",
+ "client-id-max-length": "O Client ID deve ter menos de 256 caracteres",
+ "client-secret": "Client secret",
+ "client-secret-required": "Client secret é obrigatório.",
+ "client-secret-max-length": "O Client secret deve ter menos de 2049 caracteres",
+ "custom-setting": "Configurações personalizadas",
+ "customer-name-pattern": "Padrão de nome do cliente",
+ "customer-name-pattern-max-length": "O padrão de nome do cliente deve ter menos de 256 caracteres",
+ "default-dashboard-name": "Nome do Dashboard padrão",
+ "default-dashboard-name-max-length": "O nome do Dashboard padrão deve ter menos de 256 caracteres",
+ "delete-domain-text": "Atenção: após a confirmação, o domínio e todos os dados do provedor ficarão indisponíveis.",
+ "delete-domain-title": "Tem certeza de que deseja excluir o domínio '{{domainName}}'?",
+ "delete-registration-text": "Atenção: após a confirmação, os dados do provedor ficarão indisponíveis.",
+ "delete-registration-title": "Tem certeza de que deseja excluir o provedor '{{name}}'?",
+ "email-attribute-key": "Chave de atributo de email",
+ "email-attribute-key-required": "Chave de atributo de email é obrigatória.",
+ "email-attribute-key-max-length": "A chave de atributo de email deve ter menos de 32 caracteres",
+ "first-name-attribute-key": "Chave de atributo de nome",
+ "first-name-attribute-key-max-length": "A chave de atributo de nome deve ter menos de 32 caracteres",
+ "general": "Geral",
+ "jwk-set-uri": "JSON Web Key URI",
+ "last-name-attribute-key": "Chave de atributo de sobrenome",
+ "last-name-attribute-key-max-length": "A chave de atributo de sobrenome deve ter menos de 32 caracteres",
+ "login-button-icon": "Ícone do botão de login",
+ "login-button-label": "Rótulo do provedor",
+ "login-button-label-placeholder": "Login with $(Provider label)",
+ "login-button-label-required": "Rótulo é obrigatório.",
+ "login-provider": "Provedor de login",
+ "mapper": "Mapeador",
+ "new-domain": "Novo domínio",
+ "oauth2": "OAuth 2.0",
+ "password-max-length": "A senha deve ter menos de 256 caracteres",
+ "redirect-uri-template": "Redirect URI template",
+ "copy-redirect-uri": "Copiar Redirect URI",
+ "registration-id": "ID de registro",
+ "registration-id-required": "ID de registro é obrigatório.",
+ "registration-id-unique": "O ID de registro precisa ser único no sistema.",
+ "scope": "Scope",
+ "scope-required": "Scope é obrigatório.",
+ "tenant-name-pattern": "Padrão de nome do tenant",
+ "tenant-name-pattern-required": "Padrão de nome do tenant é obrigatório.",
+ "tenant-name-pattern-max-length": "O padrão de nome do tenant deve ter menos de 256 caracteres",
+ "tenant-name-strategy": "Estratégia de nome do tenant",
+ "type": "Tipo de mapeador",
+ "uri-pattern-error": "Formato de URI inválido.",
+ "url": "URL",
+ "url-pattern": "Formato de URL inválido.",
+ "url-required": "URL é obrigatória.",
+ "url-max-length": "A URL deve ter menos de 256 caracteres",
+ "user-info-uri": "URI de informações do usuário",
+ "user-info-uri-required": "URI de informações do usuário é obrigatório.",
+ "username-max-length": "O nome de usuário deve ter menos de 256 caracteres",
+ "user-name-attribute-name": "Chave de atributo do nome de usuário",
+ "user-name-attribute-name-required": "Chave de atributo do nome de usuário é obrigatória",
+ "protocol": "Protocolo",
+ "domain-schema-http": "HTTP",
+ "domain-schema-https": "HTTPS",
+ "domain-schema-mixed": "HTTP+HTTPS",
+ "enable": "Ativar configurações OAuth 2.0",
+ "disable": "Desativar configurações OAuth 2.0",
+ "edge": "Propagar para Edge",
+ "edge-enable": "Ativar propagação para Edge",
+ "edge-disable": "Desativar propagação para Edge",
+ "domains": "Domínios",
+ "mobile-apps": "Aplicativos móveis",
+ "mobile-package": "Pacote do aplicativo",
+ "mobile-package-placeholder": "Ex.: my.example.app",
+ "mobile-package-hint": "Para Android: seu ID de aplicativo único. Para iOS: identificador do bundle do produto.",
+ "mobile-package-unique": "O pacote do aplicativo deve ser único.",
+ "mobile-package-required": "Pacote do aplicativo é obrigatório.",
+ "mobile-package-max-length": "O pacote do aplicativo deve ter menos de 256 caracteres",
+ "mobile-package-spaces": "O pacote do aplicativo não deve conter espaços",
+ "mobile-app-secret": "Application secret",
+ "mobile-app-secret-hint": "String codificada em Base64 representando pelo menos 512 bits de dados.",
+ "mobile-app-secret-required": "Application secret é obrigatório.",
+ "mobile-app-secret-min-length": "Application secret deve conter pelo menos 512 bits de dados.",
+ "mobile-app-secret-base64": "Application secret deve estar no formato base64.",
+ "invalid-mobile-app-secret": "Application secret deve conter apenas caracteres alfanuméricos e ter entre 16 e 2048 caracteres.",
+ "copy-mobile-app-secret": "Copiar application secret",
+ "delete-mobile-app": "Excluir informações do aplicativo",
+ "providers": "Provedores",
+ "platform-web": "Web",
+ "platform-android": "Android",
+ "platform-ios": "iOS",
+ "all-platforms": "Todas as plataformas",
+ "smtp-provider": "Provedor SMTP",
+ "allowed-platforms": "Plataformas permitidas",
+ "authentication": "Autenticação",
+ "basic": "Básico",
+ "provider": "Provedor",
+ "redirect-url": "Redirect URI",
+ "domain-name": "Nome de domínio",
+ "domain-name-required": "Nome de domínio é obrigatório",
+ "redirect-url-template": "Redirect URI template",
+ "microsoft-tenant-id": "ID do diretório (tenant)",
+ "microsoft-tenant-id-required": "ID do diretório (tenant) é obrigatório",
+ "token-uri": "Token URI",
+ "token-uri-required": "Token URI é obrigatório",
+ "redirect-uri": "Redirect URI",
+ "google-provider": "Google",
+ "microsoft-provider": "Office 365",
+ "sendgrid-provider": "Sendgrid",
+ "custom-provider": "Personalizado",
+ "generate-access-token": "Gerar access token",
+ "update-access-token": "Atualizar access token",
+ "access-token-status": "Status do access token:",
+ "token-status-generated": "gerado",
+ "token-status-not-generated": "não gerado"
+ },
+ "smpp-provider": {
+ "smpp-version": "Versão SMPP",
+ "smpp-host": "Host SMPP",
+ "smpp-host-required": "Host SMPP é obrigatório",
+ "smpp-port": "Porta SMPP",
+ "smpp-port-required": "Porta SMPP é obrigatória",
+ "system-id": "ID do sistema",
+ "system-id-required": "ID do sistema é obrigatório",
+ "password": "Senha",
+ "password-required": "Senha é obrigatória",
+ "type-settings": "Configurações de tipo",
+ "source-settings": "Configurações de origem",
+ "destination-settings": "Configurações de destino",
+ "additional-settings": "Configurações adicionais",
+ "system-type": "Tipo de sistema",
+ "bind-type": "Tipo de bind",
+ "service-type": "Tipo de serviço",
+ "source-address": "Endereço de origem",
+ "source-ton": "TON de origem",
+ "source-npi": "NPI de origem",
+ "destination-ton": "TON de destino (Type of Number)",
+ "destination-npi": "NPI de destino (Numbering Plan Identification)",
+ "address-range": "Intervalo de endereços",
+ "coding-scheme": "Esquema de codificação",
+ "bind-type-tx": "Transmissor",
+ "bind-type-rx": "Receptor",
+ "bind-type-trx": "Transceptor",
+ "ton-unknown": "Desconhecido",
+ "ton-international": "Internacional",
+ "ton-national": "Nacional",
+ "ton-network-specific": "Específico de rede",
+ "ton-subscriber-number": "Número do assinante",
+ "ton-alphanumeric": "Alfanumérico",
+ "ton-abbreviated": "Abreviado",
+ "npi-unknown": "0 - Desconhecido",
+ "npi-isdn": "1 - Plano de numeração ISDN/telefônico (E163/E164)",
+ "npi-data-numbering-plan": "3 - Plano de numeração de dados (X.121)",
+ "npi-telex-numbering-plan": "4 - Plano de numeração de telex (F.69)",
+ "npi-land-mobile": "6 - Móvel terrestre (E.212)",
+ "npi-national-numbering-plan": "8 - Plano de numeração nacional",
+ "npi-private-numbering-plan": "9 - Plano de numeração privado",
+ "npi-ermes-numbering-plan": "10 - Plano de numeração ERMES (ETSI DE/PS 3 01-3)",
+ "npi-internet": "13 - Internet (IP)",
+ "npi-wap-client-id": "18 - WAP Client Id (a ser definido pelo WAP Forum)",
+ "scheme-smsc": "0 - Alfabeto padrão SMSC (ASCII para código curto e longo e GSM para tarifa gratuita)",
+ "scheme-ia5": "1 - IA5 (ASCII para código curto e longo, Latin 9 para tarifa gratuita (ISO-8859-9))",
+ "scheme-octet-unspecified-2": "2 - Octet não especificado (binário de 8 bits)",
+ "scheme-latin-1": "3 - Latin 1 (ISO-8859-1)",
+ "scheme-octet-unspecified-4": "4 - Octet não especificado (binário de 8 bits)",
+ "scheme-jis": "5 - JIS (X 0208-1990)",
+ "scheme-cyrillic": "6 - Cirílico (ISO-8859-5)",
+ "scheme-latin-hebrew": "7 - Latino/Hebraico (ISO-8859-8)",
+ "scheme-ucs-utf": "8 - UCS2/UTF-16 (ISO/IEC-10646)",
+ "scheme-pictogram-encoding": "9 - Codificação pictográfica",
+ "scheme-music-codes": "10 - Códigos musicais (ISO-2022-JP)",
+ "scheme-extended-kanji-jis": "13 - Kanji JIS estendido (X 0212-1990)",
+ "scheme-korean-graphic-character-set": "14 - Conjunto de caracteres gráficos coreanos (KS C 5601/KS X 1001)"
+ },
+ "queue-select-name": "Selecionar nome da fila",
+ "queue-name": "Nome",
+ "queue-name-required": "Nome da fila é obrigatório!",
+ "queues": "Filas",
+ "queue-partitions": "Partições",
+ "queue-submit-strategy": "Estratégia de envio",
+ "queue-processing-strategy": "Estratégia de processamento",
+ "queue-configuration": "Configuração da fila",
+ "repository-settings": "Configurações do repositório",
+ "repository": "Repositório",
+ "repository-url": "URL do repositório",
+ "repository-url-required": "URL do repositório é obrigatória.",
+ "default-branch": "Nome do branch padrão",
+ "repository-read-only": "Somente leitura",
+ "show-merge-commits": "Mostrar commits de merge",
+ "authentication-settings": "Configurações de autenticação",
+ "auth-method": "Método de autenticação",
+ "auth-method-username-password": "Senha / token de acesso",
+ "auth-method-username-password-hint": "Usuários do GitHub devem usar tokens de acesso com permissões de gravação no repositório.",
+ "auth-method-private-key": "Chave privada",
+ "password-access-token": "Senha / token de acesso",
+ "change-password-access-token": "Alterar senha / token de acesso",
+ "private-key": "Chave privada",
+ "drop-private-key-file-or": "Arraste e solte um arquivo de chave privada ou",
+ "passphrase": "Frase secreta",
+ "enter-passphrase": "Inserir frase secreta",
+ "change-passphrase": "Alterar frase secreta",
+ "check-access": "Verificar acesso",
+ "check-repository-access-success": "Acesso ao repositório verificado com sucesso!",
+ "delete-repository-settings-title": "Tem certeza de que deseja excluir as configurações do repositório?",
+ "delete-repository-settings-text": "Atenção: após a confirmação, as configurações do repositório serão removidas e o recurso de controle de versão ficará indisponível.",
+ "auto-commit-settings": "Configurações de auto-commit",
+ "auto-commit": "Auto-commit",
+ "auto-commit-entities": "Entidades com auto-commit",
+ "no-auto-commit-entities-prompt": "Nenhuma entidade configurada para auto-commit",
+ "delete-auto-commit-settings-title": "Tem certeza de que deseja excluir as configurações de auto-commit?",
+ "delete-auto-commit-settings-text": "Atenção: após a confirmação, as configurações de auto-commit serão removidas e o auto-commit ficará desativado para todas as entidades.",
+ "mobile-app": {
+ "mobile-app": "Aplicativo móvel",
+ "mobile-app-qr-code-widget-settings": "Configurações do widget de QR code do aplicativo móvel",
+ "applications": "Aplicativos",
+ "default": "Padrão",
+ "custom": "Personalizado",
+ "android": "Android",
+ "ios": "iOS",
+ "appearance": "Aparência",
+ "appearance-on-home-page": "Aparência na página inicial",
+ "enabled": "Habilitado",
+ "disabled": "Desabilitado",
+ "badges": "Selos",
+ "label": "Rótulo",
+ "label-required": "Rótulo é obrigatório",
+ "label-max-length": "O rótulo deve ter no máximo 50 caracteres",
+ "right": "Direita",
+ "left": "Esquerda",
+ "set": "Definir",
+ "preview": "Pré-visualização",
+ "connect-mobile-app": "Conectar aplicativo móvel",
+ "use-system-settings": "Usar configurações do sistema"
+ },
+ "2fa": {
+ "2fa": "Autenticação de dois fatores",
+ "available-providers": "Provedores disponíveis",
+ "available-providers-required": "Pelo menos um provedor 2FA deve ser configurado.",
+ "issuer-name": "Nome do emissor",
+ "issuer-name-required": "Nome do emissor é obrigatório.",
+ "max-verification-failures-before-user-lockout": "Máximo de falhas de verificação antes do bloqueio do usuário",
+ "max-verification-failures-before-user-lockout-pattern": "O máximo de falhas de verificação deve ser um número inteiro positivo.",
+ "number-of-checking-attempts": "Número de tentativas de verificação",
+ "number-of-checking-attempts-pattern": "O número de tentativas de verificação deve ser um número inteiro positivo.",
+ "number-of-checking-attempts-required": "Número de tentativas de verificação é obrigatório.",
+ "number-of-codes": "Número de códigos",
+ "number-of-codes-pattern": "O número de códigos deve ser um número inteiro positivo.",
+ "number-of-codes-required": "Número de códigos é obrigatório.",
+ "provider": "Provedor",
+ "retry-verification-code-period": "Período de reenvio do código de verificação",
+ "retry-verification-code-period-pattern": "O período mínimo é de 5 seg",
+ "retry-verification-code-period-required": "Período de reenvio do código de verificação é obrigatório.",
+ "total-allowed-time-for-verification": "Tempo total permitido para verificação",
+ "total-allowed-time-for-verification-pattern": "O tempo total mínimo permitido é de 60 seg",
+ "total-allowed-time-for-verification-required": "Tempo total permitido é obrigatório.",
+ "use-system-two-factor-auth-settings": "Usar configurações de autenticação de dois fatores do sistema",
+ "verification-code-check-rate-limit": "Limite de taxa de verificação do código",
+ "verification-code-lifetime": "Tempo de vida do código de verificação",
+ "verification-code-lifetime-pattern": "O tempo de vida do código de verificação deve ser um número inteiro positivo.",
+ "verification-code-lifetime-required": "Tempo de vida do código de verificação é obrigatório.",
+ "verification-message-template": "Modelo de mensagem de verificação",
+ "verification-limitations": "Limitações de verificação",
+ "verification-message-template-pattern": "A mensagem de verificação precisa conter o padrão: ${code}",
+ "verification-message-template-required": "Modelo de mensagem de verificação é obrigatório.",
+ "within-time": "Dentro do tempo",
+ "within-time-pattern": "O tempo deve ser um número inteiro positivo.",
+ "within-time-required": "Tempo é obrigatório.",
+ "force-2fa": "Impor autenticação de dois fatores",
+ "enforce-for": "Impor para"
+ },
+ "jwt": {
+ "security-settings": "Configurações de segurança JWT",
+ "issuer-name": "Nome do emissor",
+ "issuer-name-required": "Nome do emissor é obrigatório.",
+ "signings-key": "Chave de assinatura",
+ "signings-key-hint": "String codificada em Base64 representando pelo menos 512 bits de dados.",
+ "signings-key-required": "Chave de assinatura é obrigatória.",
+ "signings-key-min-length": "A chave de assinatura deve conter pelo menos 512 bits de dados.",
+ "signings-key-base64": "A chave de assinatura deve estar no formato base64.",
+ "expiration-time": "Tempo de expiração do token (seg)",
+ "expiration-time-required": "Tempo de expiração do token é obrigatório.",
+ "expiration-time-max": "O tempo máximo permitido é de 2147483647 segundos (68 anos).",
+ "expiration-time-min": "O tempo mínimo é de 60 segundos (1 minuto).",
+ "refresh-expiration-time": "Tempo de expiração do token de atualização (seg)",
+ "refresh-expiration-time-required": "Tempo de expiração do token de atualização é obrigatório.",
+ "refresh-expiration-time-max": "O tempo máximo permitido é de 2147483647 segundos (68 anos).",
+ "refresh-expiration-time-min": "O tempo mínimo é de 900 segundos (15 minutos).",
+ "refresh-expiration-time-less-token": "O tempo do token de atualização deve ser maior que o tempo do token.",
+ "generate-key": "Gerar chave",
+ "info-header": "Todos os usuários precisarão fazer login novamente",
+ "info-message": "A alteração da chave de assinatura JWT fará com que todos os tokens emitidos se tornem inválidos. Todos os usuários precisarão fazer login novamente. Isso também afetará scripts que utilizam a API REST/Websockets."
+ },
+ "resources": "Recursos",
+ "notifications": "Notificações",
+ "notifications-settings": "Configurações de notificações",
+ "slack-api-token": "Token de API do Slack",
+ "slack": "Slack",
+ "slack-settings": "Configurações do Slack",
+ "mobile-settings": "Configurações móveis",
+ "firebase-service-account-file": "Arquivo JSON de credenciais da conta de serviço do Firebase",
+ "select-firebase-service-account-file": "Arraste e solte o arquivo de credenciais da conta de serviço do Firebase ou "
},
"alarm": {
"alarm": "Alarme",
+ "alarm-list": "Lista de alarmes",
"alarms": "Alarmes",
+ "all-alarms": "Todos os alarmes",
"select-alarm": "Selecionar alarme",
- "no-alarms-matching": "Nenhum alarme encontrado que coincida com '{{entity}}'.",
- "alarm-required": "O alarme é obrigatório",
+ "no-alarms-matching": "Nenhum alarme correspondente a '{{entity}}' foi encontrado.",
+ "alarm-required": "Alarme é obrigatório",
+ "alarm-filter": "Filtro de alarme",
+ "filter": "Filtro",
"alarm-status": "Status do alarme",
- "alarm-status-list": "Lista de status de alarmes",
+ "alarm-status-list": "Lista de status de alarme",
"any-status": "Qualquer status",
"search-status": {
"ANY": "Qualquer",
"ACTIVE": "Ativo",
"CLEARED": "Limpo",
- "ACK": "Confirmado",
- "UNACK": "Não confirmado"
+ "ACK": "Reconhecido",
+ "UNACK": "Não reconhecido"
},
"display-status": {
- "ACTIVE_UNACK": "Não confirmado ativo",
- "ACTIVE_ACK": "Confirmado ativo",
- "CLEARED_UNACK": "Não confirmado limpo",
- "CLEARED_ACK": "Confirmado limpo"
+ "ACTIVE_UNACK": "Ativo não reconhecido",
+ "ACTIVE_ACK": "Ativo reconhecido",
+ "CLEARED_UNACK": "Limpo não reconhecido",
+ "CLEARED_ACK": "Limpo reconhecido"
},
"no-alarms-prompt": "Nenhum alarme encontrado",
"created-time": "Hora de criação",
@@ -151,46 +584,102 @@
"originator": "Originador",
"originator-type": "Tipo de originador",
"details": "Detalhes",
+ "originator-label": "Rótulo do originador",
+ "assign": "Atribuir",
+ "assignments": "Atribuições",
+ "assignee": "Responsável",
+ "assignee-id": "Id do responsável",
+ "assignee-first-name": "Nome do responsável",
+ "assignee-last-name": "Sobrenome do responsável",
+ "assignee-email": "Email do responsável",
+ "unassigned": "Não atribuído",
+ "user-deleted": "Usuário excluído",
+ "assignee-not-set": "Todos",
"status": "Status",
"alarm-details": "Detalhes do alarme",
"start-time": "Hora de início",
+ "assign-time": "Hora de atribuição",
"end-time": "Hora de término",
- "ack-time": "Horário de confirmação",
- "clear-time": "Horário de limpeza",
- "alarm-severity-list": "Lista de severidade de alarmes",
+ "ack-time": "Hora de reconhecimento",
+ "clear-time": "Hora de limpeza",
+ "duration": "Duração",
+ "alarm-severity": "Severidade do alarme",
+ "alarm-severity-list": "Lista de severidades de alarme",
"any-severity": "Qualquer severidade",
- "severity-critical": "Crítica",
- "severity-major": "Principal",
+ "severity-critical": "Crítico",
+ "severity-major": "Maior",
"severity-minor": "Menor",
"severity-warning": "Aviso",
"severity-indeterminate": "Indeterminado",
- "acknowledge": "Confirmar",
+ "acknowledge": "Reconhecer",
"clear": "Limpar",
+ "delete": "Excluir",
"search": "Pesquisar alarmes",
- "selected-alarms": "{ count, plural, =1 {1 alarm} other {# alarms} } selecionado(s)",
- "no-data": "Nenhum dado para exibição",
- "polling-interval": "Intervalo seletivo de alarmes (s)",
- "polling-interval-required": "O intervalo de chamada seletiva de alarmes é obrigatório.",
- "min-polling-interval-message": "É permitido no mínimo 1 segundo de intervalo de chamada seletiva.",
- "aknowledge-alarms-title": "Confirmar { count, plural, =1 {1 alarm} other {# alarms} }",
- "aknowledge-alarms-text": "Tem certeza de que deseja confirmar { count, plural, =1 {1 alarm} other {# alarms} }?",
- "aknowledge-alarm-title": "Confirmar alarme",
- "aknowledge-alarm-text": "Tem certeza de que deseja confirmar o alarme?",
- "clear-alarms-title": "Limpar { count, plural, =1 {1 alarm} other {# alarms} }",
- "clear-alarms-text": "Tem certeza de que deseja limpar { count, plural, =1 {1 alarm} other {# alarms} }?",
+ "selected-alarms": "{ count, plural, =1 {1 alarme} other {# alarmes} } selecionado(s)",
+ "no-data": "Sem dados para exibir",
+ "polling-interval": "Intervalo de consulta de alarmes (seg)",
+ "polling-interval-required": "O intervalo de consulta de alarmes é obrigatório.",
+ "min-polling-interval-message": "É permitido no mínimo 1 seg de intervalo de consulta.",
+ "aknowledge-alarms-title": "Reconhecer { count, plural, =1 {1 alarme} other {# alarmes} }",
+ "aknowledge-alarms-text": "Tem certeza de que deseja reconhecer { count, plural, =1 {1 alarme} other {# alarmes} }?",
+ "aknowledge-alarm-title": "Reconhecer alarme",
+ "aknowledge-alarm-text": "Tem certeza de que deseja reconhecer o alarme?",
+ "selected-alarms-are-acknowledged": "Os alarmes selecionados já estão reconhecidos",
+ "clear-alarms-title": "Limpar { count, plural, =1 {1 alarme} other {# alarmes} }",
+ "clear-alarms-text": "Tem certeza de que deseja limpar { count, plural, =1 {1 alarme} other {# alarmes} }?",
"clear-alarm-title": "Limpar alarme",
- "clear-alarm-text": "Tem certeza de que deseja limpar alarme?",
- "alarm-status-filter": "Filtro de status de alarmes",
- "alarm-filter": "Filtro de alarmes",
- "max-count-load": "Número máximo de alarmes a serem carregados (0 - ilimitado)",
- "max-count-load-required": "O número máximo de alarmes é obrigatório.",
+ "clear-alarm-text": "Tem certeza de que deseja limpar o alarme?",
+ "delete-alarms-title": "Excluir { count, plural, =1 {1 alarme} other {# alarmes} }",
+ "delete-alarms-text": "Tem certeza de que deseja excluir { count, plural, =1 {1 alarme} other {# alarmes} }?",
+ "selected-alarms-are-cleared": "Os alarmes selecionados já estão limpos",
+ "alarm-status-filter": "Filtro de status de alarme",
+ "alarm-filter-title": "Filtro de alarme",
+ "assigned": "Atribuído",
+ "filter-title": "Filtro",
+ "max-count-load": "Número máximo de alarmes a carregar (0 - ilimitado)",
+ "max-count-load-required": "O número máximo de alarmes a carregar é obrigatório.",
"max-count-load-error-min": "O valor mínimo é 0.",
- "fetch-size": "Tamanho da busca",
- "fetch-size-required": "O tamanho da busca é obrigatório.",
+ "fetch-size": "Tamanho de busca",
+ "fetch-size-required": "O tamanho de busca é obrigatório.",
"fetch-size-error-min": "O valor mínimo é 10.",
- "alarm-type-list": "Lista de tipos de alarmes",
+ "alarm-types": "Tipos de alarme",
+ "alarm-type-list": "Lista de tipos de alarme",
"any-type": "Qualquer tipo",
- "search-propagated-alarms": "Pesquisar alarmes propagados"
+ "assigned-to-current-user": "Atribuído ao usuário atual",
+ "assigned-to-me": "Atribuído a mim",
+ "search-propagated-alarms": "Pesquisar alarmes propagados",
+ "comments": "Comentários de alarme",
+ "show-more": "Mostrar mais",
+ "additional-info": "Informações adicionais",
+ "alarm-type": "Tipo de alarme",
+ "enter-alarm-type": "Inserir tipo de alarme",
+ "no-alarm-types-matching": "Nenhum tipo de alarme correspondente a '{{entitySubtype}}' foi encontrado.",
+ "alarm-type-list-empty": "Nenhum tipo de alarme selecionado.",
+ "system-comments": {
+ "acked-by-user": "O alarme foi reconhecido pelo usuário {{userName}}",
+ "cleared-by-user": "O alarme foi limpo pelo usuário {{userName}}",
+ "assigned-to-user": "O alarme foi atribuído pelo usuário {{userName}} ao usuário {{assigneeName}}",
+ "unassigned-to-user": "O alarme foi desatribuído pelo usuário {{userName}}",
+ "unassigned-from-deleted-user": "O alarme foi desatribuído porque o usuário {{userName}} - foi excluído",
+ "comment-deleted": "O usuário {{userName}} excluiu seu comentário",
+ "severity-changed": "A severidade do alarme foi atualizada de {{oldSeverity}} para {{newSeverity}}"
+ }
+ },
+ "alarm-activity": {
+ "add": "Adicionar um comentário...",
+ "alarm-comment": "Comentário de alarme",
+ "comments": "Comentários",
+ "delete-alarm-comment": "Deseja excluir este comentário?",
+ "refresh": "Atualizar",
+ "oldest-first": "Mais antigos primeiro",
+ "newest-first": "Mais recentes primeiro",
+ "activity": "Atividade",
+ "export": "Exportar para CSV",
+ "author": "Autor",
+ "created-date": "Data de criação",
+ "edited-date": "Data de edição",
+ "text": "Texto",
+ "system": "Sistema"
},
"alias": {
"add": "Adicionar alias",
@@ -198,43 +687,52 @@
"name": "Nome do alias",
"name-required": "O nome do alias é obrigatório",
"duplicate-alias": "Já existe um alias com o mesmo nome.",
- "filter-type-single-entity": "Entidade individual",
+ "filter-type-single-entity": "Entidade única",
"filter-type-entity-list": "Lista de entidades",
"filter-type-entity-name": "Nome da entidade",
+ "filter-type-entity-type": "Tipo de entidade",
"filter-type-state-entity": "Entidade do estado do dashboard",
"filter-type-state-entity-description": "Entidade obtida dos parâmetros de estado do dashboard",
"filter-type-asset-type": "Tipo de ativo",
"filter-type-asset-type-description": "Ativos do tipo '{{assetTypes}}'",
- "filter-type-asset-type-and-name-description": "Ativos do tipo '{{assetTypes}}' cujo nome começa com '{{prefix}}'",
+ "filter-type-asset-type-and-name-description": "Ativos do tipo '{{assetTypes}}' e com nome começando com '{{prefix}}'",
"filter-type-device-type": "Tipo de dispositivo",
"filter-type-device-type-description": "Dispositivos do tipo '{{deviceTypes}}'",
- "filter-type-device-type-and-name-description": "Dispositivos do tipo '{{deviceTypes}}' cujo nome começa com '{{prefix}}'",
- "filter-type-entity-view-type": "Tipo de exibições de entidades",
- "filter-type-entity-view-type-description": "Exibições de entidades do tipo '{{entityViewTypes}}'",
- "filter-type-entity-view-type-and-name-description": "Exibições de entidades do tipo '{{entityViewTypes}}' cujo nome começa com '{{prefix}}'",
+ "filter-type-device-type-and-name-description": "Dispositivos do tipo '{{deviceTypes}}' e com nome começando com '{{prefix}}'",
+ "filter-type-entity-view-type": "Tipo de visualização de entidade",
+ "filter-type-entity-view-type-description": "Visualizações de entidade do tipo '{{entityViewTypes}}'",
+ "filter-type-entity-view-type-and-name-description": "Visualizações de entidade do tipo '{{entityViewTypes}}' e com nome começando com '{{prefix}}'",
+ "filter-type-edge-type": "Tipo de edge",
+ "filter-type-edge-type-description": "Edges do tipo '{{edgeTypes}}'",
+ "filter-type-edge-type-and-name-description": "Edges do tipo '{{edgeTypes}}' e com nome começando com '{{prefix}}'",
"filter-type-relations-query": "Consulta de relações",
- "filter-type-relations-query-description": "{{entities}} que tem relação de {{relationType}} {{direction}} {{rootEntity}}",
+ "filter-type-relations-query-description": "{{entities}} que têm relação {{relationType}} {{direction}} {{rootEntity}}",
+ "filter-type-edge-search-query": "Consulta de pesquisa de edge",
+ "filter-type-edge-search-query-description": "Edges com tipos {{edgeTypes}} que têm relação {{relationType}} {{direction}} {{rootEntity}}",
"filter-type-asset-search-query": "Consulta de pesquisa de ativo",
- "filter-type-asset-search-query-description": "Ativos dos tipos {{assetTypes}} que têm relação de {{relationType}} {{direction}} {{rootEntity}}",
+ "filter-type-asset-search-query-description": "Ativos com tipos {{assetTypes}} que têm relação {{relationType}} {{direction}} {{rootEntity}}",
"filter-type-device-search-query": "Consulta de pesquisa de dispositivo",
- "filter-type-device-search-query-description": "Dispositivos dos tipos {{deviceTypes}} que têm relação de {{relationType}} {{direction}} {{rootEntity}}",
- "filter-type-entity-view-search-query": "Consulta de pesquisa de exibição de entidade",
- "filter-type-entity-view-search-query-description": "Exibições de entidades dos tipos {{entityViewTypes}} que têm relação de {{relationType}} {{direction}} {{rootEntity}}",
- "entity-filter": "Filtro de entidades",
- "resolve-multiple": "Resolver como entidades múltiplas",
+ "filter-type-device-search-query-description": "Dispositivos com tipos {{deviceTypes}} que têm relação {{relationType}} {{direction}} {{rootEntity}}",
+ "filter-type-entity-view-search-query": "Consulta de pesquisa de visualização de entidade",
+ "filter-type-entity-view-search-query-description": "Visualizações de entidade com tipos {{entityViewTypes}} que têm relação {{relationType}} {{direction}} {{rootEntity}}",
+ "filter-type-apiUsageState": "Estado de uso de API",
+ "entity-filter": "Filtro de entidade",
+ "resolve-multiple": "Resolver como múltiplas entidades",
+ "resolve-multiple-hint": "Ativar para renderizar dados de todas as entidades filtradas simultaneamente. \nSe desativado, o widget exibe dados somente da entidade selecionada.",
"filter-type": "Tipo de filtro",
"filter-type-required": "O tipo de filtro é obrigatório.",
- "entity-filter-no-entity-matched": "Nenhuma entidade encontrada que coincida com o filtro especificado.",
+ "entity-filter-no-entity-matched": "Nenhuma entidade correspondente ao filtro especificado foi encontrada.",
"no-entity-filter-specified": "Nenhum filtro de entidade especificado",
- "root-state-entity": "Usar entidade de estado do dashboard como raiz",
- "last-level-relation": "Procurar apenas último nível de relação",
+ "root-state-entity": "Usar entidade do estado do dashboard como raiz",
+ "last-level-relation": "Buscar somente relação do último nível",
"root-entity": "Entidade raiz",
- "state-entity-parameter-name": "Nome do parâmetro de entidade de estado",
+ "state-entity-parameter-name": "Nome do parâmetro da entidade de estado",
"default-state-entity": "Entidade de estado padrão",
- "default-entity-parameter-name": "Predefinido",
- "max-relation-level": "Nível máx. de relação",
+ "default-entity-parameter-name": "Por padrão",
+ "query-options": "Opções de consulta",
+ "max-relation-level": "Nível máximo de relação",
"unlimited-level": "Nível ilimitado",
- "state-entity": "Entidade de estado do dashboard",
+ "state-entity": "Entidade do estado do dashboard",
"all-entities": "Todas as entidades",
"any-relation": "qualquer"
},
@@ -244,29 +742,33 @@
"management": "Gerenciamento de ativos",
"view-assets": "Visualizar ativos",
"add": "Adicionar ativo",
- "assign-to-customer": "Atribuir a cliente",
- "assign-asset-to-customer": "Atribuir ativo(s) a cliente",
+ "asset-type-max-length": "O tipo de ativo deve ter menos de 256 caracteres",
+ "assign-to-customer": "Atribuir ao cliente",
+ "assign-asset-to-customer": "Atribuir ativo(s) ao cliente",
"assign-asset-to-customer-text": "Selecione os ativos a serem atribuídos ao cliente",
"no-assets-text": "Nenhum ativo encontrado",
- "assign-to-customer-text": "Selecione o cliente para atribuir o(s) ativo(s)",
+ "assign-to-customer-text": "Selecione o cliente ao qual atribuir o(s) ativo(s)",
"public": "Público",
"assignedToCustomer": "Atribuído ao cliente",
"make-public": "Tornar ativo público",
"make-private": "Tornar ativo privado",
- "unassign-from-customer": "Remover atribuição a cliente",
+ "unassign-from-customer": "Desatribuir do cliente",
"delete": "Excluir ativo",
"asset-public": "Ativo é público",
"asset-type": "Tipo de ativo",
"asset-type-required": "O tipo de ativo é obrigatório.",
"select-asset-type": "Selecionar tipo de ativo",
- "enter-asset-type": "Inserir tipo de ativo",
+ "enter-asset-type": "Inserir perfil do ativo",
"any-asset": "Qualquer ativo",
- "no-asset-types-matching": "Nenhum tipo de ativo encontrado que coincida com '{{entitySubtype}}'.",
+ "no-asset-types-matching": "Nenhum tipo de ativo correspondente a '{{entitySubtype}}' foi encontrado.",
"asset-type-list-empty": "Nenhum tipo de ativo selecionado.",
- "asset-types": "Tipos de ativos",
+ "asset-types": "Tipos de ativo",
"name": "Nome",
"name-required": "O nome é obrigatório.",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "label-max-length": "O rótulo deve ter menos de 256 caracteres",
"description": "Descrição",
+ "description-required": "A descrição é obrigatória.",
"type": "Tipo",
"type-required": "O tipo é obrigatório.",
"details": "Detalhes",
@@ -274,54 +776,72 @@
"add-asset-text": "Adicionar novo ativo",
"asset-details": "Detalhes do ativo",
"assign-assets": "Atribuir ativos",
- "assign-assets-text": "Atribuir { count, plural, =1 {1 asset} other {# assets} } a cliente",
+ "assign-assets-text": "Atribuir { count, plural, =1 {1 ativo} other {# ativos} } ao cliente",
+ "assign-asset-to-edge-title": "Atribuir ativo(s) ao Edge",
+ "assign-asset-to-edge-text": "Selecione os ativos a serem atribuídos ao Edge",
"delete-assets": "Excluir ativos",
- "unassign-assets": "Remover atribuição de ativos",
- "unassign-assets-action-title": "Remover atribuição de { count, plural, =1 {1 asset} other {# assets} } a cliente",
+ "unassign-assets": "Desatribuir ativos",
+ "unassign-assets-action-title": "Desatribuir { count, plural, =1 {1 ativo} other {# ativos} } do cliente",
"assign-new-asset": "Atribuir novo ativo",
"delete-asset-title": "Tem certeza de que deseja excluir o ativo '{{assetName}}'?",
- "delete-asset-text": "Cuidado, após confirmar, não será possível recuperar o ativo e nenhum dado associado.",
- "delete-assets-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 asset} other {# assets} }?",
- "delete-assets-action-title": "Excluir { count, plural, =1 {1 asset} other {# assets} }",
- "delete-assets-text": "Cuidado, após confirmar, todos os ativos selecionados serão removidos e não será possível recuperar nenhum dado associado.",
+ "delete-asset-text": "Atenção: após a confirmação, o ativo e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-assets-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 ativo} other {# ativos} }?",
+ "delete-assets-action-title": "Excluir { count, plural, =1 {1 ativo} other {# ativos} }",
+ "delete-assets-text": "Atenção: após a confirmação, todos os ativos selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
"make-public-asset-title": "Tem certeza de que deseja tornar o ativo '{{assetName}}' público?",
- "make-public-asset-text": "Após confirmar, o ativo e todos os dados associados a ele se tornarão públicos e poderão ser acessados por outros.",
+ "make-public-asset-text": "Após a confirmação, o ativo e todos os seus dados serão tornados públicos e acessíveis por outros.",
"make-private-asset-title": "Tem certeza de que deseja tornar o ativo '{{assetName}}' privado?",
- "make-private-asset-text": "Após confirmar, o ativo e todos os dados associados a ele se tornarão privados e não poderão ser acessados por outros.",
- "unassign-asset-title": "Tem certeza de que deseja remover a atribuição do ativo '{{assetName}}'?",
- "unassign-asset-text": "Após confirmar, a atribuição do ativo será removida e ele não poderá ser acessado pelo cliente.",
- "unassign-asset": "Remover atribuição de ativo",
- "unassign-assets-title": "Tem certeza de que deseja remover a atribuição de { count, plural, =1 {1 asset} other {# assets} }?",
- "unassign-assets-text": "Após confirmar, a atribuição de todos os ativos selecionados será removida e eles não poderão ser acessados pelo cliente.",
+ "make-private-asset-text": "Após a confirmação, o ativo e todos os seus dados serão tornados privados e não estarão acessíveis por outros.",
+ "unassign-asset-title": "Tem certeza de que deseja desatribuir o ativo '{{assetName}}'?",
+ "unassign-asset-text": "Após a confirmação, o ativo será desatribuído e não estará acessível pelo cliente.",
+ "unassign-asset": "Desatribuir ativo",
+ "unassign-assets-title": "Tem certeza de que deseja desatribuir { count, plural, =1 {1 ativo} other {# ativos} }?",
+ "unassign-assets-text": "Após a confirmação, todos os ativos selecionados serão desatribuídos e não estarão acessíveis pelo cliente.",
"copyId": "Copiar ID do ativo",
"idCopiedMessage": "O ID do ativo foi copiado para a área de transferência",
"select-asset": "Selecionar ativo",
- "no-assets-matching": "Nenhum ativo encontrado que coincida com '{{entity}}'.",
- "asset-required": "O ativo é obrigatório",
- "name-starts-with": "O nome do ativo começa com",
+ "no-assets-matching": "Nenhum ativo correspondente a '{{entity}}' foi encontrado.",
+ "asset-required": "O ativo é obrigatório.",
+ "name-starts-with": "Expressão do nome do ativo",
+ "help-text": "Use '%' conforme necessário: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.",
+ "search": "Pesquisar ativos",
"import": "Importar ativos",
- "asset-file": "Arquivo de ativos",
- "search": "Pesquisar ativo",
- "selected-assets": "{ count, plural, =1 {1 asset} other {# assets} } selecionado(s)",
- "label": "Etiqueta"
+ "asset-file": "Arquivo de ativo",
+ "label": "Rótulo",
+ "assign-asset-to-edge": "Atribuir ativo(s) ao edge",
+ "unassign-asset-from-edge": "Desatribuir ativo",
+ "unassign-asset-from-edge-title": "Tem certeza de que deseja desatribuir o ativo '{{assetName}}'?",
+ "unassign-asset-from-edge-text": "Após a confirmação, o ativo será desatribuído e não estará acessível pelo edge.",
+ "unassign-assets-from-edge-title": "Tem certeza de que deseja desatribuir { count, plural, =1 {1 ativo} other {# ativos} }?",
+ "unassign-assets-from-edge-text": "Após a confirmação, todos os ativos selecionados serão desatribuídos e não estarão acessíveis pelo edge.",
+ "selected-assets": "{ count, plural, =1 {1 ativo} other {# ativos} } selecionado(s)"
},
"attribute": {
"attributes": "Atributos",
- "latest-telemetry": "Última telemetria",
- "attributes-scope": "Escopo de atributos de entidade",
+ "latest-telemetry": "Telemetria mais recente",
+ "no-latest-telemetry": "Sem telemetria mais recente",
+ "attributes-scope": "Escopo de atributos da entidade",
"scope-telemetry": "Telemetria",
- "scope-latest-telemetry": "Última telemetria",
+ "scope-latest-telemetry": "Telemetria mais recente",
"scope-client": "Atributos do cliente",
"scope-server": "Atributos do servidor",
"scope-shared": "Atributos compartilhados",
+ "scope-client-short": "Cliente",
+ "scope-server-short": "Servidor",
+ "scope-shared-short": "Compartilhado",
+ "scope-latest-short": "Mais recente",
+ "scope-any": "Qualquer",
"add": "Adicionar atributo",
"key": "Chave",
- "last-update-time": "Horário da última atualização",
- "key-required": "A chave de atributo é obrigatória.",
+ "key-max-length": "A chave deve ter menos de 256 caracteres",
+ "last-update-time": "Hora da última atualização",
+ "key-required": "A chave do atributo é obrigatória.",
"value": "Valor",
"value-required": "O valor do atributo é obrigatório.",
- "delete-attributes-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 attribute} other {# attributes} }?",
- "delete-attributes-text": "Cuidado, após confirmar, todos os atributos selecionados serão removidos.",
+ "telemetry-key-required": "A chave de telemetria é obrigatória",
+ "telemetry-value-required": "O valor de telemetria é obrigatório",
+ "delete-attributes-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 atributo} other {# atributos} }?",
+ "delete-attributes-text": "Atenção: após a confirmação, todos os atributos selecionados serão removidos.",
"delete-attributes": "Excluir atributos",
"enter-attribute-value": "Inserir valor do atributo",
"show-on-widget": "Mostrar no widget",
@@ -330,15 +850,180 @@
"prev-widget": "Widget anterior",
"add-to-dashboard": "Adicionar ao dashboard",
"add-widget-to-dashboard": "Adicionar widget ao dashboard",
- "selected-attributes": "{ count, plural, =1 {1 attribute} other {# attributes} } selecionado(s)",
- "selected-telemetry": "{ count, plural, =1 {1 telemetry unit} other {# telemetry units} } selecionado(s)",
+ "selected-attributes": "{ count, plural, =1 {1 atributo} other {# atributos} } selecionado(s)",
+ "selected-telemetry": "{ count, plural, =1 {1 unidade de telemetria} other {# unidades de telemetria} } selecionada(s)",
"no-attributes-text": "Nenhum atributo encontrado",
- "no-telemetry-text": "Nenhuma telemetria encontrada"
+ "no-telemetry-text": "Nenhuma telemetria encontrada",
+ "copy-key": "Copiar chave",
+ "add-telemetry": "Adicionar telemetria",
+ "copy-value": "Copiar valor",
+ "delete-timeseries": {
+ "start-time": "Hora de início",
+ "ends-on": "Termina em",
+ "strategy": "Estratégia",
+ "delete-strategy": "Estratégia de exclusão",
+ "all-data": "Excluir todos os dados",
+ "all-data-except-latest-value": "Excluir todos os dados exceto o valor mais recente",
+ "latest-value": "Excluir o valor mais recente",
+ "all-data-for-time-period": "Excluir todos os dados do período",
+ "rewrite-latest-value": "Reescrever o valor mais recente"
+ }
+ },
+ "api-usage": {
+ "api-features": "Funcionalidades de API",
+ "api-usage": "Uso de API",
+ "alarm": "Alarme",
+ "alarms-created": "Alarmes criados",
+ "queue-stats": "Estatísticas de fila",
+ "processing-failures-and-timeouts": "Falhas de processamento e tempos limite",
+ "exceptions": "Exceções",
+ "alarms-created-daily-activity": "Atividade diária de alarmes criados",
+ "alarms-created-hourly-activity": "Atividade horária de alarmes criados",
+ "alarms-created-monthly-activity": "Atividade mensal de alarmes criados",
+ "data-points": "Pontos de dados",
+ "data-points-storage-days": "Dias de armazenamento de pontos de dados",
+ "data-points-storage-days-hourly-activity": "Atividade horária de dias de armazenamento de pontos de dados",
+ "data-points-storage-days-daily-activity": "Atividade diária de dias de armazenamento de pontos de dados",
+ "data-points-storage-days-monthly-activity": "Atividade mensal de dias de armazenamento de pontos de dados",
+ "device-api": "API do dispositivo",
+ "email": "Email",
+ "email-messages": "Mensagens de email",
+ "email-messages-daily-activity": "Atividade diária de mensagens de email",
+ "email-messages-monthly-activity": "Atividade mensal de mensagens de email",
+ "executions": "Execuções",
+ "scripts": "Scripts",
+ "scripts-hourly-activity": "Atividade horária de scripts",
+ "scripts-daily-activity": "Atividade diária de scripts",
+ "scripts-monthly-activity": "Atividade mensal de scripts",
+ "javascript": "JavaScript",
+ "javascript-executions": "Execuções de JavaScript",
+ "tbel": "TBEL",
+ "tbel-executions": "Execuções de TBEL",
+ "latest-error": "Último erro",
+ "messages": "Mensagens",
+ "notifications": "Notificações",
+ "notifications-email-sms": "Notificações (Email/SMS)",
+ "notifications-hourly-activity": "Atividade horária de notificações",
+ "permanent-failures": "${entityName} Falhas permanentes",
+ "permanent-timeouts": "${entityName} Tempos Limite permanentes",
+ "processing-failures": "${entityName} Falhas de processamento",
+ "processing-timeouts": "${entityName} Tempos Limite de processamento",
+ "rule-chain": "Cadeia de regras",
+ "rule-engine": "Motor de regras",
+ "rule-engine-executions": "Execuções do motor de regras",
+ "rule-engine-hourly-activity": "Atividade horária do motor de regras",
+ "rule-engine-daily-activity": "Atividade diária do motor de regras",
+ "rule-engine-monthly-activity": "Atividade mensal do motor de regras",
+ "rule-engine-statistics": "Estatísticas do motor de regras",
+ "rule-node": "Nó de regra",
+ "sms": "SMS",
+ "sms-messages": "Mensagens SMS",
+ "sms-messages-hourly-activity": "Atividade horária de mensagens SMS",
+ "sms-messages-daily-activity": "Atividade diária de mensagens SMS",
+ "sms-messages-monthly-activity": "Atividade mensal de mensagens SMS",
+ "successful": "${entityName} Bem-sucedido",
+ "telemetry": "Telemetria",
+ "telemetry-persistence": "Persistência de telemetria",
+ "telemetry-persistence-daily-activity": "Atividade diária de persistência de telemetria",
+ "telemetry-persistence-hourly-activity": "Atividade horária de persistência de telemetria",
+ "telemetry-persistence-monthly-activity": "Atividade mensal de persistência de telemetria",
+ "transport": "Transporte",
+ "transport-msg-hourly-activity": "Atividade horária de mensagens de transporte",
+ "transport-msg-daily-activity": "Atividade diária de mensagens de transporte",
+ "transport-msg-monthly-activity": "Atividade mensal de mensagens de transporte",
+ "transport-daily-activity": "Atividade diária de transporte",
+ "transport-data-points": "Pontos de dados de transporte",
+ "transport-data-points-hourly-activity": "Atividade horária de pontos de dados de transporte",
+ "transport-data-points-daily-activity": "Atividade diária de pontos de dados de transporte",
+ "transport-data-points-monthly-activity": "Atividade mensal de pontos de dados de transporte",
+ "view-details": "Visualizar detalhes",
+ "view-statistics": "Visualizar estatísticas",
+ "transport-messages": "Mensagens de transporte",
+ "transport-messages-hourly-activity": "Atividade horária de mensagens de transporte",
+ "transport-data-point-hourly-activity": "Atividade horária de ponto de dados de transporte",
+ "javascript-function-executions": "Execuções de funções JavaScript",
+ "javascript-function-executions-hourly-activity": "Atividade horária de execuções de funções JavaScript",
+ "javascript-function-executions-daily-activity": "Atividade diária de execuções de funções JavaScript",
+ "javascript-function-executions-monthly-activity": "Atividade mensal de execuções de funções JavaScript",
+ "tbel-function-executions": "Execuções de funções TBEL",
+ "tbel-function-executions-hourly-activity": "Atividade horária de execuções de funções TBEL",
+ "tbel-function-executions-daily-activity": "Atividade diária de execuções de funções TBEL",
+ "tbel-function-executions-monthly-activity": "Atividade mensal de execuções de funções TBEL",
+ "created-reports": "Relatórios criados",
+ "created-reports-hourly-activity": "Atividade horária de relatórios criados",
+ "created-reports-daily-activity": "Atividade diária de relatórios criados",
+ "created-reports-monthly-activity": "Atividade mensal de relatórios criados",
+ "emails": "Emails",
+ "emails-hourly-activity": "Atividade horária de emails",
+ "emails-daily-activity": "Atividade diária de emails",
+ "emails-monthly-activity": "Atividade mensal de emails",
+ "status": {
+ "enabled": "Ativado",
+ "disabled": "Desativado",
+ "warning": "Aviso"
+ }
+ },
+ "api-limit": {
+ "cassandra-write-queries-core": "Consultas de escrita Cassandra da API Rest",
+ "cassandra-read-queries-core": "Consultas de leitura Cassandra da API REST e telemetria WS",
+ "cassandra-write-queries-rule-engine": "Consultas de escrita Cassandra de telemetria do motor de regras",
+ "cassandra-read-queries-rule-engine": "Consultas de leitura Cassandra de telemetria do motor de regras",
+ "cassandra-write-queries-monolith": "Consultas de escrita Cassandra de telemetria monolítica",
+ "cassandra-read-queries-monolith": "Consultas de leitura Cassandra de telemetria monolítica",
+ "entity-version-creation": "Criação de versão de entidade",
+ "entity-version-load": "Carregamento de versão de entidade",
+ "notification-requests": "Requisições de notificação",
+ "notification-requests-per-rule": "Requisições de notificação por regra",
+ "rest-api-requests": "Requisições de API REST",
+ "rest-api-requests-per-customer": "Requisições de API REST por cliente",
+ "transport-messages": "Mensagens de transporte",
+ "transport-messages-per-device": "Mensagens de transporte por dispositivo",
+ "transport-messages-per-gateway": "Mensagens de transporte por gateway",
+ "transport-messages-per-gateway-device": "Mensagens de transporte por dispositivo de gateway",
+ "ws-updates-per-session": "Atualizações WS por sessão",
+ "edge-events": "Eventos de edge",
+ "edge-events-per-edge": "Eventos de edge por edge",
+ "edge-uplink-messages": "Mensagens uplink de edge",
+ "edge-uplink-messages-per-edge": "Mensagens uplink de edge por edge"
+ },
+ "api-key": {
+ "api-key": "Chave de API",
+ "api-keys": "Chaves de API",
+ "delete-api-key-title": "Tem certeza de que deseja excluir a chave de API '{{name}}'?",
+ "delete-api-key-text": "Atenção: após a confirmação, a chave se tornará irrecuperável.",
+ "delete-api-keys-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 chave de API} other {# chaves de API} }?",
+ "delete-api-keys-text": "Atenção: após a confirmação, todas as chaves selecionadas se tornarão irrecuperáveis.",
+ "expiration-date": "Data de expiração",
+ "date": "data",
+ "description": "Descrição",
+ "disable": "Desativar",
+ "edit-description": "Editar descrição",
+ "enable": "Ativar chave de API ",
+ "expiration-time": "Tempo de expiração",
+ "expiration-time-never": "Nunca",
+ "expiration-time-custom": "Personalizado",
+ "generate": "Gerar",
+ "generate-title": "Gerar chave de API",
+ "generate-text": "Nota: A chave de API herda as permissões do usuário para o qual foi criada.",
+ "generated-api-key-title": "Chave de API gerada. Vamos verificar a conectividade!",
+ "generated-api-key-copy": "Certifique-se de copiar e salvar sua chave de API agora, pois não será possível visualizá-la novamente.",
+ "generated-api-key-command": "Use as instruções a seguir para verificar a conectividade. Como resultado, você receberá as informações do usuário atual:",
+ "generated-api-key-insecure-url": "A execução de comandos por uma conexão HTTP não segura enviará sua chave de API sem criptografia, tornando-a vulnerável à interceptação.",
+ "list": "{ count, plural, =1 {Uma chave de API} other {Lista de # chaves de API} }",
+ "manage": "Gerenciar",
+ "manage-api-keys": "Gerenciar chaves de API",
+ "no-found": "Nenhuma chave de API encontrada",
+ "selected-api-keys": "{ count, plural, =1 {1 chave de API} other {# chaves de API} } selecionada(s)",
+ "search": "Pesquisar chaves de API",
+ "status": "Status",
+ "status-active": "Ativo",
+ "status-inactive": "Inativo",
+ "status-expired": "Expirado"
},
"audit-log": {
"audit": "Auditoria",
"audit-logs": "Logs de auditoria",
- "timestamp": "Carimbo de data/hora",
+ "timestamp": "Timestamp",
"entity-type": "Tipo de entidade",
"entity-name": "Nome da entidade",
"user": "Usuário",
@@ -352,8 +1037,10 @@
"type-attributes-deleted": "Atributos excluídos",
"type-rpc-call": "Chamada RPC",
"type-credentials-updated": "Credenciais atualizadas",
- "type-assigned-to-customer": "Atribuído ao cliente",
- "type-unassigned-from-customer": "Atribuição a cliente removida",
+ "type-assigned-to-customer": "Atribuído ao Cliente",
+ "type-unassigned-from-customer": "Desatribuído do Cliente",
+ "type-assigned-to-edge": "Atribuído ao Edge",
+ "type-unassigned-from-edge": "Desatribuído do Edge",
"type-activated": "Ativado",
"type-suspended": "Suspenso",
"type-credentials-read": "Credenciais lidas",
@@ -361,66 +1048,694 @@
"type-relation-add-or-update": "Relação atualizada",
"type-relation-delete": "Relação excluída",
"type-relations-delete": "Todas as relações excluídas",
- "type-alarm-ack": "Confirmado",
- "type-alarm-clear": "Limpo",
+ "type-alarm-ack": "Alarme reconhecido",
+ "type-alarm-clear": "Alarme limpo",
+ "type-alarm-delete": "Alarme excluído",
+ "type-alarm-assign": "Alarme atribuído",
+ "type-alarm-unassign": "Alarme desatribuído",
+ "type-added-comment": "Comentário adicionado",
+ "type-updated-comment": "Comentário atualizado",
+ "type-deleted-comment": "Comentário excluído",
"type-login": "Login",
"type-logout": "Logout",
"type-lockout": "Bloqueio",
- "status-success": "Êxito",
+ "status-success": "Sucesso",
"status-failure": "Falha",
- "audit-log-details": "Detalhes da trilha de auditoria",
+ "audit-log-details": "Detalhes do log de auditoria",
"no-audit-logs-prompt": "Nenhum log encontrado",
"action-data": "Dados da ação",
"failure-details": "Detalhes da falha",
"search": "Pesquisar logs de auditoria",
"clear-search": "Limpar pesquisa",
- "type-assigned-from-tenant": "Atribuído do locatário",
- "type-assigned-to-tenant": "Atribuído a locatário"
+ "type-assigned-from-tenant": "Atribuído do Tenant",
+ "type-assigned-to-tenant": "Atribuído ao Tenant",
+ "type-provision-success": "Dispositivo provisionado",
+ "type-provision-failure": "Falha no provisionamento do dispositivo",
+ "type-timeseries-updated": "Telemetria atualizada",
+ "type-timeseries-deleted": "Telemetria excluída",
+ "type-sms-sent": "SMS enviado",
+ "any-type": "Qualquer tipo",
+ "audit-log-filter-title": "Filtro de log de auditoria",
+ "filter-title": "Filtro",
+ "filter-types": "Tipos de log de auditoria"
+ },
+ "debug-settings": {
+ "label": "Configuração de depuração",
+ "on-failure": "Somente falhas (24/7)",
+ "all-messages": "Todas as mensagens ({{time}})",
+ "failures": "Falhas",
+ "entity": "entidade",
+ "hint": {
+ "main-limited": "Não serão registradas mais de {{msg}} mensagens de depuração de {{entity}} a cada {{time}}.",
+ "on-failure": "Registrar apenas mensagens de erro.",
+ "all-messages": "Registrar todas as mensagens de depuração."
+ }
+ },
+ "calculated-fields": {
+ "expression": "Expressão",
+ "no-found": "Nenhum campo calculado encontrado",
+ "list": "{ count, plural, =1 {Um campo calculado} other {Lista de # campos calculados} }",
+ "selected-fields": "{ count, plural, =1 {1 campo calculado} other {# campos calculados} } selecionado(s)",
+ "type": {
+ "simple": "Simples",
+ "simple-hint": "Cálculo aritmético simples baseado em argumentos de entrada.",
+ "script": "Script",
+ "script-hint": "Cálculo sobre argumentos definidos usando um script TBEL.",
+ "geofencing": "Geofencing",
+ "geofencing-hint": "Avaliação da posição GPS da entidade e transições em relação aos grupos de zonas de geofencing configurados.",
+ "propagation": "Propagação",
+ "propagation-hint": "Propagação de dados para entidades pai ou filho com base na direção e tipo de relação.",
+ "related-entities-aggregation": "Agregação de entidades relacionadas",
+ "related-entities-aggregation-hint": "Agregação dos dados mais recentes de entidades relacionadas.",
+ "time-series-data-aggregation": "Agregação de dados de série temporal",
+ "time-series-data-aggregation-hint": "Agregação de dados históricos de uma entidade atual."
+ },
+ "preview": "Pré-visualização",
+ "arguments": "Argumentos",
+ "decimals-by-default": "Casas decimais padrão",
+ "debugging": "Depuração de campo calculado",
+ "calculated-field-details": "Detalhes do campo calculado",
+ "argument-name": "Nome do argumento",
+ "name": "Nome",
+ "datasource": "Fonte de dados",
+ "add-argument": "Adicionar argumento",
+ "test-script-function": "Testar função do script",
+ "no-arguments": "É necessário pelo menos um argumento.",
+ "argument-settings": "Configurações do argumento",
+ "argument-current": "Entidade atual",
+ "argument-current-tenant": "Tenant atual",
+ "argument-device": "Dispositivo",
+ "argument-asset": "Ativo",
+ "argument-customer": "Cliente",
+ "argument-tenant": "Tenant atual",
+ "argument-owner": "Proprietário atual",
+ "argument-relation-query": "Entidades relacionadas",
+ "argument-type": "Tipo de argumento",
+ "attribute": "Atributo",
+ "copy-argument-name": "Copiar nome do argumento",
+ "timeseries-key": "Chave de série temporal",
+ "device-name": "Nome do dispositivo",
+ "latest-telemetry": "Telemetria mais recente",
+ "rolling": "Série temporal deslizante",
+ "attribute-scope": "Escopo do atributo",
+ "server-attributes": "Atributos do servidor",
+ "client-attributes": "Atributos do cliente",
+ "shared-attributes": "Atributos compartilhados",
+ "attribute-key": "Chave do atributo",
+ "default-value": "Valor padrão",
+ "default-value-required": "O valor padrão é obrigatório.",
+ "limit": "Máximo de valores",
+ "time-window": "Janela de tempo",
+ "customer-name": "Nome do cliente",
+ "asset-name": "Nome do ativo",
+ "timeseries": "Série temporal",
+ "output": "Saída",
+ "output-hint": "Define como a saída é processada.",
+ "create": "Criar novo campo calculado",
+ "file": "Arquivo de campo calculado",
+ "invalid-file-error": "Formato de arquivo inválido. Certifique-se de que o arquivo é um arquivo JSON válido.",
+ "import": "Importar campo calculado",
+ "export": "Exportar campo calculado",
+ "export-failed-error": "Não foi possível exportar o campo calculado: {{error}}",
+ "output-type": "Tipo de saída",
+ "delete-title": "Tem certeza de que deseja excluir o campo calculado '{{title}}'?",
+ "delete-text": "Atenção: após a confirmação, o campo calculado e todos os dados relacionados serão irrecuperáveis.",
+ "delete-multiple-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 campo calculado} other {# campos calculados} }?",
+ "delete-multiple-text": "Atenção: após a confirmação, todos os campos calculados selecionados serão removidos e todos os dados relacionados serão irrecuperáveis.",
+ "test-with-this-message": "Testar com esta mensagem",
+ "use-latest-timestamp": "Usar timestamp mais recente",
+ "entity-coordinates": "Coordenadas da entidade",
+ "latitude-time-series-key": "Chave de série temporal de latitude",
+ "latitude-time-series-key-required": "A chave de série temporal de latitude é obrigatória.",
+ "longitude-time-series-key": "Chave de série temporal de longitude",
+ "longitude-time-series-key-required": "A chave de série temporal de longitude é obrigatória.",
+ "geofencing-zone-groups": "Grupos de zonas de geofencing",
+ "geofencing-zone-groups-settings": "Configurações do grupo de zonas de geofencing",
+ "target-zone": "Zona alvo",
+ "perimeter-key": "Chave do perímetro",
+ "report-strategy": "Estratégia de relatório",
+ "no-zone-configured": "É necessária pelo menos uma zona.",
+ "no-zone-configured-required": "Pelo menos um grupo de zonas deve ser configurado.",
+ "add-zone-group": "Adicionar grupo de zonas",
+ "report-transition-event-only": "Somente eventos de transição",
+ "report-presence-status-only": "Somente status de presença",
+ "report-transition-event-and-presence": "Status de presença e eventos de transição",
+ "perimeter-attribute-key": "Chave do atributo de perímetro",
+ "perimeter-attribute-key-required": "A chave do atributo de perímetro é obrigatória.",
+ "perimeter-attribute-key-pattern": "A chave do atributo de perímetro é inválida.",
+ "entity-zone-relationship": "Caminho da entidade para as zonas",
+ "direction": "Direção da relação",
+ "direction-from": "Da entidade para a zona",
+ "direction-to": "Da zona para a entidade",
+ "relation-type": "Tipo de relação",
+ "create-relation-with-matched-zones": "Criar relações para a entidade de origem com as zonas correspondentes",
+ "relation-level": "Nível de relação",
+ "fetch-last-available-level": "Buscar apenas o último nível disponível",
+ "zone-group-refresh-interval": "Intervalo de atualização dos grupos de zonas",
+ "copy-zone-group-name": "Copiar nome do grupo de zonas",
+ "open-details-page": "Abrir página de detalhes da entidade",
+ "level": "Nível",
+ "direction-level": "Direção",
+ "direction-up": "Acima",
+ "direction-up-parent": "Acima para o pai",
+ "direction-down": "Abaixo",
+ "direction-down-child": "Abaixo para o filho",
+ "add-level": "Adicionar nível",
+ "delete-level": "Excluir nível",
+ "no-level": "Nenhum nível configurado",
+ "levels-required": "Pelo menos um nível deve ser configurado.",
+ "max-allowed-levels-error": "O nível de relação excede o máximo permitido.",
+ "propagation-path-related-entities": "Caminho de propagação para entidades relacionadas",
+ "propagate-type": {
+ "arguments-only": "Somente argumentos",
+ "expression-result": "Resultado do cálculo"
+ },
+ "script": "Script",
+ "data-propagate": "Dados a propagar",
+ "output-key": "Chave de saída",
+ "copy-output-key": "Copiar chave de saída",
+ "aggregation-path-related-entities": "Caminho de agregação para entidades relacionadas",
+ "deduplication-interval": "Intervalo de deduplicação",
+ "deduplication-interval-min": "O intervalo de deduplicação deve ser de pelo menos {{ sec }} segundos.",
+ "deduplication-interval-hint": "Tempo mínimo entre agregações de telemetria.",
+ "deduplication-interval-required": "O intervalo de deduplicação é obrigatório.",
+ "calculated-field-filter-title": "Filtro de campo calculado",
+ "filter-title": "Filtro",
+ "calculated-field-types": "Tipos de campo calculado",
+ "events": "Eventos",
+ "any-type": "Qualquer tipo",
+ "metrics": {
+ "metrics": "Métricas",
+ "metrics-empty": "Pelo menos uma métrica deve ser configurada.",
+ "metric-name": "Nome da métrica",
+ "metric-name-required": "O nome da métrica é obrigatório.",
+ "metric-name-pattern": "O nome da métrica é inválido.",
+ "metric-name-duplicate": "Já existe uma métrica com esse nome.",
+ "metric-name-max-length": "O nome da métrica deve ter menos de 256 caracteres.",
+ "metric-name-forbidden": "O nome da métrica é reservado e não pode ser usado.",
+ "copy-metric-name": "Copiar nome da métrica",
+ "argument-name": "Nome do argumento",
+ "aggregation": "Agregação",
+ "aggregation-type": {
+ "avg": "Média",
+ "min": "Mínimo",
+ "max": "Máximo",
+ "sum": "Soma",
+ "count": "Contagem",
+ "count-unique": "Contagem única"
+ },
+ "filtered": "Filtrado",
+ "value-source": "Fonte do valor",
+ "value-source-hint": "Define como o valor para agregação é obtido.",
+ "value-source-type": {
+ "key": "Chave",
+ "function": "Função"
+ },
+ "no-metrics-configured": "É necessária pelo menos uma métrica.",
+ "add-metric": "Adicionar métrica",
+ "max-metrics": "Número máximo de métricas atingido.",
+ "metric-settings": "Configurações da métrica",
+ "filter": "Filtro",
+ "filter-hint": "Habilita a filtragem de entidades durante a agregação. A função de filtro deve retornar um valor booleano e pode usar todos os argumentos configurados."
+ },
+ "output-strategy": {
+ "strategy": "Estratégia",
+ "process-right-away": "Processar imediatamente",
+ "process-rule-chains": "Processar via Cadeias de regras",
+ "save-time-series": "Salvar em série temporal",
+ "save-database": "Salvar no banco de dados",
+ "save-latest-values": "Salvar nos valores mais recentes",
+ "send-web-sockets": "Enviar para WebSockets",
+ "save-calculated-fields": "Enviar para Campos calculados",
+ "update-attribute-only-on-value-change": "Atualizar atributo somente na mudança de valor",
+ "send-attributes-updated-notification": "Enviar notificação de atributos atualizados",
+ "ttl": "TTL personalizado",
+ "ttl-required": "O TTL é obrigatório",
+ "ttl-min": "Somente TTL mínimo de 0 é permitido",
+ "processing-parameters": "Parâmetros de processamento",
+ "hint": {
+ "strategy": "Controla se o resultado é processado imediatamente ou enviado a uma cadeia de regras para processamento adicional.",
+ "processing-options": "Opções de processamento",
+ "update-attribute-only-on-value-change": "Atualiza o atributo em cada mensagem recebida, independentemente de o valor ter mudado. Isso aumenta o uso da API e reduz o desempenho.",
+ "update-attribute-only-on-value-change-enabled": "Atualiza o atributo somente quando o valor muda. Se o valor não mudar, os timestamps não são atualizados e as notificações não são enviadas.",
+ "send-attributes-updated-notification": "Envia um evento de Atributos Atualizados para a cadeia de regras padrão.",
+ "save-time-series": "Salva os dados de série temporal na tabela ts_kv do banco de dados.",
+ "save-database": "Salva os dados de atributos no banco de dados.",
+ "save-latest-values": "Atualiza os dados de série temporal na tabela ts_kv_latest do banco de dados se o novo valor for mais recente.",
+ "send-web-sockets-attribute": "Notifica as assinaturas WebSocket sobre atualizações nos dados de atributos.",
+ "send-web-sockets-time-series": "Notifica as assinaturas WebSocket sobre atualizações nos dados de série temporal.",
+ "save-calculated-fields-attribute": "Notifica os campos calculados sobre atualizações nos dados de atributos.",
+ "save-calculated-fields-time-series": "Notifica os campos calculados sobre atualizações nos dados de série temporal.",
+ "ttl": "Define o período de retenção dos dados de série temporal. Se desabilitado, o TTL do Perfil do tenant é usado."
+ }
+ },
+ "aggregate-interval-type": "Tipo de intervalo de agregação",
+ "aggregate-interval-value": "Valor do intervalo de agregação",
+ "aggregate-interval-value-required": "O valor do intervalo de agregação é obrigatório.",
+ "aggregate-interval-value-min": "O valor do intervalo de agregação deve ser de pelo menos { sec, plural, =0 {0 segundo} =1 {1 segundo} other {# segundos} }.",
+ "aggregate-interval-value-step-multiple-of": "O valor do intervalo de agregação deve ser divisor ou múltiplo de 1 dia.",
+ "aggregate-period": {
+ "hour": "Hora",
+ "day": "Dia",
+ "week": "Semana (Seg - Dom)",
+ "week-sun-sat": "Semana (Dom - Sáb)",
+ "month": "Mês",
+ "quarter": "Trimestre",
+ "year": "Ano",
+ "custom": "Personalizado"
+ },
+ "aggregate-period-hint-offset": "Seu intervalo de agregação será: {{ interval }}",
+ "aggregate-period-hint-offset-and-so-on": "Seu intervalo de agregação será: {{ interval }} e assim por diante.",
+ "entity-aggregation": {
+ "argument-hint": "Os dados serão buscados da entidade atual.",
+ "argument-title-hint": "Define os argumentos de entrada usados para agregação.",
+ "argument-setting-hint": "A telemetria mais recente é o único tipo de argumento disponível para este campo calculado.",
+ "aggregation-interval": "Intervalo de agregação",
+ "aggregation-interval-hint": "Define com que frequência a agregação é realizada. Exemplo: a cada 1 hora agrega dados às 00:00, 01:00, 02:00, etc. Os resultados da agregação são armazenados com o timestamp correspondente ao início do intervalo de agregação.",
+ "apply-offset": "Aplicar deslocamento ao intervalo de agregação",
+ "apply-offset-hint": "Define quanto deslocar o início de cada período de agregação (ex.: +10 minutos - 00:10, 01:10).",
+ "offset-value": "Valor do deslocamento",
+ "offset-value-required": "O valor do deslocamento é obrigatório.",
+ "offset-value-min": "O valor do deslocamento deve ser um número inteiro positivo.",
+ "offset-value-max": "O valor do deslocamento deve ser menor que o valor do intervalo de agregação.",
+ "wait-delay": "Aplicar tempo de espera para telemetria atrasada",
+ "wait-delay-hint": "Define quanto tempo aguardar pela telemetria atrasada após o término do intervalo. Se tal telemetria chegar, o resultado para aquele intervalo será recalculado.",
+ "duration": "Duração",
+ "duration-required": "A duração é obrigatória.",
+ "duration-min": "A duração deve ser de pelo menos 1 minuto.",
+ "duration-hint": "Quanto tempo aguardar pelos dados atrasados após o término do intervalo.",
+ "produce-intermediate-result": "Produzir resultado intermediário",
+ "produce-intermediate-result-hint": "Calcula métricas durante o intervalo atual para produzir um resultado intermediário. As atualizações ocorrem no máximo uma vez a cada {{ time }}."
+ },
+ "hint": {
+ "arguments-simple-with-rolling": "O campo calculado do tipo simples não deve conter chaves com tipo de série temporal deslizante.",
+ "arguments-propagate-arguments-with-rolling": "O tipo 'Série temporal deslizante' é incompatível com a propagação 'Somente argumentos'.",
+ "arguments-propagate-argument-entity-type": "O tipo de entidade é incompatível com a propagação 'Somente argumentos'.",
+ "arguments-propagate-argument-must-current-entity": "Pelo menos um argumento deve ser configurado com o tipo de entidade de origem 'Entidade atual'.",
+ "arguments-empty": "Pelo menos um argumento deve ser especificado.",
+ "expression-required": "A expressão é obrigatória.",
+ "expression-invalid": "A expressão é inválida",
+ "expression-max-length": "O comprimento da expressão deve ter menos de 255 caracteres.",
+ "argument-name-required": "O nome do argumento é obrigatório.",
+ "argument-name-pattern": "O nome do argumento é inválido.",
+ "argument-name-duplicate": "Já existe um argumento com esse nome.",
+ "argument-name-max-length": "O nome do argumento deve ter menos de 256 caracteres.",
+ "argument-name-forbidden": "O nome do argumento é reservado e não pode ser usado.",
+ "output-key-required": "A chave de saída é obrigatória.",
+ "output-key-pattern": "A chave de saída é inválida.",
+ "output-key-duplicate": "Já existe uma chave com esse nome.",
+ "output-key-max-length": "A chave de saída deve ter menos de 256 caracteres.",
+ "output-key-forbidden": "A chave de saída é reservada e não pode ser usada.",
+ "entity-type-required": "O tipo de entidade é obrigatório",
+ "name-required": "O nome é obrigatório.",
+ "name-pattern": "O nome é inválido.",
+ "name-duplicate": "Já existe um nome com esse nome.",
+ "name-max-length": "O nome deve ter menos de 256 caracteres.",
+ "name-forbidden": "O nome é reservado e não pode ser usado.",
+ "argument-type-required": "O tipo de argumento é obrigatório.",
+ "max-args": "Número máximo de argumentos atingido.",
+ "decimals-range": "As casas decimais padrão devem ser um número entre 0 e 15.",
+ "expression": "A expressão padrão demonstra como transformar uma temperatura de Fahrenheit para Celsius.",
+ "arguments-entity-not-found": "Entidade alvo do argumento não encontrada.",
+ "use-latest-timestamp": "Se habilitado, o valor calculado será persistido usando o timestamp mais recente da telemetria dos argumentos, em vez do horário do servidor.",
+ "entity-coordinates": "Especifique as chaves de série temporal que fornecem as coordenadas GPS da entidade (latitude e longitude).",
+ "geofencing-zone-groups": "Defina um ou mais grupos de zonas de geofencing para verificar (ex.: 'allowedZones', 'restrictedZones'). Cada grupo deve ter um nome único, que é usado como prefixo para as chaves de telemetria de saída do campo calculado.",
+ "perimeter-attribute-key": "Defina a chave do atributo que contém a definição do perímetro da zona de geofencing. O perímetro é sempre obtido dos atributos do lado do servidor da entidade de zona.",
+ "report-strategy": "O status de presença informa se a entidade está atualmente DENTRO ou FORA do grupo de zonas. Os eventos de transição informam quando a entidade ENTROU ou SAIU do grupo de zonas.",
+ "create-relation-with-matched-zones": "Criar e manter automaticamente relações entre a entidade e as zonas em que ela está atualmente. As relações são removidas quando a entidade sai de uma zona e criadas quando ela entra em uma nova.",
+ "relation-type-required": "O tipo de relação é obrigatório.",
+ "relation-level-required": "O nível de relação é obrigatório.",
+ "relation-level-min": "O valor mínimo do nível de relação é 1.",
+ "relation-level-max": "O valor máximo do nível de relação é {{max}}.",
+ "geofencing-empty": "Pelo menos um grupo de zonas deve ser configurado.",
+ "geofencing-entity-not-found": "Entidade alvo do geofencing não encontrada.",
+ "max-geofencing-zone": "Número máximo de zonas de geofencing atingido.",
+ "zone-group-refresh-interval": "Define com que frequência os grupos de zonas configurados via entidades relacionadas são atualizados.",
+ "zone-group-refresh-interval-required": "O intervalo de atualização dos grupos de zonas é obrigatório.",
+ "zone-group-refresh-interval-min": "O intervalo de atualização do grupo de zonas deve ser de pelo menos {{ min }} segundos.",
+ "propagation-path-related-entities": "Define um caminho direto de nível único para uma entidade relacionada com base na direção selecionada e no tipo de relação. Apenas relações entre entidades de dispositivo, ativo, cliente e tenant são suportadas. O máximo de entidades resolvidas pelo caminho de relação é {{ max }}.",
+ "data-propagate": "Define os dados a serem propagados a partir dos argumentos configurados abaixo. 'Somente argumentos' usa os dados recuperados diretamente, enquanto 'Resultado do cálculo' calcula um novo valor a partir desses dados.",
+ "aggregation-path-related-entities": "Define um caminho de agregação de nível único via relações diretas com entidades pai ou filho, com base na direção e no tipo de relação. Apenas relações entre entidades de dispositivo, ativo, cliente e tenant são suportadas. O máximo de entidades resolvidas pelo caminho de relação é {{ max }}.",
+ "arguments-aggregation": "Define os argumentos de entrada usados para filtragem e agregação.",
+ "setting-arguments-aggregation": "Os dados serão buscados das entidades relacionadas configuradas no caminho de agregação.",
+ "metrics": "Define as métricas agregadas com base nos argumentos configurados.",
+ "entity-aggregation-metrics": "Define as métricas agregadas com base nos argumentos configurados ao longo dos intervalos de tempo especificados.",
+ "import-invalid-calculated-field-type": "Não foi possível importar o campo calculado: Estrutura de campo calculado inválida.",
+ "simple-expression-title": "Expressão aritmética que define como o valor calculado é computado.",
+ "script-title": "Script TBEL que define a lógica de cálculo e os valores de saída.",
+ "simple-arguments": "Expressão aritmética que define como o valor calculado é computado.",
+ "script-arguments": "Define os argumentos de entrada disponíveis para o script."
+ }
+ },
+ "alarm-rule": {
+ "alarm-rules-tab": "Regras de alarme",
+ "alarm-rule": "Regra de alarme",
+ "alarm-rules": "Regras de alarme",
+ "alarm-rules-old": "Antigas",
+ "alarm-rules-actual": "Atuais",
+ "severities": "Severidades",
+ "cleared": "Condição de limpeza",
+ "delete-title": "Tem certeza de que deseja excluir a regra de alarme '{{title}}'?",
+ "delete-text": "Atenção: após a confirmação, a regra de alarme e todos os dados relacionados serão irrecuperáveis.",
+ "delete-multiple-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 regra de alarme} other {# regras de alarme} }?",
+ "delete-multiple-text": "Atenção: após a confirmação, todas as regras de alarme selecionadas serão removidas e todos os dados relacionados serão irrecuperáveis.",
+ "create": "Criar nova regra de alarme",
+ "add": "Adicionar regra de alarme",
+ "copy": "Copiar configuração da regra de alarme",
+ "details": "Detalhes da regra de alarme",
+ "no-found": "Nenhuma regra de alarme encontrada",
+ "list": "{ count, plural, =1 {Uma regra de alarme} other {Lista de # regras de alarme} }",
+ "selected-fields": "{ count, plural, =1 {1 regra de alarme} other {# regras de alarme} } selecionada(s)",
+ "import": "Importar regra de alarme",
+ "file": "Arquivo de regra de alarme",
+ "export": "Exportar regra de alarme",
+ "export-failed-error": "Não foi possível exportar a regra de alarme: {{error}}",
+ "entity-type": "Tipo de entidade",
+ "entity-type-required": "O tipo de entidade é obrigatório.",
+ "alarm-type": "Tipo de alarme",
+ "alarm-type-hint": "Identificador único (ex.: HighTempAlarm) no escopo do originador do alarme (Dispositivo, Ativo, etc.) para evitar conflitos.",
+ "alarm-type-required": "O tipo de alarme é obrigatório.",
+ "alarm-type-pattern": "O tipo de alarme é inválido.",
+ "alarm-type-max-length": "O tipo de alarme deve ter menos de 256 caracteres.",
+ "clear-alarm": "Limpar alarme",
+ "value-argument": "Argumento",
+ "value-argument-required": "O argumento é obrigatório.",
+ "static-settings": "Configurações estáticas",
+ "configuration": "Configuração",
+ "static-schedule": "Estático",
+ "dynamic-schedule": "Dinâmico",
+ "operation-and": "E",
+ "operation-or": "OU",
+ "condition-during": "Durante {{during}}",
+ "condition-during-dynamic": "Durante \"{{ attribute }}\"",
+ "condition-repeat-times": "Repete { count, plural, =1 {1 vez} other {# vezes} }",
+ "condition-repeat-times-dynamic": "Repete \"{{ attribute }}\" vezes",
+ "filter-preview": "Pré-visualização do filtro",
+ "condition-settings": "Configurações da condição",
+ "static": "Estático",
+ "dynamic": "Dinâmico",
+ "argument-filters": "Filtros de argumento",
+ "argument-name": "Nome do argumento",
+ "value-type": "Tipo de valor",
+ "general": "Geral",
+ "filters": "Filtros",
+ "date-time-hint": "O argumento deve estar em milissegundos epoch. Exemplo: 1698839340000 equivale a 2023-11-01 12:49:00 UTC.",
+ "operation": "Operação",
+ "value-source": "Fonte do valor",
+ "value": "Valor",
+ "ignore-case": "Ignorar maiúsculas/minúsculas",
+ "condition": "Condição",
+ "script": "Script",
+ "add-filter": "Adicionar filtro de argumento",
+ "edit-filter": "Filtro de argumento",
+ "remove-filter": "Remover filtro de argumento",
+ "no-filter": "É necessário pelo menos um filtro.",
+ "conditions": {
+ "simple": "Simples",
+ "duration": "Duração",
+ "repeating": "Repetição"
+ },
+ "schedule-title": "Agendamento",
+ "edit-schedule": "Editar agendamento do alarme",
+ "schedule-type": "Tipo de agendador",
+ "schedule-type-required": "O tipo de agendador é obrigatório.",
+ "schedule": {
+ "any-time": "Ativo o tempo todo",
+ "specific-time": "Ativo em um horário específico",
+ "custom": "Personalizado"
+ },
+ "schedule-day": {
+ "monday": "Segunda-feira",
+ "tuesday": "Terça-feira",
+ "wednesday": "Quarta-feira",
+ "thursday": "Quinta-feira",
+ "friday": "Sexta-feira",
+ "saturday": "Sábado",
+ "sunday": "Domingo"
+ },
+ "schedule-days": "Dias",
+ "schedule-time": "Horário",
+ "schedule-time-from": "De",
+ "schedule-time-to": "Até",
+ "schedule-days-of-week-required": "Pelo menos um dia da semana deve ser selecionado.",
+ "tbel": "TBEL",
+ "expression-type": {
+ "simple": "Simples",
+ "script": "Script"
+ },
+ "operation-type": {
+ "and": "E",
+ "or": "Ou"
+ },
+ "filter-predicate-type": {
+ "string": "String",
+ "numeric": "Numérico",
+ "boolean": "Booleano",
+ "complex": "Complexo"
+ },
+ "alarm-rule-additional-info": "Informações adicionais",
+ "edit-alarm-rule-additional-info": "Editar informações adicionais",
+ "alarm-rule-additional-info-placeholder": "Forneça seus comentários e ajustes aqui para exibi-los nos detalhes do Alarme em Informações adicionais",
+ "alarm-rule-additional-info-hint": "Dica: use ${Argument name} para substituir os valores dos argumentos usados na condição da regra de alarme.",
+ "alarm-rule-additional-info-icon-hint": "Use o nome do argumento para substituir os valores dos argumentos usados na condição da regra de alarme.",
+ "alarm-rule-mobile-dashboard": "Dashboard móvel",
+ "alarm-rule-mobile-dashboard-hint": "Usado pelo aplicativo móvel como dashboard de detalhes do alarme.",
+ "alarm-rule-no-mobile-dashboard": "Nenhum dashboard selecionado",
+ "alarm-rule-condition": "Condição da regra de alarme",
+ "enter-alarm-rule-condition-prompt": "Adicionar condição",
+ "enter-alarm-rule-clear-condition-prompt": "Adicionar condição de limpeza",
+ "edit-alarm-rule-condition": "Condição do alarme",
+ "condition-type": "Tipo de condição",
+ "condition-type-hint": "As opções \"Duração\" e \"Repetição\" não estão disponíveis quando a operação \"Ausente por\" é usada no filtro.",
+ "select-alarm-severity": "Selecionar severidade do alarme",
+ "add-create-alarm-rule-prompt": "É necessária pelo menos uma condição de acionamento.",
+ "add-create-alarm-rule": "Adicionar condição de acionamento",
+ "add-clear-alarm-rule": "Adicionar condição de limpeza",
+ "condition-duration": "Duração da condição",
+ "condition-duration-value": "Valor da duração",
+ "condition-duration-time-unit": "Unidade de tempo",
+ "condition-duration-value-range": "O valor da duração deve estar no intervalo de 1 a 2147483647.",
+ "condition-duration-value-pattern": "O valor da duração deve ser um número inteiro.",
+ "condition-duration-value-required": "O valor da duração é obrigatório.",
+ "condition-duration-time-unit-required": "A unidade de tempo é obrigatória.",
+ "condition-repeating-value": "Contagem de eventos",
+ "condition-repeating-value-hint": "A atualização de qualquer argumento da regra de alarme será contada como evento",
+ "condition-repeating-value-range": "A contagem de eventos deve estar no intervalo de 1 a 2147483647.",
+ "condition-repeating-value-pattern": "A contagem de eventos deve ser um número inteiro.",
+ "condition-repeating-value-required": "A contagem de eventos é obrigatória.",
+ "create-conditions": "Condições de acionamento",
+ "clear-condition": "Condição de limpeza",
+ "no-clear-alarm-rule": "Nenhuma condição de limpeza configurada.",
+ "advanced-settings": "Configurações avançadas",
+ "propagate-alarm": "Propagar alarme para entidades relacionadas",
+ "alarm-rule-relation-types-list": "Tipos de relação",
+ "alarm-rule-relation-types-list-hint": "Define os tipos de relação para filtrar as entidades relacionadas. Se não definido, o alarme será propagado para todas as entidades relacionadas.",
+ "propagate-alarm-to-owner": "Propagar alarme para o proprietário da entidade (Cliente ou Tenant)",
+ "propagate-alarm-to-tenant": "Propagar alarme para o Tenant",
+ "alarm-rule-filter-title": "Filtro de regra de alarme",
+ "filter-title": "Filtro",
+ "debugging": "Depuração de regra de alarme",
+ "any-type": "Qualquer tipo",
+ "enter-alarm-rule-type": "Inserir tipo de alarme",
+ "no-alarm-rule-types-matching": "Nenhum tipo de alarme correspondente a '{{entitySubtype}}' foi encontrado.",
+ "alarm-rule-type-list-empty": "Nenhum tipo de alarme selecionado.",
+ "alarm-rule-type-list": "Lista de tipos de alarme",
+ "alarm-rule-entity-list": "Lista de entidades",
+ "missing-for": "ausente por",
+ "time-unit": "Unidade",
+ "mode": "Modo",
+ "type": "Tipo",
+ "value-required": "O valor é obrigatório.",
+ "min-value": "O valor deve ser 1 ou maior.",
+ "argument-in-use": "O argumento está sendo usado como argumento geral.",
+ "import-invalid-alarm-rule-type": "Não foi possível importar a regra de alarme: Estrutura de regra de alarme inválida.",
+ "no-filter-preview": "Nenhum filtro especificado",
+ "filter-operation": {
+ "and": "E",
+ "or": "Ou"
+ }
+ },
+ "ai-models": {
+ "ai-models": "Modelos de IA",
+ "ai-model": "Modelo de IA",
+ "model": "Modelo",
+ "name": "Nome",
+ "ai-provider": "Provedor de IA",
+ "no-found": "Nenhum modelo de IA encontrado",
+ "list": "{ count, plural, =1 {Um modelo} other {Lista de # modelos} }",
+ "selected-fields": "{ count, plural, =1 {1 modelo} other {# modelos} } selecionado(s)",
+ "add": "Adicionar modelo",
+ "delete-model-title": "Tem certeza de que deseja excluir o modelo '{{modelName}}'?",
+ "delete-model-text": "Atenção: após a confirmação, o modelo e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-models-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 modelo} other {# modelos} }?",
+ "delete-models-text": "Atenção: após a confirmação, todos os modelos selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
+ "ai-providers": {
+ "openai": "OpenAI",
+ "azure-openai": "Azure OpenAI",
+ "google-ai-gemini": "Google AI Gemini",
+ "google-vertex-ai-gemini": "Google Vertex AI Gemini",
+ "mistral-ai": "Mistral AI",
+ "anthropic": "Anthropic",
+ "amazon-bedrock": "Amazon Bedrock",
+ "github-models": "GitHub Models",
+ "ollama": "Ollama"
+ },
+ "name-required": "O nome é obrigatório.",
+ "name-max-length": "O nome deve ter 255 caracteres ou menos.",
+ "provider": "Provedor",
+ "api-key": "Chave de API",
+ "api-key-required": "A chave de API é obrigatória.",
+ "api-key-open-ai-required": "A chave de API é obrigatória ao usar a API oficial do OpenAI.",
+ "project-id": "ID do projeto",
+ "project-id-required": "O ID do projeto é obrigatório",
+ "location": "Localização",
+ "location-required": "A localização é obrigatória.",
+ "service-account-key-file": "Arquivo de chave da conta de serviço",
+ "service-account-key-file-required": "O arquivo de chave da conta de serviço é obrigatório.",
+ "no-file": "Nenhum arquivo selecionado.",
+ "drop-file": "Solte um arquivo ou clique para selecionar um arquivo para upload.",
+ "personal-access-token": "Token de acesso pessoal",
+ "personal-access-token-required": "O token de acesso pessoal é obrigatório.",
+ "configuration": "Configuração",
+ "model-id": "ID do modelo",
+ "model-id-required": "O ID do modelo é obrigatório.",
+ "deployment-name": "Nome do deployment",
+ "deployment-name-required": "O nome do deployment é obrigatório",
+ "set": "Definir",
+ "region": "Região",
+ "region-required": "A região é obrigatória.",
+ "access-key-id": "ID da chave de acesso",
+ "access-key-id-required": "O ID da chave de acesso é obrigatório.",
+ "secret-access-key": "Chave de acesso secreta",
+ "secret-access-key-required": "A chave de acesso secreta é obrigatória.",
+ "temperature": "Temperatura",
+ "temperature-hint": "Ajusta o nível de aleatoriedade na saída do modelo. Valores mais altos aumentam a aleatoriedade, enquanto valores mais baixos a diminuem.",
+ "temperature-min": "Deve ser 0 ou maior.",
+ "top-p": "Top P",
+ "top-p-hint": "Cria um conjunto dos tokens mais prováveis para o modelo escolher. Valores mais altos criam um conjunto maior e mais diversificado, enquanto valores mais baixos criam um conjunto menor.",
+ "top-p-min-max": "Deve ser maior que 0 e até 1.",
+ "top-k": "Top K",
+ "top-k-hint": "Restringe as escolhas do modelo a um conjunto fixo dos \"K\" tokens mais prováveis.",
+ "top-k-min": "Deve ser 0 ou maior.",
+ "presence-penalty": "Penalidade de presença",
+ "presence-penalty-hint": "Aplica uma penalidade fixa à probabilidade de um token se ele já apareceu no texto.",
+ "frequency-penalty": "Penalidade de frequência",
+ "frequency-penalty-hint": "Aplica uma penalidade à probabilidade de um token que aumenta com base na sua frequência no texto.",
+ "max-output-tokens": "Máximo de tokens de saída",
+ "max-output-tokens-hint": "Define o número máximo de tokens que o \nmodelo pode gerar em uma única resposta.",
+ "context-length": "Comprimento do contexto",
+ "context-length-hint": "Define o tamanho da janela de contexto em tokens. Este valor define o limite total de memória para o modelo, incluindo tanto a entrada do usuário quanto a resposta gerada.",
+ "endpoint": "Endpoint",
+ "endpoint-required": "O Endpoint é obrigatório.",
+ "baseurl": "URL base",
+ "baseurl-required": "A URL base é obrigatória.",
+ "service-version": "Versão do serviço",
+ "check-connectivity": "Verificar conectividade",
+ "check-connectivity-success": "A solicitação de teste foi bem-sucedida",
+ "check-connectivity-failed": "A solicitação de teste falhou",
+ "no-model-matching": "Nenhum modelo correspondente a '{{entity}}' foi encontrado.",
+ "model-required": "O modelo é obrigatório.",
+ "no-model-text": "Nenhum modelo encontrado.",
+ "authentication": "Autenticação",
+ "authentication-basic-hint": "Usa autenticação HTTP Basic padrão. O nome de usuário e a senha serão combinados, codificados em Base64 e enviados em um cabeçalho \"Authorization\" a cada solicitação ao servidor Ollama.",
+ "authentication-token-hint": "Usa autenticação por token Bearer. O token fornecido será enviado diretamente em um cabeçalho \"Authorization\" a cada solicitação ao servidor Ollama.",
+ "authentication-type": {
+ "none": "Nenhuma",
+ "basic": "Basic",
+ "token": "Token"
+ },
+ "username": "Nome de usuário",
+ "username-required": "O nome de usuário é obrigatório.",
+ "password": "Senha",
+ "password-required": "A senha é obrigatória.",
+ "token": "Token",
+ "token-required": "O token é obrigatório."
},
"confirm-on-exit": {
- "message": "Existem alterações sem salvar. Tem certeza de que deseja sair desta página?",
- "html-message": "Existem alterações sem salvar.
Tem certeza de que deseja sair desta página?",
- "title": "Alterações sem salvar"
+ "message": "Há alterações não salvas. Tem certeza de que deseja sair desta página?",
+ "html-message": "Há alterações não salvas.
Tem certeza de que deseja sair desta página?",
+ "title": "Alterações não salvas"
},
"contact": {
"country": "País",
+ "country-required": "O país é obrigatório.",
+ "country-object-required": "Selecione um país válido da lista.",
"city": "Cidade",
- "state": "Estado",
+ "state": "Estado / Província",
"postal-code": "CEP / Código postal",
- "postal-code-invalid": "Formato de código postal / CEP inválido.",
+ "postal-code-invalid": "Formato de CEP / Código postal inválido.",
"address": "Endereço",
"address2": "Endereço 2",
"phone": "Telefone",
- "email": "E-mail",
- "no-address": "Em endereço"
+ "email": "Email",
+ "no-address": "Sem endereço",
+ "no-country-found": "Nenhum país encontrado.",
+ "no-country-matching": "Nenhum país correspondente a '{{country}}' foi encontrado.",
+ "state-max-length": "O comprimento do estado deve ser menor que 256",
+ "phone-max-length": "O número de telefone deve ter menos de 256 caracteres",
+ "city-max-length": "A cidade especificada deve ter menos de 256 caracteres"
},
"common": {
+ "name": "Nome",
+ "type": "Tipo",
+ "general": "Geral",
"username": "Nome de usuário",
"password": "Senha",
+ "data": "Dados",
+ "timestamp": "Timestamp",
"enter-username": "Inserir nome de usuário",
"enter-password": "Inserir senha",
"enter-search": "Inserir pesquisa",
"created-time": "Hora de criação",
- "loading": "Carregando..."
+ "disabled": "Desativado",
+ "loading": "Carregando...",
+ "proceed": "Prosseguir",
+ "open-details-page": "Abrir página de detalhes",
+ "not-found": "Não encontrado",
+ "value": "Valor",
+ "documentation": "Documentação",
+ "time-left": "{{time}} restante",
+ "output": "Saída",
+ "sort-asc": "Crescente",
+ "sort-desc": "Decrescente",
+ "suffix": {
+ "s": "s",
+ "ms": "ms"
+ },
+ "hint": {
+ "name-required": "O nome é obrigatório.",
+ "name-pattern": "O nome é inválido.",
+ "name-max-length": "O nome deve ter menos de 256 caracteres.",
+ "title-required": "O título é obrigatório.",
+ "title-pattern": "O título é inválido.",
+ "title-max-length": "O título deve ter menos de 256 caracteres.",
+ "key-required": "A chave é obrigatória.",
+ "key-pattern": "A chave é inválida.",
+ "key-max-length": "A chave deve ter menos de 256 caracteres."
+ },
+ "required-fields": "Campos obrigatórios ausentes"
},
"content-type": {
"json": "Json",
"text": "Texto",
"binary": "Binário (Base64)"
},
+ "color": {
+ "color": "Cor"
+ },
"customer": {
"customer": "Cliente",
"customers": "Clientes",
"management": "Gerenciamento de clientes",
- "dashboard": "Dashboard de clientes",
- "dashboards": "Dashboards de clientes",
+ "dashboard": "Dashboard do cliente",
+ "dashboards": "Dashboards do cliente",
"devices": "Dispositivos do cliente",
- "entity-views": "Exibições de entidades do cliente",
+ "entity-views": "Visualizações de entidade do cliente",
"assets": "Ativos do cliente",
"public-dashboards": "Dashboards públicos",
"public-devices": "Dispositivos públicos",
"public-assets": "Ativos públicos",
- "public-entity-views": "Exibições de entidades públicas",
+ "public-entity-views": "Visualizações de entidade públicas",
"add": "Adicionar cliente",
"delete": "Excluir cliente",
"manage-customer-users": "Gerenciar usuários do cliente",
@@ -429,446 +1744,1467 @@
"manage-public-devices": "Gerenciar dispositivos públicos",
"manage-public-dashboards": "Gerenciar dashboards públicos",
"manage-customer-assets": "Gerenciar ativos do cliente",
+ "manage-customer-edges": "Gerenciar edges do cliente",
"manage-public-assets": "Gerenciar ativos públicos",
"add-customer-text": "Adicionar novo cliente",
"no-customers-text": "Nenhum cliente encontrado",
"customer-details": "Detalhes do cliente",
- "delete-customer-title": "Tem certeza de que deseja excluir o ativo cliente '{{customerTitle}}'?",
- "delete-customer-text": "Cuidado, após confirmar, não será possível recuperar o cliente e nenhum dado associado.",
- "delete-customers-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 customer} other {# customers} }?",
- "delete-customers-action-title": "Excluir { count, plural, =1 {1 customer} other {# customers} }",
- "delete-customers-text": "Cuidado, após confirmar, todos os clientes selecionados serão removidos e não será possível recuperar nenhum dado associado.",
+ "delete-customer-title": "Tem certeza de que deseja excluir o cliente '{{customerTitle}}'?",
+ "delete-customer-text": "Cuidado, após a confirmação o cliente e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-customers-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 cliente} other {# clientes} }?",
+ "delete-customers-action-title": "Excluir { count, plural, =1 {1 cliente} other {# clientes} }",
+ "delete-customers-text": "Cuidado, após a confirmação todos os clientes selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
"manage-users": "Gerenciar usuários",
"manage-assets": "Gerenciar ativos",
"manage-devices": "Gerenciar dispositivos",
"manage-dashboards": "Gerenciar dashboards",
"title": "Título",
"title-required": "O título é obrigatório.",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
"description": "Descrição",
"details": "Detalhes",
"events": "Eventos",
- "copyId": "Copiar ID de cliente",
+ "copyId": "Copiar ID do cliente",
"idCopiedMessage": "O ID do cliente foi copiado para a área de transferência",
"select-customer": "Selecionar cliente",
- "no-customers-matching": "Nenhum cliente encontrado que coincida com '{{entity}}'.",
- "customer-required": "O cliente é obrigatório",
- "select-default-customer": "Selecionar cliente predefinido",
- "default-customer": "Cliente predefinido",
- "default-customer-required": "O cliente predefinido é necessário para depurar o dashboard no nível de locatário",
+ "no-customers-matching": "Nenhum cliente correspondente a '{{entity}}' foi encontrado.",
+ "customer-required": "O cliente é obrigatório.",
+ "select-default-customer": "Selecionar cliente padrão",
+ "default-customer": "Cliente padrão",
+ "default-customer-required": "O cliente padrão é obrigatório para depurar o dashboard no nível do Tenant",
"search": "Pesquisar clientes",
- "selected-customers": "{ count, plural, =1 {1 customer} other {# customers} } selecionado(s)"
+ "selected-customers": "{ count, plural, =1 {1 cliente} other {# clientes} } selecionado(s)",
+ "edges": "Instâncias de edge do cliente",
+ "manage-edges": "Gerenciar edges"
+ },
+ "css-size": {
+ "size-value-required": "O valor de tamanho é obrigatório",
+ "invalid-size-value": "Valor de tamanho inválido"
+ },
+ "date": {
+ "last-update-n-ago": "Última atualização N atrás",
+ "last-update-n-ago-text": "Última atualização {{ agoText }}",
+ "custom-date": "Data personalizada",
+ "format": "Formato",
+ "preview": "Visualização",
+ "auto": "Automático",
+ "time-granularity-formats": "Formatos de granularidade de tempo",
+ "unit-year": "Anos",
+ "unit-month": "Meses",
+ "unit-day": "Dias",
+ "unit-hour": "Horas",
+ "unit-minute": "Minutos",
+ "unit-second": "Segundos",
+ "unit-millisecond": "Milissegundos"
},
"datetime": {
- "date-from": "Data de",
- "time-from": "Hora de",
- "date-to": "Data até",
- "time-to": "Hora até"
+ "date-from": "Data de início",
+ "time-from": "Hora de início",
+ "date-to": "Data de término",
+ "time-to": "Hora de término",
+ "from": "De",
+ "to": "Até"
},
"dashboard": {
"dashboard": "Dashboard",
"dashboards": "Dashboards",
"management": "Gerenciamento de dashboards",
- "view-dashboards": "Visualizar dashboards",
+ "view-dashboards": "Visualizar Dashboards",
"add": "Adicionar dashboard",
- "assign-dashboard-to-customer": "Atribuir dashboard(s) a cliente",
+ "assign-dashboard-to-customer": "Atribuir Dashboard(s) ao Cliente",
"assign-dashboard-to-customer-text": "Selecione os dashboards a serem atribuídos ao cliente",
- "assign-to-customer-text": "Selecione o cliente para atribuir o(s) dashboard(s)",
- "assign-to-customer": "Atribuir a cliente",
- "unassign-from-customer": "Remover atribuição a cliente",
- "make-public": "Tornar dashboards público",
- "make-private": "Tornar dashboards privado",
+ "assign-to-customer-text": "Selecione o cliente ao qual atribuir o(s) dashboard(s)",
+ "assign-to-customer": "Atribuir ao cliente",
+ "unassign-from-customer": "Cancelar atribuição ao cliente",
+ "make-public": "Tornar dashboard público",
+ "make-private": "Tornar dashboard privado",
"manage-assigned-customers": "Gerenciar clientes atribuídos",
"assigned-customers": "Clientes atribuídos",
- "assign-to-customers": "Atribuir Dashboard(s) a Clientes",
- "assign-to-customers-text": "Selecione os clientes para atribuir o(s) dashboard(s)",
- "unassign-from-customers": "Remover Atribuição de Dashboard(s) a Clientes",
- "unassign-from-customers-text": "Selecione os clientes para remover a atribuição do(s) dashboard(s)",
+ "assign-to-customers": "Atribuir Dashboard(s) aos Clientes",
+ "assign-to-customers-text": "Selecione os clientes aos quais atribuir o(s) dashboard(s)",
+ "unassign-from-customers": "Cancelar atribuição de Dashboard(s) dos Clientes",
+ "unassign-from-customers-text": "Selecione os clientes para cancelar a atribuição do(s) dashboard(s)",
"no-dashboards-text": "Nenhum dashboard encontrado",
- "no-widgets": "Nenhum widgets configurado",
+ "no-widgets": "Nenhum widget configurado",
"add-widget": "Adicionar novo widget",
+ "add-widget-button-text": "Adicionar widget",
"title": "Título",
+ "image": "Imagem do dashboard",
+ "mobile-app-settings": "Configurações do aplicativo móvel",
+ "mobile-order": "Ordem do dashboard no aplicativo móvel",
+ "mobile-hide": "Ocultar dashboard no aplicativo móvel",
+ "update-image": "Atualizar imagem do dashboard",
+ "update-new-version": "Carregar nova versão",
+ "upload-file-to-update": "Carregar arquivo para atualizar",
+ "take-screenshot": "Tirar captura de tela",
"select-widget-title": "Selecionar widget",
- "select-widget-subtitle": "Lista de tipos de widget disponíveis",
+ "select-widget-value": "{{title}}: selecionar widget",
+ "select-widget-subtitle": "Lista de tipos de widgets disponíveis",
"delete": "Excluir dashboard",
"title-required": "O título é obrigatório.",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
"description": "Descrição",
"details": "Detalhes",
"dashboard-details": "Detalhes do dashboard",
"add-dashboard-text": "Adicionar novo dashboard",
"assign-dashboards": "Atribuir dashboards",
"assign-new-dashboard": "Atribuir novo dashboard",
- "assign-dashboards-text": "Atribuir { count, plural, =1 {1 dashboard} other {# dashboards} } a clientes",
- "unassign-dashboards-action-text": "Remover atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} } a clientes",
+ "assign-dashboards-text": "Atribuir { count, plural, =1 {1 dashboard} other {# dashboards} } aos clientes",
+ "unassign-dashboards-action-text": "Cancelar atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} } dos clientes",
"delete-dashboards": "Excluir dashboards",
- "unassign-dashboards": "Remover atribuição de dashboards",
- "unassign-dashboards-action-title": "Remover atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} } a cliente",
+ "unassign-dashboards": "Cancelar atribuição de dashboards",
+ "unassign-dashboards-action-title": "Cancelar atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} } do cliente",
"delete-dashboard-title": "Tem certeza de que deseja excluir o dashboard '{{dashboardTitle}}'?",
- "delete-dashboard-text": "Cuidado, após confirmar, não será possível recuperar o dashboard e nenhum dado associado.",
+ "delete-dashboard-text": "Cuidado, após a confirmação o dashboard e todos os dados relacionados se tornarão irrecuperáveis.",
"delete-dashboards-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 dashboard} other {# dashboards} }?",
"delete-dashboards-action-title": "Excluir { count, plural, =1 {1 dashboard} other {# dashboards} }",
- "delete-dashboards-text": "Cuidado, após confirmar, todos os dashboards selecionados serão removidos e não será possível recuperar nenhum dado associado.",
- "unassign-dashboard-title": "Tem certeza de que deseja remover a atribuição do dashboard '{{dashboardTitle}}'?",
- "unassign-dashboard-text": "Após confirmar, a atribuição do dashboard será removida e ele não poderá ser acessado pelo cliente.",
- "unassign-dashboard": "Remover atribuição de dashboard",
- "unassign-dashboards-title": "Tem certeza de que deseja remover a atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} }?",
- "unassign-dashboards-text": "Após confirmar, a atribuição de todos os dashboards selecionados será removida e eles não poderão ser acessados pelo cliente.",
- "public-dashboard-title": "Agora o dashboard é público",
- "public-dashboard-text": "Agora o dashboard {{dashboardTitle}} é público e pode ser acessado pelo próximo link público:",
- "public-dashboard-notice": "Observação: Não se esqueça de tornar dispositivos relacionados públicos para poder acessar seus dados.",
+ "delete-dashboards-text": "Cuidado, após a confirmação todos os dashboards selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
+ "unassign-dashboard-title": "Tem certeza de que deseja cancelar a atribuição do dashboard '{{dashboardTitle}}'?",
+ "unassign-dashboard-text": "Após a confirmação o dashboard terá sua atribuição cancelada e não estará mais acessível pelo cliente.",
+ "unassign-dashboard": "Cancelar atribuição do dashboard",
+ "unassign-dashboards-title": "Tem certeza de que deseja cancelar a atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} }?",
+ "unassign-dashboards-text": "Após a confirmação todos os dashboards selecionados terão suas atribuições canceladas e não estarão mais acessíveis pelo cliente.",
+ "public-dashboard-title": "O dashboard agora é público",
+ "public-dashboard-text": "Seu dashboard {{dashboardTitle}} agora é público e acessível via link público:",
+ "public-dashboard-notice": "Observação: Não se esqueça de tornar os dispositivos relacionados públicos para acessar seus dados.",
"make-private-dashboard-title": "Tem certeza de que deseja tornar o dashboard '{{dashboardTitle}}' privado?",
- "make-private-dashboard-text": "Após confirmar, o dashboard e todos os dados associados a ele se tornarão privados e não poderão ser acessados por outros.",
- "make-private-dashboard": "Tornar dashboards privado",
- "socialshare-text": "'{{dashboardTitle}}' da plataforma ThingsBoard",
- "socialshare-title": "'{{dashboardTitle}}' da plataforma ThingsBoard",
+ "make-private-dashboard-text": "Após a confirmação o dashboard será tornado privado e não estará mais acessível por outros.",
+ "make-private-dashboard": "Tornar dashboard privado",
+ "socialshare-text": "'{{dashboardTitle}}' desenvolvido com ThingsBoard",
+ "socialshare-title": "'{{dashboardTitle}}' desenvolvido com ThingsBoard",
"select-dashboard": "Selecionar dashboard",
- "no-dashboards-matching": "Nenhum dashboard encontrado que coincida com '{{entity}}'.",
+ "no-dashboards-matching": "Nenhum dashboard correspondente a '{{entity}}' foi encontrado.",
"dashboard-required": "O dashboard é obrigatório.",
"select-existing": "Selecionar dashboard existente",
"create-new": "Criar novo dashboard",
- "new-dashboard-title": "Novo título de dashboard",
+ "new-dashboard-title": "Título do novo dashboard",
"open-dashboard": "Abrir dashboard",
"set-background": "Definir plano de fundo",
"background-color": "Cor de fundo",
- "background-image": "Imagem de fundo",
- "background-size-mode": "Modo de tamanho de fundo",
+ "background-image": "Imagem do plano de fundo",
+ "background-size-mode": "Modo de tamanho do plano de fundo",
"no-image": "Nenhuma imagem selecionada",
+ "empty-image": "Sem imagem",
"drop-image": "Solte uma imagem ou clique para selecionar um arquivo para carregar.",
+ "maximum-upload-file-size": "Tamanho máximo do arquivo para upload: {{ size }}",
+ "cannot-upload-file": "Não é possível carregar o arquivo",
"settings": "Configurações",
- "columns-count": "Contagem de colunas",
- "columns-count-required": "A contagem de colunas é obrigatória.",
- "min-columns-count-message": "Somente é permitida uma contagem de no mínimo 10 colunas.",
- "max-columns-count-message": "Somente é permitida uma contagem de no máximo 1000 colunas.",
+ "move-all-widgets": "Mover todos os widgets",
+ "move-by": "Mover por",
+ "cols": "colunas",
+ "rows": "linhas",
+ "layout": "Layout",
+ "layout-type-default": "Padrão",
+ "layout-type-scada": "SCADA",
+ "layout-type-divider": "Divisor",
+ "layout-settings-type": "Configurações de layout: ponto de interrupção {{ type }}",
+ "columns-count": "Quantidade de colunas",
+ "columns-count-required": "A quantidade de colunas é obrigatória.",
+ "min-columns-count-message": "A quantidade mínima permitida de colunas é 10.",
+ "max-columns-count-message": "A quantidade máxima permitida de colunas é 1000.",
+ "min-layout-width": "Largura mínima do layout",
+ "columns-suffix": "colunas",
"widgets-margins": "Margem entre widgets",
"margin-required": "O valor da margem é obrigatório.",
- "min-margin-message": "Somente 0 é permitido como valor mínimo de margem.",
- "max-margin-message": "Somente 50 é permitido como valor máximo de margem.",
+ "min-margin-message": "O valor mínimo permitido para a margem é 0.",
+ "max-margin-message": "O valor máximo permitido para a margem é 50.",
"horizontal-margin": "Margem horizontal",
"horizontal-margin-required": "O valor da margem horizontal é obrigatório.",
- "min-horizontal-margin-message": "Somente 0 é permitido como valor mínimo de margem horizontal.",
- "max-horizontal-margin-message": "Somente 50 é permitido como valor máximo de margem horizontal.",
+ "min-horizontal-margin-message": "O valor mínimo permitido para a margem horizontal é 0.",
+ "max-horizontal-margin-message": "O valor máximo permitido para a margem horizontal é 50.",
"vertical-margin": "Margem vertical",
"vertical-margin-required": "O valor da margem vertical é obrigatório.",
- "min-vertical-margin-message": "Somente 0 é permitido como valor mínimo de margem vertical.",
- "max-vertical-margin-message": "Somente 50 é permitido como valor máximo de margem vertical.",
- "autofill-height": "Altura do layout de preenchimento automático",
- "mobile-layout": "Configuração de layout móvel",
- "mobile-row-height": "Altura de linha móvel, px",
- "mobile-row-height-required": "O valor da altura de linha móvel é obrigatório.",
- "min-mobile-row-height-message": "Somente 5 pixels é permitido como valor mínimo da altura de linha móvel.",
- "max-mobile-row-height-message": "Somente 200 pixels é permitido como valor máximo da altura de linha móvel.",
- "display-title": "Exibir título de dashboard",
- "toolbar-always-open": "Manter barra de ferramentas aberto",
+ "min-vertical-margin-message": "O valor mínimo permitido para a margem vertical é 0.",
+ "max-vertical-margin-message": "O valor máximo permitido para a margem vertical é 50.",
+ "apply-outer-margin": "Aplicar margem às bordas do layout",
+ "autofill-height": "Preencher automaticamente a altura do layout",
+ "mobile-layout": "Configurações de layout móvel",
+ "mobile-row-height": "Altura da linha no layout móvel",
+ "mobile-row-height-required": "O valor da altura da linha no layout móvel é obrigatório.",
+ "min-mobile-row-height-message": "O valor mínimo permitido para a altura da linha no layout móvel é 5 pixels.",
+ "max-mobile-row-height-message": "O valor máximo permitido para a altura da linha no layout móvel é 200 pixels.",
+ "row-height": "Altura da linha",
+ "row-height-required": "O valor da altura da linha é obrigatório.",
+ "min-row-height-message": "O valor mínimo permitido para a altura da linha é 5 pixels.",
+ "max-row-height-message": "O valor máximo permitido para a altura da linha é 200 pixels.",
+ "display-first-in-mobile-view": "Exibir primeiro na visualização móvel",
+ "title-settings": "Configurações do título",
+ "display-title": "Exibir título do dashboard",
"title-color": "Cor do título",
+ "toolbar-settings": "Configurações da barra de ferramentas",
+ "hide-toolbar": "Ocultar barra de ferramentas",
+ "toolbar-always-open": "Manter barra de ferramentas aberta",
"display-dashboards-selection": "Exibir seleção de dashboards",
"display-entities-selection": "Exibir seleção de entidades",
"display-filters": "Exibir filtros",
- "display-dashboard-timewindow": "Exibir timewindow",
+ "display-dashboard-timewindow": "Exibir janela de tempo",
"display-dashboard-export": "Exibir exportação",
+ "display-update-dashboard-image": "Exibir atualização de imagem do dashboard",
+ "dashboard-logo-settings": "Configurações do logotipo do dashboard",
+ "display-dashboard-logo": "Exibir logotipo no modo de tela cheia do dashboard",
+ "dashboard-logo-image": "Imagem do logotipo do dashboard",
+ "advanced-settings": "Configurações avançadas",
+ "dashboard-css": "CSS do dashboard",
"import": "Importar dashboard",
"export": "Exportar dashboard",
- "export-failed-error": "Impossível exportar dashboard: {{error}}",
+ "export-failed-error": "Não foi possível exportar o dashboard: {{error}}",
+ "export-prompt": "Incorporar imagens e recursos do dashboard",
"create-new-dashboard": "Criar novo dashboard",
- "dashboard-file": "Arquivo de dashboard",
- "invalid-dashboard-file-error": "Impossível importar dashboard: Estrutura de dados do dashboard inválida",
- "dashboard-import-missing-aliases-title": "Configurar aliases usados por dashboard importado",
+ "dashboard-file": "Arquivo do dashboard",
+ "invalid-dashboard-file-error": "Não foi possível importar o dashboard: Estrutura de dados do dashboard inválida.",
+ "dashboard-import-missing-aliases-title": "Configurar aliases usados pelo dashboard importado",
"create-new-widget": "Criar novo widget",
"import-widget": "Importar widget",
- "widget-file": "Arquivo de widget",
- "invalid-widget-file-error": "Impossível importar widget: Estrutura de dados do widget inválida.",
- "widget-import-missing-aliases-title": "Configurar aliases usados por widget importado",
- "open-toolbar": "Abrir barra de ferramentas de dashboard",
+ "widget-file": "Arquivo do widget",
+ "invalid-widget-file-error": "Não foi possível importar o widget: Estrutura de dados do widget inválida.",
+ "widget-import-missing-aliases-title": "Configurar aliases usados pelo widget importado",
+ "open-toolbar": "Abrir barra de ferramentas do dashboard",
"close-toolbar": "Fechar barra de ferramentas",
"configuration-error": "Erro de configuração",
- "alias-resolution-error-title": "Erro de configuração de aliases de dashboard",
- "invalid-aliases-config": "Impossível encontrar dispositivos que coincidam com algum dos filtros de aliases.
Para resolver esta questão, encontre em contato com seu administrador.",
+ "alias-resolution-error-title": "Erro de configuração de aliases do dashboard",
+ "invalid-aliases-config": "Não foi possível encontrar dispositivos correspondentes a alguns dos filtros de aliases.
Entre em contato com o administrador para resolver este problema.",
"select-devices": "Selecionar dispositivos",
"assignedToCustomer": "Atribuído ao cliente",
"assignedToCustomers": "Atribuído aos clientes",
"public": "Público",
+ "copyId": "Copiar ID do dashboard",
+ "idCopiedMessage": "O ID do dashboard foi copiado para a área de transferência",
"public-link": "Link público",
"copy-public-link": "Copiar link público",
- "public-link-copied-message": "O link público da dashboard foi copiado para a área de transferência",
- "manage-states": "Gerenciar estados de dashboards",
- "states": "Estados de dashboards",
- "search-states": "Pesquisar estados de dashboards",
- "selected-states": "{ count, plural, =1 {1 dashboard state} other {# dashboard states} } selecionado(s)",
- "edit-state": "Editar estado de dashboard",
- "delete-state": "Excluir estado de dashboard",
- "add-state": "Adicionar estado de dashboard",
+ "public-link-copied-message": "O link público do dashboard foi copiado para a área de transferência",
+ "manage-states": "Gerenciar estados do dashboard",
+ "states": "Estados do dashboard",
+ "states-short": "Estados",
+ "search-states": "Pesquisar estados do dashboard",
+ "selected-states": "{ count, plural, =1 {1 estado do dashboard} other {# estados do dashboard} } selecionado(s)",
+ "edit-state": "Editar estado do dashboard",
+ "delete-state": "Excluir estado do dashboard",
+ "add-state": "Adicionar estado do dashboard",
"no-states-text": "Nenhum estado encontrado",
"state": "Estado do dashboard",
"state-name": "Nome",
"state-name-required": "O nome do estado do dashboard é obrigatório.",
"state-id": "ID do estado",
"state-id-required": "O ID do estado do dashboard é obrigatório.",
- "state-id-exists": "Já existe um estado de dashboard com o mesmo ID.",
+ "state-id-exists": "Já existe um estado do dashboard com o mesmo ID.",
"is-root-state": "Estado raiz",
- "delete-state-title": "Excluir estado de dashboard",
- "delete-state-text": "Tem certeza de que deseja excluir o estado de dashboard com o nome '{{stateName}}'?",
+ "delete-state-title": "Excluir estado do dashboard",
+ "delete-state-text": "Tem certeza de que deseja excluir o estado do dashboard com o nome '{{stateName}}'?",
"show-details": "Mostrar detalhes",
"hide-details": "Ocultar detalhes",
- "select-state": "Selecionar estado alvo",
+ "select-state": "Selecionar estado de destino",
"state-controller": "Controlador de estado",
- "search": "Selecionar dashboards",
- "selected-dashboards": "{ count, plural, =1 {1 dashboard} other {# dashboards} } selecionado(s)"
+ "state-controller-default": "estático (obsoleto)",
+ "search": "Pesquisar dashboards",
+ "selected-dashboards": "{ count, plural, =1 {1 dashboard} other {# dashboards} } selecionado(s)",
+ "home-dashboard": "Dashboard inicial",
+ "home-dashboard-hide-toolbar": "Ocultar barra de ferramentas do dashboard inicial",
+ "unassign-dashboard-from-edge-text": "Após a confirmação o dashboard terá sua atribuição cancelada e não estará mais acessível pelo edge.",
+ "unassign-dashboards-from-edge-title": "Tem certeza de que deseja cancelar a atribuição de { count, plural, =1 {1 dashboard} other {# dashboards} }?",
+ "unassign-dashboards-from-edge-text": "Após a confirmação todos os dashboards selecionados terão suas atribuições canceladas e não estarão mais acessíveis pelo edge.",
+ "assign-dashboard-to-edge": "Atribuir Dashboard(s) ao Edge",
+ "assign-dashboard-to-edge-text": "Selecione os dashboards a serem atribuídos ao edge",
+ "non-existent-dashboard-state-error": "O estado do dashboard com ID \"{{ stateId }}\" não foi encontrado",
+ "edit-mode": "Modo de edição",
+ "duplicate-state-action": "Duplicar estado",
+ "breakpoint-value": "Ponto de interrupção ({{ value }})",
+ "breakpoints-id": {
+ "default": "Padrão",
+ "xs": "Móvel (xs)",
+ "sm": "Tablet (sm)",
+ "md": "Laptop (md)",
+ "lg": "Desktop (lg)",
+ "xl": "Desktop (xl)"
+ },
+ "view-format-type-grid": "Grade",
+ "view-format-type-list": "Lista",
+ "view-format": "Formato de visualização"
},
"datakey": {
"settings": "Configurações",
+ "general": "Geral",
"advanced": "Avançado",
- "label": "Etiqueta",
+ "key": "Chave",
+ "keys": "Chaves",
+ "label": "Rótulo",
"color": "Cor",
- "units": "Símbolo especial a ser exibido ao lado do valor",
- "decimals": "Número de dígitos após ponto de flutuação",
+ "units": "Símbolo especial para exibir ao lado do valor",
+ "decimals": "Número de dígitos após o ponto flutuante",
"data-generation-func": "Função de geração de dados",
"use-data-post-processing-func": "Usar função de pós-processamento de dados",
- "configuration": "Configuração de dados-chave",
- "timeseries": "Intervalos de tempo",
+ "configuration": "Configuração da chave de dados",
+ "timeseries": "Séries temporais",
"attributes": "Atributos",
- "entity-field": "Campo de entidade",
- "alarm": "Campos de alarmes",
- "timeseries-required": "Os intervalos de tempo de entidade são obrigatórios.",
- "timeseries-or-attributes-required": "Os intervalos de tempo/atributos de entidade são obrigatórios.",
- "alarm-fields-timeseries-or-attributes-required": "Os campos de alarmes ou intervalos de tempo/atributos de entidade são obrigatórios.",
- "maximum-timeseries-or-attributes": "No máximo { count, plural, =1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }",
- "alarm-fields-required": "Os campos de alarmes são obrigatórios.",
+ "entity-field": "Campo da entidade",
+ "alarm": "Campos de alarme",
+ "timeseries-required": "As séries temporais da entidade são obrigatórias.",
+ "timeseries-or-attributes-required": "Séries temporais/atributos da entidade são obrigatórios.",
+ "alarm-fields-timeseries-or-attributes-required": "Campos de alarme ou séries temporais/atributos da entidade são obrigatórios.",
+ "maximum-timeseries-or-attributes": "Máximo { count, plural, =1 {1 série temporal/atributo permitido.} other {# séries temporais/atributos permitidos} }",
+ "alarm-fields-required": "Os campos de alarme são obrigatórios.",
"function-types": "Tipos de função",
+ "function-type": "Tipo de função",
"function-types-required": "Os tipos de função são obrigatórios.",
- "maximum-function-types": "No máximo { count, plural, =1 {1 function type is allowed.} other {# function types are allowed} }",
- "time-description": "carimbo de data/horário do valor atual;",
+ "data-keys": "Chaves de dados",
+ "data-key": "Chave de dados",
+ "data-keys-required": "As chaves de dados são obrigatórias.",
+ "data-key-required": "A chave de dados é obrigatória.",
+ "alarm-keys": "Chaves de dados de alarme",
+ "alarm-key": "Chave de dados de alarme",
+ "alarm-key-functions": "Funções de chave de alarme",
+ "alarm-key-function": "Função de chave de alarme",
+ "latest-keys": "Chaves de dados mais recentes",
+ "latest-key": "Chave de dados mais recente",
+ "latest-key-functions": "Funções de chave mais recente",
+ "latest-key-function": "Função de chave mais recente",
+ "timeseries-keys": "Chaves de dados de séries temporais",
+ "timeseries-key": "Chave de dados de série temporal",
+ "timeseries-key-functions": "Funções de chave de séries temporais",
+ "timeseries-key-function": "Função de chave de série temporal",
+ "maximum-function-types": "Máximo { count, plural, =1 {1 tipo de função permitido.} other {# tipos de função permitidos} }",
+ "time-description": "timestamp do valor atual;",
"value-description": "o valor atual;",
"prev-value-description": "resultado da chamada de função anterior;",
- "time-prev-description": "carimbo de data/horário do valor anterior;",
- "prev-orig-value-description": "valor original anterior;"
+ "time-prev-description": "timestamp do valor anterior;",
+ "prev-orig-value-description": "valor anterior original;",
+ "aggregation": "Agregação",
+ "aggregation-type-hint-common": "Por motivos de desempenho, o cálculo de valores agregados está disponível apenas para intervalos de tempo fixos como \"dia atual\", \"mês atual\", etc., e não está disponível para intervalos de janela deslizante como 'últimos 30 minutos' ou 'últimas 24 horas'.",
+ "aggregation-type-none-hint": "Obter o valor mais recente.",
+ "aggregation-type-min-hint": "Encontrar o valor mínimo entre os pontos de dados dentro de uma janela de tempo selecionada.",
+ "aggregation-type-max-hint": "Encontrar o valor máximo entre os pontos de dados dentro de uma janela de tempo selecionada.",
+ "aggregation-type-avg-hint": "Calcular um valor médio entre os pontos de dados dentro de uma janela de tempo selecionada.",
+ "aggregation-type-sum-hint": "Somar todos os valores dos pontos de dados dentro de uma janela de tempo selecionada.",
+ "aggregation-type-count-hint": "Número total de pontos de dados dentro de uma janela de tempo selecionada.",
+ "delta-calculation": "Cálculo delta",
+ "enable-delta-calculation": "Habilitar cálculo delta",
+ "enable-delta-calculation-hint": "Quando habilitado, o valor da chave de dados é calculado com base nos valores agregados para uma janela de tempo selecionada e um período de comparação especificado. Por motivos de desempenho, o cálculo delta está disponível apenas para janelas de tempo históricas e não para valores em tempo real. Por exemplo, é possível calcular o delta entre o consumo de energia de ontem comparado ao consumo de energia do dia anterior.",
+ "delta-calculation-result": "Resultado do cálculo delta",
+ "delta-calculation-result-previous-value": "Valor anterior",
+ "delta-calculation-result-delta-absolute": "Delta (absoluto)",
+ "delta-calculation-result-delta-percent": "Delta (percentual)",
+ "source": "Fonte",
+ "latest": "Mais recente",
+ "latest-value": "Valor mais recente",
+ "delta": "delta",
+ "percent": "percentual",
+ "absolute": "absoluto"
},
"datasource": {
"type": "Tipo de fonte de dados",
"name": "Nome",
- "add-datasource-prompt": "Adicione a fonte de dados"
+ "label": "Rótulo",
+ "add-datasource-prompt": "Adicione uma fonte de dados"
},
"details": {
"details": "Detalhes",
"edit-mode": "Modo de edição",
"edit-json": "Editar JSON",
- "toggle-edit-mode": "Alternar o modo de edição"
+ "toggle-edit-mode": "Alternar modo de edição"
},
"device": {
"device": "Dispositivo",
- "device-required": "O nome do dispositivo é obrigatório.",
+ "device-required": "O dispositivo é obrigatório.",
"devices": "Dispositivos",
"management": "Gerenciamento de dispositivos",
- "view-devices": "Exibir Dispositivos",
+ "view-devices": "Visualizar dispositivos",
"device-alias": "Alias do dispositivo",
+ "device-type-max-length": "O tipo de dispositivo deve ter menos de 256 caracteres",
"aliases": "Aliases de dispositivos",
"no-alias-matching": "'{{alias}}' não encontrado.",
"no-aliases-found": "Nenhum alias encontrado.",
"no-key-matching": "'{{key}}' não encontrado.",
- "no-keys-found": "Nenhuma chave encontrado.",
+ "no-keys-found": "Nenhuma chave encontrada.",
"create-new-alias": "Criar um novo!",
"create-new-key": "Criar um novo!",
- "duplicate-alias-error": "Alias '{{alias}}' duplicado encontrado.
Os aliases de dispositivos devem ser exclusivos no dashboard.",
- "configure-alias": "Configurar alias de '{{alias}}'",
- "no-devices-matching": "Nenhum dispositivo encontrado que coincida com '{{entity}}'.",
+ "duplicate-alias-error": "Alias duplicado encontrado '{{alias}}'.
Os aliases de dispositivos devem ser únicos no dashboard.",
+ "configure-alias": "Configurar alias '{{alias}}'",
+ "no-devices-matching": "Nenhum dispositivo correspondente a '{{entity}}' foi encontrado.",
"alias": "Alias",
"alias-required": "O alias do dispositivo é obrigatório.",
"remove-alias": "Remover alias do dispositivo",
"add-alias": "Adicionar alias do dispositivo",
- "name-starts-with": "O nome do dispositivo começa com",
+ "name-starts-with": "Expressão de nome do dispositivo",
+ "help-text": "Use '%' conforme necessário: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.",
"device-list": "Lista de dispositivos",
"use-device-name-filter": "Usar filtro",
"device-list-empty": "Nenhum dispositivo selecionado.",
- "device-name-filter-required": "O filtro do nome do dispositivo é obrigatório.",
- "device-name-filter-no-device-matched": "Nenhum dispositivo encontrado que comece com '{{device}}'.",
- "add": "Adicionar Dispositivo",
- "assign-to-customer": "Atribuir a cliente",
- "assign-device-to-customer": "Atribuir Dispositivo(s) a Cliente",
+ "device-name-filter-required": "O filtro de nome de dispositivo é obrigatório.",
+ "device-name-filter-no-device-matched": "Nenhum dispositivo iniciando com '{{device}}' foi encontrado.",
+ "add": "Adicionar dispositivo",
+ "assign-to-customer": "Atribuir ao cliente",
+ "assign-device-to-customer": "Atribuir dispositivo(s) ao cliente",
"assign-device-to-customer-text": "Selecione os dispositivos a serem atribuídos ao cliente",
"make-public": "Tornar dispositivo público",
"make-private": "Tornar dispositivo privado",
"no-devices-text": "Nenhum dispositivo encontrado",
- "assign-to-customer-text": "Selecione cliente para atribuir o(s) dispositivo(s)",
+ "assign-to-customer-text": "Selecione o cliente ao qual atribuir o(s) dispositivo(s)",
"device-details": "Detalhes do dispositivo",
"add-device-text": "Adicionar novo dispositivo",
"credentials": "Credenciais",
"manage-credentials": "Gerenciar credenciais",
"delete": "Excluir dispositivo",
"assign-devices": "Atribuir dispositivos",
- "assign-devices-text": "Atribuir { count, plural, =1 {1 device} other {# devices} } a cliente",
+ "assign-devices-text": "Atribuir { count, plural, =1 {1 dispositivo} other {# dispositivos} } ao cliente",
"delete-devices": "Excluir dispositivos",
- "unassign-from-customer": "Remover atribuição a cliente",
- "unassign-devices": "Remover atribuição de dispositivos",
- "unassign-devices-action-title": "Remover atribuição de { count, plural, =1 {1 device} other {# devices} } a cliente",
+ "unassign-from-customer": "Cancelar atribuição ao cliente",
+ "unassign-devices": "Cancelar atribuição de dispositivos",
+ "unassign-devices-action-title": "Cancelar atribuição de { count, plural, =1 {1 dispositivo} other {# dispositivos} } ao cliente",
+ "unassign-device-from-edge-title": "Tem certeza de que deseja cancelar a atribuição do dispositivo '{{deviceName}}'?",
+ "unassign-device-from-edge-text": "Após a confirmação, a atribuição do dispositivo será cancelada e ele não estará acessível pelo edge.",
+ "unassign-devices-from-edge": "Cancelar atribuição de dispositivos do edge",
"assign-new-device": "Atribuir novo dispositivo",
"make-public-device-title": "Tem certeza de que deseja tornar o dispositivo '{{deviceName}}' público?",
- "make-public-device-text": "Após confirmar, o dispositivo e todos os dados associados a ele se tornarão públicos e poderão ser acessados por outros.",
+ "make-public-device-text": "Após a confirmação, o dispositivo e todos os seus dados serão tornados públicos e acessíveis por outros.",
"make-private-device-title": "Tem certeza de que deseja tornar o dispositivo '{{deviceName}}' privado?",
- "make-private-device-text": "Após confirmar, o dispositivo e todos os dados associados a ele se tornarão privados e não poderão ser acessados por outros.",
- "view-credentials": "Exibir credenciais",
+ "make-private-device-text": "Após a confirmação, o dispositivo e todos os seus dados serão tornados privados e não estarão acessíveis por outros.",
+ "view-credentials": "Visualizar credenciais",
"delete-device-title": "Tem certeza de que deseja excluir o dispositivo '{{deviceName}}'?",
- "delete-device-text": "Cuidado, após confirmar, não será possível recuperar o dispositivo e nenhum dado associado.",
- "delete-devices-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 device} other {# devices} }?",
- "delete-devices-action-title": "Excluir { count, plural, =1 {1 device} other {# devices} }",
- "delete-devices-text": "Cuidado, após confirmar, todos os dispositivos selecionados serão removidos e não será possível recuperar nenhum dado associado.",
- "unassign-device-title": "Tem certeza de que deseja remover a atribuição do dispositivo '{{deviceName}}'?",
- "unassign-device-text": "Após confirmar, a atribuição do dispositivo será removida e ele não poderá ser acessado pelo cliente.",
- "unassign-device": "Remover atribuição de dispositivo",
- "unassign-devices-title": "Tem certeza de que deseja remover a atribuição de { count, plural, =1 {1 device} other {# devices} }?",
- "unassign-devices-text": "Após confirmar, a atribuição de todos os dispositivos selecionados será removida e eles não poderão ser acessados pelo cliente.",
+ "delete-device-text": "Atenção: após a confirmação, o dispositivo e todos os dados relacionados serão irrecuperáveis.",
+ "delete-devices-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 dispositivo} other {# dispositivos} }?",
+ "delete-devices-action-title": "Excluir { count, plural, =1 {1 dispositivo} other {# dispositivos} }",
+ "delete-devices-text": "Atenção: após a confirmação, todos os dispositivos selecionados serão removidos e todos os dados relacionados serão irrecuperáveis.",
+ "unassign-device-title": "Tem certeza de que deseja cancelar a atribuição do dispositivo '{{deviceName}}'?",
+ "unassign-device-text": "Após a confirmação, a atribuição do dispositivo será cancelada e ele não estará acessível pelo cliente.",
+ "unassign-device": "Cancelar atribuição do dispositivo",
+ "unassign-devices-title": "Tem certeza de que deseja cancelar a atribuição de { count, plural, =1 {1 dispositivo} other {# dispositivos} }?",
+ "unassign-devices-text": "Após a confirmação, a atribuição de todos os dispositivos selecionados será cancelada e eles não estarão acessíveis pelo cliente.",
"device-credentials": "Credenciais do dispositivo",
- "credentials-type": "Tipo de credencial",
+ "loading-device-credentials": "Carregando credenciais do dispositivo...",
+ "credentials-type": "Tipo de credenciais",
"access-token": "Token de acesso",
"access-token-required": "O token de acesso é obrigatório.",
- "access-token-invalid": "O token de acesso deve ter de 1 a 32 caracteres.",
- "secret": "Segredo",
- "secret-required": "O segredo é obrigatório.",
- "device-type": "Tipo de dispositivo",
+ "access-token-invalid": "O comprimento do token de acesso deve ser de 1 a 32 caracteres.",
+ "certificate-pem-format": "Certificado no formato PEM",
+ "certificate-pem-format-required": "O certificado é obrigatório.",
+ "copy-access-token": "Copiar token de acesso",
+ "copy-certificate": "Copiar certificado",
+ "copy-client-id": "Copiar Client ID",
+ "copy-user-name": "Copiar nome de usuário",
+ "copy-password": "Copiar senha",
+ "generate-client-id": "Gerar Client ID",
+ "generate-user-name": "Gerar nome de usuário",
+ "generate-password": "Gerar senha",
+ "generate-access-token": "Gerar token de acesso",
+ "lwm2m-security-config": {
+ "identity": "Identidade do cliente",
+ "identity-required": "A identidade do cliente é obrigatória.",
+ "identity-tooltip": "O identificador PSK é um identificador PSK arbitrário de até 128 bytes, conforme descrito no padrão [RFC7925].\nO identificador PSK DEVE ser primeiro convertido em uma string de caracteres e depois codificado em octetos usando UTF-8.",
+ "client-key": "Chave do cliente",
+ "client-key-required": "A chave do cliente é obrigatória.",
+ "client-key-tooltip-prk": "A chave pública ou id RPK deve estar no padrão [RFC7250] e codificada no formato Base64!",
+ "client-key-tooltip-psk": "A chave PSK deve estar no padrão [RFC4279] e no formato HexDec: 32, 64, 128 caracteres!",
+ "endpoint": "Nome do Endpoint do cliente",
+ "endpoint-required": "O nome do Endpoint do cliente é obrigatório.",
+ "client-public-key": "Chave pública do cliente",
+ "client-public-key-hint": "Se a chave pública do cliente estiver vazia, o certificado confiável será utilizado",
+ "client-public-key-tooltip": "A chave pública X509 deve estar no formato X509v3 codificado em DER e suportar exclusivamente o algoritmo EC, e então ser codificada no formato Base64!",
+ "mode": "Modo de configuração de segurança",
+ "client-tab": "Configuração de segurança do cliente",
+ "client-certificate": "Certificado do cliente",
+ "bootstrap-tab": "Bootstrap do cliente",
+ "bootstrap-server": "Servidor Bootstrap",
+ "lwm2m-server": "Servidor LwM2M",
+ "client-reboot": "Gatilho de atualização de registro",
+ "bootstrap-reboot": "Gatilho de Bootstrap-Request",
+ "client-publicKey-or-id": "Chave pública ou Id do cliente",
+ "client-publicKey-or-id-required": "A chave pública ou Id do cliente é obrigatória.",
+ "client-publicKey-or-id-tooltip-psk": "O identificador PSK é um identificador PSK arbitrário de até 128 bytes, conforme descrito no padrão [RFC7925].\nO identificador PSK DEVE ser primeiro convertido em uma string de caracteres e depois codificado em octetos usando UTF-8.",
+ "client-publicKey-or-id-tooltip-rpk": "A chave pública ou id RPK deve estar no padrão [RFC7250] e codificada no formato Base64!",
+ "client-publicKey-or-id-tooltip-x509": "A chave pública X509 deve estar no formato X509v3 codificado em DER e suportar exclusivamente o algoritmo EC, e então ser codificada no formato Base64",
+ "client-secret-key": "Chave secreta do cliente",
+ "client-secret-key-required": "A chave secreta do cliente é obrigatória.",
+ "client-secret-key-tooltip-psk": "A chave PSK deve estar no padrão [RFC4279] e no formato HexDec: 32, 64, 128 caracteres!",
+ "client-secret-key-tooltip-prk": "A chave secreta RPK deve estar no formato PKCS_8 (codificação DER, padrão [RFC5958]) e então ser codificada no formato Base64!",
+ "client-secret-key-tooltip-x509": "A chave secreta X509 deve estar no formato PKCS_8 (codificação DER, padrão [RFC5958]) e então ser codificada no formato Base64!"
+ },
+ "client-id": "Client ID",
+ "client-id-pattern": "Contém caractere inválido.",
+ "user-name": "Nome de usuário",
+ "user-name-required": "O nome de usuário é obrigatório.",
+ "client-id-or-user-name-necessary": "Client ID e/ou nome de usuário são necessários",
+ "password": "Senha",
+ "secret": "Secret",
+ "secret-required": "O secret é obrigatório.",
+ "device-type": "Perfil do dispositivo",
"device-type-required": "O tipo de dispositivo é obrigatório.",
"select-device-type": "Selecionar tipo de dispositivo",
- "enter-device-type": "Inserir tipo de dispositivo",
+ "enter-device-type": "Inserir perfil do dispositivo",
"any-device": "Qualquer dispositivo",
- "no-device-types-matching": "Nenhum tipo de dispositivo encontrado que coincida com '{{entitySubtype}}'.",
- "device-type-list-empty": "Nenhum tipo de dispositivo selecionado.",
- "device-types": "Tipos de dispositivos",
+ "no-device-types-matching": "Nenhum perfil de dispositivo correspondente a '{{entitySubtype}}' foi encontrado.",
+ "device-type-list-empty": "Nenhum perfil de dispositivo selecionado!",
+ "device-profile-type-list-empty": "Pelo menos um perfil de dispositivo deve ser selecionado.",
+ "device-types": "Tipos de dispositivo",
"name": "Nome",
"name-required": "O nome é obrigatório.",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "label-max-length": "O rótulo deve ter menos de 256 caracteres",
"description": "Descrição",
- "label": "Etiqueta",
+ "label": "Rótulo",
"events": "Eventos",
"details": "Detalhes",
- "copyId": "Copiar ID de dispositivo",
+ "copyId": "Copiar Id do dispositivo",
"copyAccessToken": "Copiar token de acesso",
- "idCopiedMessage": "O ID do dispositivo foi copiado para a área de transferência",
- "accessTokenCopiedMessage": "O token de acesso foi copiado para a área de transferência",
+ "copy-mqtt-authentication": "Copiar credenciais MQTT",
+ "idCopiedMessage": "Id do dispositivo foi copiado para a área de transferência",
+ "accessTokenCopiedMessage": "Token de acesso do dispositivo foi copiado para a área de transferência",
+ "mqtt-authentication-copied-message": "Autenticação MQTT do dispositivo foi copiada para a área de transferência",
"assignedToCustomer": "Atribuído ao cliente",
- "unable-delete-device-alias-title": "Impossível excluir alias do dispositivo",
- "unable-delete-device-alias-text": "Não é possível excluir o alias do dispositivo '{{deviceAlias}}' porque ele é usado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
+ "unable-delete-device-alias-title": "Não é possível excluir o alias do dispositivo",
+ "unable-delete-device-alias-text": "O alias do dispositivo '{{deviceAlias}}' não pode ser excluído pois é utilizado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
"is-gateway": "É gateway",
+ "overwrite-activity-time": "Sobrescrever tempo de atividade do dispositivo conectado",
+ "device-filter-title": "Filtro de dispositivo",
+ "filter-title": "Filtro",
+ "device-state": "Estado do dispositivo",
+ "state": "Estado",
+ "any": "Qualquer",
+ "active": "Ativo",
+ "inactive": "Inativo",
"public": "Público",
"device-public": "O dispositivo é público",
"select-device": "Selecionar dispositivo",
"import": "Importar dispositivo",
"device-file": "Arquivo de dispositivo",
"search": "Pesquisar dispositivos",
- "selected-devices": "{ count, plural, =1 {1 device} other {# devices} } selecionado(s)"
+ "selected-devices": "{ count, plural, =1 {1 dispositivo} other {# dispositivos} } selecionado(s)",
+ "device-configuration": "Configuração do dispositivo",
+ "transport-configuration": "Configuração de transporte",
+ "wizard": {
+ "device-details": "Detalhes do dispositivo"
+ },
+ "unassign-devices-from-edge-title": "Tem certeza de que deseja cancelar a atribuição de { count, plural, =1 {1 dispositivo} other {# dispositivos} }?",
+ "unassign-devices-from-edge-text": "Após a confirmação, a atribuição de todos os dispositivos selecionados será cancelada e eles não estarão acessíveis pelo edge.",
+ "time": "Tempo",
+ "connectivity": {
+ "check-connectivity": "Verificar conectividade",
+ "device-created-check-connectivity": "Dispositivo criado. Vamos verificar a conectividade!",
+ "loading-check-connectivity-command": "Carregando comandos de verificação de conectividade...",
+ "use-following-instructions": "Use as instruções a seguir para enviar telemetria em nome do dispositivo usando shell",
+ "execute-following-command": "Execute o seguinte comando",
+ "install-curl-windows": "A partir do Windows 10 b17063, o cURL está disponível por padrão",
+ "install-curl-macos": "A partir do Mac OS X 10.2 6C115 (Jaguar), o cURL está disponível por padrão",
+ "install-mqtt-windows": "Use as instruções para baixar, instalar, configurar e executar o mosquitto_pub",
+ "install-coap-client": "Use as instruções para baixar, instalar, configurar e executar o coap-client",
+ "install-necessary-client-tools": "Instalar as ferramentas de cliente necessárias",
+ "mqtts-x509-command": "Use a seguinte documentação para conectar o dispositivo via MQTT com autorização X509",
+ "coaps-x509-command": "Use a seguinte documentação para conectar o dispositivo via CoAP over DTLS com autorização X509",
+ "snmp-command": "Use a seguinte documentação para conectar o dispositivo por meio do SNMP.",
+ "sparkplug-command": "Use a seguinte documentação para conectar o dispositivo por meio do MQTT Sparkplug.",
+ "lwm2m-command": "Use a seguinte documentação para conectar o dispositivo por meio do LWM2M."
+ }
+ },
+ "dynamic-form": {
+ "property": {
+ "properties": "Propriedades",
+ "property": "Propriedade",
+ "id": "Id",
+ "name": "Nome",
+ "type": "Tipo",
+ "type-text": "Texto",
+ "type-password": "Senha",
+ "type-textarea": "Área de texto",
+ "type-number": "Número",
+ "type-switch": "Chave",
+ "type-select": "Seleção",
+ "type-radios": "Botões de rádio",
+ "type-datetime": "Data/Hora",
+ "type-image": "Imagem",
+ "type-javascript": "JavaScript",
+ "type-json": "JSON",
+ "type-html": "HTML",
+ "type-css": "CSS",
+ "type-markdown": "Markdown",
+ "type-color": "Cor",
+ "type-color-settings": "Configurações de cor",
+ "type-font": "Fonte",
+ "type-units": "Unidades",
+ "type-icon": "Ícone",
+ "type-fieldset": "Conjunto de campos",
+ "type-array": "Array",
+ "type-html-section": "Seção HTML",
+ "group-title": "Título do grupo",
+ "no-properties": "Nenhuma propriedade configurada",
+ "add-property": "Adicionar propriedade",
+ "property-settings": "Configurações da propriedade",
+ "remove-property": "Remover propriedade",
+ "default-value": "Valor padrão",
+ "value-required": "Valor obrigatório",
+ "number-settings": "Configurações de número",
+ "min": "Mín",
+ "max": "Máx",
+ "step": "Passo",
+ "selected-options-limit": "Limite de opções selecionadas",
+ "advanced-ui-settings": "Configurações avançadas de interface",
+ "disable-on-property": "Desabilitar na propriedade",
+ "disable-on-property-none": "Nenhum (campo sempre habilitado)",
+ "display-condition-function": "Função de condição de exibição",
+ "sub-label": "Sub-rótulo",
+ "vertical-divider-after": "Divisor vertical após",
+ "input-field-suffix": "Sufixo do campo de entrada",
+ "property-row-classes": "Classes de linha da propriedade",
+ "property-field-classes": "Classes de campo da propriedade",
+ "not-unique-property-ids-error": "Os IDs de propriedade devem ser únicos!",
+ "enable-multiple-select": "Habilitar seleção múltipla",
+ "allow-empty-select-option": "Permitir opção vazia",
+ "select-options": "Opções de seleção",
+ "not-unique-select-option-value-error": "Os valores das opções de seleção devem ser únicos!",
+ "value": "Valor",
+ "label": "Rótulo",
+ "add-option": "Adicionar opção",
+ "no-options": "Nenhuma opção configurada",
+ "remove-option": "Remover opção",
+ "textarea-rows": "Linhas da área de texto",
+ "help-id": "Id de ajuda",
+ "buttons-direction": "Direção dos botões",
+ "direction-row": "Linha",
+ "direction-column": "Coluna",
+ "radio-button-options": "Opções de botão de rádio",
+ "datetime-type": "Tipo do campo Data/Hora",
+ "datetime-type-date": "Data",
+ "datetime-type-time": "Hora",
+ "datetime-type-datetime": "Data/Hora",
+ "enable-clear-button": "Habilitar botão de limpar",
+ "html-section-settings": "Configurações de seção HTML",
+ "html-section-classes": "Classes de seção HTML",
+ "html-section-content": "Conteúdo da seção HTML",
+ "array-item": "Item do array",
+ "item-type": "Tipo do item",
+ "item-name": "Nome do item",
+ "no-items": "Nenhum item",
+ "support-unit-conversion": "Suportar conversão de unidades"
+ },
+ "clear-form": "Limpar formulário",
+ "clear-form-prompt": "Tem certeza de que deseja remover todas as propriedades do formulário?",
+ "import-form": "Importar formulário de JSON",
+ "export-form": "Exportar formulário para JSON",
+ "json-file": "Arquivo JSON",
+ "json-content": "Conteúdo JSON",
+ "invalid-form-json-file-error": "Não foi possível importar o formulário do JSON: Estrutura de dados JSON do formulário inválida."
+ },
+ "asset-profile": {
+ "asset-profile": "Perfil do ativo",
+ "asset-profiles": "Perfis do ativo",
+ "all-asset-profiles": "Todos",
+ "add": "Adicionar perfil do ativo",
+ "edit": "Editar perfil do ativo",
+ "asset-profile-details": "Detalhes do perfil do ativo",
+ "no-asset-profiles-text": "Nenhum perfil do ativo encontrado",
+ "search": "Pesquisar perfis do ativo",
+ "selected-asset-profiles": "{ count, plural, =1 {1 perfil do ativo} other {# perfis do ativo} } selecionado(s)",
+ "no-asset-profiles-matching": "Nenhum perfil do ativo correspondente a '{{entity}}' foi encontrado.",
+ "asset-profile-required": "Perfil do ativo é obrigatório",
+ "idCopiedMessage": "ID do perfil do ativo copiado para a área de transferência",
+ "set-default": "Definir perfil do ativo como padrão",
+ "delete": "Excluir perfil do ativo",
+ "copyId": "Copiar ID do perfil do ativo",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "new-device-profile-name": "Nome do perfil do ativo",
+ "new-device-profile-name-required": "O nome do perfil do ativo é obrigatório.",
+ "name": "Nome",
+ "name-required": "O nome é obrigatório.",
+ "image": "Imagem do perfil do ativo",
+ "description": "Descrição",
+ "default": "Padrão",
+ "default-rule-chain": "Cadeia de regras padrão",
+ "default-edge-rule-chain": "Cadeia de regras padrão do edge",
+ "default-edge-rule-chain-hint": "Usada no edge como cadeia de regras para processar dados recebidos de ativos deste perfil do ativo",
+ "mobile-dashboard": "Dashboard móvel",
+ "mobile-dashboard-hint": "Usado pelo aplicativo móvel como dashboard de detalhes do ativo",
+ "select-queue-hint": "Selecione em uma lista suspensa.",
+ "delete-asset-profile-title": "Tem certeza de que deseja excluir o perfil do ativo '{{assetProfileName}}'?",
+ "delete-asset-profile-text": "Atenção: após a confirmação, o perfil do ativo e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-asset-profiles-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 perfil do ativo} other {# perfis do ativo} }?",
+ "delete-asset-profiles-text": "Atenção: após a confirmação, todos os perfis do ativo selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
+ "set-default-asset-profile-title": "Tem certeza de que deseja definir o perfil do ativo '{{assetProfileName}}' como padrão?",
+ "set-default-asset-profile-text": "Após a confirmação, o perfil do ativo será marcado como padrão e será usado para novos ativos sem perfil especificado.",
+ "no-asset-profiles-found": "Nenhum perfil do ativo encontrado.",
+ "create-new-asset-profile": "Criar um novo!",
+ "create-asset-profile": "Criar novo perfil do ativo",
+ "import": "Importar perfil do ativo",
+ "export": "Exportar perfil do ativo",
+ "export-failed-error": "Não foi possível exportar o perfil do ativo: {{error}}",
+ "asset-profile-file": "Arquivo do perfil do ativo",
+ "invalid-asset-profile-file-error": "Não foi possível importar o perfil do ativo: Estrutura de dados do perfil do ativo inválida."
+ },
+ "device-profile": {
+ "device-profile": "Perfil do dispositivo",
+ "device-profiles": "Perfis do dispositivo",
+ "all-device-profiles": "Todos",
+ "add": "Adicionar perfil do dispositivo",
+ "edit": "Editar perfil do dispositivo",
+ "device-profile-details": "Detalhes do perfil do dispositivo",
+ "no-device-profiles-text": "Nenhum perfil do dispositivo encontrado",
+ "search": "Pesquisar perfis do dispositivo",
+ "selected-device-profiles": "{ count, plural, =1 {1 perfil do dispositivo} other {# perfis do dispositivo} } selecionado(s)",
+ "no-device-profiles-matching": "Nenhum perfil do dispositivo correspondente a '{{entity}}' foi encontrado.",
+ "device-profile-required": "Perfil do dispositivo é obrigatório",
+ "idCopiedMessage": "ID do perfil do dispositivo copiado para a área de transferência",
+ "set-default": "Definir perfil do dispositivo como padrão",
+ "delete": "Excluir perfil do dispositivo",
+ "copyId": "Copiar ID do perfil do dispositivo",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "name": "Nome",
+ "name-required": "O nome é obrigatório.",
+ "type": "Tipo de perfil",
+ "type-required": "O tipo de perfil é obrigatório.",
+ "type-default": "Padrão",
+ "image": "Imagem do perfil do dispositivo",
+ "transport-type": "Tipo de transporte",
+ "transport-type-required": "O tipo de transporte é obrigatório.",
+ "transport-type-default": "Padrão",
+ "transport-type-default-hint": "Suporta transporte básico MQTT, HTTP e CoAP",
+ "transport-type-mqtt": "MQTT",
+ "transport-type-mqtt-hint": "Habilita configurações avançadas de transporte MQTT",
+ "transport-type-coap": "CoAP",
+ "transport-type-coap-hint": "Habilita configurações avançadas de transporte CoAP",
+ "transport-type-lwm2m": "LWM2M",
+ "transport-type-lwm2m-hint": "Tipo de transporte LWM2M",
+ "transport-type-snmp": "SNMP",
+ "transport-type-snmp-hint": "Especificar configuração de transporte SNMP",
+ "transport-type-http": "HTTP",
+ "description": "Descrição",
+ "default": "Padrão",
+ "profile-configuration": "Configuração do perfil",
+ "transport-configuration": "Configuração de transporte",
+ "default-rule-chain": "Cadeia de regras padrão",
+ "default-edge-rule-chain": "Cadeia de regras padrão do edge",
+ "default-edge-rule-chain-hint": "Usada no edge como cadeia de regras para processar dados recebidos de dispositivos deste perfil do dispositivo",
+ "mobile-dashboard": "Dashboard móvel",
+ "mobile-dashboard-hint": "Usado pelo aplicativo móvel como dashboard de detalhes do dispositivo",
+ "select-queue-hint": "Selecione em uma lista suspensa.",
+ "delete-device-profile-title": "Tem certeza de que deseja excluir o perfil do dispositivo '{{deviceProfileName}}'?",
+ "delete-device-profile-text": "Atenção: após a confirmação, o perfil do dispositivo e todos os dados relacionados, incluindo atualizações OTA associadas, se tornarão irrecuperáveis.",
+ "delete-device-profiles-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 perfil do dispositivo} other {# perfis do dispositivo} }?",
+ "delete-device-profiles-text": "Atenção: após a confirmação, todos os perfis do dispositivo selecionados serão removidos e todos os dados relacionados, incluindo atualizações OTA associadas, se tornarão irrecuperáveis.",
+ "set-default-device-profile-title": "Tem certeza de que deseja definir o perfil do dispositivo '{{deviceProfileName}}' como padrão?",
+ "set-default-device-profile-text": "Após a confirmação, o perfil do dispositivo será marcado como padrão e será usado para novos dispositivos sem perfil especificado.",
+ "no-device-profiles-found": "Nenhum perfil do dispositivo encontrado.",
+ "create-new-device-profile": "Criar um novo!",
+ "mqtt-device-topic-filters": "Filtros de tópico MQTT do dispositivo",
+ "mqtt-device-topic-filters-unique": "Os filtros de tópico MQTT do dispositivo devem ser únicos.",
+ "mqtt-device-topic-filters-spark-plug": "Nó MQTT Sparkplug B Edge of Network (EoN).",
+ "mqtt-device-topic-filters-spark-plug-hint": "Permitir conexões de nós EoN com formato de payload e tópico Sparkplug B.",
+ "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "Métricas SparkPlug para armazenar como atributos.",
+ "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "Nomes das métricas SparkPlug que serão armazenadas como atributos do dispositivo. Todas as outras métricas serão armazenadas como telemetria do dispositivo.",
+ "mqtt-device-payload-type": "Payload MQTT do dispositivo",
+ "mqtt-device-payload-type-json": "JSON",
+ "mqtt-device-payload-type-proto": "Protobuf",
+ "mqtt-enable-compatibility-with-json-payload-format": "Habilitar compatibilidade com outros formatos de payload.",
+ "mqtt-enable-compatibility-with-json-payload-format-hint": "Quando habilitado, a plataforma usará o formato de payload Protobuf por padrão. Se o parsing falhar, a plataforma tentará usar o formato de payload JSON. Útil para compatibilidade retroativa durante atualizações de firmware. Por exemplo, a versão inicial do firmware usa Json, enquanto a nova versão usa Protobuf. Durante o processo de atualização de firmware de um conjunto de dispositivos, é necessário suportar Protobuf e JSON simultaneamente. O modo de compatibilidade introduz uma leve degradação de desempenho, portanto recomenda-se desabilitar este modo assim que todos os dispositivos estiverem atualizados.",
+ "mqtt-use-json-format-for-default-downlink-topics": "Usar formato Json para tópicos de downlink padrão",
+ "mqtt-use-json-format-for-default-downlink-topics-hint": "Quando habilitado, a plataforma usará o formato de payload Json para enviar atributos e RPC pelos seguintes tópicos: v1/devices/me/attributes/response/$request_id, v1/devices/me/attributes, v1/devices/me/rpc/request/$request_id, v1/devices/me/rpc/response/$request_id. Esta configuração não afeta as assinaturas de atributos e rpc enviadas usando os novos tópicos (v2): v2/a/res/$request_id, v2/a, v2/r/req/$request_id, v2/r/res/$request_id. Onde $request_id é um identificador de solicitação inteiro.",
+ "mqtt-send-ack-on-validation-exception": "Enviar PUBACK em caso de falha de validação de mensagem PUBLISH",
+ "mqtt-send-ack-on-validation-exception-hint": "Por padrão, a plataforma encerrará a sessão MQTT em caso de falha de validação de mensagem. Quando habilitado, a plataforma enviará confirmação de publicação em vez de encerrar a sessão.",
+ "mqtt-protocol-version": "Versão do protocolo",
+ "snmp-add-mapping": "Adicionar mapeamento SNMP",
+ "snmp-mapping-not-configured": "Nenhum mapeamento de OID para série temporal/telemetria configurado",
+ "snmp-timseries-or-attribute-name": "Nome da série temporal/atributo para mapeamento",
+ "snmp-timseries-or-attribute-type": "Tipo da série temporal/atributo para mapeamento",
+ "snmp-method-pdu-type-get-request": "GetRequest",
+ "snmp-method-pdu-type-get-next-request": "GetNextRequest",
+ "snmp-oid": "OID",
+ "transport-device-payload-type-json": "JSON",
+ "transport-device-payload-type-proto": "Protobuf",
+ "mqtt-payload-type-required": "O tipo de payload é obrigatório.",
+ "coap-device-type": "Tipo de dispositivo CoAP",
+ "coap-device-payload-type": "Payload do dispositivo CoAP",
+ "coap-device-type-required": "O tipo de dispositivo CoAP é obrigatório.",
+ "coap-device-type-default": "Padrão",
+ "coap-device-type-efento": "Efento NB-IoT",
+ "support-level-wildcards": "Suporte a curingas de nível único [+] e de múltiplos níveis [#].",
+ "telemetry-topic-filter": "Filtro de tópico de telemetria",
+ "telemetry-topic-filter-required": "O filtro de tópico de telemetria é obrigatório.",
+ "attributes-topic-filter": "Filtro de tópico de publicação de atributos",
+ "attributes-subscribe-topic-filter": "Filtro de tópico de assinatura de atributos",
+ "attributes-topic-filter-required": "O filtro de tópico de publicação de atributos é obrigatório.",
+ "attributes-subscribe-topic-filter-required": "O tópico de assinatura de atributos é obrigatório",
+ "telemetry-proto-schema": "Schema proto de telemetria",
+ "telemetry-proto-schema-required": "O schema proto de telemetria é obrigatório.",
+ "attributes-proto-schema": "Schema proto de atributos",
+ "attributes-proto-schema-required": "O schema proto de atributos é obrigatório.",
+ "rpc-response-proto-schema": "Schema proto de resposta RPC",
+ "rpc-response-proto-schema-required": "O schema proto de resposta RPC é obrigatório.",
+ "rpc-response-topic-filter": "Filtro de tópico de resposta RPC",
+ "rpc-response-topic-filter-required": "O filtro de tópico de resposta RPC é obrigatório.",
+ "rpc-request-proto-schema": "Schema proto de requisição RPC",
+ "rpc-request-proto-schema-required": "O schema proto de requisição RPC é obrigatório.",
+ "rpc-request-proto-schema-hint": "A mensagem de requisição RPC deve sempre ter os campos: string method = 1; int32 requestId = 2; e params = 3 de qualquer tipo de dado.",
+ "not-valid-pattern-topic-filter": "Filtro de tópico padrão inválido",
+ "not-valid-single-character": "Uso inválido de caractere curinga de nível único",
+ "not-valid-multi-character": "Uso inválido de caractere curinga de múltiplos níveis",
+ "single-level-wildcards-hint": "[+] é adequado para qualquer nível de filtro de tópico. Ex.: v1/devices/+/telemetry ou +/devices/+/attributes.",
+ "multi-level-wildcards-hint": "[#] pode substituir o próprio filtro de tópico e deve ser o último símbolo do tópico. Ex.: # ou v1/devices/me/#.",
+ "alarm-rules": "Regras de alarme",
+ "alarm-rules-with-count": "Regras de alarme ({{count}})",
+ "no-alarm-rules": "Nenhuma regra de alarme configurada",
+ "add-alarm-rule": "Adicionar regra de alarme",
+ "edit-alarm-rule": "Editar regra de alarme",
+ "alarm-type": "Tipo de alarme",
+ "alarm-type-required": "O tipo de alarme é obrigatório.",
+ "alarm-type-unique": "O tipo de alarme deve ser único nas regras de alarme do perfil do dispositivo.",
+ "alarm-type-max-length": "O tipo de alarme deve ter menos de 256 caracteres",
+ "create-alarm-pattern": "Criar alarme {{alarmType}}",
+ "create-alarm-rules": "Criar regras de alarme",
+ "no-create-alarm-rules": "Nenhuma condição de criação configurada",
+ "add-create-alarm-rule-prompt": "Adicione uma regra de criação de alarme",
+ "clear-alarm-rule": "Limpar regra de alarme",
+ "no-clear-alarm-rule": "Nenhuma condição de limpeza configurada",
+ "add-create-alarm-rule": "Adicionar condição de criação",
+ "add-clear-alarm-rule": "Adicionar condição de limpeza",
+ "select-alarm-severity": "Selecionar severidade do alarme",
+ "alarm-severity-required": "A severidade do alarme é obrigatória.",
+ "condition-duration": "Duração da condição",
+ "condition-duration-value": "Valor da duração",
+ "condition-duration-time-unit": "Unidade de tempo",
+ "condition-duration-value-range": "O valor da duração deve estar entre 1 e 2147483647.",
+ "condition-duration-value-pattern": "O valor da duração deve ser um número inteiro.",
+ "condition-duration-value-required": "O valor da duração é obrigatório.",
+ "condition-duration-time-unit-required": "A unidade de tempo é obrigatória.",
+ "advanced-settings": "Configurações avançadas",
+ "alarm-rule-additional-info": "Informações adicionais",
+ "edit-alarm-rule-additional-info": "Editar informações adicionais",
+ "alarm-rule-additional-info-placeholder": "Insira seus comentários e ajustes aqui para exibi-los nos detalhes do Alarme em Informações adicionais",
+ "alarm-rule-additional-info-hint": "Dica: use ${keyName} para substituir valores dos atributos ou chaves de telemetria usados na condição da regra de alarme.",
+ "alarm-rule-mobile-dashboard": "Dashboard móvel",
+ "alarm-rule-mobile-dashboard-hint": "Usado pelo aplicativo móvel como dashboard de detalhes do alarme",
+ "alarm-rule-no-mobile-dashboard": "Nenhum dashboard selecionado",
+ "propagate-alarm": "Propagar alarme para entidades relacionadas",
+ "alarm-rule-relation-types-list": "Tipos de relação",
+ "alarm-rule-relation-types-list-hint": "Define os tipos de relação para filtrar as entidades relacionadas. Se não definido, o alarme será propagado para todas as entidades relacionadas.",
+ "propagate-alarm-to-owner": "Propagar alarme para o proprietário da entidade (Cliente ou Tenant)",
+ "propagate-alarm-to-tenant": "Propagar alarme para o Tenant",
+ "alarm-rule-condition": "Condição da regra de alarme",
+ "enter-alarm-rule-condition-prompt": "Adicione uma condição de regra de alarme",
+ "edit-alarm-rule-condition": "Editar condição da regra de alarme",
+ "device-provisioning": "Provisionamento de dispositivo",
+ "provision-strategy": "Estratégia de provisionamento",
+ "provision-strategy-required": "A estratégia de provisionamento é obrigatória.",
+ "provision-strategy-disabled": "Desabilitado",
+ "provision-strategy-created-new": "Permitir criar novos dispositivos",
+ "provision-strategy-check-pre-provisioned": "Verificar dispositivos pré-provisionados",
+ "provision-device-key": "Chave de provisionamento do dispositivo",
+ "provision-device-key-required": "A chave de provisionamento do dispositivo é obrigatória.",
+ "copy-provision-key": "Copiar chave de provisionamento",
+ "provision-key-copied-message": "Chave de provisionamento copiada para a área de transferência",
+ "provision-device-secret": "Segredo de provisionamento do dispositivo",
+ "provision-device-secret-required": "O segredo de provisionamento do dispositivo é obrigatório.",
+ "copy-provision-secret": "Copiar segredo de provisionamento",
+ "provision-secret-copied-message": "Segredo de provisionamento copiado para a área de transferência",
+ "provision-strategy-x509": {
+ "certificate-chain": "Cadeia de certificados X509",
+ "certificate-chain-hint": "A estratégia de certificados X.509 é usada para provisionar dispositivos por certificados de cliente em comunicação TLS bidirecional.",
+ "allow-create-new-devices": "Criar novos dispositivos",
+ "allow-create-new-devices-hint": "Se selecionado, novos dispositivos serão criados e o certificado de cliente será usado como credencial do dispositivo.",
+ "certificate-value": "Certificado em formato PEM",
+ "certificate-value-required": "O certificado em formato PEM é obrigatório",
+ "cn-regex-variable": "Variável de expressão regular CN",
+ "cn-regex-variable-required": "A variável de expressão regular CN é obrigatória",
+ "cn-regex-variable-hint": "Necessário para obter o nome do dispositivo a partir do nome comum do certificado X509 do dispositivo."
+ },
+ "condition": "Condição",
+ "condition-type": "Tipo de condição",
+ "condition-type-simple": "Simples",
+ "condition-type-duration": "Duração",
+ "condition-during": "Durante {{during}}",
+ "condition-during-dynamic": "Durante \"{{ attribute }}\" ({{during}})",
+ "condition-type-repeating": "Repetição",
+ "condition-type-required": "O tipo de condição é obrigatório.",
+ "condition-repeating-value": "Contagem de eventos",
+ "condition-repeating-value-range": "A contagem de eventos deve estar entre 1 e 2147483647.",
+ "condition-repeating-value-pattern": "A contagem de eventos deve ser um número inteiro.",
+ "condition-repeating-value-required": "A contagem de eventos é obrigatória.",
+ "condition-repeat-times": "Repete { count, plural, =1 {1 vez} other {# vezes} }",
+ "condition-repeat-times-dynamic": "Repete \"{ attribute }\" ({ count, plural, =1 {1 vez} other {# vezes} })",
+ "schedule-type": "Tipo de agendador",
+ "schedule-type-required": "O tipo de agendador é obrigatório.",
+ "schedule": "Agendamento",
+ "edit-schedule": "Editar agendamento de alarme",
+ "schedule-any-time": "Ativo o tempo todo",
+ "schedule-specific-time": "Ativo em um horário específico",
+ "schedule-custom": "Personalizado",
+ "schedule-day": {
+ "monday": "Segunda-feira",
+ "tuesday": "Terça-feira",
+ "wednesday": "Quarta-feira",
+ "thursday": "Quinta-feira",
+ "friday": "Sexta-feira",
+ "saturday": "Sábado",
+ "sunday": "Domingo"
+ },
+ "schedule-days": "Dias",
+ "schedule-time": "Hora",
+ "schedule-time-from": "De",
+ "schedule-time-to": "Até",
+ "schedule-days-of-week-required": "Pelo menos um dia da semana deve ser selecionado.",
+ "create-device-profile": "Criar novo perfil do dispositivo",
+ "import": "Importar perfil do dispositivo",
+ "export": "Exportar perfil do dispositivo",
+ "export-failed-error": "Não foi possível exportar o perfil do dispositivo: {{error}}",
+ "device-profile-file": "Arquivo do perfil do dispositivo",
+ "invalid-device-profile-file-error": "Não foi possível importar o perfil do dispositivo: Estrutura de dados do perfil do dispositivo inválida.",
+ "power-saving-mode": "Modo de economia de energia",
+ "power-saving-mode-type": {
+ "default": "Usar modo de economia de energia do perfil do dispositivo",
+ "psm": "Modo de economia de energia (PSM)",
+ "drx": "Recepção descontínua (DRX)",
+ "edrx": "Recepção descontínua estendida (eDRX)"
+ },
+ "edrx-cycle": "Ciclo eDRX",
+ "edrx-cycle-required": "O ciclo eDRX é obrigatório.",
+ "edrx-cycle-pattern": "O ciclo eDRX deve ser um número inteiro positivo.",
+ "edrx-cycle-min": "O número mínimo do ciclo eDRX é {{ min }} segundos.",
+ "paging-transmission-window": "Janela de transmissão de paginação",
+ "paging-transmission-window-required": "A janela de transmissão de paginação é obrigatória.",
+ "paging-transmission-window-pattern": "A janela de transmissão de paginação deve ser um número inteiro positivo.",
+ "paging-transmission-window-min": "O número mínimo da janela de transmissão de paginação é {{ min }} segundos.",
+ "psm-activity-timer": "Temporizador de atividade PSM",
+ "psm-activity-timer-required": "O temporizador de atividade PSM é obrigatório.",
+ "psm-activity-timer-pattern": "O temporizador de atividade PSM deve ser um número inteiro positivo.",
+ "psm-activity-timer-min": "O número mínimo do temporizador de atividade PSM é {{ min }} segundos.",
+ "lwm2m": {
+ "object-list": "Lista de objetos",
+ "object-list-empty": "Nenhum objeto selecionado.",
+ "no-objects-found": "Nenhum objeto encontrado.",
+ "no-objects-matching": "Nenhum objeto correspondente a '{{object}}' foi encontrado.",
+ "model-tab": "Modelo LWM2M",
+ "add-new-instances": "Adicionar novas instâncias",
+ "instances-list": "Lista de instâncias",
+ "instances-list-required": "A lista de instâncias é obrigatória.",
+ "instance-id-pattern": "O ID da instância deve ser um número inteiro positivo.",
+ "instance-id-max": "Valor máximo do ID da instância: {{max}}.",
+ "instance": "Instância",
+ "resource-label": "#ID Nome do recurso",
+ "observe-label": "Observar",
+ "attribute-label": "Atributo",
+ "telemetry-label": "Telemetria",
+ "edit-observe-select": "Para editar observar, selecione telemetria ou atributo",
+ "edit-attributes-select": "Para editar atributos, selecione telemetria ou atributo",
+ "no-attributes-set": "Nenhum atributo definido",
+ "key-name": "Nome da chave",
+ "key-name-required": "O nome da chave é obrigatório",
+ "attribute-name": "Nome do atributo",
+ "attribute-name-required": "O nome do atributo é obrigatório.",
+ "attribute-value": "Valor do atributo",
+ "attribute-value-required": "O valor do atributo é obrigatório.",
+ "attribute-value-pattern": "O valor do atributo deve ser um número inteiro positivo.",
+ "edit-attributes": "Editar atributos: {{ name }}",
+ "view-attributes": "Visualizar atributos: {{ name }}",
+ "add-attribute": "Adicionar atributo",
+ "edit-attribute": "Editar atributo",
+ "view-attribute": "Visualizar atributo",
+ "remove-attribute": "Remover atributo",
+ "delete-server-text": "Atenção: após a confirmação, a configuração do servidor se tornará irrecuperável.",
+ "delete-server-title": "Tem certeza de que deseja excluir o servidor?",
+ "mode": "Modo de configuração de segurança",
+ "bootstrap-tab": "Bootstrap",
+ "bootstrap-server-legend": "Servidor Bootstrap (ShortId...)",
+ "lwm2m-server-legend": "Servidor LwM2M (ShortId...)",
+ "server": "Servidor",
+ "short-id": "ID curto do servidor",
+ "short-id-tooltip": "ID curto do servidor. Usado como link para associar a instância do objeto servidor.\nEste identificador identifica exclusivamente cada servidor LwM2M configurado para o cliente LwM2M.\nO recurso DEVE ser definido quando o recurso Bootstrap-Server tem o valor 'false'.\nOs valores ID:0 e ID:65535 NÃO DEVEM ser usados para identificar o servidor LwM2M.",
+ "short-id-tooltip-bootstrap": "ID curto do servidor. Usado como link para associar a instância do objeto servidor.\nEste identificador identifica exclusivamente cada servidor LwM2M configurado para o cliente LwM2M.\nO recurso DEVE ser definido quando o recurso Bootstrap-Server tem o valor 'false'.",
+ "short-id-required": "O ID curto do servidor é obrigatório.",
+ "short-id-range": "O ID curto do servidor deve estar entre {{ min }} e {{ max }}.",
+ "short-id-pattern": "O ID curto do servidor deve ser um número inteiro positivo.",
+ "short-id-pattern-bs": "O ID curto do servidor deve ser apenas nulo",
+ "lifetime": "Tempo de vida do registro do cliente",
+ "lifetime-required": "O tempo de vida do registro do cliente é obrigatório.",
+ "lifetime-pattern": "O tempo de vida do registro do cliente deve ser um número inteiro positivo.",
+ "default-min-period": "Período mínimo entre duas notificações (s)",
+ "default-min-period-tooltip": "O valor padrão que o cliente LwM2M deve usar para o Período Mínimo de uma Observação na ausência deste parâmetro em uma Observação.",
+ "default-min-period-required": "O período mínimo é obrigatório.",
+ "default-min-period-pattern": "O período mínimo deve ser um número inteiro positivo.",
+ "notification-storing": "Armazenamento de notificações quando desabilitado ou offline",
+ "binding": "Vinculação",
+ "binding-type": {
+ "u": "U: O cliente é acessível via vinculação UDP a qualquer momento.",
+ "m": "M: O cliente é acessível via vinculação MQTT a qualquer momento.",
+ "h": "H: O cliente é acessível via vinculação HTTP a qualquer momento.",
+ "t": "T: O cliente é acessível via vinculação TCP a qualquer momento.",
+ "s": "S: O cliente é acessível via vinculação SMS a qualquer momento.",
+ "n": "N: O cliente DEVE enviar a resposta a tal solicitação pela vinculação Non-IP (suportado desde LWM2M 1.1).",
+ "uq": "UQ: Conexão UDP em modo fila (não suportado desde LWM2M 1.1)",
+ "uqs": "UQS: conexões UDP e SMS ativas; UDP em modo fila, SMS em modo padrão (não suportado desde LWM2M 1.1)",
+ "tq": "TQ: Conexão TCP em modo fila (não suportado desde LWM2M 1.1)",
+ "tqs": "TQS: conexões TCP e SMS ativas; TCP em modo fila, SMS em modo padrão (não suportado desde LWM2M 1.1)",
+ "sq": "SQ: Conexão SMS em modo fila (não suportado desde LWM2M 1.1)"
+ },
+ "binding-tooltip": "Esta é a lista no recurso \"binding\" do objeto de servidor LwM2M - /1/x/7.\nIndica os modos de vinculação suportados no cliente LwM2M.\nEste valor DEVE ser o mesmo que o valor no recurso \"Supported Binding and Modes\" no objeto Device (/3/0/16).\nEmbora múltiplos transportes sejam suportados, apenas uma vinculação de transporte pode ser usada durante toda a Sessão de Transporte.\nComo exemplo, quando UDP e SMS são ambos suportados, o cliente LwM2M e o servidor LwM2M podem optar por se comunicar por UDP ou SMS durante toda a Sessão de Transporte.",
+ "bootstrap-server": "Servidor Bootstrap",
+ "lwm2m-server": "Servidor LwM2M",
+ "include-bootstrap-server": "Incluir atualizações do servidor Bootstrap",
+ "bootstrap-update-title": "Você já tem um servidor Bootstrap configurado. Tem certeza de que deseja excluir as atualizações?",
+ "bootstrap-update-text": "Atenção: após a confirmação, os dados de configuração do servidor Bootstrap se tornarão irrecuperáveis.",
+ "server-host": "Host",
+ "server-host-required": "O host é obrigatório.",
+ "server-port": "Porta",
+ "server-port-required": "A porta é obrigatória.",
+ "server-port-pattern": "A porta deve ser um número inteiro positivo.",
+ "server-port-range": "A porta deve estar entre 1 e 65535.",
+ "server-public-key": "Chave pública do servidor",
+ "server-public-key-required": "A chave pública do servidor é obrigatória.",
+ "client-hold-off-time": "Tempo de espera",
+ "client-hold-off-time-required": "O tempo de espera é obrigatório.",
+ "client-hold-off-time-pattern": "O tempo de espera deve ser um número inteiro positivo.",
+ "client-hold-off-time-tooltip": "Tempo de espera do cliente para uso exclusivo com um servidor Bootstrap",
+ "account-after-timeout": "Conta após o tempo limite",
+ "account-after-timeout-required": "A conta após o tempo limite é obrigatória.",
+ "account-after-timeout-pattern": "A conta após o tempo limite deve ser um número inteiro positivo.",
+ "account-after-timeout-tooltip": "Conta do servidor Bootstrap após o valor de tempo limite fornecido por este recurso.",
+ "server-type": "Tipo de servidor",
+ "add-new-server-title": "Adicionar nova configuração de servidor",
+ "add-server-config": "Adicionar configuração de servidor",
+ "add-lwm2m-server-config": "Adicionar servidor LwM2M",
+ "no-config-servers": "Nenhum servidor configurado",
+ "others-tab": "Outras configurações",
+ "ota-update": "Atualização OTA",
+ "use-object-19-for-ota-update": "Usar Objeto 19 para metadados de arquivo OTA (checksum, tamanho, versão, nome)",
+ "use-object-19-for-ota-update-hint": "Usar Recurso ObjectId = 19 para atualizações OTA: FirmWare → InstanceId = 65534, SoftWare → InstanceId = 65535. O formato de dados é JSON encapsulado em Base64. Este JSON contém metadados do arquivo OTA (informações do arquivo): \"Checksum\" (SHA256). Campos adicionais: \"Title\" (nome OTA), \"Version\" (versão OTA), \"File Name\" (nome do arquivo para armazenar OTA no cliente), \"File Size\" (tamanho OTA em bytes).",
+ "client-strategy": "Estratégia do cliente ao conectar",
+ "client-strategy-label": "Estratégia",
+ "client-strategy-only-observe": "Apenas Observe Request para o cliente após a conexão inicial",
+ "client-strategy-read-all": "Ler todos os recursos e Observe Request para o cliente após o registro",
+ "fw-update": "Atualização de firmware",
+ "fw-update-strategy": "Estratégia de atualização de firmware",
+ "fw-update-strategy-data": "Enviar atualização de firmware como arquivo binário usando Objeto 19 e Recurso 0 (Data)",
+ "fw-update-strategy-package": "Enviar atualização de firmware como arquivo binário usando Objeto 5 e Recurso 0 (Package)",
+ "fw-update-strategy-package-uri": "Gerar automaticamente URL CoAP única para baixar o pacote e enviar atualização de firmware como Objeto 5 e Recurso 1 (Package URI)",
+ "sw-update": "Atualização de software",
+ "sw-update-strategy": "Estratégia de atualização de software",
+ "sw-update-strategy-package": "Enviar arquivo binário usando Objeto 9 e Recurso 2 (Package)",
+ "sw-update-strategy-package-uri": "Gerar automaticamente URL CoAP única para baixar o pacote e enviar atualização de software usando Objeto 9 e Recurso 3 (Package URI)",
+ "fw-update-resource": "Recurso CoAP de atualização de firmware",
+ "fw-update-resource-required": "O recurso CoAP de atualização de firmware é obrigatório.",
+ "sw-update-resource": "Recurso CoAP de atualização de software",
+ "sw-update-resource-required": "O recurso CoAP de atualização de software é obrigatório.",
+ "config-json-tab": "Perfil de dispositivo de configuração Json",
+ "attributes-name": {
+ "min-period": "Período mínimo",
+ "max-period": "Período máximo",
+ "greater-than": "Maior que",
+ "less-than": "Menor que",
+ "step": "Passo",
+ "min-evaluation-period": "Período mínimo de avaliação",
+ "max-evaluation-period": "Período máximo de avaliação"
+ },
+ "default-object-id": "Versão padrão do objeto (Atributo)",
+ "default-object-id-ver": {
+ "v1-0": "1.0",
+ "v1-1": "1.1",
+ "v1-2": "1.2"
+ },
+ "observe-strategy": {
+ "observe-strategy": "Estratégia de observação",
+ "single": "Individual",
+ "single-description": "Uma solicitação Observe por recurso (maior precisão, mais tráfego de rede)",
+ "composite-all": "Composto total",
+ "composite-all-description": "Todos os recursos são observados com uma única solicitação Composite Observe (mais eficiente, menos flexível)",
+ "composite-by-object": "Composto por objetos",
+ "composite-by-object-description": "Os recursos são agrupados por tipo de objeto e observados usando solicitações Composite Observe separadas (abordagem equilibrada)"
+ },
+ "init-attr-tel-as-obs-strategy": "Inicializar atributos e telemetria usando a estratégia Observe",
+ "init-attr-tel-as-obs-strategy-hint": "Se falso - atributos e telemetria são inicializados lendo seus valores um por um.\\nSe verdadeiro - atributos e telemetria são inicializados assinando seus valores usando a estratégia Observe."
+ },
+ "snmp": {
+ "add-communication-config": "Adicionar configuração de comunicação",
+ "add-mapping": "Adicionar mapeamento",
+ "authentication-passphrase": "Frase de autenticação",
+ "authentication-passphrase-required": "A frase de autenticação é obrigatória.",
+ "authentication-protocol": "Protocolo de autenticação",
+ "authentication-protocol-required": "O protocolo de autenticação é obrigatório.",
+ "communication-configs": "Configurações de comunicação",
+ "community": "String de comunidade",
+ "community-required": "A string de comunidade é obrigatória.",
+ "context-name": "Nome do contexto",
+ "data-key": "Chave de dados",
+ "data-key-required": "A chave de dados é obrigatória.",
+ "data-type": "Tipo de dados",
+ "data-type-required": "O tipo de dados é obrigatório.",
+ "engine-id": "ID do motor",
+ "host": "Host",
+ "host-required": "O host é obrigatório.",
+ "oid": "OID",
+ "oid-pattern": "Formato OID inválido.",
+ "oid-required": "O OID é obrigatório.",
+ "please-add-communication-config": "Adicione uma configuração de comunicação",
+ "please-add-mapping-config": "Adicione uma configuração de mapeamento",
+ "port": "Porta",
+ "port-format": "Formato de porta inválido.",
+ "port-required": "A porta é obrigatória.",
+ "privacy-passphrase": "Frase de privacidade",
+ "privacy-passphrase-required": "A frase de privacidade é obrigatória.",
+ "privacy-protocol": "Protocolo de privacidade",
+ "privacy-protocol-required": "O protocolo de privacidade é obrigatório.",
+ "protocol-version": "Versão do protocolo",
+ "protocol-version-required": "A versão do protocolo é obrigatória.",
+ "querying-frequency": "Frequência de consulta, ms",
+ "querying-frequency-invalid-format": "A frequência de consulta deve ser um número inteiro positivo.",
+ "querying-frequency-required": "A frequência de consulta é obrigatória.",
+ "retries": "Tentativas",
+ "retries-invalid-format": "O número de tentativas deve ser um número inteiro positivo.",
+ "retries-required": "O número de tentativas é obrigatório.",
+ "scope": "Escopo",
+ "scope-required": "O escopo é obrigatório.",
+ "security-name": "Nome de segurança",
+ "security-name-required": "O nome de segurança é obrigatório.",
+ "timeout-ms": "Tempo limite, ms",
+ "timeout-ms-invalid-format": "O tempo limite deve ser um número inteiro positivo.",
+ "timeout-ms-required": "O tempo limite é obrigatório.",
+ "user-name": "Nome de usuário",
+ "user-name-required": "O nome de usuário é obrigatório."
+ }
},
"dialog": {
- "close": "Fechar diálogo"
+ "close": "Fechar diálogo",
+ "error-message-title": "Mensagem de erro:",
+ "error-details-title": "Detalhes do erro"
},
"direction": {
"column": "Coluna",
"row": "Linha"
},
+ "edge": {
+ "edge": "Edge",
+ "edge-instances": "Instâncias do edge",
+ "instances": "Instâncias",
+ "edge-file": "Arquivo do edge",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "label-max-length": "O rótulo deve ter menos de 256 caracteres",
+ "type-max-length": "O tipo deve ter menos de 256 caracteres",
+ "management": "Gerenciamento do edge",
+ "no-edges-matching": "Nenhum edge correspondente a '{{entity}}' foi encontrado.",
+ "add": "Adicionar edge",
+ "no-edges-text": "Nenhum edge encontrado",
+ "edge-details": "Detalhes do edge",
+ "add-edge-text": "Adicionar novo edge",
+ "delete": "Excluir edge",
+ "delete-edge-title": "Tem certeza de que deseja excluir o edge '{{edgeName}}'?",
+ "delete-edge-text": "Atenção: após a confirmação, o edge e todos os dados relacionados serão irrecuperáveis.",
+ "delete-edges-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 edge} other {# edges} }?",
+ "delete-edges-text": "Atenção: após a confirmação, todos os edges selecionados serão removidos e todos os dados relacionados serão irrecuperáveis.",
+ "name": "Nome",
+ "name-starts-with": "Nome do edge começa com",
+ "name-required": "O nome é obrigatório.",
+ "description": "Descrição",
+ "details": "Detalhes",
+ "events": "Eventos",
+ "copy-id": "Copiar ID do edge",
+ "id-copied-message": "ID do edge copiado para a área de transferência",
+ "sync": "Sincronizar edge",
+ "edge-required": "Edge é obrigatório",
+ "edge-type": "Tipo do edge",
+ "edge-type-required": "O tipo do edge é obrigatório.",
+ "event-action": "Ação do evento",
+ "entity-id": "ID da entidade",
+ "select-edge-type": "Selecionar tipo do edge",
+ "assign-to-customer": "Atribuir ao cliente",
+ "assign-to-customer-text": "Selecione o cliente ao qual deseja atribuir o(s) edge(s)",
+ "assign-edge-to-customer": "Atribuir edge(s) ao cliente",
+ "assign-edge-to-customer-text": "Selecione os edges a serem atribuídos ao cliente",
+ "assignedToCustomer": "Atribuído ao cliente",
+ "edge-public": "Edge é público",
+ "assigned-to-customer": "Atribuído a: {{customerTitle}}",
+ "unassign-from-customer": "Desatribuir do cliente",
+ "unassign-edge-title": "Tem certeza de que deseja desatribuir o edge '{{edgeName}}'?",
+ "unassign-edge-text": "Após a confirmação, o edge será desatribuído e não estará mais acessível pelo cliente.",
+ "unassign-edges-title": "Tem certeza de que deseja desatribuir { count, plural, =1 {1 edge} other {# edges} }?",
+ "unassign-edges-text": "Após a confirmação, todos os edges selecionados serão desatribuídos e não estarão mais acessíveis pelo cliente.",
+ "make-public": "Tornar edge público",
+ "make-public-edge-title": "Tem certeza de que deseja tornar o edge '{{edgeName}}' público?",
+ "make-public-edge-text": "Após a confirmação, o edge e todos os seus dados serão tornados públicos e acessíveis por outros.",
+ "make-private": "Tornar edge privado",
+ "public": "Público",
+ "make-private-edge-title": "Tem certeza de que deseja tornar o edge '{{edgeName}}' privado?",
+ "make-private-edge-text": "Após a confirmação, o edge e todos os seus dados serão tornados privados e não estarão mais acessíveis por outros.",
+ "import": "Importar edge",
+ "install-connect-instructions": "Instruções de instalação e conexão",
+ "install-connect-instructions-edge-created": "Edge criado! Veja as instruções de instalação e conexão",
+ "loading-edge-instructions": "Carregando instruções do edge...",
+ "label": "Rótulo",
+ "load-entity-error": "Falha ao carregar os dados. A entidade foi excluída.",
+ "assign-new-edge": "Atribuir novo edge",
+ "unassign-from-edge": "Desatribuir do edge",
+ "edge-key": "Chave do edge",
+ "copy-edge-key": "Copiar chave do edge",
+ "edge-key-copied-message": "Chave do edge copiada para a área de transferência",
+ "edge-secret": "Segredo do edge",
+ "copy-edge-secret": "Copiar segredo do edge",
+ "edge-secret-copied-message": "Segredo do edge copiado para a área de transferência",
+ "manage-assets": "Gerenciar ativos",
+ "manage-devices": "Gerenciar dispositivos",
+ "manage-entity-views": "Gerenciar visualizações de entidade",
+ "manage-dashboards": "Gerenciar dashboards",
+ "manage-rulechains": "Gerenciar cadeias de regras",
+ "assets": "Ativos do edge",
+ "devices": "Dispositivos do edge",
+ "entity-views": "Visualizações de entidade do edge",
+ "dashboard": "Dashboard do edge",
+ "dashboards": "Dashboards do edge",
+ "rulechain-templates": "Modelos de cadeia de regras",
+ "edge-rulechain-templates": "Modelos de cadeia de regras do edge",
+ "rulechains": "Cadeias de regras do edge",
+ "search": "Pesquisar edges",
+ "selected-edges": "{ count, plural, =1 {1 edge} other {# edges} } selecionado(s)",
+ "any-edge": "Qualquer edge",
+ "no-edge-types-matching": "Nenhum tipo de edge correspondente a '{{entitySubtype}}' foi encontrado.",
+ "edge-type-list-empty": "Nenhum tipo de edge selecionado.",
+ "edge-types": "Tipos de edge",
+ "enter-edge-type": "Inserir tipo do edge",
+ "deployed": "Implantado",
+ "pending": "Pendente",
+ "downlinks": "Downlinks",
+ "no-downlinks-prompt": "Nenhum downlink encontrado",
+ "sync-process-started-successfully": "Processo de sincronização iniciado com sucesso!",
+ "missing-related-rule-chains-title": "O edge possui cadeia(s) de regras relacionada(s) ausente(s)",
+ "missing-related-rule-chains-text": "A(s) cadeia(s) de regras atribuída(s) ao edge utiliza(m) nós de regra que encaminham mensagem(s) para cadeia(s) de regras que não estão atribuídas a este edge.
Lista de cadeia(s) de regras ausente(s):
{{missingRuleChains}}",
+ "widget-datasource-error": "Este widget suporta apenas a fonte de dados da entidade EDGE",
+ "upgrade-instructions": "Instruções de atualização",
+ "connected": "Conectado",
+ "disconnected": "Desconectado"
+ },
+ "edge-event": {
+ "type-dashboard": "Dashboard",
+ "type-asset": "Ativo",
+ "type-device": "Dispositivo",
+ "type-device-profile": "Perfil do dispositivo",
+ "type-asset-profile": "Perfil do ativo",
+ "type-entity-view": "Visualização de entidade",
+ "type-alarm": "Alarme",
+ "type-rule-chain": "Cadeia de regras",
+ "type-rule-chain-metadata": "Metadados da cadeia de regras",
+ "type-edge": "Edge",
+ "type-user": "Usuário",
+ "type-tenant": "Tenant",
+ "type-tenant-profile": "Perfil do tenant",
+ "type-customer": "Cliente",
+ "type-relation": "Relação",
+ "type-widgets-bundle": "Conjunto de widgets",
+ "type-widgets-type": "Tipo de widgets",
+ "type-admin-settings": "Configurações de administração",
+ "type-ota-package": "Pacote OTA",
+ "type-queue": "Fila",
+ "action-type-added": "Adicionado",
+ "action-type-deleted": "Excluído",
+ "action-type-updated": "Atualizado",
+ "action-type-post-attributes": "Publicar atributos",
+ "action-type-attributes-updated": "Atributos atualizados",
+ "action-type-attributes-deleted": "Atributos excluídos",
+ "action-type-timeseries-updated": "Séries temporais atualizadas",
+ "action-type-credentials-updated": "Credenciais atualizadas",
+ "action-type-assigned-to-customer": "Atribuído ao cliente",
+ "action-type-unassigned-from-customer": "Desatribuído do cliente",
+ "action-type-relation-add-or-update": "Adição ou atualização de relação",
+ "action-type-relation-deleted": "Relação excluída",
+ "action-type-rpc-call": "Chamada RPC",
+ "action-type-alarm-ack": "Confirmação de alarme",
+ "action-type-alarm-clear": "Limpeza de alarme",
+ "action-type-alarm-assigned": "Alarme atribuído",
+ "action-type-alarm-unassigned": "Alarme desatribuído",
+ "action-type-assigned-to-edge": "Atribuído ao edge",
+ "action-type-unassigned-from-edge": "Desatribuído do edge",
+ "action-type-credentials-request": "Solicitação de credenciais",
+ "action-type-entity-merge-request": "Solicitação de mesclagem de entidade"
+ },
"error": {
- "unable-to-connect": "Impossível conectar ao servidor! Verifique sua conexão à Internet.",
- "unhandled-error-code": "Código de erro sem tratamento: {{errorCode}}",
+ "unable-to-connect": "Não foi possível conectar ao servidor! Verifique sua conexão com a internet.",
+ "unhandled-error-code": "Código de erro não tratado: {{errorCode}}",
"unknown-error": "Erro desconhecido"
},
"entity": {
"entity": "Entidade",
"entities": "Entidades",
- "aliases": "Aliases de entidades",
+ "entities-count": "Contagem de entidades",
+ "alarms-count": "Contagem de alarmes",
+ "aliases": "Aliases de entidade",
+ "aliases-short": "Aliases",
"entity-alias": "Alias de entidade",
- "unable-delete-entity-alias-title": "Impossível excluir alias de entidade",
- "unable-delete-entity-alias-text": "Não é possível excluir o alias de entidade '{{entityAlias}}' porque ele é usado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
- "duplicate-alias-error": "Alias '{{alias}}' duplicado encontrado.
Os aliases de entidades devem ser exclusivos no dashboard.",
+ "unable-delete-entity-alias-title": "Não é possível excluir o alias de entidade",
+ "unable-delete-entity-alias-text": "O alias de entidade '{{entityAlias}}' não pode ser excluído pois é utilizado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
+ "duplicate-alias-error": "Alias duplicado encontrado '{{alias}}'.
Os aliases de entidade devem ser únicos no dashboard.",
"missing-entity-filter-error": "Filtro ausente para o alias '{{alias}}'.",
- "configure-alias": "Configurar alias de '{{alias}}'",
+ "configure-alias": "Configurar alias '{{alias}}'",
"alias": "Alias",
"alias-required": "O alias de entidade é obrigatório.",
"remove-alias": "Remover alias de entidade",
"add-alias": "Adicionar alias de entidade",
+ "edit-alias": "Editar alias de entidade",
"entity-list": "Lista de entidades",
"entity-type": "Tipo de entidade",
- "entity-types": "Tipos de entidades",
- "entity-type-list": "Lista de tipos de entidades",
+ "entity-types": "Tipos de entidade",
+ "entity-type-list": "Lista de tipos de entidade",
"any-entity": "Qualquer entidade",
+ "add-entity-type": "Adicionar tipo de entidade",
"enter-entity-type": "Inserir tipo de entidade",
- "no-entities-matching": "Nenhuma entidade encontrada que coincida com '{{entity}}'.",
- "no-entity-types-matching": "Nenhum tipo de entidade encontrado que coincida com '{{entityType}}'.",
- "name-starts-with": "O nome começa com",
+ "no-entities-matching": "Nenhuma entidade correspondente a '{{entity}}' foi encontrada.",
+ "no-entities-text": "Nenhuma entidade encontrada",
+ "no-entity-types-matching": "Nenhum tipo de entidade correspondente a '{{entityType}}' foi encontrado.",
+ "name-starts-with": "Expressão de nome",
+ "help-text": "Use '%' conforme necessário: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.",
"use-entity-name-filter": "Usar filtro",
"entity-list-empty": "Nenhuma entidade selecionada.",
- "entity-name-filter-required": "O filtro do nome de entidade é obrigatório.",
- "entity-name-filter-no-entity-matched": "Nenhuma entidade encontrada que comece com '{{entity}}'.",
- "all-subtypes": "Tudo",
+ "entity-type-list-required": "Pelo menos um tipo de entidade deve ser selecionado.",
+ "entity-name-filter-required": "O filtro de nome de entidade é obrigatório.",
+ "entity-name-filter-no-entity-matched": "Nenhuma entidade começando com '{{entity}}' foi encontrada.",
+ "all-subtypes": "Todos",
"select-entities": "Selecionar entidades",
"no-aliases-found": "Nenhum alias encontrado.",
"no-alias-matching": "'{{alias}}' não encontrado.",
- "create-new-alias": "Criar um novo!",
+ "create-new-alias": "Criar novo!",
+ "create-new": "Criar novo",
"key": "Chave",
"key-name": "Nome da chave",
- "no-keys-found": "Nenhuma chave encontrado.",
+ "no-keys-found": "Nenhuma chave encontrada.",
"no-key-matching": "'{{key}}' não encontrado.",
- "create-new-key": "Criar um novo!",
+ "create-new-key": "Criar novo!",
"type": "Tipo",
"type-required": "O tipo de entidade é obrigatório.",
"type-device": "Dispositivo",
"type-devices": "Dispositivos",
- "list-of-devices": "{ count, plural, =1 {One device} other {List of # devices} }",
+ "list-of-devices": "{ count, plural, =1 {Um dispositivo} other {Lista de # dispositivos} }",
"device-name-starts-with": "Dispositivos cujos nomes começam com '{{prefix}}'",
+ "type-device-profile": "Perfil do dispositivo",
+ "type-device-profiles": "Perfis do dispositivo",
+ "clear-selected-profiles": "Limpar perfis selecionados",
+ "list-of-device-profiles": "{ count, plural, =1 {Um perfil do dispositivo} other {Lista de # perfis do dispositivo} }",
+ "device-profile-name-starts-with": "Perfis do dispositivo cujos nomes começam com '{{prefix}}'",
+ "type-asset-profile": "Perfil do ativo",
+ "type-asset-profiles": "Perfis do ativo",
+ "list-of-asset-profiles": "{ count, plural, =1 {Um perfil do ativo} other {Lista de # perfis do ativo} }",
+ "asset-profile-name-starts-with": "Perfis do ativo cujos nomes começam com '{{prefix}}'",
"type-asset": "Ativo",
"type-assets": "Ativos",
- "list-of-assets": "{ count, plural, =1 {One asset} other {List of # assets} }",
+ "list-of-assets": "{ count, plural, =1 {Um ativo} other {Lista de # ativos} }",
"asset-name-starts-with": "Ativos cujos nomes começam com '{{prefix}}'",
- "type-entity-view": "Exibição de entidade",
- "type-entity-views": "Exibições de entidades",
- "list-of-entity-views": "{ count, plural, =1 {One entity view} other {List of # entity views} }",
- "entity-view-name-starts-with": "Exibições de entidades cujos nomes começam com '{{prefix}}'",
+ "type-entity-view": "Visualização de entidade",
+ "type-entity-views": "Visualizações de entidade",
+ "list-of-entity-views": "{ count, plural, =1 {Uma visualização de entidade} other {Lista de # visualizações de entidade} }",
+ "entity-view-name-starts-with": "Visualizações de entidade cujos nomes começam com '{{prefix}}'",
"type-rule": "Regra",
"type-rules": "Regras",
- "list-of-rules": "{ count, plural, =1 {One rule} other {List of # rules} }",
+ "list-of-rules": "{ count, plural, =1 {Uma regra} other {Lista de # regras} }",
"rule-name-starts-with": "Regras cujos nomes começam com '{{prefix}}'",
- "type-plugin": "Plug-in",
- "type-plugins": "Plug-ins",
- "list-of-plugins": "{ count, plural, =1 {One plugin} other {List of # plugins} }",
- "plugin-name-starts-with": "Plug-ins cujos nomes começam com '{{prefix}}'",
- "type-tenant": "Locatário",
- "type-tenants": "Locatários",
- "list-of-tenants": "{ count, plural, =1 {One tenant} other {List of # tenants} }",
- "tenant-name-starts-with": "Locatários cujos nomes começam com '{{prefix}}'",
+ "type-plugin": "Plugin",
+ "type-plugins": "Plugins",
+ "list-of-plugins": "{ count, plural, =1 {Um plugin} other {Lista de # plugins} }",
+ "plugin-name-starts-with": "Plugins cujos nomes começam com '{{prefix}}'",
+ "type-tenant": "Tenant",
+ "type-tenants": "Tenants",
+ "list-of-tenants": "{ count, plural, =1 {Um tenant} other {Lista de # tenants} }",
+ "tenant-name-starts-with": "Tenants cujos nomes começam com '{{prefix}}'",
+ "type-tenant-profile": "Perfil do tenant",
+ "type-tenant-profiles": "Perfis do tenant",
+ "list-of-tenant-profiles": "{ count, plural, =1 {Um perfil do tenant} other {Lista de # perfis do tenant} }",
+ "tenant-profile-name-starts-with": "Perfis do tenant cujos nomes começam com '{{prefix}}'",
"type-customer": "Cliente",
"type-customers": "Clientes",
- "list-of-customers": "{ count, plural, =1 {One customer} other {List of # customers} }",
+ "list-of-customers": "{ count, plural, =1 {Um cliente} other {Lista de # clientes} }",
"customer-name-starts-with": "Clientes cujos nomes começam com '{{prefix}}'",
"type-user": "Usuário",
"type-users": "Usuários",
- "list-of-users": "{ count, plural, =1 {One user} other {List of # users} }",
+ "list-of-users": "{ count, plural, =1 {Um usuário} other {Lista de # usuários} }",
"user-name-starts-with": "Usuários cujos nomes começam com '{{prefix}}'",
"type-dashboard": "Dashboard",
"type-dashboards": "Dashboards",
- "list-of-dashboards": "{ count, plural, =1 {One dashboard} other {List of # dashboards} }",
+ "list-of-dashboards": "{ count, plural, =1 {Um dashboard} other {Lista de # dashboards} }",
"dashboard-name-starts-with": "Dashboards cujos nomes começam com '{{prefix}}'",
"type-alarm": "Alarme",
"type-alarms": "Alarmes",
- "list-of-alarms": "{ count, plural, =1 {One alarms} other {List of # alarms} }",
+ "list-of-alarms": "{ count, plural, =1 {Um alarme} other {Lista de # alarmes} }",
"alarm-name-starts-with": "Alarmes cujos nomes começam com '{{prefix}}'",
"type-rulechain": "Cadeia de regras",
"type-rulechains": "Cadeias de regras",
- "list-of-rulechains": "{ count, plural, =1 {One rule chain} other {List of # rule chains} }",
+ "list-of-rulechains": "{ count, plural, =1 {Uma cadeia de regras} other {Lista de # cadeias de regras} }",
"rulechain-name-starts-with": "Cadeias de regras cujos nomes começam com '{{prefix}}'",
"type-rulenode": "Nó de regra",
- "type-rulenodes": "Nós de regras",
- "list-of-rulenodes": "{ count, plural, =1 {One rule node} other {List of # rule nodes} }",
- "rulenode-name-starts-with": "Nós de regras cujos nomes começam com '{{prefix}}'",
+ "type-rulenodes": "Nós de regra",
+ "list-of-rulenodes": "{ count, plural, =1 {Um nó de regra} other {Lista de # nós de regra} }",
+ "rulenode-name-starts-with": "Nós de regra cujos nomes começam com '{{prefix}}'",
+ "type-api-key": "Chave de API",
+ "type-api-keys": "Chaves de API",
"type-current-customer": "Cliente atual",
- "type-current-tenant": "Locatário atual",
+ "type-current-tenant": "Tenant atual",
"type-current-user": "Usuário atual",
- "type-current-user-owner": "Proprietário de usuário atual",
+ "type-current-user-owner": "Proprietário do usuário atual",
+ "type-calculated-field": "Campo calculado",
+ "type-calculated-fields": "Campos calculados",
+ "type-ai-model": "Modelo de IA",
+ "type-ai-models": "Modelos de IA",
+ "type-widgets-bundle": "Conjunto de widgets",
+ "type-widgets-bundles": "Conjuntos de widgets",
+ "list-of-widgets-bundles": "{ count, plural, =1 {Um conjunto de widgets} other {Lista de # conjuntos de widgets} }",
+ "type-widget": "Widget",
+ "type-widgets": "Widgets",
+ "list-of-widgets": "{ count, plural, =1 {Um widget} other {Lista de # widgets} }",
"search": "Pesquisar entidades",
- "selected-entities": "{ count, plural, =1 {1 entity} other {# entities} } selecionado(s)",
+ "selected-entities": "{ count, plural, =1 {1 entidade} other {# entidades} } selecionada(s)",
"entity-name": "Nome da entidade",
- "entity-label": "Etiqueta de entidade",
- "details": "Detalhes de entidades",
+ "entity-label": "Rótulo da entidade",
+ "details": "Detalhes da entidade",
"no-entities-prompt": "Nenhuma entidade encontrada",
- "no-data": "Nenhum dado para exibição",
- "columns-to-display": "Colunas para Exibição"
+ "no-data": "Nenhum dado para exibir",
+ "show-all-columns": "Mostrar todos",
+ "columns-to-display": "Colunas a exibir",
+ "type-api-usage-state": "Estado de uso da API",
+ "type-edge": "Edge",
+ "type-edges": "Edges",
+ "list-of-edges": "{ count, plural, =1 {Um edge} other {Lista de # edges} }",
+ "edge-name-starts-with": "Edges cujos nomes começam com '{{prefix}}'",
+ "version-conflict": {
+ "message": "Deseja sobrescrever a versão existente ou descartar as alterações e carregar a versão mais recente?",
+ "link": "Você pode baixar sua versão do {{entityType}} usando este",
+ "overwrite": "Sobrescrever versão",
+ "discard": "Descartar alterações"
+ },
+ "type-tb-resource": "Recurso",
+ "type-tb-resources": "Recursos",
+ "list-of-tb-resources": "{ count, plural, =1 {Um recurso} other {Lista de # recursos} }",
+ "type-ota-package": "Pacote OTA",
+ "type-ota-packages": "Pacotes OTA",
+ "list-of-ota-packages": "{ count, plural, =1 {Um pacote OTA} other {Lista de # pacotes OTA} }",
+ "type-rpc": "RPC",
+ "type-queue": "Fila",
+ "type-queue-stats": "Estatísticas da fila",
+ "type-queues-stats": "Estatísticas das filas",
+ "type-notification": "Notificação",
+ "type-notification-rule": "Regra de notificação",
+ "type-notification-rules": "Regras de notificação",
+ "list-of-notification-rules": "{ count, plural, =1 {Uma regra de notificação} other {Lista de # regras de notificação} }",
+ "type-notification-target": "Destinatário de notificação",
+ "type-notification-targets": "Destinatários de notificação",
+ "list-of-notification-targets": "{ count, plural, =1 {Um destinatário de notificação} other {Lista de # destinatários de notificação} }",
+ "type-notification-request": "Solicitação de notificação",
+ "type-notification-template": "Modelo de notificação",
+ "type-notification-templates": "Modelos de notificação",
+ "list-of-notification-templates": "{ count, plural, =1 {Um modelo de notificação} other {Lista de # modelos de notificação} }",
+ "link": "link",
+ "type-oauth2-client": "Cliente OAuth 2.0",
+ "type-oauth2-clients": "Clientes OAuth 2.0",
+ "list-of-oauth2-clients": "{ count, plural, =1 {Um cliente OAuth 2.0} other {Lista de # clientes OAuth 2.0} }",
+ "type-domain": "Domínio",
+ "type-domains": "Domínios",
+ "list-of-domains": "{ count, plural, =1 {Um domínio} other {Lista de # domínios} }",
+ "type-mobile-app": "Aplicativo móvel",
+ "type-mobile-apps": "Aplicativos móveis",
+ "list-of-mobile-apps": "{ count, plural, =1 {Um aplicativo móvel} other {Lista de # aplicativos móveis} }",
+ "type-mobile-app-bundle": "Pacote móvel",
+ "type-mobile-app-bundles": "Pacotes móveis",
+ "list-of-mobile-app-bundles": "{ count, plural, =1 {Um pacote móvel} other {Lista de # pacotes móveis} }",
+ "limit-reached": "Limite atingido",
+ "limit-reached-text": "Você atingiu o limite de {{ entities }}. Para adicionar mais, solicite ao Administrador do sistema que aumente o limite de {{ entity }}.",
+ "request-limit-increase": "Solicitar aumento do limite",
+ "request-sysadmin-text": "Você é o Administrador do sistema?",
+ "login-here": "Faça login aqui",
+ "to-increase-limit": "para aumentar o limite.",
+ "increase-limit-request-sent-title": "Enviamos uma solicitação automática ao Administrador do sistema para aumentar o limite",
+ "increase-limit-request-sent-text": "Aguarde enquanto a solicitação é revisada e as configurações são atualizadas. Pode ser necessário atualizar esta página para ver as alterações."
},
"entity-field": {
- "created-time": "Hora de criação",
+ "created-time": "Data de criação",
"name": "Nome",
"type": "Tipo",
"first-name": "Nome",
"last-name": "Sobrenome",
- "email": "E-mail",
+ "email": "Email",
"title": "Título",
"country": "País",
"state": "Estado",
@@ -877,287 +3213,321 @@
"address2": "Endereço 2",
"zip": "CEP",
"phone": "Telefone",
- "label": "Etiqueta"
+ "label": "Rótulo",
+ "queue-name": "Nome da fila",
+ "service-id": "ID do serviço",
+ "owner-name": "Nome do proprietário",
+ "owner-type": "Tipo do proprietário"
},
"entity-view": {
- "entity-view": "Exibição de entidade",
- "entity-view-required": "A exibição de entidade é obrigatória.",
- "entity-views": "Exibições de entidades",
- "management": "Habilitar gerenciamento de exibições",
- "view-entity-views": "Visualizar exibições de entidades",
- "entity-view-alias": "Alias de exibição de entidade",
- "aliases": "Aliases de exibições de entidades",
+ "entity-view": "Visualização de entidade",
+ "entity-view-required": "Visualização de entidade é obrigatória.",
+ "entity-views": "Visualizações de entidade",
+ "management": "Gerenciamento de visualização de entidade",
+ "view-entity-views": "Visualizar visualizações de entidade",
+ "entity-view-alias": "Alias de visualização de entidade",
+ "aliases": "Aliases de visualização de entidade",
"no-alias-matching": "'{{alias}}' não encontrado.",
"no-aliases-found": "Nenhum alias encontrado.",
"no-key-matching": "'{{key}}' não encontrado.",
- "no-keys-found": "Nenhuma chave encontrado.",
+ "no-keys-found": "Nenhuma chave encontrada.",
"create-new-alias": "Criar um novo!",
"create-new-key": "Criar um novo!",
- "duplicate-alias-error": "Alias '{{alias}}' duplicado encontrado.
Os aliases de exibições de entidades devem ser exclusivos no dashboard.",
- "configure-alias": "Configurar alias de '{{alias}}'",
- "no-entity-views-matching": "Nenhuma exibição de entidade encontrada que coincida com '{{entity}}'.",
+ "duplicate-alias-error": "Alias duplicado encontrado '{{alias}}'.
Os aliases de visualização de entidade devem ser únicos no dashboard.",
+ "configure-alias": "Configurar alias '{{alias}}'",
+ "no-entity-views-matching": "Nenhuma visualização de entidade correspondente a '{{entity}}' foi encontrada.",
"public": "Público",
"alias": "Alias",
- "alias-required": "O alias de exibição de entidade é obrigatório.",
- "remove-alias": "Remover alias de exibição de entidade",
- "add-alias": "Adicionar alias de exibição de entidade",
- "name-starts-with": "O nome da exibição de entidade começa com",
- "entity-view-list": "Lista de exibições de entidades",
+ "alias-required": "O alias de visualização de entidade é obrigatório.",
+ "remove-alias": "Remover alias de visualização de entidade",
+ "add-alias": "Adicionar alias de visualização de entidade",
+ "name-starts-with": "Expressão de nome de visualização de entidade",
+ "help-text": "Use '%' conforme necessário: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.",
+ "entity-view-list": "Lista de visualizações de entidade",
"use-entity-view-name-filter": "Usar filtro",
- "entity-view-list-empty": "Nenhuma exibição de entidade selecionada.",
- "entity-view-name-filter-required": "O filtro de nomes de exibições de entidades é obrigatório.",
- "entity-view-name-filter-no-entity-view-matched": "Nenhuma exibição de entidade encontrada que comece com '{{entityView}}'.",
- "add": "Adicionar exibição de entidade",
- "entity-view-public": "A exibição de entidade é pública",
- "assign-to-customer": "Atribuir a cliente",
- "assign-entity-view-to-customer": "Atribuir Exibição(ões) de entidade(s) a Cliente",
- "assign-entity-view-to-customer-text": "Selecione as exibições de entidades a serem atribuídas ao cliente",
- "no-entity-views-text": "Nenhuma exibição de entidade encontrada",
- "assign-to-customer-text": "Selecione o cliente para atribuir a(s) exibição(ões) de entidade(s)",
- "entity-view-details": "Detalhes de exibições de entidades",
- "add-entity-view-text": "Adicionar nova exibição de entidade",
- "delete": "Excluir exibição de entidade",
- "assign-entity-views": "Atribuir exibições de entidades",
- "assign-entity-views-text": "Atribuir { count, plural, =1 {1 entity view} other {# entity views} } a cliente",
- "delete-entity-views": "Excluir exibições de entidades",
- "unassign-from-customer": "Remover atribuição a cliente",
- "unassign-entity-views": "Remover atribuição de exibições de entidades",
- "unassign-entity-views-action-title": "Remover atribuição de { count, plural, =1 {1 entity view} other {# entity views} } a cliente",
- "assign-new-entity-view": "Atribuir nova exibição de entidade",
- "delete-entity-view-title": "Tem certeza de que deseja excluir a exibição de entidade '{{entityViewName}}'?",
- "delete-entity-view-text": "Cuidado, após confirmar, não será possível recuperar a exibição de entidade e todos os dados associados.",
- "delete-entity-views-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 entity view} other {# entity views} }?",
- "delete-entity-views-action-title": "Excluir { count, plural, =1 {1 entity view} other {# entity views} }",
- "delete-entity-views-text": "Cuidado, após confirmar, todas as exibições de entidades selecionadas serão removidas e não será possível recuperar nenhum dado associado.",
- "unassign-entity-view-title": "Tem certeza de que deseja remover a atribuição da exibição de entidade '{{entityViewName}}'?",
- "unassign-entity-view-text": "Após confirmar, a atribuição da exibição de entidade será removida e ela não poderá ser acessada pelo cliente.",
- "unassign-entity-view": "Remover atribuição de exibição de entidade",
- "unassign-entity-views-title": "Tem certeza de que deseja remover a atribuição de { count, plural, =1 {1 entity view} other {# entity views} }?",
- "unassign-entity-views-text": "Após confirmar, a atribuição de todas as exibições de entidade selecionadas será removida e elas não poderão ser acessadas pelo cliente.",
- "entity-view-type": "Tipo de exibições de entidades",
- "entity-view-type-required": "O tipo de exibição de entidade é obrigatório.",
- "select-entity-view-type": "Selecionar tipo de exibição de entidade",
- "enter-entity-view-type": "Inserir tipo de exibição de entidade",
- "any-entity-view": "Qualquer exibição de entidade",
- "no-entity-view-types-matching": "Nenhum tipo de exibição de entidade encontrado que coincida com '{{entitySubtype}}'.",
- "entity-view-type-list-empty": "Nenhum tipo de exibição de entidade selecionado.",
- "entity-view-types": "Tipos de exibição de entidade",
- "created-time": "Hora de criação",
+ "entity-view-list-empty": "Nenhuma visualização de entidade selecionada.",
+ "entity-view-name-filter-required": "O filtro de nome de visualização de entidade é obrigatório.",
+ "entity-view-name-filter-no-entity-view-matched": "Nenhuma visualização de entidade começando com '{{entityView}}' foi encontrada.",
+ "add": "Adicionar visualização de entidade",
+ "entity-view-public": "A visualização de entidade é pública",
+ "assign-to-customer": "Atribuir ao cliente",
+ "assign-entity-view-to-customer": "Atribuir visualização(ões) de entidade ao cliente",
+ "assign-entity-view-to-customer-text": "Selecione as visualizações de entidade para atribuir ao cliente",
+ "no-entity-views-text": "Nenhuma visualização de entidade encontrada",
+ "assign-to-customer-text": "Selecione o cliente para atribuir a(s) visualização(ões) de entidade",
+ "entity-view-details": "Detalhes da visualização de entidade",
+ "add-entity-view-text": "Adicionar nova visualização de entidade",
+ "delete": "Excluir visualização de entidade",
+ "assign-entity-views": "Atribuir visualizações de entidade",
+ "assign-entity-views-text": "Atribuir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} } ao cliente",
+ "delete-entity-views": "Excluir visualizações de entidade",
+ "make-public": "Tornar visualização de entidade pública",
+ "make-private": "Tornar visualização de entidade privada",
+ "unassign-from-customer": "Desatribuir do cliente",
+ "unassign-entity-views": "Desatribuir visualizações de entidade",
+ "unassign-entity-views-action-title": "Desatribuir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} } do cliente",
+ "assign-new-entity-view": "Atribuir nova visualização de entidade",
+ "delete-entity-view-title": "Tem certeza de que deseja excluir a visualização de entidade '{{entityViewName}}'?",
+ "delete-entity-view-text": "Atenção: após a confirmação, a visualização de entidade e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-entity-views-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} }?",
+ "delete-entity-views-action-title": "Excluir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} }",
+ "delete-entity-views-text": "Atenção: após a confirmação, todas as visualizações de entidade selecionadas serão removidas e todos os dados relacionados se tornarão irrecuperáveis.",
+ "make-public-entity-view-title": "Tem certeza de que deseja tornar a visualização de entidade '{{entityViewName}}' pública?",
+ "make-public-entity-view-text": "Após a confirmação, a visualização de entidade e todos os seus dados serão tornados públicos e acessíveis por outros.",
+ "make-private-entity-view-title": "Tem certeza de que deseja tornar a visualização de entidade '{{entityViewName}}' privada?",
+ "make-private-entity-view-text": "Após a confirmação, a visualização de entidade e todos os seus dados serão tornados privados e não serão acessíveis por outros.",
+ "unassign-entity-view-title": "Tem certeza de que deseja desatribuir a visualização de entidade '{{entityViewName}}'?",
+ "unassign-entity-view-text": "Após a confirmação, a visualização de entidade será desatribuída e não estará acessível ao cliente.",
+ "unassign-entity-view": "Desatribuir visualização de entidade",
+ "unassign-entity-views-title": "Tem certeza de que deseja desatribuir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} }?",
+ "unassign-entity-views-text": "Após a confirmação, todas as visualizações de entidade selecionadas serão desatribuídas e não estarão acessíveis ao cliente.",
+ "entity-view-type": "Tipo de visualização de entidade",
+ "entity-view-type-required": "O tipo de visualização de entidade é obrigatório.",
+ "select-entity-view-type": "Selecionar tipo de visualização de entidade",
+ "enter-entity-view-type": "Inserir tipo de visualização de entidade",
+ "any-entity-view": "Qualquer visualização de entidade",
+ "no-entity-view-types-matching": "Nenhum tipo de visualização de entidade correspondente a '{{entitySubtype}}' foi encontrado.",
+ "entity-view-type-list-empty": "Nenhum tipo de visualização de entidade selecionado.",
+ "entity-view-types": "Tipos de visualização de entidade",
+ "created-time": "Data de criação",
"name": "Nome",
- "name-required": "O nome é obrigatório.",
+ "name-required": "Nome é obrigatório.",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "type-max-length": "O tipo de visualização de entidade deve ter menos de 256 caracteres",
"description": "Descrição",
"events": "Eventos",
"details": "Detalhes",
- "copyId": "Copiar ID de exibição de entidade",
- "idCopiedMessage": "O ID de exibição de entidade foi copiado para a área de transferência",
+ "copyId": "Copiar Id da visualização de entidade",
+ "idCopiedMessage": "O Id da visualização de entidade foi copiado para a área de transferência",
"assignedToCustomer": "Atribuído ao cliente",
- "unable-entity-view-device-alias-title": "Impossível excluir alias de exibição de entidade",
- "unable-entity-view-device-alias-text": "Não é possível excluir o alias do dispositivo '{{entityViewAlias}}' porque ele é usado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
- "select-entity-view": "Selecionar exibição de entidade",
- "make-public": "Tornar exibição de entidade pública",
- "make-private": "Tornar exibição de entidade privada",
- "start-date": "Data de início",
+ "unable-entity-view-device-alias-title": "Não é possível excluir o alias de visualização de entidade",
+ "unable-entity-view-device-alias-text": "O alias de dispositivo '{{entityViewAlias}}' não pode ser excluído pois é usado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
+ "select-entity-view": "Selecionar visualização de entidade",
"start-ts": "Hora de início",
- "end-date": "Data de término",
"end-ts": "Hora de término",
- "date-limits": "Limites de datas",
+ "date-limits": "Limites de data",
"client-attributes": "Atributos do cliente",
"shared-attributes": "Atributos compartilhados",
"server-attributes": "Atributos do servidor",
- "timeseries": "Intervalos de tempo",
+ "timeseries": "Séries temporais",
"client-attributes-placeholder": "Atributos do cliente",
"shared-attributes-placeholder": "Atributos compartilhados",
"server-attributes-placeholder": "Atributos do servidor",
- "timeseries-placeholder": "Intervalos de tempo",
- "target-entity": "Entidade alvo",
+ "timeseries-placeholder": "Séries temporais",
+ "target-entity": "Entidade de destino",
"attributes-propagation": "Propagação de atributos",
- "attributes-propagation-hint": "A exibição de entidade copiará automaticamente atributos especificados da entidade alvo sempre que essa exibição de entidade for salva ou atualizada. Por questões de desempenho, os atributos da entidade alvo não são propagados para a exibição de entidade em cada alteração de atributo. A propagação automática pode ser habilitada configurando o nó de regra \"copiar para exibição\" na cadeia de regras e vinculando mensagens de \"Pós-Atributos\" e \"Atributos Atualizados\" ao novo nó de regra.",
- "timeseries-data": "Dados de intervalos de tempo",
- "timeseries-data-hint": "Configurar chaves de dados de intervalos de tempo da entidade alvo que estará acessível para a exibição de entidade. Esses dados de intervalo de tempo são apenas de leitura.",
- "make-public-entity-view-title": "Tem certeza de que deseja tornar a exibição de entidade '{{entityViewName}}' pública?",
- "make-public-entity-view-text": "Após confirmar, a exibição de entidade e todos os dados associados a ela se tornarão públicos e poderão ser acessados por outros.",
- "make-private-entity-view-title": "Tem certeza de que deseja tornar a exibição de entidade '{{entityViewName}}' privada?",
- "make-private-entity-view-text": "Após confirmar, a exibição de entidade e todos os dados associados a ela se tornarão privados e não poderão ser acessados por outros.",
- "search": "Pesquisar exibições de entidades",
- "selected-entity-views": "{ count, plural, =1 {1 entity view} other {# entity views} } selecionado(s)"
+ "attributes-propagation-hint": "A visualização de entidade copiará automaticamente os atributos especificados da entidade de destino cada vez que você salvar ou atualizar esta visualização de entidade. Por razões de desempenho, os atributos da entidade de destino não são propagados para a visualização de entidade a cada alteração de atributo. Você pode habilitar a propagação automática configurando o nó de regra \"copy to view\" na sua cadeia de regras e vinculando as mensagens \"Post attributes\" e \"Attributes Updated\" ao novo nó de regra.",
+ "timeseries-data": "Dados de séries temporais",
+ "timeseries-data-hint": "Configure as chaves de dados de séries temporais da entidade de destino que estarão acessíveis à visualização de entidade. Esses dados de séries temporais são somente leitura.",
+ "search": "Pesquisar visualizações de entidade",
+ "selected-entity-views": "{ count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} } selecionada(s)",
+ "assign-entity-view-to-edge": "Atribuir visualização(ões) de entidade ao Edge",
+ "assign-entity-view-to-edge-text": "Selecione as visualizações de entidade para atribuir ao edge",
+ "unassign-entity-view-from-edge-title": "Tem certeza de que deseja desatribuir a visualização de entidade '{{entityViewName}}'?",
+ "unassign-entity-view-from-edge-text": "Após a confirmação, a visualização de entidade será desatribuída e não estará acessível ao edge.",
+ "unassign-entity-views-from-edge-action-title": "Desatribuir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} } do edge",
+ "unassign-entity-view-from-edge": "Desatribuir visualização de entidade",
+ "unassign-entity-views-from-edge-title": "Tem certeza de que deseja desatribuir { count, plural, =1 {1 visualização de entidade} other {# visualizações de entidade} }?",
+ "unassign-entity-views-from-edge-text": "Após a confirmação, todas as visualizações de entidade selecionadas serão desatribuídas e não estarão acessíveis ao edge."
},
"event": {
"event-type": "Tipo de evento",
+ "events-filter": "Filtro de eventos",
+ "clean-events": "Limpar eventos",
"type-error": "Erro",
"type-lc-event": "Evento de ciclo de vida",
"type-stats": "Estatísticas",
"type-debug-rule-node": "Depuração",
"type-debug-rule-chain": "Depuração",
+ "type-debug-calculated-field": "Depuração",
+ "arguments": "Argumentos",
+ "result": "Resultado",
"no-events-prompt": "Nenhum evento encontrado",
"error": "Erro",
"alarm": "Alarme",
- "event-time": "Tempo de evento",
+ "event-time": "Hora do evento",
"server": "Servidor",
"body": "Corpo",
"method": "Método",
"type": "Tipo",
- "message-id": "ID de mensagem",
- "message-type": "Tipo de Mensagem",
- "data-type": "Tipo de Dados",
- "relation-type": "Tipo de Relação",
"metadata": "Metadados",
+ "message": "Mensagem",
+ "message-id": "Id da mensagem",
+ "copy-message-id": "Copiar Id da mensagem",
+ "message-type": "Tipo de mensagem",
+ "data-type": "Tipo de dados",
+ "relation-type": "Tipo de relação",
"data": "Dados",
"event": "Evento",
"status": "Status",
- "success": "Êxito",
+ "success": "Sucesso",
"failed": "Falhou",
"messages-processed": "Mensagens processadas",
- "errors-occurred": "Erros",
- "all-events": "Tudo",
- "entity-type": "Tipo de entidade"
+ "max-messages-processed": "Máximo de mensagens processadas",
+ "min-messages-processed": "Mínimo de mensagens processadas",
+ "errors-occurred": "Erros ocorridos",
+ "max-errors-occurred": "Máximo de erros ocorridos",
+ "min-errors-occurred": "Mínimo de erros ocorridos",
+ "min-value": "O valor mínimo é 0.",
+ "all-events": "Todos",
+ "has-error": "Contém erro",
+ "entity-id": "Id da entidade",
+ "copy-entity-id": "Copiar Id da entidade",
+ "entity-type": "Tipo de entidade",
+ "clear-filter": "Limpar filtro",
+ "clear-request-title": "Limpar todos os eventos",
+ "clear-request-text": "Tem certeza de que deseja limpar todos os eventos?",
+ "started": "Iniciado",
+ "updated": "Atualizado",
+ "stopped": "Parado"
},
"extension": {
"extensions": "Extensões",
- "selected-extensions": "{ count, plural, =1 {1 extension} other {# extensions} } selecionado(s)",
+ "selected-extensions": "{ count, plural, =1 {1 extensão} other {# extensões} } selecionada(s)",
"type": "Tipo",
"key": "Chave",
"value": "Valor",
- "id": "ID",
- "extension-id": "ID da extensão",
+ "id": "Id",
+ "extension-id": "Id da extensão",
"extension-type": "Tipo de extensão",
"transformer-json": "JSON *",
- "unique-id-required": "O ID de extensão atual já existe.",
+ "unique-id-required": "O id da extensão atual já existe.",
"delete": "Excluir extensão",
"add": "Adicionar extensão",
"edit": "Editar extensão",
"delete-extension-title": "Tem certeza de que deseja excluir a extensão '{{extensionId}}'?",
- "delete-extension-text": "Cuidado, após confirmar, não será possível recuperar a extensão e nenhum dado associado.",
- "delete-extensions-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 extension} other {# extensions} }?",
- "delete-extensions-text": "Cuidado, após confirmar, todas as extensões selecionadas serão removidas.",
+ "delete-extension-text": "Atenção: após a confirmação, a extensão e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-extensions-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 extensão} other {# extensões} }?",
+ "delete-extensions-text": "Atenção: após a confirmação, todas as extensões selecionadas serão removidas.",
"converters": "Conversores",
- "converter-id": "ID do conversor",
+ "converter-id": "Id do conversor",
"configuration": "Configuração",
- "converter-configurations": "Configurações de conversores",
+ "converter-configurations": "Configurações do conversor",
"token": "Token de segurança",
"add-converter": "Adicionar conversor",
"add-config": "Adicionar configuração de conversor",
- "device-name-expression": "Expressão do nome do dispositivo",
- "device-type-expression": "Expressão do tipo de dispositivo",
+ "device-name-expression": "Expressão de nome do dispositivo",
+ "device-type-expression": "Expressão de tipo do dispositivo",
"custom": "Personalizado",
- "to-double": "Duplicar",
+ "to-double": "Para Double",
"transformer": "Transformador",
- "json-required": "O json do transformador é obrigatório",
- "json-parse": "Impossível analisar json do transformador",
+ "json-required": "O JSON do transformador é obrigatório.",
+ "json-parse": "Não foi possível analisar o JSON do transformador.",
"attributes": "Atributos",
"add-attribute": "Adicionar atributo",
"add-map": "Adicionar elemento de mapeamento",
- "timeseries": "Intervalos de tempo",
- "add-timeseries": "Adicionar intervalos de tempo",
- "field-required": "O campo é obrigatório",
+ "timeseries": "Séries temporais",
+ "add-timeseries": "Adicionar séries temporais",
+ "field-required": "Campo é obrigatório",
"brokers": "Brokers",
"add-broker": "Adicionar broker",
"host": "Host",
"port": "Porta",
- "port-range": "A porta deve estar em um intervalo de 1 a 65535.",
+ "port-range": "A porta deve estar no intervalo de 1 a 65535.",
"ssl": "Ssl",
"credentials": "Credenciais",
"username": "Nome de usuário",
"password": "Senha",
- "retry-interval": "Intervalo de repetição em milissegundos",
+ "retry-interval": "Intervalo de nova tentativa em milissegundos",
"anonymous": "Anônimo",
"basic": "Básico",
"pem": "PEM",
- "ca-cert": "Arquivo de certificado da Autoridade de Certificação *",
+ "ca-cert": "Arquivo de certificado CA *",
"private-key": "Arquivo de chave privada *",
"cert": "Arquivo de certificado *",
"no-file": "Nenhum arquivo selecionado.",
- "drop-file": "Solte um arquivo ou clique para selecionar um arquivo para carregar.",
+ "drop-file": "Arraste um arquivo ou clique para selecionar um arquivo para upload.",
"mapping": "Mapeamento",
"topic-filter": "Filtro de tópico",
"converter-type": "Tipo de conversor",
"converter-json": "Json",
- "json-name-expression": "Expressão json do nome do dispositivo",
- "topic-name-expression": "Expressão de tópico do nome do dispositivo",
- "json-type-expression": "Expressão json do tipo de dispositivo",
- "topic-type-expression": "Expressão de tópico do tipo de dispositivo",
- "attribute-key-expression": "Expressão da chave de atributo",
- "attr-json-key-expression": "Expressão json da chave de atributo",
- "attr-topic-key-expression": "Expressão de tópico da chave de atributo",
- "request-id-expression": "Expressão de ID da solicitação",
- "request-id-json-expression": "Expressão json de ID da solicitação",
- "request-id-topic-expression": "Expressão de tópico de ID da solicitação",
+ "json-name-expression": "Expressão JSON de nome do dispositivo",
+ "topic-name-expression": "Expressão de tópico de nome do dispositivo",
+ "json-type-expression": "Expressão JSON de tipo do dispositivo",
+ "topic-type-expression": "Expressão de tópico de tipo do dispositivo",
+ "attribute-key-expression": "Expressão de chave de atributo",
+ "attr-json-key-expression": "Expressão JSON de chave de atributo",
+ "attr-topic-key-expression": "Expressão de tópico de chave de atributo",
+ "request-id-expression": "Expressão de id de solicitação",
+ "request-id-json-expression": "Expressão JSON de id de solicitação",
+ "request-id-topic-expression": "Expressão de tópico de id de solicitação",
"response-topic-expression": "Expressão de tópico de resposta",
- "value-expression": "Expressão do valor",
+ "value-expression": "Expressão de valor",
"topic": "Tópico",
- "timeout": "Tempo limite em milissegundos",
- "converter-json-required": "Json do conversor é obrigatório.",
- "converter-json-parse": "Impossível analisar json do conversor",
- "filter-expression": "Expressão do filtro",
+ "timeout": "Tempo Limite em milissegundos",
+ "converter-json-required": "O JSON do conversor é obrigatório.",
+ "converter-json-parse": "Não foi possível analisar o JSON do conversor.",
+ "filter-expression": "Expressão de filtro",
"connect-requests": "Solicitações de conexão",
"add-connect-request": "Adicionar solicitação de conexão",
"disconnect-requests": "Solicitações de desconexão",
"add-disconnect-request": "Adicionar solicitação de desconexão",
"attribute-requests": "Solicitações de atributo",
"add-attribute-request": "Adicionar solicitação de atributo",
- "attribute-updates": "Atualizações de atributos",
+ "attribute-updates": "Atualizações de atributo",
"add-attribute-update": "Adicionar atualização de atributo",
- "server-side-rpc": "RPC no lado do servidor",
- "add-server-side-rpc-request": "Adicionar solicitação de RPC no lado do servidor",
- "device-name-filter": "Filtro do nome do dispositivo",
+ "server-side-rpc": "RPC do lado do servidor",
+ "add-server-side-rpc-request": "Adicionar solicitação RPC do lado do servidor",
+ "device-name-filter": "Filtro de nome do dispositivo",
"attribute-filter": "Filtro de atributo",
"method-filter": "Filtro de método",
"request-topic-expression": "Expressão de tópico de solicitação",
"response-timeout": "Tempo limite de resposta em milissegundos",
"topic-expression": "Expressão de tópico",
- "client-scope": "Escopo de cliente",
+ "client-scope": "Escopo do cliente",
"add-device": "Adicionar dispositivo",
"opc-server": "Servidores",
"opc-add-server": "Adicionar servidor",
- "opc-add-server-prompt": "Adicione servidor",
- "opc-application-name": "Nome do aplicativo",
- "opc-application-uri": "Uri do aplicativo",
- "opc-scan-period-in-seconds": "Período de digitalização em segundos",
+ "opc-add-server-prompt": "Adicione um servidor",
+ "opc-application-name": "Nome da aplicação",
+ "opc-application-uri": "URI da aplicação",
+ "opc-scan-period-in-seconds": "Período de varredura em segundos",
"opc-security": "Segurança",
"opc-identity": "Identidade",
"opc-keystore": "Keystore",
"opc-type": "Tipo",
"opc-keystore-type": "Tipo",
- "opc-keystore-location": "Localização*",
+ "opc-keystore-location": "Localização *",
"opc-keystore-password": "Senha",
"opc-keystore-alias": "Alias",
- "opc-keystore-key-password": "Senha principal",
- "opc-device-node-pattern": "Padrão de nó de dispositivo",
- "opc-device-name-pattern": "Padrão de nome de dispositivo",
- "modbus-server": "Servidores/subordinados",
- "modbus-add-server": "Adicionar servidor/subordinado",
- "modbus-add-server-prompt": "Adicione servidor/subordinado",
+ "opc-keystore-key-password": "Senha da chave",
+ "opc-device-node-pattern": "Padrão de nó do dispositivo",
+ "opc-device-name-pattern": "Padrão de nome do dispositivo",
+ "modbus-server": "Servidores/escravos",
+ "modbus-add-server": "Adicionar servidor/escravo",
+ "modbus-add-server-prompt": "Adicione um servidor/escravo",
"modbus-transport": "Transporte",
"modbus-tcp-reconnect": "Reconectar automaticamente",
- "modbus-rtu-over-tcp": "RTU sobre TCP",
+ "modbus-rtu-over-tcp": "RTU over TCP",
"modbus-port-name": "Nome da porta serial",
"modbus-encoding": "Codificação",
"modbus-parity": "Paridade",
"modbus-baudrate": "Taxa de transmissão",
"modbus-databits": "Bits de dados",
"modbus-stopbits": "Bits de parada",
- "modbus-databits-range": "Os bits de dados devem estar em um intervalo de 7 a 8.",
- "modbus-stopbits-range": "Os bits de parada devem estar em um intervalo de 1 a 2.",
+ "modbus-databits-range": "Os bits de dados devem estar no intervalo de 7 a 8.",
+ "modbus-stopbits-range": "Os bits de parada devem estar no intervalo de 1 a 2.",
"modbus-unit-id": "ID da unidade",
- "modbus-unit-id-range": "O ID da unidade deve estar em um intervalo de 1 a 247.",
+ "modbus-unit-id-range": "O ID da unidade deve estar no intervalo de 1 a 247.",
"modbus-device-name": "Nome do dispositivo",
- "modbus-poll-period": "Período de sondagem (ms)",
- "modbus-attributes-poll-period": "Atributos do período de sondagem (ms)",
- "modbus-timeseries-poll-period": "Intervalos de tempo do período de sondagem (ms)",
- "modbus-poll-period-range": "O período de sondagem deve ser um valor positivo.",
- "modbus-tag": "Etiqueta",
+ "modbus-poll-period": "Período de polling (ms)",
+ "modbus-attributes-poll-period": "Período de polling de atributos (ms)",
+ "modbus-timeseries-poll-period": "Período de polling de séries temporais (ms)",
+ "modbus-poll-period-range": "O período de polling deve ser um valor positivo.",
+ "modbus-tag": "Tag",
"modbus-function": "Função",
- "modbus-register-address": "Endereço do registro",
- "modbus-register-address-range": "O endereço do registro deve estar em um intervalo de 0 a 65535.",
- "modbus-register-bit-index": "Índice de bits",
- "modbus-register-bit-index-range": "O índice de bits deve estar em um intervalo de 0 a 15.",
- "modbus-register-count": "Contagem de registro",
- "modbus-register-count-range": "A contagem de registro deve ser um valor positivo.",
- "modbus-byte-order": "Ordem de byte",
+ "modbus-register-address": "Endereço do registrador",
+ "modbus-register-address-range": "O endereço do registrador deve estar no intervalo de 0 a 65535.",
+ "modbus-register-bit-index": "Índice de bit",
+ "modbus-register-bit-index-range": "O índice de bit deve estar no intervalo de 0 a 15.",
+ "modbus-register-count": "Contagem de registradores",
+ "modbus-register-count-range": "A contagem de registradores deve ser um valor positivo.",
+ "modbus-byte-order": "Ordem de bytes",
"sync": {
"status": "Status",
"sync": "Sincronizar",
- "not-sync": "Não sincronizar",
- "last-sync-time": "Horário da última sincronização",
+ "not-sync": "Não sincronizado",
+ "last-sync-time": "Último horário de sincronização",
"not-available": "Não disponível"
},
"export-extensions-configuration": "Exportar configuração de extensões",
@@ -1168,6 +3538,9 @@
"file": "Arquivo de extensões",
"invalid-file-error": "Arquivo de extensão inválido"
},
+ "feature": {
+ "advanced-features": "Recursos avançados"
+ },
"filter": {
"add": "Adicionar filtro",
"edit": "Editar filtro",
@@ -1175,16 +3548,20 @@
"name-required": "O nome do filtro é obrigatório.",
"duplicate-filter": "Já existe um filtro com o mesmo nome.",
"filters": "Filtros",
- "unable-delete-filter-title": "Impossível excluir filtro",
- "unable-delete-filter-text": "Não é possível excluir o filtro '{{filter}}' porque ele é usado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
- "duplicate-filter-error": "Filtro '{{filter}}' duplicado encontrado.
Os filtros devem ser exclusivos no dashboard.",
- "missing-key-filters-error": "Filtros chave ausentes para o filtro '{{filter}}'.",
+ "unable-delete-filter-title": "Não é possível excluir o filtro",
+ "unable-delete-filter-text": "O filtro '{{filter}}' não pode ser excluído pois é usado pelo(s) seguinte(s) widget(s):
{{widgetsList}}",
+ "duplicate-filter-error": "Filtro duplicado encontrado '{{filter}}'.
Os filtros devem ser únicos no dashboard.",
+ "missing-key-filters-error": "Filtros de chave ausentes para o filtro '{{filter}}'.",
"filter": "Filtro",
"editable": "Editável",
+ "editable-hint": "Permitir que o usuário altere o valor do filtro nos dashboards.",
"no-filters-found": "Nenhum filtro encontrado.",
+ "no-filter-text": "Nenhum filtro especificado",
+ "add-filter-prompt": "Adicione um filtro",
"no-filter-matching": "'{{filter}}' não encontrado.",
"create-new-filter": "Criar um novo!",
- "filter-required": "O filtro é obrigatório.",
+ "create-new": "Criar novo",
+ "filter-required": "Filtro é obrigatório.",
"operation": {
"operation": "Operação",
"equal": "igual",
@@ -1198,219 +3575,1387 @@
"greater-or-equal": "maior ou igual",
"less-or-equal": "menor ou igual",
"and": "e",
- "or": "ou"
+ "or": "ou",
+ "in": "em",
+ "not-in": "não em"
},
- "ignore-case": "Ignorar caixa",
+ "ignore-case": "ignorar maiúsculas/minúsculas",
"value": "Valor",
"remove-filter": "Remover filtro",
+ "duplicate-filter-action": "Duplicar filtro",
+ "preview": "Pré-visualização do filtro",
"no-filters": "Nenhum filtro configurado",
"add-filter": "Adicionar filtro",
"add-complex-filter": "Adicionar filtro complexo",
"add-complex": "Adicionar complexo",
"complex-filter": "Filtro complexo",
"edit-complex-filter": "Editar filtro complexo",
- "edit-filter-user-params": "Editar parâmetros de usuário de predicado de filtro",
- "user-parameters": "Parâmetros de usuário",
- "display-label": "Etiqueta para exibição",
- "order-priority": "Prioridade de ordem de campo",
- "key-filter": "Filtro chave",
- "key-filters": "Filtros chave",
+ "edit-filter-user-params": "Editar parâmetros de usuário do predicado do filtro",
+ "filter-user-params": "Parâmetros de usuário do predicado do filtro",
+ "user-parameters": "Parâmetros do usuário",
+ "display-label": "Rótulo de exibição",
+ "custom-label": "Rótulo personalizado",
+ "custom-label-hint": "Habilite para definir seu próprio rótulo para o filtro. Quando desabilitado, um rótulo será gerado automaticamente.",
+ "order-priority": "Ordem de exibição",
+ "key-filter": "Filtro de chave",
+ "key-filters": "Filtros de chave",
"key-name": "Nome da chave",
"key-name-required": "O nome da chave é obrigatório.",
"key-type": {
"key-type": "Tipo de chave",
"attribute": "Atributo",
- "timeseries": "Intervalos de tempo",
- "entity-field": "Campo de entidade"
+ "timeseries": "Séries temporais",
+ "entity-field": "Campo de entidade",
+ "constant": "Constante",
+ "client-attribute": "Atributo do cliente",
+ "server-attribute": "Atributo do servidor",
+ "shared-attribute": "Atributo compartilhado"
},
"value-type": {
"value-type": "Tipo de valor",
- "string": "Cadeia de caracteres",
+ "string": "String",
"numeric": "Numérico",
- "boolean": "Booliano",
- "date-time": "Data/Hora"
- },
- "value-type-required": "O tipo de valor chave é obrigatório.",
- "key-value-type-change-title": "Tem certeza de que deseja alterar o tipo de valor chave?",
- "key-value-type-change-message": "Se confirmar o novo tipo de valor, todos os filtros chave inseridos serão removidos.",
- "no-key-filters": "Nenhum filtro chave configurado",
- "add-key-filter": "Adicionar filtro chave",
- "remove-key-filter": "Remover filtro chave",
- "edit-key-filter": "Editar filtro chave",
+ "boolean": "Booleano",
+ "date-time": "Data e hora"
+ },
+ "value-type-required": "O tipo de valor da chave é obrigatório.",
+ "key-value-type-change-title": "Tem certeza de que deseja alterar o tipo de valor da chave?",
+ "key-value-type-change-message": "Se confirmar o novo tipo de valor, todos os filtros de chave inseridos serão removidos.",
+ "no-key-filters": "Nenhum filtro de chave configurado",
+ "add-key-filter": "Adicionar filtro de chave",
+ "remove-key-filter": "Remover filtro de chave",
+ "edit-key-filter": "Editar filtro de chave",
"date": "Data",
"time": "Hora",
- "current-tenant": "Locatário atual",
+ "current-tenant": "Tenant atual",
"current-customer": "Cliente atual",
"current-user": "Usuário atual",
+ "current-device": "Dispositivo atual",
"default-value": "Valor padrão",
+ "default-comma-separated-values": "Valores padrão separados por vírgula",
"dynamic-source-type": "Tipo de fonte dinâmica",
- "no-dynamic-value": "Nenhum valor dinâmico",
- "source-attribute": "Atributo da fonte",
+ "dynamic-value": "Valor dinâmico",
+ "no-dynamic-value": "Sem valor dinâmico",
+ "source-attribute": "Atributo de origem",
"switch-to-dynamic-value": "Alternar para valor dinâmico",
- "switch-to-default-value": "Alternar para valor padrão"
+ "switch-to-default-value": "Alternar para valor padrão",
+ "inherit-owner": "Herdar do proprietário",
+ "source-attribute-not-set": "Se o atributo de origem não estiver definido",
+ "unit": "Unidade"
},
"fullscreen": {
- "expand": "Expandir para tela inteira",
- "exit": "Sair de tela inteira",
- "toggle": "Alternar modo de tela inteira",
- "fullscreen": "Tela inteira"
+ "expand": "Expandir para tela cheia",
+ "exit": "Sair da tela cheia",
+ "toggle": "Alternar modo de tela cheia",
+ "fullscreen": "Tela cheia"
},
"function": {
"function": "Função"
},
"gateway": {
- "create-new-gateway": "Criar um novo gateway",
- "create-new-gateway-text": "Tem certeza de que deseja criar um novo gateway com o nome: '{{gatewayName}}'?",
- "gateway": "Gateway",
- "gateway-exists": "Já existe um dispositivo com o mesmo nome.",
"gateway-name": "Nome do gateway",
"gateway-name-required": "O nome do gateway é obrigatório.",
- "gateway-saved": "A configuração do gateway foi salva corretamente.",
+ "gateways": "Gateways",
+ "create-new-gateway": "Criar um novo gateway",
+ "create-new-gateway-text": "Tem certeza de que deseja criar um novo gateway com o nome: '{{gatewayName}}'?",
+ "launch-command": "Comando de inicialização",
"no-gateway-found": "Nenhum gateway encontrado.",
"no-gateway-matching": " '{{item}}' não encontrado."
},
"grid": {
"delete-item-title": "Tem certeza de que deseja excluir este item?",
- "delete-item-text": "Cuidado, após confirmar, não será possível recuperar este item e nenhum dado associado.",
- "delete-items-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 item} other {# items} }?",
- "delete-items-action-title": "Excluir { count, plural, =1 {1 item} other {# items} }",
- "delete-items-text": "Cuidado, após confirmar, todos os itens selecionados serão removidos e não será possível recuperar nenhum dado associado.",
+ "delete-item-text": "Atenção: após a confirmação, este item e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-items-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 item} other {# itens} }?",
+ "delete-items-action-title": "Excluir { count, plural, =1 {1 item} other {# itens} }",
+ "delete-items-text": "Atenção: após a confirmação, todos os itens selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
"add-item-text": "Adicionar novo item",
"no-items-text": "Nenhum item encontrado",
"item-details": "Detalhes do item",
"delete-item": "Excluir item",
"delete-items": "Excluir itens",
- "scroll-to-top": "Rolar para o início"
+ "scroll-to-top": "Rolar para o topo"
},
"help": {
- "goto-help-page": "Ir para a página de Ajuda"
+ "goto-help-page": "Ir para a página de ajuda",
+ "show-help": "Mostrar ajuda"
},
"home": {
- "home": "Página Inicial",
+ "home": "Início",
"profile": "Perfil",
- "logout": "Logout",
+ "logout": "Sair",
"menu": "Menu",
"avatar": "Avatar",
- "open-user-menu": "Abrir menu de usuário"
+ "open-user-menu": "Abrir menu do usuário"
+ },
+ "file-input": {
+ "browse-file": "Procurar arquivo",
+ "browse-files": "Procurar arquivos"
+ },
+ "image": {
+ "gallery": "Galeria de imagens",
+ "search": "Pesquisar imagem",
+ "selected-images": "{ count, plural, =1 {1 imagem} other {# imagens} } selecionada(s)",
+ "created-time": "Data de criação",
+ "name": "Nome",
+ "name-required": "Nome é obrigatório.",
+ "resolution": "Resolução",
+ "size": "Tamanho",
+ "system": "Sistema",
+ "download-image": "Baixar imagem",
+ "export-image": "Exportar imagem para JSON",
+ "import-image": "Importar imagem de JSON",
+ "upload-image": "Fazer upload de imagem",
+ "edit-image": "Editar imagem",
+ "image-details": "Detalhes da imagem",
+ "no-images": "Nenhuma imagem encontrada",
+ "delete-image": "Excluir imagem",
+ "delete-image-title": "Tem certeza de que deseja excluir a imagem '{{imageTitle}}'?",
+ "delete-image-text": "Atenção: após a confirmação, a imagem se tornará irrecuperável.",
+ "delete-images-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 imagem} other {# imagens} }?",
+ "delete-images-text": "Atenção: após a confirmação, todas as imagens selecionadas serão removidas e todos os dados relacionados se tornarão irrecuperáveis.",
+ "list-mode": "Visualização em lista",
+ "grid-mode": "Visualização em grade",
+ "image-preview": "Pré-visualização da imagem",
+ "update-image": "Atualizar imagem",
+ "export-failed-error": "Não foi possível exportar a imagem: {{error}}",
+ "image-json-file": "Arquivo JSON da imagem",
+ "invalid-image-json-file-error": "Não foi possível importar a imagem do JSON: Estrutura de dados JSON da imagem inválida.",
+ "image-is-in-use": "A imagem está sendo usada por outras entidades",
+ "images-are-in-use": "As imagens estão sendo usadas por outras entidades",
+ "image-is-in-use-text": "A imagem '{{title}}' não foi excluída porque é usada pelas seguintes entidades:",
+ "images-are-in-use-text": "Nem todas as imagens foram excluídas porque são usadas por outras entidades.Você pode visualizar as entidades referenciadas clicando no botão Referências na linha da imagem correspondente.Se ainda quiser excluir essas imagens, selecione-as na tabela abaixo e clique no botão Excluir selecionadas.",
+ "delete-image-in-use-text": "Se ainda quiser excluir a imagem, clique no botão Excluir mesmo assim.",
+ "system-entities": "Entidades do sistema:",
+ "entities": "entidades:",
+ "references": "Referências",
+ "include-system-images": "Incluir imagens do sistema",
+ "clear-image": "Limpar imagem",
+ "no-image": "Sem imagem",
+ "no-image-selected": "Nenhuma imagem selecionada",
+ "browse-from-gallery": "Procurar na galeria",
+ "set-link": "Definir link",
+ "image-link": "Link da imagem",
+ "link": "Link",
+ "copy-image-link": "Copiar link da imagem",
+ "embed-image": "Incorporar imagem",
+ "embed-to-html": "Incorporar em HTML",
+ "embed-to-html-hint": "Este recurso tornará o link disponível para qualquer usuário não autenticado.",
+ "embed-to-html-text": "Usando o seguinte trecho de código, você pode incorporar uma imagem nos componentes baseados em HTML puro.
Esses componentes incluem widgets de cartão HTML, funções de conteúdo de célula, etc.",
+ "embed-to-angular-template": "Incorporar em template Angular HTML",
+ "embed-to-angular-template-text": "Usando o seguinte trecho de código, você pode incorporar uma imagem no template Angular HTML que será usado para componentes.
Esses componentes incluem o widget Markdown, seção HTML no editor de widgets, ações personalizadas, etc."
+ },
+ "image-input": {
+ "drop-images-or": "Arraste e solte imagens ou",
+ "drag-and-drop": "Arrastar e soltar",
+ "or": "ou",
+ "browse": "Procurar",
+ "no-images": "Nenhuma imagem selecionada",
+ "images": "imagens"
},
"import": {
"no-file": "Nenhum arquivo selecionado",
- "drop-file": "Solte um arquivo JSON ou clique para selecionar um arquivo para carregar.",
- "drop-file-csv": "Solte um arquivo CSV ou clique para selecionar um arquivo para carregar.",
+ "drop-file": "Solte um arquivo JSON ou clique para selecionar um arquivo para enviar.",
+ "drop-json-file-or": "Arraste e solte um arquivo JSON ou",
+ "drop-file-csv": "Solte um arquivo CSV ou clique para selecionar um arquivo para enviar.",
+ "drop-file-csv-or": "Arraste e solte um arquivo CSV ou",
"column-value": "Valor",
"column-title": "Título",
- "column-example": "Exemplo de dados de valor",
+ "column-example": "Dados de valor de exemplo",
"column-key": "Chave de atributo/telemetria",
- "csv-delimiter": "Delimitador de CSV",
- "csv-first-line-header": "A primeira linha contém nomes de coluna",
+ "credentials": "Credenciais",
+ "csv-delimiter": "Delimitador CSV",
+ "csv-first-line-header": "A primeira linha contém nomes de colunas",
"csv-update-data": "Atualizar atributos/telemetria",
- "import-csv-number-columns-error": "Um arquivo deve conter no mínimo duas colunas",
+ "details": "Detalhes",
+ "import-csv-number-columns-error": "O arquivo deve conter pelo menos duas colunas",
"import-csv-invalid-format-error": "Formato de arquivo inválido. Linha: '{{line}}'",
"column-type": {
"name": "Nome",
"type": "Tipo",
- "label": "Etiqueta",
+ "label": "Rótulo",
"column-type": "Tipo de coluna",
"client-attribute": "Atributo do cliente",
"shared-attribute": "Atributo compartilhado",
"server-attribute": "Atributo do servidor",
- "timeseries": "Intervalos de tempo",
+ "timeseries": "Série temporal",
"entity-field": "Campo de entidade",
"access-token": "Token de acesso",
+ "x509": "X.509",
+ "mqtt": {
+ "client-id": "Client ID MQTT",
+ "user-name": "Nome de usuário MQTT",
+ "password": "Senha MQTT"
+ },
+ "lwm2m": {
+ "client-endpoint": "Nome do cliente do Endpoint LwM2M",
+ "security-config-mode": "Modo de configuração de segurança LwM2M",
+ "client-identity": "Identidade do cliente LwM2M",
+ "client-key": "Chave do cliente LwM2M",
+ "client-cert": "Chave pública do cliente LwM2M",
+ "bootstrap-server-security-mode": "Modo de segurança do servidor bootstrap LwM2M",
+ "bootstrap-server-secret-key": "Chave secreta do servidor bootstrap LwM2M",
+ "bootstrap-server-public-key-id": "Chave pública ou ID do servidor bootstrap LwM2M",
+ "lwm2m-server-security-mode": "Modo de segurança do servidor LwM2M",
+ "lwm2m-server-secret-key": "Chave secreta do servidor LwM2M",
+ "lwm2m-server-public-key-id": "Chave pública ou ID do servidor LwM2M"
+ },
+ "snmp": {
+ "host": "Host SNMP",
+ "port": "Porta SNMP",
+ "version": "Versão SNMP (v1, v2c ou v3)",
+ "community-string": "String de comunidade SNMP"
+ },
"isgateway": "É Gateway",
- "description": "Descrição"
+ "activity-time-from-gateway-device": "Tempo de atividade do dispositivo gateway",
+ "description": "Descrição",
+ "routing-key": "Chave do edge",
+ "secret": "Segredo do edge"
},
"stepper-text": {
"select-file": "Selecionar um arquivo",
- "configuration": "Importar configuração",
- "column-type": "Selecionar tipos de colunas",
- "creat-entities": "Criar novas entidades"
+ "configuration": "Configuração de importação",
+ "column-type": "Selecionar tipo de colunas",
+ "creat-entities": "Criando novas entidades"
},
"message": {
- "create-entities": "{{count}} novas entidades foram criadas corretamente.",
- "update-entities": "{{count}} novas entidades foram atualizadas corretamente.",
+ "create-entities": "{{count}} novas entidades foram criadas com sucesso.",
+ "update-entities": "{{count}} entidades foram atualizadas com sucesso.",
"error-entities": "Ocorreu um erro ao criar {{count}} entidades."
}
},
+ "scada": {
+ "symbols": "Símbolos SCADA",
+ "search": "Pesquisar símbolo",
+ "selected-symbols": "{ count, plural, =1 {1 símbolo} other {# símbolos} } selecionado(s)",
+ "download-symbol": "Baixar símbolo SCADA",
+ "export-symbol": "Exportar símbolo SCADA para JSON",
+ "import-symbol": "Importar símbolo SCADA de JSON",
+ "upload-symbol": "Carregar símbolo SCADA",
+ "update-symbol": "Atualizar símbolo SCADA",
+ "edit-symbol": "Editar símbolo SCADA",
+ "symbol-details": "Detalhes do símbolo SCADA",
+ "mode-svg": "SVG",
+ "mode-xml": "XML",
+ "no-symbols": "Nenhum símbolo encontrado",
+ "show-hidden-elements": "Mostrar elementos ocultos",
+ "hide-hidden-elements": "Ocultar elementos ocultos",
+ "delete-symbol": "Excluir símbolo SCADA",
+ "delete-symbol-title": "Tem certeza de que deseja excluir o símbolo SCADA '{{imageTitle}}'?",
+ "delete-symbol-text": "Atenção: após a confirmação, o símbolo SCADA não poderá ser recuperado.",
+ "delete-symbols-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 símbolo SCADA} other {# símbolos SCADA} }?",
+ "delete-symbols-text": "Atenção: após a confirmação, todos os símbolos SCADA selecionados serão removidos e todos os dados relacionados não poderão ser recuperados.",
+ "include-system-symbols": "Incluir símbolos do sistema",
+ "symbol-preview": "Visualização do símbolo",
+ "general": "Geral",
+ "tags": "Tags",
+ "properties": "Propriedades",
+ "title": "Título",
+ "description": "Descrição",
+ "search-tags": "Pesquisar tags",
+ "widget-size": "Tamanho do widget",
+ "cols": "colunas",
+ "rows": "linhas",
+ "state-render-function": "Função de renderização de estado",
+ "preview": "Visualização",
+ "preview-widget-action-text": "Ação do widget '{{type}}' invocada com sucesso!",
+ "no-symbol": "Nenhum símbolo SCADA",
+ "no-symbol-selected": "Nenhum símbolo SCADA selecionado",
+ "clear-symbol": "Limpar símbolo SCADA",
+ "browse-symbol-from-gallery": "Procurar símbolo SCADA na galeria",
+ "zoom-in": "Aproximar",
+ "zoom-out": "Afastar",
+ "create-widget": "Criar widget",
+ "create-widget-from-symbol": "Criar widget a partir do símbolo SCADA",
+ "hidden": "oculto",
+ "tag": {
+ "tag": "Tag",
+ "on-click-action": "Ação ao clicar",
+ "no-tags": "Nenhuma tag configurada",
+ "delete-tag-text": "Tem certeza de que deseja excluir a tag
{{tag}} do elemento {{elementType}}?",
+ "update-tag": "Atualizar tag",
+ "enter-tag": "Inserir tag",
+ "tag-settings": "Configurações de tag",
+ "remove-tag": "Remover tag",
+ "add-tag": "Adicionar tag"
+ },
+ "behavior": {
+ "behavior": "Comportamento",
+ "id": "Id",
+ "name": "Nome",
+ "type": "Tipo",
+ "no-behaviors": "Nenhum comportamento configurado",
+ "add-behavior": "Adicionar comportamento",
+ "type-action": "Ação",
+ "type-value": "Valor",
+ "type-widget-action": "Ação do widget",
+ "behavior-settings": "Configurações de comportamento",
+ "remove-behavior": "Remover comportamento",
+ "hint": "Dica",
+ "group-title": "Título do grupo",
+ "value-type": "Tipo de valor",
+ "default-value": "Valor padrão",
+ "true-label": "Rótulo verdadeiro",
+ "false-label": "Rótulo falso",
+ "state-label": "Rótulo de estado",
+ "default-payload": "Payload padrão",
+ "not-unique-behavior-ids-error": "Os IDs de comportamento devem ser únicos!",
+ "default-settings": "Configurações padrão"
+ },
+ "symbol": {
+ "symbol": "Símbolo SCADA",
+ "fluid-presence": "Presença de fluido",
+ "fluid-presence-hint": "Indica se há fluido presente no tubo.",
+ "fluid-present": "Fluido presente",
+ "present": "Presente",
+ "absent": "Ausente",
+ "flow-presence": "Presença de fluxo",
+ "flow-presence-hint": "Indica se o fluido está fluindo no tubo.",
+ "flow-present": "Fluxo presente",
+ "flow-direction": "Direção do fluxo",
+ "flow-direction-hint": "Indica a direção do fluxo de fluido.",
+ "forward": "Avançar",
+ "reverse": "Reverso",
+ "flow-animation-speed": "Velocidade de animação do fluxo",
+ "flow-animation-speed-hint": "Valor decimal que indica a velocidade de animação do fluxo. 1 - velocidade normal, 0 - sem animação, < 1 - animação mais lenta, > 1 - animação mais rápida.",
+ "leak": "Vazamento",
+ "leak-hint": "Indica se há vazamento presente no tubo.",
+ "leak-present": "Vazamento presente",
+ "fluid-color": "Cor do fluido",
+ "pipe-color": "Cor do tubo",
+ "horizontal-pipe": "Tubo horizontal",
+ "vertical-pipe": "Tubo vertical",
+ "horizontal-fluid-color": "Cor do fluido horizontal",
+ "vertical-fluid-color": "Cor do fluido vertical",
+ "left-pipe": "Tubo esquerdo",
+ "right-pipe": "Tubo direito",
+ "top-pipe": "Tubo superior",
+ "bottom-pipe": "Tubo inferior",
+ "left-fluid-color": "Cor do fluido esquerdo",
+ "right-fluid-color": "Cor do fluido direito",
+ "top-fluid-color": "Cor do fluido superior",
+ "bottom-fluid-color": "Cor do fluido inferior",
+ "display": "Exibição",
+ "display-format": "Formato de exibição",
+ "value": "Valor",
+ "decimals": "Decimais",
+ "units": "Unidades",
+ "flow-meter-value-hint": "Valor decimal exibido no display do medidor de fluxo",
+ "value-hint": "Valor decimal que indica o valor atual",
+ "running": "Em execução",
+ "running-hint": "Indica se o componente está em estado de execução.",
+ "warning-state": "Estado de aviso",
+ "warning": "Aviso",
+ "warning-click": "Clique de aviso",
+ "warning-state-hint": "Indica se o componente está em estado de aviso.",
+ "critical-state": "Estado crítico",
+ "critical": "Crítico",
+ "critical-click": "Clique crítico",
+ "critical-state-hint": "Indica se o componente está em estado crítico.",
+ "critical-state-animation": "Animação de estado crítico",
+ "critical-state-animation-hint": "Se deve habilitar a animação piscante quando o componente está em estado crítico.",
+ "warning-critical-state-animation": "Animação de estado de aviso/crítico",
+ "warning-critical-state-animation-hint": "Se deve habilitar a animação piscante quando o componente está em estado de aviso ou crítico.",
+ "animation": "Animação",
+ "broken": "Com falha",
+ "broken-hint": "Indica se o componente está com falha.",
+ "on-display-click": "Ao clicar no display",
+ "on-display-click-hint": "Ação invocada quando o usuário clica no display.",
+ "pipe": "Tubo",
+ "default-border-color": "Cor padrão da borda",
+ "active-border-color": "Cor da borda ativa",
+ "warning-border-color": "Cor da borda de aviso",
+ "critical-border-color": "Cor da borda crítica",
+ "background-color": "Cor de fundo",
+ "rotation-animation-speed": "Velocidade de animação de rotação",
+ "rotation-animation-speed-hint": "Valor decimal que indica a velocidade de animação de rotação. 1 - velocidade normal, 0 - sem animação, < 1 - animação mais lenta, > 1 - animação mais rápida.",
+ "on-click": "Ao clicar",
+ "on-click-hint": "Ação invocada quando o usuário clica no componente.",
+ "connectors-positions": "Posições dos conectores",
+ "right-connector": "Conector direito",
+ "right-top-connector": "Conector superior direito",
+ "right-bottom-connector": "Conector inferior direito",
+ "left-connector": "Conector esquerdo",
+ "left-top-connector": "Conector superior esquerdo",
+ "left-bottom-connector": "Conector inferior esquerdo",
+ "top-left-connector": "Conector esquerdo superior",
+ "top-right-connector": "Conector direito superior",
+ "top-connector": "Conector superior",
+ "bottom-connector": "Conector inferior",
+ "running-color": "Cor em execução",
+ "stopped-color": "Cor parado",
+ "stopped": "Parado",
+ "warning-color": "Cor de aviso",
+ "critical-color": "Cor crítica",
+ "opened": "Aberto",
+ "opened-hint": "Indica se o componente está em estado aberto.",
+ "open": "Abrir",
+ "open-hint": "Ação invocada quando o usuário clica para abrir o componente.",
+ "close": "Fechar",
+ "close-hint": "Ação invocada quando o usuário clica para fechar o componente.",
+ "close-state-animation": "Animação de estado fechado",
+ "close-state-animation-hint": "Se deve habilitar a animação piscante quando o componente está em estado fechado.",
+ "opened-color": "Cor aberto",
+ "closed-color": "Cor fechado",
+ "opened-rotation-angle": "Ângulo de rotação aberto",
+ "closed-rotation-angle": "Ângulo de rotação fechado",
+ "tank-capacity": "Capacidade do tanque",
+ "tank-capacity-hint": "Valor decimal que indica a capacidade total do tanque.",
+ "current-volume": "Volume atual",
+ "current-volume-hint": "Valor decimal que indica o volume ocupado atualmente.",
+ "tank-color": "Cor do tanque",
+ "value-box": "Caixa de valor",
+ "value-text": "Texto de valor",
+ "scale": "Escala",
+ "transparent-mode": "Modo transparente",
+ "major-ticks": "Marcações principais",
+ "intervals": "Intervalos",
+ "major-ticks-color": "Cor das marcações principais",
+ "normal": "Normal",
+ "minor-ticks": "Marcações secundárias",
+ "minor-ticks-color": "Cor das marcações secundárias",
+ "temperature": "Temperatura",
+ "temperature-hint": "Valor decimal que indica a temperatura atual.",
+ "update-temperature": "Atualizar temperatura",
+ "update-temperature-hint": "Ação invocada quando o usuário clica para alterar a temperatura atual.",
+ "run": "Executar",
+ "run-hint": "Ação invocada quando o usuário clica para executar o componente.",
+ "stop": "Parar",
+ "stop-hint": "Ação invocada quando o usuário clica para parar o componente.",
+ "temperature-step": "Incremento de passo de temperatura",
+ "heat-pump-color": "Cor da bomba de calor",
+ "power-button-background": "Fundo do botão de energia",
+ "value-box-background": "Fundo da caixa de valor",
+ "value-units": "Unidades de valor",
+ "enable-units-scale": "Habilitar unidades na escala",
+ "filtration-mode": "Modo de filtração",
+ "filtration-mode-hint": "Valor inteiro que indica o modo de filtração atual.",
+ "filtration-mode-update": "Estado de atualização do modo de filtração",
+ "filtration-mode-update-hint": "Ação invocada quando o usuário clica para alterar o modo de filtração atual.",
+ "filter-mode": "Filtro",
+ "waste-mode": "Descarte",
+ "backwash-mode": "Retrolavagem",
+ "recirculate-mode": "Recircular",
+ "rinse-mode": "Enxaguar",
+ "closed-mode": "Fechado",
+ "sand-filter-color": "Cor do filtro de areia",
+ "mode-box-background": "Fundo da caixa de modo",
+ "border-color": "Cor da borda",
+ "label-color": "Cor do rótulo",
+ "water-leak-hint": "Indica se há vazamento.",
+ "default-color": "Cor padrão",
+ "leak-color": "Cor de vazamento",
+ "full-value": "Valor cheio",
+ "full-value-hint": "Valor decimal que indica o valor cheio.",
+ "label": "Rótulo",
+ "icon": "Ícone",
+ "button-color": "Cor do botão",
+ "on-label": "Texto do rótulo 'Ligado'",
+ "off-label": "Texto do rótulo 'Desligado'",
+ "arrow-presence": "Presença de seta",
+ "arrow-presence-hint": "Indica se há seta presente no conector.",
+ "arrow-present": "Seta presente",
+ "arrow-direction": "Direção do fluxo",
+ "arrow-direction-hint": "Indica a direção do fluxo.",
+ "flow-animation": "Presença de fluxo",
+ "flow-animation-hint": "Indica se o fluido está fluindo no conector.",
+ "flow": "Fluxo",
+ "flow-line": "Linha",
+ "flow-line-style": "Estilo de linha",
+ "flow-style-hint": "Defina os valores de Traço e Espaço de modo que a soma seja divisível por 100 sem resto para sincronização perfeita da animação.",
+ "flow-dash-cap": "Cap do traço",
+ "dash-cap-butt": "Plano",
+ "dash-cap-round": "Arredondado",
+ "dash-cap-square": "Quadrado",
+ "dash": "Traço",
+ "gap": "Espaço",
+ "main-line": "Linha principal",
+ "line": "Linha",
+ "line-color": "Cor da linha",
+ "arrow-color": "Cor da seta",
+ "target-value": "Valor alvo",
+ "target-value-hint": "Indica o ponto alvo na escala.",
+ "min-max-value": "Valor mínimo e máximo",
+ "min-value": "Mín",
+ "max-value": "Máx",
+ "progress-bar": "Barra de progresso",
+ "progress-arrow": "Seta de progresso",
+ "warning-scale-color": "Cor da escala de aviso",
+ "critical-scale-color": "Cor da escala crítica",
+ "scale-color": "Cor da escala",
+ "target": "Alvo",
+ "high-warning-state": "Estado de aviso alto",
+ "show-high-warning-scale": "Mostrar escala de aviso alto",
+ "high-warning-scale": "Escala de aviso alto",
+ "high-warning-state-hint": "Valor decimal que indica um intervalo de aviso alto até um valor crítico alto ou máximo.",
+ "low-warning-state": "Estado de aviso baixo",
+ "show-low-warning-scale": "Mostrar escala de aviso baixo",
+ "low-warning-scale": "Escala de aviso baixo",
+ "low-warning-state-hint": "Valor decimal que indica um intervalo de aviso baixo até um valor crítico baixo ou mínimo.",
+ "high-critical-state": "Estado crítico alto",
+ "show-high-critical-scale": "Mostrar escala crítica alta",
+ "high-critical-scale": "Escala crítica alta",
+ "high-critical-state-hint": "Valor decimal que indica um intervalo crítico alto até a escala de valor máximo.",
+ "low-critical-state": "Estado crítico baixo",
+ "show-low-critical-scale": "Mostrar estado crítico baixo",
+ "low-critical-scale": "Estado crítico baixo",
+ "low-critical-state-hint": "Valor decimal que indica um intervalo crítico baixo até a escala de valor mínimo.",
+ "filter-color": "Cor do filtro",
+ "colors": "Cores",
+ "indicator-colors": "Cores do indicador",
+ "enabled": "Habilitado",
+ "disabled": "Desabilitado",
+ "on": "LIGADO",
+ "off": "DESLIGADO",
+ "on-off-state": "Estado ligado/desligado",
+ "on-off-state-hint": "Indica se o componente está no estado Ligado ou Desligado.",
+ "on-update-state": "Estado de atualização para ligado",
+ "on-update-state-hint": "Ação invocada quando o usuário clica para atualizar o estado para Ligado.",
+ "off-update-state": "Estado de atualização para desligado",
+ "off-update-state-hint": "Ação invocada quando o usuário clica para atualizar o estado para Desligado.",
+ "voltage": "Tensão",
+ "input-voltage": "Tensão de entrada",
+ "input-voltage-hint": "Valor decimal que indica o valor da tensão de entrada.",
+ "output-voltage": "Tensão de saída",
+ "output-voltage-hint": "Valor decimal que indica o valor da tensão de saída.",
+ "first-phase-voltage": "Tensão da primeira fase",
+ "second-phase-voltage": "Tensão da segunda fase",
+ "third-phase-voltage": "Tensão da terceira fase",
+ "phase-voltage-hint": "Valor decimal que indica o valor de tensão para a fase atual",
+ "voltage-hint": "Valor decimal que indica a tensão atual",
+ "current-voltage-color": "Cor da tensão atual",
+ "phase-indicator-color": "Cor do indicador de fase",
+ "measured": "Medido",
+ "measured-hint": "Valor decimal que indica o consumo de energia em quilowatt-hora",
+ "day-rate": "Tarifa diurna",
+ "night-rate": "Tarifa noturna",
+ "off-peak-rate": "Tarifa fora de pico",
+ "peak-rate": "Tarifa de pico",
+ "export-rate": "Tarifa de exportação",
+ "operating-mode": "Modo de operação",
+ "bypass-mode": "Bypass",
+ "operating-mode-hint": "Valor inteiro que indica o modo de operação atual (0 - DESLIGADO, 1 - LIGADO, 2 - BYPASS)",
+ "connected": "Conectado",
+ "connected-hint": "Indica se o componente está em estado conectado.",
+ "disconnected": "Desconectado",
+ "indicator": "Indicador",
+ "operation-mode": "Modo de operação",
+ "operation-mode-hint": "Indica se o inversor está no modo Rede ou Inversor.",
+ "operation-mode-indicators-color": "Cor dos indicadores de modo de operação",
+ "mains-on-mode": "Rede ligada",
+ "inverter-on-mode": "Inversor ligado",
+ "charging-mode": "Modo de carregamento",
+ "charging-mode-hint": "Valor inteiro que indica o modo de carregamento atual (1 - Bulk, 2 - Absorção, 3 - Float)",
+ "charging-mode-indicators-color": "Cor dos indicadores de modo de carregamento",
+ "inverter-faults": "Falhas",
+ "inverter-fault-indicators-color": "Cor dos indicadores de falha",
+ "overload-fault": "Sobrecarga",
+ "overload-fault-hint": "Indica se o inversor está em condição de sobrecarga.",
+ "low-battery-fault": "Bateria fraca",
+ "low-battery-fault-hint": "Indica se a bateria está excessivamente descarregada.",
+ "temperature-fault": "Temperatura",
+ "temperature-fault-hint": "Indica se há alta temperatura no inversor.",
+ "triangle": "Triângulo",
+ "socket": "Tomada",
+ "left-button": "Botão esquerdo",
+ "right-button": "Botão direito",
+ "alarm-colors": "Cores de alarme",
+ "hook-color": "Cor do gancho"
+ }
+ },
"item": {
"selected": "Selecionado"
},
"js-func": {
"no-return-error": "A função deve retornar um valor!",
"return-type-mismatch": "A função deve retornar um valor do tipo '{{type}}'!",
- "tidy": "Tidy",
- "mini": "Mini"
+ "tidy": "Organizar",
+ "mini": "Mini",
+ "modules": "Módulos",
+ "remove-module": "Remover módulo",
+ "no-modules": "Nenhum módulo configurado",
+ "add-module": "Adicionar módulo",
+ "module-alias": "Alias",
+ "invalid-module-alias-name": "Nome de alias inválido",
+ "module-resource": "Recurso do módulo JS",
+ "not-unique-module-aliases-error": "Os aliases de módulo devem ser únicos!",
+ "show-module-info": "Mostrar informações do módulo",
+ "show-module-source-code": "Mostrar código-fonte do módulo",
+ "module-members": "Membros do módulo",
+ "module-no-members": "O módulo não possui membros exportados",
+ "module-load-error": "Erro ao carregar módulo",
+ "source-code": "Código-fonte",
+ "source-code-load-error": "Erro ao carregar código-fonte",
+ "no-js-module-text": "Nenhum módulo JS encontrado",
+ "no-js-module-matching": "Nenhum módulo JS correspondente a '{{module}}' foi encontrado."
},
"key-val": {
"key": "Chave",
"value": "Valor",
"remove-entry": "Remover entrada",
"add-entry": "Adicionar entrada",
- "no-data": "Sem entradas"
+ "no-data": "Nenhuma entrada"
},
"layout": {
"layout": "Layout",
+ "layouts": "Layouts",
"manage": "Gerenciar layouts",
- "settings": "Configuração de layout",
+ "settings": "Configurações de layout",
"color": "Cor",
"main": "Principal",
"right": "Direita",
- "select": "Selecionar layout alvo"
+ "left": "Esquerda",
+ "select": "Selecionar layout de destino",
+ "percentage-width": "Largura percentual (%)",
+ "fixed-width": "Largura fixa (px)",
+ "left-width": "Coluna esquerda (%)",
+ "right-width": "Coluna direita (%)",
+ "pick-fixed-side": "Lado fixo: ",
+ "layout-fixed-width": "Largura fixa (px)",
+ "value-min-error": "O valor deve ser maior que {{min}}{{unit}}",
+ "value-max-error": "O valor deve ser menor que {{max}}{{unit}}",
+ "layout-fixed-width-required": "A largura fixa é obrigatória",
+ "right-width-percentage-required": "O percentual direito é obrigatório",
+ "left-width-percentage-required": "O percentual esquerdo é obrigatório",
+ "divider": "Divisor",
+ "right-side": "Layout do lado direito",
+ "left-side": "Layout do lado esquerdo",
+ "add-new-breakpoint": "Adicionar novo breakpoint",
+ "breakpoint": "Breakpoint",
+ "breakpoints": "Breakpoints",
+ "copy-from": "Copiar de",
+ "size": "Tamanho",
+ "delete-breakpoint-title": "Tem certeza de que deseja excluir o breakpoint '{{name}}'?",
+ "delete-breakpoint-text": "Atenção: após a confirmação, o breakpoint não poderá ser recuperado e as configurações serão revertidas para o breakpoint padrão."
},
"legend": {
- "direction": "Direção da legenda",
- "position": "Posição da legenda",
+ "direction": "Direção",
+ "position": "Posição",
+ "show-values": "Mostrar valores",
+ "min-option": "Mín",
+ "max-option": "Máx",
+ "average-option": "Média",
+ "total-option": "Total",
+ "latest-option": "Mais recente",
+ "sort-legend": "Ordenar chaves de dados na legenda",
"show-max": "Mostrar valor máximo",
"show-min": "Mostrar valor mínimo",
"show-avg": "Mostrar valor médio",
"show-total": "Mostrar valor total",
- "settings": "Configuração de legenda",
- "min": "mín.",
- "max": "máx.",
- "avg": "méd.",
+ "show-latest": "Mostrar valor mais recente",
+ "settings": "Configurações de legenda",
+ "min": "mín",
+ "max": "máx",
+ "avg": "méd",
"total": "total",
+ "latest": "mais recente",
+ "Min": "Mín",
+ "Max": "Máx",
+ "Avg": "Méd",
+ "Total": "Total",
+ "Latest": "Mais recente",
"comparison-time-ago": {
+ "previousInterval": "(intervalo anterior)",
+ "customInterval": "(intervalo personalizado)",
"days": "(dia atrás)",
"weeks": "(semana atrás)",
"months": "(mês atrás)",
"years": "(ano atrás)"
- }
+ },
+ "column-title": "Título da coluna",
+ "label": "Rótulo",
+ "value": "Valor"
},
"login": {
"login": "Login",
"request-password-reset": "Solicitar redefinição de senha",
"reset-password": "Redefinir senha",
"create-password": "Criar senha",
- "passwords-mismatch-error": "As senhas inseridas devem ser idênticas!",
- "password-again": "Repetir senha",
- "username": "Nome de usuário (e-mail)",
- "remember-me": "Lembrar-me",
- "forgot-password": "Esqueceu a senha?",
- "password-reset": "Redefinir senha",
- "expired-password-reset-message": "As credenciais de expiraram! Crie uma nova senha.",
+ "two-factor-authentication": "Autenticação de dois fatores",
+ "passwords-mismatch-error": "As senhas inseridas devem ser iguais!",
+ "password-again": "Confirmar senha",
+ "sign-in": "Entrar",
+ "username": "Nome de usuário (email)",
+ "remember-me": "Lembrar de mim",
+ "forgot-password": "Esqueceu sua senha?",
+ "password-reset": "Redefinição de senha",
+ "expired-password-reset-message": "Sua senha expirou! \nInsira uma nova senha.",
"new-password": "Nova senha",
- "new-password-again": "Repetir nova senha",
- "password-link-sent-message": "O link de redefinição de senha foi enviado corretamente!",
- "email": "E-mail",
- "login-with": "Login com {{name}}",
+ "new-password-again": "Confirmar nova senha",
+ "password-link-sent-message": "Link de redefinição foi enviado",
+ "email": "Email",
+ "invalid-email-format": "Formato de email inválido.",
+ "sign-in-with": "Entrar com {{name}}",
+ "sign-in-to-your-account": "Entrar na sua conta",
"or": "ou",
- "error": "Erro de login"
+ "error": "Erro de login",
+ "verify-your-identity": "Verificar sua identidade",
+ "select-way-to-verify": "Selecionar uma forma de verificação",
+ "resend-code": "Reenviar código",
+ "resend-code-wait": "Reenviar código em { time, plural, =1 {1 segundo} other {# segundos} }",
+ "try-another-way": "Tentar outra forma",
+ "totp-auth-description": "Insira o código de segurança do seu aplicativo autenticador.",
+ "totp-auth-placeholder": "Código",
+ "sms-auth-description": "Um código de segurança foi enviado para o seu telefone em {{contact}}.",
+ "sms-auth-placeholder": "Código SMS",
+ "email-auth-description": "Um código de segurança foi enviado para o seu endereço de email em {{contact}}.",
+ "email-auth-placeholder": "Código de email",
+ "backup-code-auth-description": "Insira um dos seus códigos de backup.",
+ "backup-code-auth-placeholder": "Código de backup",
+ "activation-link-expired": "O link de ativação expirou",
+ "activation-link-expired-message": "O link para ativar seu perfil expirou. Você pode retornar à página de login para receber um novo email.",
+ "reset-password-link-expired": "O link de redefinição de senha expirou",
+ "reset-password-link-expired-message": "O link para redefinir sua senha expirou. Você pode retornar à página de login para receber um novo email.",
+ "two-fa": "Autenticação de dois fatores",
+ "two-fa-required": "A autenticação de dois fatores é obrigatória",
+ "set-up-verification-method": "Configurar um método de verificação para continuar",
+ "set-up-verification-method-login": "Configurar um método de verificação ou fazer login",
+ "enable-authenticator-app": "Habilitar aplicativo autenticador",
+ "enable-authenticator-app-description": "Insira o código de segurança do seu aplicativo autenticador",
+ "enable-authenticator-sms": "Habilitar autenticador SMS",
+ "enable-authenticator-sms-description": "Insira o código de 6 dígitos que acabamos de enviar para ",
+ "enable-authenticator-email": "Habilitar autenticador de email",
+ "enable-authenticator-email-description": "Um código de segurança foi enviado para o seu endereço de email em ",
+ "enter-key-manually": "ou insira esta chave de 32 dígitos manualmente:",
+ "continue": "Continuar",
+ "confirm": "Confirmar",
+ "authenticator-app-success": "Aplicativo autenticador habilitado com sucesso",
+ "authenticator-app-success-description": "Na próxima vez que fizer login, será necessário fornecer um código de autenticação de dois fatores",
+ "authenticator-sms-success": "Autenticador SMS habilitado com sucesso",
+ "authenticator-sms-success-description": "Na próxima vez que fizer login, será solicitado que insira o código de segurança que será enviado para o número de telefone",
+ "authenticator-email-success": "Autenticador de email habilitado com sucesso",
+ "authenticator-email-success-description": "Na próxima vez que fizer login, será solicitado que insira o código de segurança que será enviado para o seu endereço de email",
+ "authenticator-backup-code-success": "Código de backup habilitado com sucesso",
+ "authenticator-backup-code-success-description": "Na próxima vez que fizer login, será solicitado que insira o código de segurança ou use um dos códigos de backup.",
+ "add-verification-method": "Adicionar método de verificação",
+ "get-backup-code": "Obter código de backup",
+ "copy-key": "Copiar chave",
+ "send-code": "Enviar código",
+ "email-label": "Email",
+ "email-description": "Insira um email para usar como autenticador.",
+ "sms-description": "Insira um número de telefone para usar como autenticador.",
+ "backup-code-description": "Imprima os códigos para tê-los à mão quando precisar usá-los para entrar na sua conta. Cada código de backup pode ser usado uma vez.",
+ "backup-code-warn": "Após sair desta página, esses códigos não poderão ser exibidos novamente. Armazene-os com segurança usando as opções abaixo.",
+ "download-txt": "Baixar (txt)",
+ "print": "Imprimir",
+ "verification-code": "Código de 6 dígitos",
+ "verification-code-invalid": "Formato de código de verificação inválido",
+ "verification-code-incorrect": "O código de verificação está incorreto",
+ "verification-code-many-request": "Muitas solicitações para verificar o código de verificação",
+ "scan-qr-code": "Escaneie este código QR com seu aplicativo de verificação",
+ "phone-input": {
+ "phone-input-label": "Número de telefone",
+ "phone-input-required": "O número de telefone é obrigatório",
+ "phone-input-validation": "O número de telefone é inválido ou não é possível",
+ "phone-input-pattern": "Número de telefone inválido. Deve estar no formato E.164, ex. {{phoneNumber}}",
+ "phone-input-hint": "Número de telefone no formato E.164, ex. {{phoneNumber}}"
+ }
+ },
+ "mobile": {
+ "add-application": "Adicionar aplicação",
+ "app-id": "ID de associação do site do aplicativo",
+ "app-id-required": "O ID de associação do site do aplicativo é obrigatório",
+ "app-id-pattern": "Formato inválido do ID de associação do site do aplicativo",
+ "app-store-link": "Link da App Store",
+ "app-store-link-required": "O link da App Store é obrigatório",
+ "application-details": "Detalhes da aplicação",
+ "application-package": "Pacote da aplicação",
+ "application-secret": "Application Secret",
+ "application-secret-required": "O Application Secret é obrigatório",
+ "application": "Aplicação",
+ "applications": "Aplicações",
+ "copy-app-id": "Copiar ID do aplicativo",
+ "copy-app-store-link": "Copiar link da App Store",
+ "copy-application-package": "Copiar pacote da aplicação",
+ "copy-application-secret": "Copiar Application Secret",
+ "copy-google-play-link": "Copiar link do Google Play",
+ "copy-sha256-certificate-fingerprints": "Copiar impressões digitais do certificado SHA256",
+ "delete-application": "Excluir aplicação",
+ "delete-application-button-text": "Entendo as consequências, excluir aplicação",
+ "delete-application-text": "Esta ação não pode ser desfeita. Isso excluirá permanentemente sua aplicação.
Se não quiser excluí-la permanentemente, você pode suspender a aplicação temporariamente.
Para excluir a aplicação mesmo assim, digite \"{{phrase}}\" para confirmar.",
+ "delete-application-title-short": "Tem certeza de que deseja excluir a aplicação '{{name}}'?",
+ "delete-application-text-short": "Tenha cuidado, após a confirmação, as aplicações e todos os dados relacionados serão irrecuperáveis.",
+ "delete-application-phrase": "excluir aplicação",
+ "delete-applications-bundle-text": "Tenha cuidado, após a confirmação, o conjunto mobile e todos os dados relacionados serão irrecuperáveis.",
+ "delete-applications-bundle-title": "Tem certeza de que deseja excluir o conjunto mobile '{{bundleName}}'?",
+ "generate-application-secret": "Gerar Application Secret",
+ "google-play-link": "Link do Google Play",
+ "google-play-link-required": "O link do Google Play é obrigatório",
+ "latest-version": "Versão mais recente",
+ "min-version": "Versão mínima",
+ "invalid-version-pattern": "Formato de versão inválido. Use o formato: major.minor.patch (ex.: 1.0.0).",
+ "mobile-center": "Central móvel",
+ "mobile-package": "Pacote da aplicação",
+ "mobile-package-max-length": "O pacote da aplicação deve ter menos de 256 caracteres",
+ "mobile-package-required": "O pacote da aplicação é obrigatório.",
+ "mobile-package-pattern": "Formato inválido do pacote da aplicação",
+ "mobile-package-title": "Título da aplicação",
+ "mobile-package-title-max-length": "O título da aplicação deve ter menos de 256 caracteres",
+ "no-application": "Nenhuma aplicação encontrada",
+ "no-bundles": "Nenhum conjunto encontrado",
+ "platform-type": "Tipo de plataforma",
+ "search-application": "Pesquisar aplicações",
+ "search-bundles": "Pesquisar conjuntos",
+ "set": "Definir",
+ "sha256-certificate-fingerprints": "Impressões digitais do certificado SHA256",
+ "sha256-certificate-fingerprints-required": "As impressões digitais do certificado SHA256 são obrigatórias",
+ "sha256-certificate-fingerprints-pattern": "Formato inválido da impressão digital do certificado SHA256",
+ "show-hidden-pages": "Mostrar páginas ocultas",
+ "status": "Status",
+ "status-type": {
+ "deprecated": "Descontinuado",
+ "draft": "Rascunho",
+ "published": "Publicado",
+ "suspended": "Suspenso"
+ },
+ "store-information": "Informações da loja",
+ "version-information": "Informações de versão",
+ "min-version-release-notes": "Notas de versão da versão mínima",
+ "latest-version-release-notes": "Notas de versão da versão mais recente",
+ "bundle": "Conjunto",
+ "bundles": "Conjuntos",
+ "add-bundle": "Adicionar conjunto",
+ "title": "Título",
+ "title-required": "O título é obrigatório",
+ "title-cannot-contain-only-spaces": "O título não pode conter apenas espaços",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
+ "oauth-clients": "Clientes OAuth 2.0",
+ "android-app": "Aplicativo Android",
+ "android-application": "Aplicação Android",
+ "ios-app": "Aplicativo iOS",
+ "ios-application": "Aplicação iOS",
+ "invalid-store-link": "Link da loja inválido",
+ "enable-oauth": "Habilitar OAuth 2.0",
+ "enable-self-registration": "Habilitar autorregistro",
+ "edit-bundle": "Editar conjunto",
+ "description": "Descrição",
+ "basic-settings": "Configurações básicas",
+ "no-application-matching": "Nenhuma aplicação correspondente a '{{entity}}' foi encontrada.",
+ "no-bundle-matching": "Nenhum conjunto correspondente a '{{entity}}' foi encontrado.",
+ "application-required": "A aplicação é obrigatória.",
+ "bundle-required": "O conjunto é obrigatório.",
+ "no-application-text": "Nenhuma aplicação encontrada",
+ "no-bundle-text": "Nenhum conjunto encontrado",
+ "layout": "Layout",
+ "pages": "Páginas",
+ "hide-all-pages": "Ocultar todas as páginas",
+ "reset-to-default-pages": "Redefinir para páginas padrão",
+ "add-specific-page": "Adicionar página específica",
+ "visible": "Visível",
+ "hidden": "Oculto",
+ "reset-to-page-default": "Redefinir página para o padrão",
+ "mobile-599": "Mobile (máx. 599px)",
+ "tablet-959": "Tablet (máx. 959px)",
+ "max-element-number": "Número máximo de elementos",
+ "page-name": "Nome da página",
+ "page-name-required": "O nome da página é obrigatório.",
+ "page-name-cannot-contain-only-spaces": "O nome da página não pode conter apenas espaços.",
+ "page-name-max-length": "O nome da página deve ter menos de 256 caracteres",
+ "page-type": "Tipo de página",
+ "pages-types": {
+ "dashboard": "Dashboard",
+ "web-view": "Visualização web",
+ "custom": "Personalizado"
+ },
+ "url": "URL",
+ "invalid-url-format": "Formato de URL inválido",
+ "path": "Caminho",
+ "invalid-path-format": "Formato de caminho inválido",
+ "custom-page": "Página personalizada",
+ "edit-page": "Editar página",
+ "edit-custom-page": "Editar página personalizada",
+ "delete-page": "Excluir página",
+ "qr-code-widget": "Widget de código QR",
+ "type-here": "Digite aqui",
+ "configuration-dialog": "Diálogo de configuração",
+ "configuration-app": "Aplicação de configuração",
+ "configuration-step": {
+ "prepare-environment-title": "Preparar ambiente de desenvolvimento",
+ "prepare-environment-text": "O Flutter ThingsBoard Mobile Application requer o Flutter SDK. Siga as instruções para configurar o Flutter SDK.",
+ "get-source-code-title": "Obter código-fonte do aplicativo",
+ "get-source-code-text": "Você pode obter o código-fonte do Flutter ThingsBoard Mobile Application clonando-o do repositório GitHub:",
+ "configure-app-settings-title": "Configurar as definições do aplicativo",
+ "configure-app-settings-text": "Baixe o arquivo de configuração e coloque-o no diretório raiz do projeto clonado na etapa anterior.",
+ "download-file": "Baixar arquivo",
+ "run-app-title": "Executar o aplicativo",
+ "run-app-text": "Execute o aplicativo conforme descrito na sua IDE.\nSe estiver usando o terminal, execute o aplicativo com o seguinte comando:",
+ "more-information": "Informações detalhadas podem ser encontradas na nossa documentação de Primeiros Passos.",
+ "getting-started": "Primeiros Passos"
+ }
+ },
+ "notification": {
+ "action-button": "Botão de ação",
+ "action-type": "Tipo de ação",
+ "active": "Ativo",
+ "add-notification-recipients-group": "Adicionar grupo de destinatários de notificação",
+ "add-notification-template": "Adicionar modelo de notificação",
+ "add-recipient": "Adicionar destinatário",
+ "add-recipients": "Adicionar destinatários",
+ "add-rule": "Adicionar regra",
+ "add-stage": "Adicionar etapa",
+ "add-template": "Adicionar modelo",
+ "after": "Após",
+ "alarm-assignment-trigger-settings": "Configurações do gatilho de atribuição de alarme",
+ "alarm-comment-trigger-settings": "Configurações do gatilho de comentário de alarme",
+ "alarm-trigger-settings": "Configurações do gatilho de alarme",
+ "all": "Todos",
+ "api-feature-hint": "Se o campo estiver vazio, o gatilho será aplicado a todos os recursos de API",
+ "api-usage-trigger-settings": "Configurações do gatilho de uso de API",
+ "new-platform-version-trigger-settings": "Configurações do gatilho de nova versão da plataforma",
+ "rate-limits-trigger-settings": "Configurações do gatilho de limites de taxa excedidos",
+ "task-processing-failure-trigger-settings": "Configurações do gatilho de falha no processamento de tarefas",
+ "resources-shortage-trigger-settings": "Configurações do gatilho de escassez de recursos",
+ "at-least-one-should-be-selected": "Pelo menos um deve ser selecionado",
+ "basic-settings": "Configurações básicas",
+ "button-text": "Texto do botão",
+ "button-text-required": "O texto do botão é obrigatório",
+ "button-text-max-length": "O texto do botão deve ter no máximo {{ length }} caracteres",
+ "compose": "Redigir",
+ "conversation": "Conversa",
+ "conversation-required": "A conversa é obrigatória",
+ "copy-notification-template": "Copiar modelo de notificação",
+ "copy-rule": "Copiar regra",
+ "copy-template": "Copiar modelo",
+ "create-new": "Criar novo",
+ "created": "Criado",
+ "customize-messages": "Personalizar mensagens",
+ "cpu-threshold": "Limite de CPU",
+ "delete-notification-text": "Tenha cuidado, após a confirmação a notificação será irrecuperável.",
+ "delete-notification-title": "Tem certeza de que deseja excluir a notificação?",
+ "delete-notifications-text": "Tenha cuidado, após a confirmação as notificações serão irrecuperáveis.",
+ "delete-notifications-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 notificação} other {# notificações} }?",
+ "delete-recipient-text": "Tenha cuidado, após a confirmação o destinatário será irrecuperável.",
+ "delete-recipient-title": "Tem certeza de que deseja excluir o destinatário '{{recipientName}}'?",
+ "delete-recipients-text": "Tenha cuidado, após a confirmação os destinatários serão irrecuperáveis.",
+ "delete-recipients-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 destinatário} other {# destinatários} }?",
+ "delete-request-text": "Tenha cuidado, após a confirmação a solicitação será irrecuperável.",
+ "delete-request-title": "Tem certeza de que deseja excluir a solicitação?",
+ "delete-requests-text": "Tenha cuidado, após a confirmação as solicitações serão irrecuperáveis.",
+ "delete-requests-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 solicitação} other {# solicitações} }?",
+ "delete-rule-text": "Tenha cuidado, após a confirmação a regra será irrecuperável.",
+ "delete-rule-title": "Tem certeza de que deseja excluir a regra '{{ruleName}}'?",
+ "delete-rules-text": "Tenha cuidado, após a confirmação as regras serão irrecuperáveis.",
+ "delete-rules-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 regra} other {# regras} }?",
+ "delete-template-text": "Tenha cuidado, após a confirmação o modelo será irrecuperável.",
+ "delete-template-title": "Tem certeza de que deseja excluir o modelo '{{templateName}}'?",
+ "delete-templates-text": "Tenha cuidado, após a confirmação os modelos serão irrecuperáveis.",
+ "delete-templates-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 modelo} other {# modelos} }?",
+ "deleted": "Excluído",
+ "delivery-method": {
+ "delivery-method": "Método de entrega",
+ "email": "Email",
+ "email-preview": "Visualização de notificação por Email",
+ "slack": "Slack",
+ "slack-preview": "Visualização de notificação do Slack",
+ "microsoft-teams": "Microsoft Teams",
+ "microsoft-teams-preview": "Visualização de notificação do Microsoft Teams",
+ "sms": "SMS",
+ "sms-preview": "Visualização de notificação por SMS",
+ "web": "Web",
+ "web-preview": "Visualização de notificação web",
+ "mobile-app": "Aplicativo mobile",
+ "mobile-app-preview": "Visualização de notificação do aplicativo mobile"
+ },
+ "delivery-method-not-configure-click": "O método de entrega não está configurado. Clique para configurar.",
+ "delivery-method-not-configure-contact": "O método de entrega não está configurado. Entre em contato com o administrador do sistema.",
+ "delivery-methods": "Métodos de entrega",
+ "description": "Descrição",
+ "device-activity-trigger-settings": "Configurações do gatilho de atividade do dispositivo",
+ "device-list-rule-hint": "Se o campo estiver vazio, o gatilho será aplicado a todos os dispositivos",
+ "device-profiles-list-rule-hint": "Se o campo estiver vazio, o gatilho será aplicado a todos os perfis de dispositivo",
+ "disabled": "Desabilitado",
+ "edge-trigger-settings": "Configurações do gatilho do Edge",
+ "edge-list-rule-hint": "Se o campo estiver vazio, o gatilho será aplicado a todas as instâncias do Edge",
+ "edit-notification-recipients-group": "Editar grupo de destinatários de notificação",
+ "edit-notification-template": "Editar modelo de notificação",
+ "edit-rule": "Editar regra",
+ "edit-template": "Editar modelo",
+ "enabled": "Habilitado",
+ "entities-limit-trigger-settings": "Configurações do gatilho de limite de entidades",
+ "entity-action-trigger-settings": "Configurações do gatilho de ação de entidade",
+ "entity-type": "Tipo de entidade",
+ "escalation-chain": "Cadeia de escalonamento",
+ "failed-send": "Falhas de envio",
+ "fails": "{ count, plural, =1 {1 falha} other {# falhas} }",
+ "filter": "Filtro",
+ "first-recipient": "Primeiro destinatário",
+ "inactive": "Inativo",
+ "inbox": "Caixa de entrada",
+ "notification-inbox": "Notificações / Caixa de entrada",
+ "input-field-support-templatization": "O campo de entrada suporta templatização.",
+ "input-fields-support-templatization": "Os campos de entrada suportam templatização.",
+ "link": "Link",
+ "link-required": "O link é obrigatório",
+ "link-max-length": "O link deve ter no máximo {{ length }} caracteres",
+ "link-type": {
+ "dashboard": "Abrir Dashboard",
+ "link": "Abrir link URL"
+ },
+ "loading-notifications": "Carregando notificações...",
+ "management": "Gerenciamento de notificações",
+ "mark-all-as-read": "Marcar todas como lidas",
+ "mark-as-read": "Marcar como lida",
+ "message": "Mensagem",
+ "message-required": "A mensagem é obrigatória",
+ "message-max-length": "A mensagem deve ter no máximo {{ length }} caracteres",
+ "name": "Nome",
+ "name-required": "O nome é obrigatório",
+ "new-notification": "Nova notificação",
+ "no-inbox-notification": "Nenhuma notificação encontrada",
+ "no-notification-request": "Nenhuma solicitação de notificação",
+ "no-notification-templates": "Nenhum modelo de notificação encontrado",
+ "no-notifications-yet": "Nenhuma notificação ainda",
+ "no-recipients-notification": "Nenhuma notificação de destinatários",
+ "no-recipients-matching": "Nenhum destinatário correspondente a '{{entity}}' foi encontrado.",
+ "no-recipients-text": "Nenhum destinatário encontrado",
+ "no-rule": "Nenhuma regra configurada",
+ "no-rules-notification": "Nenhuma notificação de regras",
+ "no-severity-found": "Nenhuma severidade encontrada",
+ "no-severity-matching": "'{{severity}}' não encontrado.",
+ "no-template-matching": "Nenhum recurso correspondente a '{{template}}' foi encontrado.",
+ "create-new-template": "Criar um novo!",
+ "not-found-slack-recipient": "Destinatário Slack não encontrado",
+ "notification": "Notificação",
+ "notification-center": "Central de notificações",
+ "notification-tap-action": "Ação ao tocar na notificação",
+ "notification-tap-action-hint": "Se não estiver habilitado, o Dashboard de alarme padrão será usado",
+ "notify": "notificar",
+ "notify-again": "Notificar novamente",
+ "notify-alarm-action": {
+ "acknowledged": "Alarme reconhecido",
+ "assigned": "Alarme atribuído",
+ "cleared": "Alarme resolvido",
+ "created": "Alarme criado",
+ "severity-changed": "Severidade do alarme alterada",
+ "unassigned": "Alarme não atribuído"
+ },
+ "notify-on": "Notificar em",
+ "notify-on-comment-update": "Notificar na atualização de comentário",
+ "notify-on-required": "Notificar em é obrigatório",
+ "notify-on-unassign": "Notificar ao cancelar atribuição",
+ "notify-only-user-comments": "Notificar apenas comentários de usuários",
+ "only-rule-chain-lifecycle-failures": "Apenas falhas no ciclo de vida da cadeia de regras",
+ "only-rule-node-lifecycle-failures": "Apenas falhas no ciclo de vida do nó de regra",
+ "platform-users": "Usuários da plataforma",
+ "ram-threshold": "Limite de RAM",
+ "rate-limits": "Limites de taxa",
+ "rate-limits-hint": "Se o campo estiver vazio, o gatilho será aplicado a todos os limites de taxa",
+ "recipient": "Destinatário",
+ "recipient-group": "Grupo de destinatários",
+ "recipient-type": {
+ "affected-tenant-administrators": "Administradores do tenant afetado",
+ "affected-user": "Usuário afetado",
+ "all-users": "Todos os usuários",
+ "customer-users": "Usuários do cliente",
+ "system-administrators": "Administradores do sistema",
+ "tenant-administrators": "Administradores do tenant",
+ "user-filters": "Filtro de usuário",
+ "user-list": "Lista de usuários",
+ "users-entity-owner": "Usuários do proprietário da entidade"
+ },
+ "recipients": "Destinatários",
+ "notification-recipient": "Destinatário da notificação",
+ "notification-recipient-required": "O destinatário da notificação é obrigatório.",
+ "notification-recipients": "Notificações / Destinatários",
+ "recipients-count": "{ count, plural, =1 {1 destinatário} other {# destinatários} }",
+ "recipients-required": "Os destinatários são obrigatórios",
+ "refresh-allow-delivery-method": "Atualizar método de entrega permitido",
+ "request-search": "Pesquisar solicitações",
+ "request-status": {
+ "processing": "Processando",
+ "scheduled": "Agendado",
+ "sent": "Enviado"
+ },
+ "review": "Revisar",
+ "rule": "Regra",
+ "rule-chain-list-rule-hint": "Se o campo estiver vazio, o gatilho será aplicado a todas as cadeias de regras",
+ "rule-engine-events-trigger-settings": "Configurações do gatilho de eventos do motor de regras",
+ "rule-engine-filter": "Filtro do motor de regras",
+ "rule-name": "Nome da regra",
+ "rule-name-required": "O nome é obrigatório",
+ "rule-disable": "Desabilitar regra de notificação",
+ "rule-enable": "Habilitar regra de notificação",
+ "rule-node-filter": "Filtro de nó de regra",
+ "rules": "Regras",
+ "notification-rules": "Notificações / Regras",
+ "scheduler-later": "Agendar para mais tarde",
+ "search-notification": "Pesquisar notificações",
+ "search-recipients": "Pesquisar destinatários",
+ "search-rules": "Pesquisar regras",
+ "search-templates": "Pesquisar modelos",
+ "see-documentation": "Ver documentação",
+ "selected-notifications": "{ count, plural, =1 {1 notificação} other {# notificações} } selecionada(s)",
+ "selected-recipients": "{ count, plural, =1 {1 destinatário} other {# destinatários} } selecionado(s)",
+ "selected-requests": "{ count, plural, =1 {1 solicitação} other {# solicitações} } selecionada(s)",
+ "selected-rules": "{ count, plural, =1 {1 regra} other {# regras} } selecionada(s)",
+ "selected-template": "{ count, plural, =1 {1 modelo} other {# modelos} } selecionado(s)",
+ "send-notification": "Enviar notificação",
+ "sent": "Enviado",
+ "setup": "Configurar",
+ "notification-sent": "Notificações / Enviadas",
+ "set-entity-from-notification": "Definir entidade da notificação para o estado do Dashboard",
+ "slack-chanel-type": "Tipo de canal do Slack",
+ "slack-chanel-types": {
+ "direct": "Mensagem direta",
+ "private-channel": "Canal privado",
+ "public-channel": "Canal público"
+ },
+ "start-from-scratch": "Começar do zero",
+ "status": "Status",
+ "stop-escalation-alarm-status-become": "Parar o escalonamento quando o status do alarme se tornar:",
+ "storage-threshold": "Limite de armazenamento",
+ "subject": "Assunto",
+ "subject-required": "O assunto é obrigatório",
+ "subject-max-length": "O assunto deve ter no máximo {{ length }} caracteres",
+ "template": "Modelo",
+ "template-name": "Nome do modelo",
+ "template-required": "O modelo é obrigatório",
+ "template-type": {
+ "alarm": "Alarme",
+ "alarm-assignment": "Atribuição de alarme",
+ "alarm-comment": "Comentário de alarme",
+ "api-usage-limit": "Limite de uso de API",
+ "device-activity": "Atividade do dispositivo",
+ "entities-limit": "Limite de entidades",
+ "entities-limit-increase-request": "Solicitação de aumento do limite de entidades",
+ "entity-action": "Ação de entidade",
+ "general": "Geral",
+ "rule-engine-lifecycle-event": "Evento de ciclo de vida do motor de regras",
+ "rule-node": "Nó de regra",
+ "new-platform-version": "Nova versão da plataforma",
+ "rate-limits": "Limites de taxa excedidos",
+ "edge-communication-failure": "Falha de comunicação do Edge",
+ "edge-connection": "Conexão do Edge",
+ "task-processing-failure": "Falha no processamento de tarefas",
+ "resources-shortage": "Escassez de recursos"
+ },
+ "templates": "Modelos",
+ "notification-templates": "Notificações / Modelos",
+ "tenant-profiles-list-rule-hint": "Se o campo estiver vazio, o gatilho será aplicado a todos os perfis de tenant",
+ "tenants-list-rule-hint": "Se o campo estiver vazio, o gatilho será aplicado a todos os tenants",
+ "threshold": "Limite",
+ "theme-color": "Cor do tema",
+ "time": "Hora",
+ "track-rule-node-events": "Rastrear eventos de nó de regra",
+ "trigger": {
+ "alarm": "Alarme",
+ "alarm-assignment": "Atribuição de alarme",
+ "alarm-comment": "Comentário de alarme",
+ "api-usage-limit": "Limite de uso de API",
+ "device-activity": "Atividade do dispositivo",
+ "entities-limit": "Limite de entidades",
+ "entity-action": "Ação de entidade",
+ "rule-engine-lifecycle-event": "Evento de ciclo de vida do motor de regras",
+ "new-platform-version": "Nova versão da plataforma",
+ "rate-limits": "Limites de taxa excedidos",
+ "edge-connection": "Conexão do Edge",
+ "edge-communication-failure": "Falha de comunicação do Edge",
+ "task-processing-failure": "Falha no processamento de tarefas",
+ "resources-shortage": "Escassez de recursos",
+ "trigger": "Gatilho",
+ "trigger-required": "O gatilho é obrigatório"
+ },
+ "type": "Tipo",
+ "unread": "Não lida",
+ "updated": "Atualizado",
+ "use-deprecated-webhook-connectors": "Usar conectores Webhook obsoletos",
+ "use-old-api": "Usar API antiga",
+ "use-template": "Usar modelo",
+ "view-all": "Ver todos",
+ "warning": "Aviso",
+ "webhook-url": "Webhook URL",
+ "webhook-url-required": "O Webhook URL é obrigatório",
+ "workflow-url": "Workflow URL",
+ "workflow-url-required": "O Workflow URL é obrigatório",
+ "channel-name": "Nome do canal",
+ "channel-name-required": "O nome do canal é obrigatório",
+ "settings": {
+ "notification-settings": "Configurações de notificação",
+ "reset-all": "Redefinir todas as configurações",
+ "reset-all-title": "Tem certeza de que deseja redefinir o formulário?",
+ "reset-all-text": "Após a confirmação, o formulário de configurações será redefinido para o valor padrão e salvo.",
+ "type": "Tipo",
+ "enable-all": "Habilitar todos",
+ "disable-all": "Desabilitar todos",
+ "delivery-not-configured": "O método de entrega não está configurado"
+ }
+ },
+ "ota-update": {
+ "add": "Adicionar pacote",
+ "assign-firmware": "Firmware atribuído",
+ "assign-firmware-required": "O firmware atribuído é obrigatório",
+ "assign-software": "Software atribuído",
+ "assign-software-required": "O software atribuído é obrigatório",
+ "auto-generate-checksum": "Gerar checksum automaticamente",
+ "checksum": "Checksum",
+ "checksum-hint": "Se o checksum estiver vazio, será gerado automaticamente",
+ "checksum-algorithm": "Algoritmo de checksum",
+ "checksum-copied-message": "O checksum do pacote foi copiado para a área de transferência",
+ "change-firmware": "A alteração do firmware pode causar a atualização de { count, plural, =1 {1 dispositivo} other {# dispositivos} }.",
+ "change-software": "A alteração do software pode causar a atualização de { count, plural, =1 {1 dispositivo} other {# dispositivos} }.",
+ "change-ota-setting-title": "Tem certeza de que deseja alterar as configurações de OTA?",
+ "chose-compatible-device-profile": "O pacote carregado estará disponível apenas para dispositivos com o perfil escolhido.",
+ "chose-firmware-distributed-device": "Escolher o firmware que será distribuído aos dispositivos",
+ "chose-software-distributed-device": "Escolher o software que será distribuído aos dispositivos",
+ "content-type": "Tipo de conteúdo",
+ "copy-checksum": "Copiar checksum",
+ "copy-direct-url": "Copiar URL direta",
+ "copyId": "Copiar ID do pacote",
+ "copied": "Copiado!",
+ "delete": "Excluir pacote",
+ "delete-ota-update-text": "Tenha cuidado, após a confirmação a atualização OTA será irrecuperável.",
+ "delete-ota-update-title": "Tem certeza de que deseja excluir a atualização OTA '{{title}}'?",
+ "delete-ota-updates-text": "Tenha cuidado, após a confirmação todas as atualizações OTA selecionadas serão removidas.",
+ "delete-ota-updates-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 atualização OTA} other {# atualizações OTA} }?",
+ "description": "Descrição",
+ "direct-url": "URL direta",
+ "direct-url-copied-message": "A URL direta do pacote foi copiada para a área de transferência",
+ "direct-url-required": "A URL direta é obrigatória",
+ "download": "Baixar pacote",
+ "drop-file": "Arraste um arquivo de pacote ou clique para selecionar um arquivo para upload.",
+ "drop-package-file-or": "Arraste e solte um arquivo de pacote ou",
+ "file-name": "Nome do arquivo",
+ "file-size": "Tamanho do arquivo",
+ "file-size-bytes": "Tamanho do arquivo em bytes",
+ "idCopiedMessage": "O ID do pacote foi copiado para a área de transferência",
+ "no-firmware-matching": "Nenhum pacote de atualização OTA de Firmware compatível correspondente a '{{entity}}' foi encontrado.",
+ "no-firmware-text": "Nenhum pacote de atualização OTA de Firmware compatível provisionado.",
+ "no-packages-text": "Nenhum pacote encontrado",
+ "no-software-matching": "Nenhum pacote de atualização OTA de Software compatível correspondente a '{{entity}}' foi encontrado.",
+ "no-software-text": "Nenhum pacote de atualização OTA de Software compatível provisionado.",
+ "ota-update": "Atualização OTA",
+ "ota-update-details": "Detalhes da atualização OTA",
+ "ota-updates": "Atualizações OTA",
+ "package-file": "Arquivo de pacote",
+ "package-type": "Tipo de pacote",
+ "packages-repository": "Repositório de pacotes",
+ "search": "Pesquisar pacotes",
+ "selected-package": "{ count, plural, =1 {1 pacote} other {# pacotes} } selecionado(s)",
+ "title": "Título",
+ "title-required": "O título é obrigatório.",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
+ "types": {
+ "firmware": "Firmware",
+ "software": "Software"
+ },
+ "upload-binary-file": "Fazer upload de arquivo binário",
+ "use-external-url": "Usar URL externa",
+ "version": "Versão",
+ "version-required": "A versão é obrigatória.",
+ "version-tag": "Tag de versão",
+ "version-tag-hint": "A tag personalizada deve corresponder à versão do pacote informada pelo seu dispositivo.",
+ "version-max-length": "A versão deve ter menos de 256 caracteres",
+ "warning-after-save-no-edit": "Após o upload do pacote, não será possível modificar o título, a versão, o perfil do dispositivo e o tipo de pacote."
},
"position": {
- "top": "Acima",
- "bottom": "Abaixo",
+ "top": "Superior",
+ "bottom": "Inferior",
"left": "Esquerda",
"right": "Direita"
},
"profile": {
"profile": "Perfil",
"last-login-time": "Último login",
- "change-password": "Modificar senha",
- "current-password": "Senha atual"
+ "change-password": "Alterar senha",
+ "current-password": "Senha atual",
+ "copy-jwt-token": "Copiar token JWT",
+ "jwt-token": "Token JWT",
+ "token-valid-till": "Token válido até",
+ "tokenCopiedSuccessMessage": "Token JWT foi copiado para a área de transferência",
+ "tokenCopiedWarnMessage": "Token JWT expirou! Por favor, atualize a página."
+ },
+ "profiles": {
+ "profiles": "Perfis"
+ },
+ "security": {
+ "security": "Segurança",
+ "general-settings": "Configurações gerais de segurança",
+ "access-token": "Token de acesso",
+ "access-token-required": "Token de acesso é obrigatório",
+ "clientId": "Client ID",
+ "clientId-required": "Client ID é obrigatório",
+ "username": "Nome de usuário",
+ "username-required": "Nome de usuário é obrigatório",
+ "ca-cert": "Certificado CA",
+ "2fa": {
+ "2fa": "Autenticação de dois fatores",
+ "2fa-description": "A autenticação de dois fatores protege sua conta contra acesso não autorizado. Basta inserir um código de segurança ao fazer login.",
+ "authenticate-with": "Você pode autenticar com:",
+ "disable-2fa-provider-text": "Desativar {{name}} tornará sua conta menos segura",
+ "disable-2fa-provider-title": "Tem certeza de que deseja desativar {{name}}?",
+ "get-new-code": "Obter novo código",
+ "main-2fa-method": "Usar como método principal de autenticação de dois fatores",
+ "dialog": {
+ "activation-step-description-email": "Na próxima vez que fizer login, será solicitado que insira o código de segurança que será enviado para seu endereço de email.",
+ "activation-step-description-sms": "Na próxima vez que fizer login, será solicitado que insira o código de segurança que será enviado para o número de telefone.",
+ "activation-step-description-totp": "Na próxima vez que fizer login, será necessário fornecer um código de autenticação de dois fatores.",
+ "activation-step-label": "Ativação",
+ "backup-code-description": "Imprima os códigos para tê-los à mão quando precisar usá-los para fazer login em sua conta. Você pode usar cada código de backup uma vez.",
+ "backup-code-warn": "Ao sair desta página, esses códigos não poderão ser exibidos novamente. Armazene-os com segurança usando as opções abaixo.",
+ "download-txt": "Baixar (txt)",
+ "email-step-description": "Insira um email para usar como autenticador.",
+ "email-step-label": "Email",
+ "enable-email-title": "Ativar autenticador por email",
+ "enable-sms-title": "Ativar autenticador por SMS",
+ "enable-totp-title": "Ativar aplicativo autenticador",
+ "enter-verification-code": "Insira o código de 6 dígitos aqui",
+ "get-backup-code-title": "Obter código de backup",
+ "next": "Próximo",
+ "scan-qr-code": "Escaneie este código QR com seu aplicativo de verificação",
+ "send-code": "Enviar código",
+ "sms-step-description": "Insira um número de telefone para usar como autenticador.",
+ "sms-step-label": "Número de telefone",
+ "success": "Sucesso!",
+ "totp-step-description-install": "Você pode instalar aplicativos como Google Authenticator, Authy ou Duo.",
+ "totp-step-description-open": "Abra o aplicativo autenticador no seu celular.",
+ "totp-step-label": "Obter aplicativo",
+ "verification-code": "Código de 6 dígitos",
+ "verification-code-invalid": "Formato de código de verificação inválido",
+ "verification-code-incorrect": "Código de verificação incorreto",
+ "verification-code-many-request": "Muitas solicitações para verificar o código de verificação",
+ "verification-step-description": "Insira o código de 6 dígitos que acabamos de enviar para {{address}}",
+ "verification-step-label": "Verificação"
+ },
+ "provider": {
+ "email": "Email",
+ "email-description": "Use um código de segurança enviado para seu endereço de email para autenticar.",
+ "email-hint": "Códigos de autenticação são enviados por email para {{ info }}",
+ "sms": "SMS",
+ "sms-description": "Use seu telefone para autenticar. Enviaremos um código de segurança via SMS quando você fizer login.",
+ "sms-hint": "Códigos de autenticação são enviados por mensagem de texto para {{ info }}",
+ "totp": "Aplicativo autenticador",
+ "totp-description": "Use aplicativos como Google Authenticator, Authy ou Duo no seu telefone para autenticar. Será gerado um código de segurança para login.",
+ "totp-hint": "O aplicativo autenticador está configurado para sua conta",
+ "backup_code": "Código de backup",
+ "backup-code-description": "Esses códigos de acesso único imprimíveis permitem que você faça login quando estiver longe do seu telefone, como quando está viajando.",
+ "backup-code-hint": "{{ info }} códigos de uso único estão ativos no momento"
+ }
+ },
+ "password-requirement": {
+ "at-least": "Pelo menos:",
+ "character": "{ count, plural, =1 {1 caractere} other {# caracteres} }",
+ "digit": "{ count, plural, =1 {1 dígito} other {# dígitos} }",
+ "password-tooltip-min-length": "Pelo menos {{minimumLength}} caracteres",
+ "password-tooltip-max-length": "No máximo {{maximumLength}} caracteres",
+ "password-tooltip-uppercase": "{{minimumUppercaseLetters}} letra maiúscula",
+ "password-tooltip-lowercase": "{{minimumLowercaseLetters}} letra minúscula",
+ "password-tooltip-digit": "{{minimumDigits}} número",
+ "password-tooltip-special-characters": "{{minimumSpecialCharacters}} caractere especial",
+ "incorrect-password-try-again": "Senha incorreta. Tente novamente",
+ "lowercase-letter": "{ count, plural, =1 {1 letra minúscula} other {# letras minúsculas} }",
+ "new-passwords-not-match": "A nova senha não coincide",
+ "password-should-not-contain-spaces": "Sua senha não deve conter espaços",
+ "password-not-meet-requirements": "A senha não atende aos requisitos",
+ "password-requirements": "Requisitos de senha",
+ "password-should-difference": "A nova senha deve ser diferente da atual",
+ "special-character": "{ count, plural, =1 {1 caractere especial} other {# caracteres especiais} }",
+ "uppercase-letter": "{ count, plural, =1 {1 letra maiúscula} other {# letras maiúsculas} }",
+ "at-most": "No máximo:"
+ }
},
"relation": {
"relations": "Relações",
"direction": "Direção",
+ "clear-relation-type": "Limpar tipo de relação",
"search-direction": {
"FROM": "De",
"TO": "Para"
@@ -1421,214 +4966,2182 @@
},
"from-relations": "Relações de saída",
"to-relations": "Relações de entrada",
- "selected-relations": "{ count, plural, =1 {1 relation} other {# relations} } selecionado(s)",
+ "selected-relations": "{ count, plural, =1 {1 relação} other {# relações} } selecionada(s)",
"type": "Tipo",
- "to-entity-type": "Para tipo de entidade",
- "to-entity-name": "Para nome de entidade",
- "from-entity-type": "De tipo de entidade",
- "from-entity-name": "De nome de entidade",
- "to-entity": "Para entidade",
- "from-entity": "De entidade",
+ "to-entity-type": "Tipo de entidade destino",
+ "to-entity-name": "Nome da entidade destino",
+ "from-entity-type": "Tipo de entidade origem",
+ "from-entity-name": "Nome da entidade origem",
+ "to-entity": "Entidade destino",
+ "from-entity": "Entidade origem",
"delete": "Excluir relação",
"relation-type": "Tipo de relação",
- "relation-type-required": "O tipo de relação é obrigatório.",
+ "relation-type-required": "Tipo de relação é obrigatório.",
+ "relation-type-max-length": "Tipo de relação deve ter menos de 256 caracteres",
"any-relation-type": "Qualquer tipo",
"add": "Adicionar relação",
"edit": "Editar relação",
"delete-to-relation-title": "Tem certeza de que deseja excluir a relação com a entidade '{{entityName}}'?",
- "delete-to-relation-text": "Cuidado, após confirmar, a relação da entidade '{{entityName}}' com a entidade atual será anulada.",
- "delete-to-relations-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 relation} other {# relations} }?",
- "delete-to-relations-text": "Cuidado, após confirmar, todas as relações serão removidas e a relação das entidades correspondentes com a entidade atual será anulada.",
+ "delete-to-relation-text": "Atenção: após a confirmação, a entidade '{{entityName}}' ficará sem relação com a entidade atual.",
+ "delete-to-relations-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 relação} other {# relações} }?",
+ "delete-to-relations-text": "Atenção: após a confirmação, todas as relações selecionadas serão removidas e as entidades correspondentes ficarão sem relação com a entidade atual.",
"delete-from-relation-title": "Tem certeza de que deseja excluir a relação da entidade '{{entityName}}'?",
- "delete-from-relation-text": "Cuidado, após confirmar, a relação da entidade atual com a entidade '{{entityName}}' será anulada.",
- "delete-from-relations-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 relation} other {# relations} }?",
- "delete-from-relations-text": "Cuidado, após confirmar, todas as relações serão removidas e a relação da entidade atual com as entidades correspondentes será anulada.",
+ "delete-from-relation-text": "Atenção: após a confirmação, a entidade atual ficará sem relação com a entidade '{{entityName}}'.",
+ "delete-from-relations-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 relação} other {# relações} }?",
+ "delete-from-relations-text": "Atenção: após a confirmação, todas as relações selecionadas serão removidas e a entidade atual ficará sem relação com as entidades correspondentes.",
"remove-relation-filter": "Remover filtro de relação",
+ "remove-filter": "Remover filtro",
"add-relation-filter": "Adicionar filtro de relação",
"any-relation": "Qualquer relação",
"relation-filters": "Filtros de relação",
+ "relation-filter": "Filtro de relação",
"additional-info": "Informações adicionais (JSON)",
- "invalid-additional-info": "Impossível analisar informações adicionais de json",
- "no-relations-text": "Nenhuma relação encontrada"
+ "invalid-additional-info": "Não foi possível analisar o JSON de informações adicionais.",
+ "no-relations-text": "Nenhuma relação encontrada",
+ "not": "Não",
+ "copy-type": "Copiar tipo"
+ },
+ "resource": {
+ "add": "Adicionar recurso",
+ "all-types": "Todos",
+ "copyId": "Copiar ID do recurso",
+ "delete": "Excluir recurso",
+ "delete-resource-text": "Atenção: após a confirmação, o recurso se tornará irrecuperável.",
+ "delete-resource-title": "Tem certeza de que deseja excluir o recurso '{{resourceTitle}}'?",
+ "delete-resources-action-title": "Excluir { count, plural, =1 {1 recurso} other {# recursos} }",
+ "delete-resources-text": "Observe que os recursos selecionados, mesmo que estejam sendo usados em perfis de dispositivos, serão excluídos.",
+ "delete-resources-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 recurso} other {# recursos} }?",
+ "download": "Baixar recurso",
+ "drop-file": "Solte um arquivo de recurso ou clique para selecionar um arquivo para enviar.",
+ "drop-resource-file-or": "Arraste e solte um arquivo de recurso ou",
+ "empty": "Recurso está vazio",
+ "file-name": "Nome do arquivo",
+ "idCopiedMessage": "ID do recurso foi copiado para a área de transferência",
+ "no-resource-matching": "Nenhum recurso correspondente a '{{widgetsBundle}}' foi encontrado.",
+ "no-resource-text": "Nenhum recurso encontrado",
+ "open-widgets-bundle": "Abrir conjunto de widgets",
+ "resource": "Recurso",
+ "resource-file": "Arquivo de recurso",
+ "resource-files": "Arquivos de recurso",
+ "resource-library-details": "Detalhes do recurso",
+ "resource-type": "Tipo de recurso",
+ "resources-library": "Biblioteca de recursos",
+ "search": "Pesquisar recursos",
+ "selected-resources": "{ count, plural, =1 {1 recurso} other {# recursos} } selecionado(s)",
+ "system": "Sistema",
+ "title": "Título",
+ "title-required": "Título é obrigatório.",
+ "title-max-length": "Título deve ter menos de 256 caracteres",
+ "type": {
+ "jks": "JKS",
+ "js-module": "Módulo JS",
+ "lwm2m-model": "Modelo LWM2M",
+ "pkcs-12": "PKCS #12",
+ "general": "Geral"
+ },
+ "resource-sub-type": "Subtipo",
+ "sub-type": {
+ "image": "imagem",
+ "scada-symbol": "Símbolo Scada",
+ "extension": "Extensão",
+ "module": "Módulo"
+ },
+ "resource-is-in-use": "Recurso está sendo usado por outras entidades",
+ "resources-are-in-use": "Recursos estão sendo usados por outras entidades",
+ "resource-is-in-use-text": "O recurso '{{title}}' não foi excluído porque está sendo usado pelas seguintes entidades:",
+ "resources-are-in-use-text": "Nem todos os recursos foram excluídos porque estão sendo usados por outras entidades.Você pode visualizar as entidades referenciadas clicando no botão Referências na linha do recurso correspondente.Se ainda quiser excluir esses recursos, selecione-os na tabela abaixo e clique no botão Excluir selecionados.",
+ "delete-resource-in-use-text": "Se ainda quiser excluir o recurso, clique no botão Excluir assim mesmo."
+ },
+ "javascript": {
+ "add": "Adicionar recurso JavaScript",
+ "delete": "Excluir recurso JavaScript",
+ "delete-javascript-resource-text": "Atenção: após a confirmação, o recurso JavaScript se tornará irrecuperável.",
+ "delete-javascript-resource-title": "Tem certeza de que deseja excluir o recurso JavaScript '{{resourceTitle}}'?",
+ "delete-javascript-resources-action-title": "Excluir JavaScript { count, plural, =1 {1 recurso} other {# recursos} }",
+ "delete-javascript-resources-text": "Observe que os recursos JavaScript selecionados, mesmo que estejam sendo usados em funções JavaScript, serão excluídos.",
+ "delete-javascript-resources-title": "Tem certeza de que deseja excluir JavaScript { count, plural, =1 {1 recurso} other {# recursos} }?",
+ "delete-javascript-resource-in-use-text": "Se ainda quiser excluir o recurso JavaScript, clique no botão Excluir assim mesmo.",
+ "download": "Baixar recurso JavaScript",
+ "upload-from-file": "Enviar JavaScript de arquivo",
+ "resource-file": "Arquivo de recurso JavaScript",
+ "drop-file": "Solte um arquivo JavaScript ou clique para selecionar um arquivo para enviar.",
+ "drop-resource-file-or": "Arraste e solte um arquivo JavaScript ou",
+ "javascript-library": "Biblioteca JavaScript",
+ "javascript-type": "Tipo JavaScript",
+ "javascript-resource-details": "Detalhes do recurso JavaScript",
+ "javascript-resource-is-in-use": "Recurso JavaScript está sendo usado por outras entidades",
+ "javascript-resources-are-in-use": "Recursos JavaScript estão sendo usados por outras entidades",
+ "javascript-resource-is-in-use-text": "O recurso JavaScript '{{title}}' não foi excluído porque está sendo usado pelas seguintes entidades:",
+ "javascript-resources-are-in-use-text": "Nem todos os recursos JavaScript foram excluídos porque estão sendo usados por outras entidades.Você pode visualizar as entidades referenciadas clicando no botão Referências na linha do recurso correspondente.Se ainda quiser excluir esses recursos JavaScript, selecione-os na tabela abaixo e clique no botão Excluir selecionados.",
+ "search": "Pesquisar recursos JavaScript",
+ "selected-javascript-resources": "{ count, plural, =1 {1 recurso JavaScript} other {# recursos JavaScript} } selecionado(s)",
+ "no-javascript-resource-text": "Nenhum recurso JavaScript encontrado",
+ "all-types": "Todos",
+ "module-script": "Script de módulo"
+ },
+ "rpc": {
+ "error": {
+ "target-device-is-not-set": "Dispositivo de destino não está definido!",
+ "invalid-target-entity": "Comandos RPC não são suportados pela entidade {{entityType}}.",
+ "failed-to-resolve-target-device": "Falha ao resolver o dispositivo de destino!",
+ "request-timeout": "Tempo limite da solicitação",
+ "rpc-http-error": "Erro: {{status}} - {{statusText}}"
+ }
},
"rulechain": {
"rulechain": "Cadeia de regras",
+ "rulechain-events": "Eventos da cadeia de regras",
"rulechains": "Cadeias de regras",
"root": "Raiz",
"delete": "Excluir cadeia de regras",
"name": "Nome",
- "name-required": "O nome é obrigatório.",
+ "name-required": "Nome é obrigatório.",
+ "name-max-length": "Nome deve ter menos de 256 caracteres",
"description": "Descrição",
"add": "Adicionar cadeia de regras",
- "set-root": "Tornar cadeia de regras em raiz",
- "set-root-rulechain-title": "Tem certeza de que deseja tornar a cadeia de regras '{{ruleChainName}}' em raiz?",
- "set-root-rulechain-text": "Após confirmar, a cadeia de regras se tornará em raiz e irá tratar todas as mensagens de transporte recebidas.",
+ "set-root": "Definir cadeia de regras como raiz",
+ "set-root-rulechain-title": "Tem certeza de que deseja definir a cadeia de regras '{{ruleChainName}}' como raiz?",
+ "set-root-rulechain-text": "Após a confirmação, a cadeia de regras se tornará raiz e irá processar todas as mensagens de transporte recebidas.",
"delete-rulechain-title": "Tem certeza de que deseja excluir a cadeia de regras '{{ruleChainName}}'?",
- "delete-rulechain-text": "Cuidado, após confirmar, não será possível recuperar a cadeia de regras e todos os dados associados.",
- "delete-rulechains-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 rule chain} other {# rule chains} }?",
- "delete-rulechains-action-title": "Excluir { count, plural, =1 {1 rule chain} other {# rule chains} }",
- "delete-rulechains-text": "Cuidado, após confirmar, todas as cadeias de regras serão removidas e não será possível recuperar nenhum dado associado.",
+ "delete-rulechain-text": "Atenção: após a confirmação, a cadeia de regras e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-rulechains-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 cadeia de regras} other {# cadeias de regras} }?",
+ "delete-rulechains-action-title": "Excluir { count, plural, =1 {1 cadeia de regras} other {# cadeias de regras} }",
+ "delete-rulechains-text": "Atenção: após a confirmação, todas as cadeias de regras selecionadas serão removidas e todos os dados relacionados se tornarão irrecuperáveis.",
"add-rulechain-text": "Adicionar nova cadeia de regras",
"no-rulechains-text": "Nenhuma cadeia de regras encontrada",
- "rulechain-details": "Detalhes de cadeia de regras",
+ "rulechain-details": "Detalhes da cadeia de regras",
"details": "Detalhes",
"events": "Eventos",
"system": "Sistema",
"import": "Importar cadeia de regras",
"export": "Exportar cadeia de regras",
- "export-failed-error": "Impossível exportar cadeia de regras: {{error}}",
+ "export-failed-error": "Não foi possível exportar a cadeia de regras: {{error}}",
"create-new-rulechain": "Criar nova cadeia de regras",
"rulechain-file": "Arquivo de cadeia de regras",
- "invalid-rulechain-file-error": "Impossível importar cadeia de regras: Estrutura de dados de cadeia de regras inválida.",
- "copyId": "Copiar ID de cadeia de regras",
- "idCopiedMessage": "O ID da cadeia de regras foi copiado para a área de transferência",
+ "invalid-rulechain-file-error": "Não foi possível importar a cadeia de regras: estrutura de dados da cadeia de regras inválida.",
+ "copyId": "Copiar ID da cadeia de regras",
+ "idCopiedMessage": "ID da cadeia de regras foi copiado para a área de transferência",
"select-rulechain": "Selecionar cadeia de regras",
- "no-rulechains-matching": "Nenhuma cadeia de regras encontrada que coincida com '{{entity}}'.",
- "rulechain-required": "A cadeia de regras é obrigatória",
+ "no-rulechains-matching": "Nenhuma cadeia de regras correspondente a '{{entity}}' foi encontrada.",
+ "rulechain-required": "Cadeia de regras é obrigatória",
"management": "Gerenciamento de regras",
"debug-mode": "Modo de depuração",
"search": "Pesquisar cadeias de regras",
- "selected-rulechains": "{ count, plural, =1 {1 rule chain} other {# rule chains} } selecionada(s)",
- "open-rulechain": "Abrir cadeia de regras"
+ "selected-rulechains": "{ count, plural, =1 {1 cadeia de regras} other {# cadeias de regras} } selecionada(s)",
+ "open-rulechain": "Abrir cadeia de regras",
+ "edge-template-root": "Raiz do template",
+ "assign-to-edge": "Atribuir ao edge",
+ "edge-rulechain": "Cadeia de regras do edge",
+ "unassign-rulechain-from-edge-text": "Após a confirmação, a cadeia de regras será desatribuída e não estará acessível pelo edge.",
+ "unassign-rulechains-from-edge-title": "Tem certeza de que deseja desatribuir { count, plural, =1 {1 cadeia de regras} other {# cadeias de regras} }?",
+ "unassign-rulechains-from-edge-text": "Após a confirmação, todas as cadeias de regras selecionadas serão desatribuídas e não estarão acessíveis pelo edge.",
+ "assign-rulechain-to-edge-title": "Atribuir cadeia(s) de regras ao edge",
+ "assign-rulechain-to-edge-text": "Selecione as cadeias de regras para atribuir ao edge",
+ "set-edge-template-root-rulechain": "Definir cadeia de regras como raiz do template do edge",
+ "set-edge-template-root-rulechain-title": "Tem certeza de que deseja definir a cadeia de regras '{{ruleChainName}}' como raiz do template do edge?",
+ "set-edge-template-root-rulechain-text": "Após a confirmação, a cadeia de regras se tornará a raiz do template do edge e será a cadeia de regras raiz para os edges criados.",
+ "invalid-rulechain-type-error": "Não foi possível importar a cadeia de regras: tipo de cadeia de regras inválido. O tipo esperado é {{expectedRuleChainType}}.",
+ "set-auto-assign-to-edge": "Atribuir cadeia de regras ao(s) edge(s) na criação",
+ "set-auto-assign-to-edge-title": "Tem certeza de que deseja atribuir a cadeia de regras do edge '{{ruleChainName}}' ao(s) edge(s) na criação?",
+ "set-auto-assign-to-edge-text": "Após a confirmação, a cadeia de regras do edge será automaticamente atribuída ao(s) edge(s) na criação.",
+ "unset-auto-assign-to-edge": "Não atribuir cadeia de regras ao(s) edge(s) na criação",
+ "unset-auto-assign-to-edge-title": "Tem certeza de que não deseja atribuir a cadeia de regras do edge '{{ruleChainName}}' ao(s) edge(s) na criação?",
+ "unset-auto-assign-to-edge-text": "Após a confirmação, a cadeia de regras do edge não será mais automaticamente atribuída ao(s) edge(s) na criação.",
+ "unassign-rulechain-title": "Tem certeza de que deseja desatribuir a cadeia de regras '{{ruleChainName}}'?",
+ "unassign-rulechains": "Desatribuir cadeias de regras"
},
"rulenode": {
+ "rule-node-events": "Eventos do nó de regra",
"details": "Detalhes",
"events": "Eventos",
"search": "Pesquisar nós",
"open-node-library": "Abrir biblioteca de nós",
+ "close-node-library": "Fechar biblioteca de nós",
"add": "Adicionar nó de regra",
"name": "Nome",
- "name-required": "O nome é obrigatório.",
+ "name-required": "Nome é obrigatório.",
+ "name-max-length": "Nome deve ter menos de 256 caracteres",
"type": "Tipo",
- "description": "Descrição",
- "delete": "Excluir nó de regras",
+ "rule-node-description": "Descrição do nó de regra",
+ "delete": "Excluir nó de regra",
"select-all-objects": "Selecionar todos os nós e conexões",
"deselect-all-objects": "Desmarcar todos os nós e conexões",
"delete-selected-objects": "Excluir nós e conexões selecionados",
- "delete-selected": "Excluir selecionado",
+ "delete-selected": "Excluir selecionados",
+ "create-nested-rulechain": "Criar cadeia de regras aninhada",
"select-all": "Selecionar tudo",
- "copy-selected": "Copiar selecionado(s)",
+ "copy-selected": "Copiar selecionados",
"deselect-all": "Desmarcar tudo",
- "rulenode-details": "Detalhes do nó de regras",
+ "rulenode-details": "Detalhes do nó de regra",
"debug-mode": "Modo de depuração",
+ "singleton": "Singleton",
"configuration": "Configuração",
"link": "Link",
- "link-details": "Detalhes do link do nó de regras",
+ "link-details": "Detalhes do link do nó de regra",
"add-link": "Adicionar link",
- "link-label": "Etiqueta de link",
- "link-label-required": "A etiqueta de link é obrigatória.",
- "custom-link-label": "Etiqueta de link personalizada",
- "custom-link-label-required": "A etiqueta de link personalizada é obrigatória.",
- "link-labels": "Etiquetas de links",
- "link-labels-required": "As etiquetas de links são obrigatórias.",
- "no-link-labels-found": "Nenhuma etiqueta de link encontrada",
+ "link-label": "Rótulo do link",
+ "link-label-required": "Rótulo do link é obrigatório.",
+ "custom-link-label": "Rótulo de link personalizado",
+ "custom-link-label-required": "Rótulo de link personalizado é obrigatório.",
+ "link-labels": "Rótulos do link",
+ "link-labels-required": "Rótulos do link são obrigatórios.",
+ "no-link-labels-found": "Nenhum rótulo de link encontrado",
"no-link-label-matching": "'{{label}}' não encontrado.",
"create-new-link-label": "Criar um novo!",
- "type-filter": "Filtrar",
+ "type-filter": "Filtro",
"type-filter-details": "Filtrar mensagens recebidas com condições configuradas",
"type-enrichment": "Enriquecimento",
- "type-enrichment-details": "Adicionar informações adicionais aos Metadados de mensagens",
+ "type-enrichment-details": "Adicionar informações adicionais nos Metadados da mensagem",
"type-transformation": "Transformação",
- "type-transformation-details": "Alterar payload e metadados de mensagens",
+ "type-transformation-details": "Alterar payload e Metadados da mensagem",
"type-action": "Ação",
"type-action-details": "Executar ação especial",
"type-external": "Externo",
"type-external-details": "Interage com sistema externo",
- "type-rule-chain": "Cadeia de Regras",
- "type-rule-chain-details": "Encaminha mensagens recebidas para cadeia de regras especificada",
+ "type-rule-chain": "Cadeia de regras",
+ "type-rule-chain-details": "Encaminha mensagens recebidas para a cadeia de regras especificada",
+ "type-flow": "Fluxo",
+ "type-flow-details": "Organiza o fluxo de mensagens",
"type-input": "Entrada",
- "type-input-details": "Entrada lógica de cadeia de regras, encaminha mensagens recebidas para nó de regras associado",
+ "type-input-details": "Entrada lógica da cadeia de regras, encaminha mensagens recebidas para o próximo nó de regra relacionado",
"type-unknown": "Desconhecido",
- "type-unknown-details": "Nó de regras não resolvido",
- "directive-is-not-loaded": "Diretriz de configuração '{{directiveName}}' definida não está disponível.",
- "ui-resources-load-error": "Erro ao carregar configuração de recursos de interface de usuário.",
- "invalid-target-rulechain": "Impossível resolver cadeia de regras alvo!",
- "test-script-function": "Testar funcionamento de script",
+ "type-unknown-details": "Nó de regra não resolvido",
+ "directive-is-not-loaded": "A diretiva de configuração definida '{{directiveName}}' não está disponível.",
+ "ui-resources-load-error": "Falha ao carregar recursos de interface de configuração.",
+ "invalid-target-rulechain": "Não foi possível resolver a cadeia de regras de destino!",
+ "test-script-function": "Testar função de script",
+ "script-lang-java-script": "JavaScript",
+ "script-lang-tbel": "TBEL",
"message": "Mensagem",
"message-type": "Tipo de mensagem",
"select-message-type": "Selecionar tipo de mensagem",
- "message-type-required": "O tipo de mensagem é obrigatório",
+ "message-type-required": "Tipo de mensagem é obrigatório",
"metadata": "Metadados",
- "metadata-required": "As entradas de metadados não podem estar em branco.",
+ "metadata-required": "As entradas de metadados não podem estar vazias.",
"output": "Saída",
- "test": "Teste",
- "help": "Ajuda"
+ "test": "Testar",
+ "help": "Ajuda",
+ "reset-debug-settings": "Redefinir configurações de depuração em todos os nós",
+ "test-with-this-message": "{{test}} com esta mensagem",
+ "queue-hint": "Selecione uma fila para encaminhamento de mensagens para outra fila. A fila 'Main' é usada por padrão.",
+ "queue-singleton-hint": "Selecione uma fila para encaminhamento de mensagens em ambientes com múltiplas instâncias. A fila 'Main' é usada por padrão."
+ },
+ "rule-node-config": {
+ "id": "Id",
+ "additional-info": "Informações adicionais",
+ "advanced-settings": "Configurações avançadas",
+ "create-entity-if-not-exists": "Criar nova entidade se não existir",
+ "create-entity-if-not-exists-hint": "Se habilitado, uma nova entidade com os parâmetros especificados será criada caso ainda não exista. As entidades existentes serão usadas como estão para a relação.",
+ "select-device-connectivity-event": "Selecionar evento de conectividade do dispositivo",
+ "entity-name-pattern": "Padrão de nome",
+ "device-name-pattern": "Nome do dispositivo",
+ "asset-name-pattern": "Nome do ativo",
+ "entity-view-name-pattern": "Nome da visualização de entidade",
+ "customer-title-pattern": "Título do cliente",
+ "dashboard-name-pattern": "Título do dashboard",
+ "user-name-pattern": "Email do usuário",
+ "edge-name-pattern": "Nome do edge",
+ "entity-name-pattern-required": "O padrão de nome é obrigatório",
+ "entity-name-pattern-hint": "O campo de padrão de nome suporta templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "copy-message-type": "Copiar tipo de mensagem",
+ "entity-type-pattern": "Padrão de tipo",
+ "entity-type-pattern-required": "O padrão de tipo é obrigatório",
+ "message-type-value": "Valor do tipo de mensagem",
+ "message-type-value-required": "O valor do tipo de mensagem é obrigatório",
+ "message-type-value-max-length": "O valor do tipo de mensagem deve ter menos de 256 caracteres",
+ "output-message-type": "Tipo de mensagem de saída",
+ "entity-cache-expiration": "Tempo de expiração do cache de entidades (seg)",
+ "entity-cache-expiration-hint": "Especifica o intervalo de tempo máximo permitido para armazenar os registros de entidades encontrados. O valor 0 significa que os registros nunca expirarão.",
+ "entity-cache-expiration-required": "O tempo de expiração do cache de entidades é obrigatório.",
+ "entity-cache-expiration-range": "O tempo de expiração do cache de entidades deve ser maior ou igual a 0.",
+ "customer-name-pattern": "Título do cliente",
+ "customer-name-pattern-required": "O título do cliente é obrigatório",
+ "customer-name-pattern-hint": "Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "create-customer-if-not-exists": "Criar novo cliente se não existir",
+ "unassign-from-customer": "Desatribuir de cliente específico se o originador for um dashboard",
+ "unassign-from-customer-tooltip": "Apenas dashboards podem ser atribuídos a múltiplos clientes ao mesmo tempo. \nSe o originador da mensagem for um dashboard, é necessário especificar explicitamente o título do cliente para desatribuir.",
+ "customer-cache-expiration": "Tempo de expiração do cache de clientes (seg)",
+ "customer-cache-expiration-hint": "Especifica o intervalo de tempo máximo permitido para armazenar os registros de clientes encontrados. O valor 0 significa que os registros nunca expirarão.",
+ "customer-cache-expiration-required": "O tempo de expiração do cache de clientes é obrigatório.",
+ "customer-cache-expiration-range": "O tempo de expiração do cache de clientes deve ser maior ou igual a 0.",
+ "interval-start": "Início do intervalo",
+ "interval-end": "Fim do intervalo",
+ "time-unit": "Unidade de tempo",
+ "fetch-mode": "Modo de busca",
+ "order-by-timestamp": "Ordenar por timestamp",
+ "limit": "Limite",
+ "limit-hint": "O valor mínimo do limite é 2 e o máximo é 1000. Se desejar buscar uma única entrada, selecione o modo de busca 'Primeiro' ou 'Último'.",
+ "limit-required": "O limite é obrigatório.",
+ "limit-range": "O limite deve estar no intervalo de 2 a 1000.",
+ "time-unit-milliseconds": "Milissegundos",
+ "time-unit-seconds": "Segundos",
+ "time-unit-minutes": "Minutos",
+ "time-unit-hours": "Horas",
+ "time-unit-days": "Dias",
+ "time-value-range": "Intervalo permitido de 1 a 2147483647.",
+ "start-interval-value-required": "O início do intervalo é obrigatório.",
+ "end-interval-value-required": "O fim do intervalo é obrigatório.",
+ "filter": "Filtro",
+ "switch": "Switch",
+ "math-templatization-tooltip": "Este campo suporta templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "add-message-type": "Adicionar tipo de mensagem",
+ "select-message-types-required": "Pelo menos um tipo de mensagem deve ser selecionado.",
+ "select-message-types": "Selecionar tipos de mensagem",
+ "no-message-types-found": "Nenhum tipo de mensagem encontrado",
+ "no-message-type-matching": "'{{messageType}}' não encontrado.",
+ "create-new-message-type": "Criar um novo.",
+ "message-types-required": "Os tipos de mensagem são obrigatórios.",
+ "client-attributes": "Atributos do cliente",
+ "shared-attributes": "Atributos compartilhados",
+ "server-attributes": "Atributos do servidor",
+ "attributes-keys": "Chaves de atributos",
+ "attributes-keys-required": "As chaves de atributos são obrigatórias",
+ "attributes-scope": "Escopo dos atributos",
+ "attributes-scope-value": "Valor do escopo dos atributos",
+ "attributes-scope-value-copy": "Copiar valor do escopo dos atributos",
+ "attributes-scope-hint": "Use a chave de metadados 'scope' para definir dinamicamente o escopo do atributo por mensagem. Se fornecida, isso substitui o escopo definido na configuração.",
+ "notify-device": "Forçar notificação ao dispositivo",
+ "send-attributes-updated-notification": "Enviar notificação de atributos atualizados",
+ "send-attributes-updated-notification-hint": "Envia notificação sobre atributos atualizados como uma mensagem separada para a fila do motor de regras.",
+ "send-attributes-deleted-notification": "Enviar notificação de atributos excluídos",
+ "send-attributes-deleted-notification-hint": "Envia notificação sobre atributos excluídos como uma mensagem separada para a fila do motor de regras.",
+ "update-attributes-only-on-value-change": "Salvar atributos somente se o valor mudar",
+ "update-attributes-only-on-value-change-hint": "Atualiza os atributos a cada mensagem recebida independentemente de o valor ter mudado. Aumenta o uso da API e reduz o desempenho.",
+ "update-attributes-only-on-value-change-hint-enabled": "Atualiza os atributos somente se o valor tiver mudado. Se o valor não for alterado, nenhuma atualização no timestamp do atributo nem notificação de alteração de atributo será enviada.",
+ "fetch-credentials-to-metadata": "Buscar credenciais para os metadados",
+ "notify-device-on-update-hint": "Se habilitado, força a notificação ao dispositivo sobre a atualização de atributos compartilhados. Se desabilitado, o comportamento da notificação é controlado pelo parâmetro 'notifyDevice' dos metadados da mensagem recebida. Para desativar a notificação, os metadados da mensagem devem conter o parâmetro 'notifyDevice' definido como 'false'. Em qualquer outro caso, a notificação será enviada ao dispositivo.",
+ "notify-device-on-delete-hint": "Se habilitado, força a notificação ao dispositivo sobre a remoção de atributos compartilhados. Se desabilitado, o comportamento da notificação é controlado pelo parâmetro 'notifyDevice' dos metadados da mensagem recebida. Para ativar a notificação, os metadados da mensagem devem conter o parâmetro 'notifyDevice' definido como 'true'. Em qualquer outro caso, a notificação não será disparada para o dispositivo.",
+ "latest-timeseries": "Chaves de dados de séries temporais mais recentes",
+ "timeseries-keys": "Chaves de séries temporais",
+ "timeseries-keys-required": "Pelo menos uma chave de série temporal deve ser selecionada.",
+ "add-timeseries-key": "Adicionar chave de série temporal",
+ "add-message-field": "Adicionar campo de mensagem",
+ "relation-search-parameters": "Parâmetros de busca de relação",
+ "relation-parameters": "Parâmetros de relação",
+ "add-metadata-field": "Adicionar campo de metadados",
+ "data-keys": "Nomes dos campos da mensagem",
+ "copy-from": "Copiar de",
+ "data-to-metadata": "Dados para metadados",
+ "metadata-to-data": "Metadados para dados",
+ "use-regular-expression-hint": "Use expressão regular para copiar chaves por padrão.\n\nDicas e truques:\nPressione 'Enter' para concluir a entrada do nome do campo.\nPressione 'Backspace' para excluir o nome do campo. Múltiplos nomes de campos são suportados.",
+ "interval": "Intervalo",
+ "interval-required": "O intervalo é obrigatório",
+ "interval-hint": "Intervalo de deduplicação em segundos.",
+ "interval-min-error": "O valor mínimo permitido é 1",
+ "max-pending-msgs": "Máximo de mensagens pendentes",
+ "max-pending-msgs-hint": "Número máximo de mensagens armazenadas em memória para cada id de deduplicação único.",
+ "max-pending-msgs-required": "O máximo de mensagens pendentes é obrigatório",
+ "max-pending-msgs-max-error": "O valor máximo permitido é 1000",
+ "max-pending-msgs-min-error": "O valor mínimo permitido é 1",
+ "max-retries": "Máximo de tentativas",
+ "max-retries-required": "O máximo de tentativas é obrigatório",
+ "max-retries-hint": "Número máximo de tentativas para enviar as mensagens deduplicadas para a fila. Um atraso de 10 segundos é utilizado entre as tentativas",
+ "max-retries-max-error": "O valor máximo permitido é 100",
+ "max-retries-min-error": "O valor mínimo permitido é 0",
+ "strategy": "Estratégia",
+ "strategy-required": "A estratégia é obrigatória",
+ "strategy-all-hint": "Retorna todas as mensagens recebidas durante o período de deduplicação como uma única mensagem de array JSON. Onde cada elemento representa um objeto com as propriedades internas msg e metadata.",
+ "strategy-first-hint": "Retorna a primeira mensagem recebida durante o período de deduplicação.",
+ "strategy-last-hint": "Retorna a última mensagem recebida durante o período de deduplicação.",
+ "first": "Primeiro",
+ "last": "Último",
+ "all": "Todos",
+ "output-msg-type-hint": "O tipo de mensagem do resultado de deduplicação.",
+ "queue-name-hint": "O nome da fila onde o resultado de deduplicação será publicado.",
+ "keys": "Chaves",
+ "keys-required": "As chaves são obrigatórias",
+ "rename-keys-in": "Renomear chaves em",
+ "data": "Dados",
+ "message": "Mensagem",
+ "metadata": "Metadados",
+ "current-key-name": "Nome da chave atual",
+ "key-name-required": "O nome da chave é obrigatório",
+ "new-key-name": "Novo nome de chave",
+ "new-key-name-required": "O novo nome de chave é obrigatório",
+ "metadata-keys": "Nomes dos campos de metadados",
+ "json-path-expression": "Expressão de caminho JSON",
+ "json-path-expression-required": "A expressão de caminho JSON é obrigatória",
+ "json-path-expression-hint": "O JSONPath especifica um caminho para um elemento ou conjunto de elementos em uma estrutura JSON. '$' representa o objeto ou array raiz.",
+ "relations-query": "Consulta de relações",
+ "device-relations-query": "Consulta de relações de dispositivos",
+ "max-relation-level": "Nível máximo de relação",
+ "max-relation-level-error": "O valor deve ser maior que 0 ou não especificado.",
+ "max-relation-level-invalid": "O valor deve ser um número inteiro.",
+ "relation-type": "Tipo de relação",
+ "relation-type-pattern": "Padrão de tipo de relação",
+ "relation-type-pattern-required": "O padrão de tipo de relação é obrigatório",
+ "relation-types-list": "Tipos de relação a propagar",
+ "relation-types-list-hint": "Se os tipos de relação a propagar não forem selecionados, os alarmes serão propagados sem filtragem por tipo de relação.",
+ "unlimited-level": "Nível ilimitado",
+ "latest-telemetry": "Telemetria mais recente",
+ "add-telemetry-key": "Adicionar chave de telemetria",
+ "delete-from": "Excluir de",
+ "use-regular-expression-delete-hint": "Use expressão regular para excluir chaves por padrão.\n\nDicas e truques:\nPressione 'Enter' para concluir a entrada do nome do campo.\nPressione 'Backspace' para excluir o nome do campo.\nMúltiplos nomes de campos são suportados.",
+ "fetch-into": "Buscar em",
+ "attr-mapping": "Mapeamento de atributos:",
+ "source-attribute": "Chave do atributo de origem",
+ "source-attribute-required": "A chave do atributo de origem é obrigatória.",
+ "source-telemetry": "Chave de telemetria de origem",
+ "source-telemetry-required": "A chave de telemetria de origem é obrigatória.",
+ "target-key": "Chave de destino",
+ "target-key-required": "A chave de destino é obrigatória.",
+ "attr-mapping-required": "Pelo menos uma entrada de mapeamento deve ser especificada.",
+ "fields-mapping": "Mapeamento de campos",
+ "fields-mapping-hint": "Se o campo da mensagem for definido como $entityId, o id do originador da mensagem será salvo na coluna da tabela especificada.",
+ "relations-query-config-direction-suffix": "originador",
+ "profile-name": "Nome do perfil",
+ "fetch-circle-parameter-info-from-metadata-hint": "O campo de metadados '{{perimeterKeyName}}' deve ser definido no seguinte formato: {\"latitude\":48.196, \"longitude\":24.6532, \"radius\":100.0, \"radiusUnit\":\"METER\"}",
+ "fetch-poligon-parameter-info-from-metadata-hint": "O campo de metadados '{{perimeterKeyName}}' deve ser definido no seguinte formato: [[48.19736,24.65235],[48.19800,24.65060],...,[48.19849,24.65420]]",
+ "short-templatization-tooltip": "Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "fields-mapping-required": "Pelo menos um mapeamento de campo deve ser especificado.",
+ "at-least-one-field-required": "Pelo menos um campo de entrada deve ter valor(es) fornecido(s).",
+ "originator-fields-sv-map-hint": "Os campos de chave de destino suportam templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "sv-map-hint": "Apenas os campos de chave de destino suportam templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "source-field": "Campo de origem",
+ "source-field-required": "O campo de origem é obrigatório.",
+ "originator-source": "Fonte do originador",
+ "new-originator": "Novo originador",
+ "originator-customer": "Cliente",
+ "originator-tenant": "Tenant",
+ "originator-related": "Entidade relacionada",
+ "originator-alarm-originator": "Originador do alarme",
+ "originator-entity": "Entidade por padrão de nome",
+ "clone-message": "Clonar mensagem",
+ "transform": "Transformar",
+ "default-ttl": "TTL padrão",
+ "default-ttl-required": "O TTL padrão é obrigatório.",
+ "default-ttl-hint": "O nó de regra buscará o valor de Time-to-Live (TTL) nos metadados da mensagem. Se nenhum valor estiver presente, o padrão será o TTL especificado na configuração. Se o valor for definido como 0, o TTL da configuração do perfil do tenant será aplicado.",
+ "default-ttl-zero-hint": "O TTL não será aplicado se seu valor for definido como 0.",
+ "min-default-ttl-message": "Apenas o TTL mínimo de 0 é permitido.",
+ "generation-parameters": "Parâmetros de geração",
+ "message-count": "Limite de mensagens geradas (0 - ilimitado)",
+ "message-count-required": "O limite de mensagens geradas é obrigatório.",
+ "min-message-count-message": "Apenas a contagem mínima de mensagens igual a 0 é permitida.",
+ "period-seconds": "Período em segundos",
+ "period-seconds-required": "O período é obrigatório.",
+ "generation-frequency-seconds": "Frequência de geração em segundos",
+ "generation-frequency-required": "A frequência de geração é obrigatória.",
+ "min-generation-frequency-message": "O mínimo permitido é 60 segundos.",
+ "script-lang-tbel": "TBEL",
+ "script-lang-js": "JS",
+ "use-metadata-period-in-seconds-patterns": "Usar padrão de período em segundos",
+ "use-metadata-period-in-seconds-patterns-hint": "Se selecionado, o nó de regra usa o padrão de intervalo de período em segundos dos metadados ou dados da mensagem, assumindo que os intervalos estão em segundos.",
+ "period-in-seconds-pattern": "Padrão de período em segundos",
+ "period-in-seconds-pattern-required": "O padrão de período em segundos é obrigatório",
+ "min-period-seconds-message": "O período mínimo permitido é 60 segundos.",
+ "originator": "Originador",
+ "message-body": "Corpo da mensagem",
+ "message-metadata": "Metadados da mensagem",
+ "generate": "Gerar",
+ "current-rule-node": "Nó de regra atual",
+ "current-tenant": "Tenant atual",
+ "generator-function": "Função geradora",
+ "test-generator-function": "Testar função geradora",
+ "generator": "Gerador",
+ "test-filter-function": "Testar função de filtro",
+ "test-switch-function": "Testar função switch",
+ "test-transformer-function": "Testar função de transformação",
+ "transformer": "Transformador",
+ "alarm-create-condition": "Condição de criação de alarme",
+ "test-condition-function": "Testar função de condição",
+ "alarm-clear-condition": "Condição de limpeza de alarme",
+ "alarm-details-builder": "Construtor de detalhes do alarme",
+ "test-details-function": "Testar função de detalhes",
+ "alarm-type": "Tipo de alarme",
+ "select-entity-types": "Selecionar tipos de entidade",
+ "alarm-type-required": "O tipo de alarme é obrigatório.",
+ "alarm-severity": "Severidade do alarme",
+ "alarm-severity-required": "A severidade do alarme é obrigatória",
+ "alarm-severity-pattern": "Padrão de severidade do alarme",
+ "alarm-status-filter": "Filtro de status do alarme",
+ "alarm-status-list-empty": "A lista de status de alarme está vazia",
+ "no-alarm-status-matching": "Nenhum status de alarme correspondente foi encontrado.",
+ "propagate": "Propagar alarme para entidades relacionadas",
+ "propagate-to-owner": "Propagar alarme para o proprietário da entidade (Cliente ou Tenant)",
+ "propagate-to-tenant": "Propagar alarme para o Tenant",
+ "condition": "Condição",
+ "details": "Detalhes",
+ "to-string": "Para string",
+ "test-to-string-function": "Testar função para string",
+ "from-template": "De",
+ "from-template-required": "O campo De é obrigatório",
+ "message-to-metadata": "Mensagem para metadados",
+ "metadata-to-message": "Metadados para mensagem",
+ "from-message": "Da mensagem",
+ "from-metadata": "Dos metadados",
+ "to-template": "Para",
+ "to-template-required": "O template Para é obrigatório",
+ "mail-address-list-template-hint": "Lista de endereços separada por vírgula, use ${metadataKey} para valor dos metadados, $[messageKey] para valor do corpo da mensagem",
+ "cc-template": "Cc",
+ "bcc-template": "Bcc",
+ "subject-template": "Assunto",
+ "subject-template-required": "O template de Assunto é obrigatório",
+ "body-template": "Corpo",
+ "body-template-required": "O template de Corpo é obrigatório",
+ "dynamic-mail-body-type": "Tipo de corpo de email dinâmico",
+ "mail-body-type": "Tipo de corpo do email",
+ "body-type-template": "Template de tipo de corpo",
+ "reply-routing-configuration": "Configuração de roteamento de resposta",
+ "rpc-reply-routing-configuration-hint": "Estes parâmetros de configuração especificam os nomes das chaves de metadados usados para identificar o serviço, a sessão e a solicitação para o envio de uma resposta.",
+ "reply-routing-configuration-hint": "Estes parâmetros de configuração especificam os nomes das chaves de metadados usados para identificar o serviço e a solicitação para o envio de uma resposta.",
+ "request-id-metadata-attribute": "Id da solicitação",
+ "service-id-metadata-attribute": "Id do serviço",
+ "session-id-metadata-attribute": "Id da sessão",
+ "timeout-sec": "Tempo Limite em segundos",
+ "timeout-required": "O tempo limite é obrigatório",
+ "min-timeout-message": "Apenas o valor mínimo de tempo limite igual a 0 é permitido.",
+ "endpoint-url-pattern": "Padrão de URL do Endpoint",
+ "endpoint-url-pattern-required": "O padrão de URL do Endpoint é obrigatório",
+ "request-method": "Método da solicitação",
+ "use-simple-client-http-factory": "Usar factory HTTP de cliente simples",
+ "ignore-request-body": "Sem corpo de solicitação",
+ "parse-to-plain-text": "Converter para texto simples",
+ "parse-to-plain-text-hint": "Se selecionado, o payload da mensagem do corpo da solicitação será transformado de string JSON para texto simples, por exemplo, msg = \"Hello,\\t\"world\"\" será convertido para Hello, \"world\"",
+ "read-timeout": "Tempo Limite de leitura em milissegundos",
+ "read-timeout-hint": "O valor 0 significa tempo limite infinito",
+ "max-parallel-requests-count": "Número máximo de solicitações paralelas",
+ "max-parallel-requests-count-hint": "O valor 0 especifica sem limite no processamento paralelo",
+ "max-response-size": "Tamanho máximo de resposta (em KB)",
+ "max-response-size-hint": "A quantidade máxima de memória alocada para armazenamento em buffer de dados ao decodificar ou codificar mensagens HTTP, como payloads JSON ou XML",
+ "headers": "Cabeçalhos",
+ "headers-hint": "Use ${metadataKey} para valor dos metadados, $[messageKey] para valor do corpo da mensagem nos campos de cabeçalho/valor",
+ "header": "Cabeçalho",
+ "header-required": "O cabeçalho é obrigatório",
+ "value": "Valor",
+ "value-required": "O valor é obrigatório",
+ "topic-pattern": "Padrão de tópico",
+ "key-pattern": "Padrão de chave",
+ "key-pattern-hint": "Opcional. Se um número de partição válido for especificado, ele será usado ao enviar o registro. Se nenhuma partição for especificada, a chave será usada. Se nenhum dos dois for especificado, uma partição será atribuída de forma round-robin.",
+ "topic-pattern-required": "O padrão de tópico é obrigatório",
+ "topic": "Tópico",
+ "topic-required": "O tópico é obrigatório",
+ "bootstrap-servers": "Servidores de bootstrap",
+ "bootstrap-servers-required": "O valor dos servidores bootstrap é obrigatório",
+ "other-properties": "Outras propriedades",
+ "key": "Chave",
+ "key-required": "A chave é obrigatória",
+ "retries": "Número de tentativas automáticas em caso de falha",
+ "min-retries-message": "Apenas 0 tentativas mínimas é permitido.",
+ "batch-size-bytes": "Tamanho do lote produzido em bytes",
+ "min-batch-size-bytes-message": "Apenas 0 como tamanho mínimo de lote é permitido.",
+ "linger-ms": "Tempo de buffer local (ms)",
+ "min-linger-ms-message": "Apenas 0 ms como valor mínimo é permitido.",
+ "buffer-memory-bytes": "Tamanho máximo do buffer do cliente em bytes",
+ "min-buffer-memory-message": "Apenas 0 como tamanho mínimo de buffer é permitido.",
+ "memory-buffer-size-range": "O tamanho do buffer de memória deve estar entre 0 e {{max}} KB",
+ "acks": "Número de confirmações",
+ "topic-arn-pattern": "Padrão de ARN do tópico",
+ "topic-arn-pattern-required": "O padrão de ARN do tópico é obrigatório",
+ "aws-access-key-id": "AWS Access Key ID",
+ "aws-access-key-id-required": "AWS Access Key ID é obrigatório",
+ "aws-secret-access-key": "AWS Secret Access Key",
+ "aws-secret-access-key-required": "AWS Secret Access Key é obrigatório",
+ "aws-region": "Região AWS",
+ "aws-region-required": "Região AWS é obrigatória",
+ "exchange-name-pattern": "Padrão de nome de exchange",
+ "routing-key-pattern": "Padrão de chave de roteamento",
+ "message-properties": "Propriedades da mensagem",
+ "host": "Host",
+ "host-required": "O host é obrigatório",
+ "port": "Porta",
+ "port-required": "A porta é obrigatória",
+ "port-range": "A porta deve estar no intervalo de 1 a 65535.",
+ "virtual-host": "Host virtual",
+ "username": "Nome de usuário",
+ "password": "Senha",
+ "automatic-recovery": "Recuperação automática",
+ "connection-timeout-ms": "Tempo Limite de conexão (ms)",
+ "min-connection-timeout-ms-message": "Apenas 0 ms como valor mínimo é permitido.",
+ "handshake-timeout-ms": "Tempo Limite de handshake (ms)",
+ "min-handshake-timeout-ms-message": "Apenas 0 ms como valor mínimo é permitido.",
+ "client-properties": "Propriedades do cliente",
+ "queue-url-pattern": "Padrão de URL da fila",
+ "queue-url-pattern-required": "O padrão de URL da fila é obrigatório",
+ "delay-seconds": "Atraso (segundos)",
+ "min-delay-seconds-message": "Apenas 0 segundos como valor mínimo é permitido.",
+ "max-delay-seconds-message": "Apenas 900 segundos como valor máximo é permitido.",
+ "name": "Nome",
+ "name-required": "O nome é obrigatório",
+ "queue-type": "Tipo de fila",
+ "sqs-queue-standard": "Padrão",
+ "sqs-queue-fifo": "FIFO",
+ "gcp-project-id": "ID do projeto GCP",
+ "gcp-project-id-required": "O ID do projeto GCP é obrigatório",
+ "gcp-service-account-key": "Arquivo de chave de conta de serviço GCP",
+ "gcp-service-account-key-required": "O arquivo de chave de conta de serviço GCP é obrigatório",
+ "pubsub-topic-name": "Nome do tópico",
+ "pubsub-topic-name-required": "O nome do tópico é obrigatório",
+ "message-attributes": "Atributos da mensagem",
+ "message-attributes-hint": "Use ${metadataKey} para valor dos metadados, $[messageKey] para valor do corpo da mensagem nos campos de nome/valor",
+ "connect-timeout": "Tempo limite de conexão (seg)",
+ "connect-timeout-required": "O tempo limite de conexão é obrigatório.",
+ "connect-timeout-range": "O tempo limite de conexão deve estar no intervalo de 1 a 200.",
+ "client-id": "Client ID",
+ "client-id-hint": "Opcional. Deixe em branco para Client ID gerado automaticamente. Tenha cuidado ao especificar o Client ID. A maioria dos brokers MQTT não permite múltiplas conexões com o mesmo Client ID. Para conectar a esses brokers, seu Client ID MQTT deve ser único. Quando a plataforma está sendo executada no modo de microsserviços, a cópia do nó de regra é iniciada em cada microsserviço. Isso automaticamente levará a múltiplos clientes mqtt com o mesmo ID e pode causar falhas no nó de regra. Para evitar tais falhas, habilite a opção \"Adicionar ID do serviço como sufixo ao Client ID\" abaixo.",
+ "append-client-id-suffix": "Adicionar ID do serviço como sufixo ao Client ID",
+ "client-id-suffix-hint": "Opcional. Aplicado quando o \"Client ID\" é especificado explicitamente. Se selecionado, o ID do serviço será adicionado ao Client ID como sufixo. Ajuda a evitar falhas quando a plataforma está sendo executada no modo de microsserviços.",
+ "device-id": "ID do dispositivo",
+ "device-id-required": "O ID do dispositivo é obrigatório.",
+ "clean-session": "Sessão limpa",
+ "enable-ssl": "Habilitar SSL",
+ "credentials": "Credenciais",
+ "credentials-type": "Tipo de credenciais",
+ "credentials-type-required": "O tipo de credenciais é obrigatório.",
+ "credentials-anonymous": "Anônimo",
+ "credentials-basic": "Básico",
+ "credentials-pem": "PEM",
+ "credentials-pem-hint": "Pelo menos o arquivo de certificado CA do servidor ou um par de arquivos de certificado do cliente e chave privada do cliente são obrigatórios",
+ "credentials-sas": "Shared Access Signature",
+ "sas-key": "Chave SAS",
+ "sas-key-required": "A chave SAS é obrigatória.",
+ "hostname": "Nome do host",
+ "hostname-required": "O nome do host é obrigatório.",
+ "azure-ca-cert": "Arquivo de certificado CA",
+ "username-required": "O nome de usuário é obrigatório.",
+ "password-required": "A senha é obrigatória.",
+ "ca-cert": "Arquivo de certificado CA do servidor",
+ "private-key": "Arquivo de chave privada do cliente",
+ "cert": "Arquivo de certificado do cliente",
+ "no-file": "Nenhum arquivo selecionado.",
+ "drop-file": "Arraste um arquivo ou clique para selecionar um arquivo para upload.",
+ "private-key-password": "Senha da chave privada",
+ "use-system-smtp-settings": "Usar configurações SMTP do sistema",
+ "use-metadata-dynamic-interval": "Usar intervalo dinâmico",
+ "metadata-dynamic-interval-hint": "Os campos de entrada de início e fim do intervalo suportam templatização. O valor do template substituído deve ser definido em milissegundos. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "use-metadata-interval-patterns-hint": "Se selecionado, o nó de regra usa os padrões de intervalo de início e fim dos metadados ou dados da mensagem, assumindo que os intervalos estão em milissegundos.",
+ "use-message-alarm-data": "Usar dados de alarme da mensagem",
+ "overwrite-alarm-details": "Sobrescrever detalhes do alarme",
+ "use-alarm-severity-pattern": "Usar padrão de severidade de alarme",
+ "check-all-keys": "Verificar se todos os campos especificados estão presentes",
+ "check-all-keys-hint": "Se selecionado, verifica se todas as chaves especificadas estão presentes nos dados e metadados da mensagem.",
+ "check-relation-to-specific-entity": "Verificar relação com entidade específica",
+ "check-relation-to-specific-entity-tooltip": "Se habilitado, verifica a presença de relação com uma entidade específica; caso contrário, verifica a presença de relação com qualquer entidade. Em ambos os casos, a busca de relação é baseada na direção e no tipo configurados.",
+ "check-relation-hint": "Verifica a existência de relação com uma entidade específica ou com qualquer entidade com base na direção e no tipo de relação.",
+ "delete-relation-with-specific-entity": "Excluir relação com entidade específica",
+ "delete-relation-with-specific-entity-hint": "Se habilitado, excluirá a relação com apenas uma entidade específica. Caso contrário, a relação será removida de todas as entidades correspondentes.",
+ "delete-relation-hint": "Exclui a relação do originador da mensagem recebida para a entidade especificada ou lista de entidades com base na direção e no tipo.",
+ "remove-current-relations": "Remover relações atuais",
+ "remove-current-relations-hint": "Remove as relações atuais do originador da mensagem recebida com base na direção e no tipo.",
+ "change-originator-to-related-entity": "Alterar originador para entidade relacionada",
+ "change-originator-to-related-entity-hint": "Usado para processar a mensagem enviada como uma mensagem de outra entidade.",
+ "start-interval": "Início do intervalo",
+ "end-interval": "Fim do intervalo",
+ "start-interval-required": "O início do intervalo é obrigatório.",
+ "end-interval-required": "O fim do intervalo é obrigatório.",
+ "smtp-protocol": "Protocolo",
+ "smtp-host": "Host SMTP",
+ "smtp-host-required": "O host SMTP é obrigatório.",
+ "smtp-port": "Porta SMTP",
+ "smtp-port-required": "É necessário fornecer uma porta SMTP.",
+ "smtp-port-range": "A porta SMTP deve estar no intervalo de 1 a 65535.",
+ "timeout-msec": "Tempo Limite ms",
+ "min-timeout-msec-message": "Apenas 0 ms como valor mínimo é permitido.",
+ "enter-username": "Inserir nome de usuário",
+ "enter-password": "Inserir senha",
+ "enable-tls": "Habilitar TLS",
+ "tls-version": "Versão TLS",
+ "enable-proxy": "Ativar proxy",
+ "use-system-proxy-properties": "Usar propriedades de proxy do sistema",
+ "proxy-host": "Host do proxy",
+ "proxy-host-required": "O host do proxy é obrigatório.",
+ "proxy-port": "Porta do proxy",
+ "proxy-port-required": "A porta do proxy é obrigatória.",
+ "proxy-port-range": "A porta do proxy deve estar no intervalo de 1 a 65535.",
+ "proxy-user": "Usuário do proxy",
+ "proxy-password": "Senha do proxy",
+ "proxy-scheme": "Esquema do proxy",
+ "numbers-to-template": "Números de telefone para o template",
+ "numbers-to-template-required": "Números de telefone para o template são obrigatórios",
+ "numbers-to-template-hint": "Números de telefone separados por vírgula. Use ${metadataKey} para valor de metadados, $[messageKey] para valor do corpo da mensagem",
+ "sms-message-template": "Template da mensagem SMS",
+ "sms-message-template-required": "O template da mensagem SMS é obrigatório",
+ "use-system-sms-settings": "Usar configurações do provedor SMS do sistema",
+ "min-period-0-seconds-message": "Somente período mínimo de 0 segundo é permitido.",
+ "max-pending-messages": "Máximo de mensagens pendentes",
+ "max-pending-messages-required": "O máximo de mensagens pendentes é obrigatório.",
+ "max-pending-messages-range": "O máximo de mensagens pendentes deve estar no intervalo de 1 a 100000.",
+ "originator-types-filter": "Filtro de tipos de originador",
+ "interval-seconds": "Intervalo em segundos",
+ "interval-seconds-required": "O intervalo é obrigatório.",
+ "int-range": "O valor não deve exceder o limite máximo de inteiro (2147483648)",
+ "min-interval-seconds-message": "Somente intervalo mínimo de 1 segundo é permitido.",
+ "output-timeseries-key-prefix": "Prefixo da chave de série temporal de saída",
+ "output-timeseries-key-prefix-required": "O prefixo da chave de série temporal de saída é obrigatório.",
+ "separator-hint": "Pressione \"Enter\" para concluir a entrada do campo.",
+ "select-details": "Selecionar detalhes",
+ "entity-details-id": "Id",
+ "entity-details-title": "Título",
+ "entity-details-country": "País",
+ "entity-details-state": "Estado",
+ "entity-details-city": "Cidade",
+ "entity-details-zip": "CEP",
+ "entity-details-address": "Endereço",
+ "entity-details-address2": "Endereço2",
+ "entity-details-additional_info": "Informações adicionais",
+ "entity-details-phone": "Telefone",
+ "entity-details-email": "Email",
+ "email-sender": "Remetente do email",
+ "fields-to-check": "Campos a verificar",
+ "add-detail": "Adicionar detalhe",
+ "check-all-keys-tooltip": "Se habilitado, verifica a presença de todos os campos listados nos nomes de campos da mensagem e dos metadados dentro da mensagem recebida e seus metadados.",
+ "fields-to-check-hint": "Pressione \"Enter\" para concluir a entrada do nome do campo. Múltiplos nomes de campos são suportados.",
+ "entity-details-list-empty": "Pelo menos um detalhe deve ser selecionado.",
+ "alarm-status": "Status do alarme",
+ "alarm-required": "Pelo menos um status de alarme deve ser selecionado.",
+ "no-entity-details-matching": "Nenhum detalhe de entidade correspondente foi encontrado.",
+ "custom-table-name": "Nome da tabela personalizada",
+ "custom-table-name-required": "O nome da tabela é obrigatório",
+ "custom-table-hint": "A tabela deve ser criada no seu cluster Cassandra e seu nome deve começar com o prefixo 'cs_tb_' para evitar a inserção de dados nas tabelas comuns do TB. Insira o nome da tabela aqui sem o prefixo 'cs_tb_'.",
+ "message-field": "Campo da mensagem",
+ "message-field-required": "O campo da mensagem é obrigatório.",
+ "table-col": "Coluna da tabela",
+ "table-col-required": "A coluna da tabela é obrigatória.",
+ "latitude-field-name": "Nome do campo de latitude",
+ "longitude-field-name": "Nome do campo de longitude",
+ "latitude-field-name-required": "O nome do campo de latitude é obrigatório.",
+ "longitude-field-name-required": "O nome do campo de longitude é obrigatório.",
+ "fetch-perimeter-info-from-metadata": "Buscar informações de perímetro dos metadados",
+ "fetch-perimeter-info-from-metadata-tooltip": "Se o tipo de perímetro for definido como 'Polygon', o valor do campo de metadados '{{perimeterKeyName}}' será definido como a definição do perímetro sem análise adicional do valor. Caso contrário, se o tipo de perímetro for definido como 'Circle', o valor do campo de metadados '{{perimeterKeyName}}' será analisado para extrair os campos 'latitude', 'longitude', 'radius', 'radiusUnit' usados para a definição do perímetro circular.",
+ "perimeter-key-name": "Nome da chave do perímetro",
+ "perimeter-key-name-hint": "Nome do campo de metadados que inclui as informações do perímetro.",
+ "perimeter-key-name-required": "O nome da chave do perímetro é obrigatório.",
+ "perimeter-circle": "Círculo",
+ "perimeter-polygon": "Polígono",
+ "perimeter-type": "Tipo de perímetro",
+ "circle-center-latitude": "Latitude do centro",
+ "circle-center-latitude-required": "A latitude do centro é obrigatória.",
+ "circle-center-longitude": "Longitude do centro",
+ "circle-center-longitude-required": "A longitude do centro é obrigatória.",
+ "range-unit-meter": "Metro",
+ "range-unit-kilometer": "Quilômetro",
+ "range-unit-foot": "Pé",
+ "range-unit-mile": "Milha",
+ "range-unit-nautical-mile": "Milha náutica",
+ "range-units": "Unidades de alcance",
+ "range-units-required": "As unidades de alcance são obrigatórias.",
+ "range": "Alcance",
+ "range-required": "O alcance é obrigatório.",
+ "polygon-definition": "Definição do polígono",
+ "polygon-definition-required": "A definição do polígono é obrigatória.",
+ "polygon-definition-hint": "Use o seguinte formato para a definição manual do polígono: [[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]].",
+ "min-inside-duration": "Duração mínima interna",
+ "min-inside-duration-value-required": "A duração mínima interna é obrigatória",
+ "min-inside-duration-time-unit": "Unidade de tempo da duração mínima interna",
+ "min-outside-duration": "Duração mínima externa",
+ "min-outside-duration-value-required": "A duração mínima externa é obrigatória",
+ "min-outside-duration-time-unit": "Unidade de tempo da duração mínima externa",
+ "tell-failure-if-absent": "Indicar falha",
+ "tell-failure-if-absent-hint": "Se pelo menos uma chave selecionada não existir, a mensagem de saída reportará \"Falha\".",
+ "get-latest-value-with-ts": "Buscar timestamp para os valores de telemetria mais recentes",
+ "get-latest-value-with-ts-hint": "Se selecionado, os valores de telemetria mais recentes também incluirão o timestamp, ex: \"temp\": \"{\"ts\":1574329385897, \"value\":42}\"",
+ "ignore-null-strings": "Ignorar strings nulas",
+ "ignore-null-strings-hint": "Se selecionado, o nó de regra ignorará campos de entidade com valor vazio.",
+ "add-metadata-key-values-as-kafka-headers": "Adicionar pares chave-valor dos metadados da mensagem aos cabeçalhos do registro Kafka",
+ "add-metadata-key-values-as-kafka-headers-hint": "Se selecionado, os pares chave-valor dos metadados da mensagem serão adicionados aos cabeçalhos dos registros de saída como arrays de bytes com codificação de charset predefinida.",
+ "charset-encoding": "Codificação de charset",
+ "charset-encoding-required": "A codificação de charset é obrigatória.",
+ "charset-us-ascii": "US-ASCII",
+ "charset-iso-8859-1": "ISO-8859-1",
+ "charset-utf-8": "UTF-8",
+ "charset-utf-16be": "UTF-16BE",
+ "charset-utf-16le": "UTF-16LE",
+ "charset-utf-16": "UTF-16",
+ "select-queue-hint": "O nome da fila pode ser selecionado em uma lista suspensa ou adicionar um nome personalizado.",
+ "device-profile-node-hint": "Útil se você tiver condições de duração ou de repetição para garantir a continuidade da avaliação do estado do alarme.",
+ "persist-alarm-rules": "Persistir estado das regras de alarme",
+ "persist-alarm-rules-hint": "Se habilitado, o nó de regra armazenará o estado do processamento no banco de dados.",
+ "fetch-alarm-rules": "Buscar estado das regras de alarme",
+ "fetch-alarm-rules-hint": "Se habilitado, o nó de regra restaurará o estado do processamento na inicialização e garantirá que os alarmes sejam acionados mesmo após reinicializações do servidor. Caso contrário, o estado será restaurado quando a primeira mensagem do dispositivo chegar.",
+ "input-value-key": "Chave do valor de entrada",
+ "input-value-key-required": "A chave do valor de entrada é obrigatória.",
+ "output-value-key": "Chave do valor de saída",
+ "output-value-key-required": "A chave do valor de saída é obrigatória.",
+ "number-of-digits-after-floating-point": "Número de dígitos após o ponto flutuante",
+ "number-of-digits-after-floating-point-range": "O número de dígitos após o ponto flutuante deve estar no intervalo de 0 a 15.",
+ "failure-if-delta-negative": "Indicar falha se o delta for negativo",
+ "failure-if-delta-negative-tooltip": "O nó de regra força a falha no processamento da mensagem se o valor delta for negativo.",
+ "use-caching": "Usar cache",
+ "use-caching-tooltip": "O nó de regra armazenará em cache o valor de \"{{inputValueKey}}\" que chega da mensagem recebida para melhorar o desempenho. Observe que o cache não será atualizado se você modificar o valor de \"{{inputValueKey}}\" em outro lugar.",
+ "add-time-difference-between-readings": "Adicionar a diferença de tempo entre leituras de \"{{inputValueKey}}\"",
+ "add-time-difference-between-readings-tooltip": "Se habilitado, o nó de regra adicionará o \"{{periodValueKey}}\" à mensagem de saída.",
+ "period-value-key": "Chave do valor de período",
+ "period-value-key-required": "A chave do valor de período é obrigatória.",
+ "general-pattern-hint": "Use ${metadataKey} para valor de metadados, $[messageKey] para valor do corpo da mensagem.",
+ "alarm-severity-pattern-hint": "Use ${metadataKey} para valor de metadados, $[messageKey] para valor do corpo da mensagem. A severidade do alarme deve ser do sistema (CRITICAL, MAJOR etc.)",
+ "output-node-name-hint": "O nome do nó de regra corresponde ao tipo de relação da mensagem de saída e é usado para encaminhar mensagens para outros nós de regra na cadeia de regras chamadora.",
+ "use-server-ts": "Usar timestamp do servidor",
+ "use-server-ts-hint": "Use o timestamp atual do servidor para dados de série temporal que não possuem um timestamp explícito. Isso ajuda a manter a ordenação correta ao processar mensagens de múltiplas fontes ou quando as mensagens chegam fora de sequência.",
+ "kv-map-pattern-hint": "Todos os campos de entrada suportam templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "kv-map-single-pattern-hint": "O campo de entrada suporta templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "shared-scope": "Escopo compartilhado",
+ "server-scope": "Escopo do servidor",
+ "client-scope": "Escopo do cliente",
+ "attribute-type": "Atributo",
+ "attribute-type-description": "Buscar valor do atributo do banco de dados",
+ "attribute-type-result-description": "Armazenar resultado como atributo de entidade no banco de dados",
+ "constant-type": "Constante",
+ "constant-type-description": "Definir valor constante",
+ "time-series-type": "Série temporal",
+ "time-series-type-description": "Buscar o valor de série temporal mais recente do banco de dados",
+ "time-series-type-result-description": "Armazenar resultado como série temporal de entidade no banco de dados",
+ "message-body-type": "Mensagem",
+ "message-body-type-description": "Buscar valor do argumento da mensagem recebida",
+ "message-body-type-result-description": "Adicionar resultado à mensagem de saída",
+ "message-metadata-type": "Metadados",
+ "message-metadata-type-description": "Buscar valor do argumento dos metadados da mensagem recebida",
+ "message-metadata-result-description": "Adicionar resultado aos metadados da mensagem de saída",
+ "argument-tile": "Argumentos",
+ "no-arguments-prompt": "Nenhum argumento configurado",
+ "result-title": "Resultado",
+ "functions-field-input": "Funções",
+ "no-option-found": "Nenhuma opção encontrada",
+ "argument-source-field-input": "Fonte",
+ "argument-source-field-input-required": "A fonte do argumento é obrigatória.",
+ "argument-key-field-input": "Chave",
+ "argument-key-field-input-required": "A chave do argumento é obrigatória.",
+ "constant-value-field-input": "Valor constante",
+ "constant-value-field-input-required": "O valor constante é obrigatório.",
+ "attribute-scope-field-input": "Escopo do atributo",
+ "attribute-scope-field-input-required": "O escopo do atributo é obrigatório.",
+ "default-value-field-input": "Valor padrão",
+ "type-field-input": "Tipo",
+ "type-field-input-required": "O tipo é obrigatório.",
+ "key-field-input": "Chave",
+ "add-entity-type": "Adicionar tipo de entidade",
+ "add-device-profile": "Adicionar perfil do dispositivo",
+ "key-field-input-required": "A chave é obrigatória.",
+ "number-floating-point-field-input": "Número de dígitos após o ponto flutuante",
+ "number-floating-point-field-input-hint": "Use 0 para converter o resultado em inteiro",
+ "add-to-message-field-input": "Adicionar à mensagem",
+ "add-to-metadata-field-input": "Adicionar aos metadados",
+ "custom-expression-field-input": "Expressão matemática",
+ "custom-expression-field-input-required": "A expressão matemática é obrigatória",
+ "custom-expression-field-input-hint": "Especifique uma expressão matemática para avaliar. A expressão padrão demonstra como transformar Fahrenheit em Celsius",
+ "retained-message": "Retida",
+ "attributes-mapping": "Mapeamento de atributos",
+ "latest-telemetry-mapping": "Mapeamento de telemetria mais recente",
+ "add-mapped-attribute-to": "Adicionar atributos mapeados a",
+ "add-mapped-latest-telemetry-to": "Adicionar telemetria mais recente mapeada a",
+ "add-mapped-fields-to": "Adicionar campos mapeados a",
+ "add-selected-details-to": "Adicionar detalhes selecionados a",
+ "clear-selected-types": "Limpar tipos selecionados",
+ "clear-selected-details": "Limpar detalhes selecionados",
+ "clear-selected-fields": "Limpar campos selecionados",
+ "clear-selected-keys": "Limpar chaves selecionadas",
+ "geofence-configuration": "Configuração de geofence",
+ "coordinate-field-names": "Nomes dos campos de coordenadas",
+ "coordinate-field-hint": "O nó de regra tenta recuperar os campos especificados da mensagem. Se não estiverem presentes, buscará nos metadados.",
+ "presence-monitoring-strategy": "Estratégia de monitoramento de presença",
+ "presence-monitoring-strategy-on-first-message": "Na primeira mensagem",
+ "presence-monitoring-strategy-on-each-message": "A cada mensagem",
+ "presence-monitoring-strategy-on-first-message-hint": "Reporta o status de presença 'Dentro' ou 'Fora' na primeira mensagem após a duração mínima configurada ter decorrido desde a última atualização do status de presença 'Entrou' ou 'Saiu'.",
+ "presence-monitoring-strategy-on-each-message-hint": "Reporta o status de presença 'Dentro' ou 'Fora' a cada mensagem após a atualização do status de presença 'Entrou' ou 'Saiu'.",
+ "fetch-credentials-to": "Buscar credenciais para",
+ "add-originator-attributes-to": "Adicionar atributos do originador a",
+ "originator-attributes": "Atributos do originador",
+ "fetch-latest-telemetry-with-timestamp": "Buscar telemetria mais recente com timestamp",
+ "fetch-latest-telemetry-with-timestamp-tooltip": "Se selecionado, os valores de telemetria mais recentes serão adicionados aos metadados de saída com o timestamp, ex: \"{{latestTsKeyName}}\": \"{\"ts\":1574329385897, \"value\":42}\"",
+ "tell-failure": "Indicar falha se algum dos atributos estiver ausente",
+ "tell-failure-tooltip": "Se pelo menos uma chave selecionada não existir, a mensagem de saída reportará \"Falha\".",
+ "created-time": "Hora de criação",
+ "chip-help": "Pressione 'Enter' para concluir a entrada de {{inputName}}. \nPressione 'Backspace' para excluir {{inputName}}. \nMúltiplos valores são suportados.",
+ "detail": "detalhe",
+ "field-name": "nome do campo",
+ "device-profile": "perfil do dispositivo",
+ "entity-type": "tipo de entidade",
+ "message-type": "tipo de mensagem",
+ "timeseries-key": "chave de série temporal",
+ "type": "Tipo",
+ "first-name": "Nome",
+ "last-name": "Sobrenome",
+ "label": "Rótulo",
+ "originator-fields-mapping": "Mapeamento de campos do originador",
+ "add-mapped-originator-fields-to": "Adicionar campos do originador mapeados a",
+ "fields": "Campos",
+ "skip-empty-fields": "Ignorar campos vazios",
+ "skip-empty-fields-tooltip": "Campos com valores vazios não serão adicionados à mensagem de saída/metadados de saída.",
+ "fetch-interval": "Intervalo de busca",
+ "fetch-strategy": "Estratégia de busca",
+ "fetch-timeseries-from-to": "Buscar série temporal de {{startInterval}} {{startIntervalTimeUnit}} atrás até {{endInterval}} {{endIntervalTimeUnit}} atrás.",
+ "fetch-timeseries-from-to-invalid": "Busca de série temporal inválida (\"Início do intervalo\" deve ser menor que \"Fim do intervalo\").",
+ "use-metadata-dynamic-interval-tooltip": "Se selecionado, o nó de regra usará intervalo dinâmico de início e fim baseado nos padrões da mensagem e dos metadados.",
+ "all-mode-hint": "Se o modo de busca \"All\" for selecionado, o nó de regra recuperará a telemetria do intervalo de busca com parâmetros de consulta configuráveis.",
+ "first-mode-hint": "Se o modo de busca \"First\" for selecionado, o nó de regra recuperará a telemetria mais próxima do início do intervalo de busca.",
+ "last-mode-hint": "Se o modo de busca \"Last\" for selecionado, o nó de regra recuperará a telemetria mais próxima do fim do intervalo de busca.",
+ "ascending": "Crescente",
+ "descending": "Decrescente",
+ "min": "Mín",
+ "max": "Máx",
+ "average": "Média",
+ "sum": "Soma",
+ "count": "Contagem",
+ "none": "Nenhum",
+ "last-level-relation-tooltip": "Se selecionado, o nó de regra pesquisará entidades relacionadas somente no nível definido no nível máximo de relação.",
+ "last-level-device-relation-tooltip": "Se selecionado, o nó de regra pesquisará dispositivos relacionados somente no nível definido no nível máximo de relação.",
+ "data-to-fetch": "Dados a buscar",
+ "mapping-of-customers": "Mapeamento de clientes",
+ "map-fields-required": "Todos os campos de mapeamento são obrigatórios.",
+ "attributes": "Atributos",
+ "related-device-attributes": "Atributos de dispositivos relacionados",
+ "add-selected-attributes-to": "Adicionar atributos selecionados a",
+ "device-profiles": "Perfis do dispositivo",
+ "mapping-of-tenant": "Mapeamento do tenant",
+ "add-attribute-key": "Adicionar chave de atributo",
+ "message-template": "Template da mensagem",
+ "message-template-required": "O template da mensagem é obrigatório",
+ "use-system-slack-settings": "Usar configurações do Slack do sistema",
+ "slack-api-token": "Token da API do Slack",
+ "slack-api-token-required": "O token da API do Slack é obrigatório",
+ "keys-mapping": "mapeamento de chaves",
+ "add-key": "Adicionar chave",
+ "recipients": "Destinatários",
+ "message-subject-and-content": "Assunto e conteúdo da mensagem",
+ "template-rules-hint": "Ambos os campos de entrada suportam templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados da mensagem.",
+ "originator-customer-desc": "Usar o cliente do originador da mensagem recebida como novo originador.",
+ "originator-tenant-desc": "Usar o tenant atual como novo originador.",
+ "originator-related-entity-desc": "Usar entidade relacionada como novo originador. Busca baseada no tipo de relação e direção configurados.",
+ "originator-alarm-originator-desc": "Usar o originador do alarme como novo originador. Somente se o originador da mensagem recebida for uma entidade de alarme.",
+ "originator-entity-by-name-pattern-desc": "Usar entidade buscada do banco de dados como novo originador. Busca baseada no tipo de entidade e no padrão de nome especificado.",
+ "email-from-template-hint": "Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "recipients-block-main-hint": "Lista de endereços separados por vírgula. Todos os campos de entrada suportam templatização. Use $[messageKey] para extrair o valor da mensagem e ${metadataKey} para extrair o valor dos metadados.",
+ "forward-msg-default-rule-chain": "Encaminhar mensagem para a cadeia de regras padrão do originador",
+ "forward-msg-default-rule-chain-tooltip": "Se habilitado, a mensagem será encaminhada para a cadeia de regras padrão do originador, ou para a cadeia de regras da configuração, se o originador não tiver cadeia de regras padrão definida no perfil da entidade.",
+ "exclude-zero-deltas": "Excluir deltas zero da mensagem de saída",
+ "exclude-zero-deltas-hint": "Se habilitado, a chave de saída \"{{outputValueKey}}\" será adicionada à mensagem de saída somente se seu valor não for zero.",
+ "exclude-zero-deltas-time-difference-hint": "Se habilitado, as chaves de saída \"{{outputValueKey}}\" e \"{{periodValueKey}}\" serão adicionadas à mensagem de saída somente se o valor de \"{{outputValueKey}}\" não for zero.",
+ "search-direction-from": "Do originador para a entidade de destino",
+ "search-direction-to": "Da entidade de destino para o originador",
+ "del-relation-direction-from": "Do originador",
+ "del-relation-direction-to": "Para o originador",
+ "target-entity": "Entidade de destino",
+ "function-configuration": "Configuração da função",
+ "function-name": "Nome da função",
+ "function-name-required": "O nome da função é obrigatório.",
+ "qualifier": "Qualificador",
+ "qualifier-hint": "Se o qualificador não for especificado, o qualificador padrão \"$LATEST\" será usado.",
+ "aws-credentials": "Credenciais AWS",
+ "connection-timeout": "Tempo Limite de conexão",
+ "connection-timeout-required": "O tempo limite de conexão é obrigatório.",
+ "connection-timeout-min": "O tempo limite mínimo de conexão é 0.",
+ "connection-timeout-hint": "O tempo de espera em segundos ao estabelecer inicialmente uma conexão antes de desistir e expirar. Um valor de 0 significa infinito e não é recomendado.",
+ "request-timeout": "Tempo Limite de requisição",
+ "request-timeout-required": "O tempo limite de requisição é obrigatório",
+ "request-timeout-min": "O tempo limite mínimo de requisição é 0",
+ "request-timeout-hint": "O tempo de espera em segundos para a requisição ser concluída antes de desistir e expirar. Um valor de 0 significa infinito e não é recomendado.",
+ "units": "Unidades",
+ "tell-failure-aws-lambda": "Indicar falha se a execução da função AWS Lambda lançar exceção",
+ "tell-failure-aws-lambda-hint": "O nó de regra força a falha no processamento da mensagem se a execução da função AWS Lambda lançar exceção.",
+ "basic-mode": "Básico",
+ "advanced-mode": "Avançado",
+ "save-time-series": {
+ "processing-settings": "Configurações de processamento",
+ "processing-settings-hint": "Defina como as mensagens recebidas são processadas. As configurações básicas de processamento permitem selecionar estratégias pré-configuradas, enquanto as configurações avançadas permitem selecionar estratégias de processamento individuais para cada ação.",
+ "advanced-settings-hint": "Tenha cuidado ao configurar estratégias de processamento. Certas combinações podem levar a comportamentos inesperados.",
+ "strategy": "Estratégia",
+ "deduplication-interval": "Intervalo de deduplicação",
+ "deduplication-interval-required": "O intervalo de deduplicação é obrigatório",
+ "deduplication-interval-min-max-range": "O intervalo de deduplicação deve ser de pelo menos 1 segundo e no máximo 1 dia",
+ "strategy-type": {
+ "every-message": "A cada mensagem",
+ "skip": "Ignorar",
+ "deduplicate": "Deduplicar",
+ "web-sockets-only": "Somente WebSockets"
+ },
+ "time-series": "Série temporal",
+ "latest": "Valores mais recentes",
+ "web-sockets": "WebSockets",
+ "calculated-fields-and-alarm-rules": "Campos calculados e regras de alarme"
+ },
+ "save-attribute": {
+ "processing-settings": "Configurações de processamento",
+ "processing-settings-hint": "Defina como as mensagens recebidas são processadas. As configurações básicas de processamento permitem selecionar estratégias pré-configuradas, enquanto as configurações avançadas permitem selecionar estratégias de processamento individuais para cada ação.",
+ "advanced-settings-hint": "Tenha cuidado ao configurar estratégias de processamento. Certas combinações podem levar a comportamentos inesperados.",
+ "strategy": "Estratégia",
+ "deduplication-interval": "Intervalo de deduplicação",
+ "deduplication-interval-required": "O intervalo de deduplicação é obrigatório",
+ "deduplication-interval-min-max-range": "O intervalo de deduplicação deve ser de pelo menos 1 segundo e no máximo 1 dia",
+ "scope": "Escopo",
+ "strategy-type": {
+ "every-message": "A cada mensagem",
+ "skip": "Ignorar",
+ "deduplicate": "Deduplicar",
+ "web-sockets-only": "Somente WebSockets"
+ },
+ "attributes": "Atributos"
+ },
+ "key-val": {
+ "key": "Chave",
+ "value": "Valor",
+ "see-examples": "Ver exemplos.",
+ "remove-entry": "Remover entrada",
+ "remove-mapping-entry": "Remover entrada de mapeamento",
+ "add-mapping-entry": "Adicionar mapeamento",
+ "add-entry": "Adicionar entrada",
+ "copy-key-values-from": "Copiar pares chave-valor de",
+ "delete-key-values": "Excluir pares chave-valor",
+ "delete-key-values-from": "Excluir pares chave-valor de",
+ "at-least-one-key-error": "Pelo menos uma chave deve ser selecionada.",
+ "unique-key-value-pair-error": "'{{keyText}}' deve ser diferente de '{{valText}}'!"
+ },
+ "mail-body-types": {
+ "plain-text": "Texto simples",
+ "html": "HTML",
+ "dynamic": "Dinâmico",
+ "use-body-type-template": "Usar template de tipo de corpo",
+ "plain-text-description": "Texto simples sem formatação especial ou estilização.",
+ "html-text-description": "Permite usar tags HTML para formatação, links e imagens no corpo do email.",
+ "dynamic-text-description": "Permite usar o tipo de corpo Texto Simples ou HTML dinamicamente com base no recurso de templatização.",
+ "after-template-evaluation-hint": "Após a avaliação do template, o valor deve ser true para HTML e false para texto simples."
+ },
+ "ai": {
+ "ai-model": "Modelo de IA",
+ "model": "Modelo",
+ "ai-model-hint": "Selecione o modelo de IA pré-configurado para processar as requisições enviadas por este nó de regra, ou use \"Criar novo\" para configurar um novo.",
+ "prompt-settings": "Configurações de prompt",
+ "prompt-settings-hint": "O prompt de sistema opcional define o papel geral e as restrições da IA, enquanto o prompt do usuário define a tarefa específica a ser executada. Ambos os campos também suportam templatização.",
+ "system-prompt": "Prompt de sistema",
+ "system-prompt-max-length": "O prompt de sistema deve ter 500000 caracteres ou menos.",
+ "system-prompt-blank": "O prompt de sistema não deve estar em branco.",
+ "user-prompt": "Prompt do usuário",
+ "user-prompt-required": "O prompt do usuário é obrigatório.",
+ "user-prompt-max-length": "O prompt do usuário deve ter 500000 caracteres ou menos.",
+ "user-prompt-blank": "O prompt do usuário não deve estar em branco.",
+ "response-format": "Formato de resposta",
+ "response-text": "Texto",
+ "response-json": "JSON",
+ "response-json-schema": "JSON Schema",
+ "response-format-hint-TEXT": "Permite que o modelo gere texto arbitrário, que pode ou não ser um objeto JSON válido. Se a saída não for um objeto JSON válido, será automaticamente encapsulada em um objeto JSON sob a chave \"response\".",
+ "response-format-hint-JSON": "O modelo é obrigado a gerar uma resposta que seja um JSON válido. Se a saída não for um objeto JSON válido, será automaticamente encapsulada em um objeto JSON sob a chave \"response\".",
+ "response-format-hint-JSON_SCHEMA": "O modelo é obrigado a gerar um JSON que corresponda à estrutura específica e aos tipos de dados definidos no esquema fornecido. Se a saída não for um objeto JSON válido, será automaticamente encapsulada em um objeto JSON sob a chave \"response\".",
+ "response-json-schema-hint": "Embora qualquer JSON Schema válido possa ser inserido, este nó de regra suporta apenas um subconjunto limitado de seus recursos. Consulte a documentação do nó para obter detalhes.",
+ "response-json-schema-required": "O JSON Schema é obrigatório",
+ "advanced-settings": "Configurações avançadas",
+ "timeout": "Tempo Limite",
+ "timeout-hint": "Tempo máximo de espera por uma resposta \ndo modelo de IA antes de a requisição ser encerrada.",
+ "timeout-required": "O tempo limite é obrigatório",
+ "timeout-validation": "Deve ser de 1 segundo a 10 minutos.",
+ "force-acknowledgement": "Forçar confirmação",
+ "force-acknowledgement-hint": "Se habilitado, a mensagem recebida é confirmada imediatamente. A resposta do modelo é então enfileirada como uma nova mensagem separada.",
+ "ai-resources": "Recursos de IA"
+ }
},
"timezone": {
"timezone": "Fuso horário",
"select-timezone": "Selecionar fuso horário",
- "no-timezones-matching": "Nenhum fuso horário encontrado que coincida com '{{timezone}}'.",
- "timezone-required": "O fuso horário é obrigatório."
+ "no-timezones-matching": "Nenhum fuso horário correspondente a '{{timezone}}' foi encontrado.",
+ "timezone-required": "Fuso horário é obrigatório.",
+ "browser-time": "Horário do navegador"
},
"queue": {
- "select_name": "Selecionar nome de fila",
- "name": "Nome de Fila",
- "name_required": "O nome de fila é obrigatório!"
+ "queue-name": "Fila",
+ "no-queues-found": "Nenhuma fila encontrada.",
+ "no-queues-matching": "Nenhuma fila correspondente a '{{queue}}' foi encontrada.",
+ "select-name": "Selecionar nome da fila",
+ "name": "Nome",
+ "name-required": "O nome da fila é obrigatório!",
+ "name-unique": "O nome da fila não é único!",
+ "name-pattern": "O nome da fila contém um caractere diferente de alfanuméricos ASCII, '.', '_' e '-'!",
+ "queue-required": "A fila é obrigatória!",
+ "topic-required": "O tópico da fila é obrigatório!",
+ "poll-interval-required": "O intervalo de polling é obrigatório!",
+ "poll-interval-min-value": "O valor do intervalo de polling não pode ser menor que 1",
+ "partitions-required": "As partições são obrigatórias!",
+ "partitions-min-value": "O valor das partições não pode ser menor que 1",
+ "pack-processing-timeout-required": "O tempo limite de processamento é obrigatório",
+ "pack-processing-timeout-min-value": "O valor do tempo limite de processamento não pode ser menor que 1",
+ "batch-size-required": "O tamanho do lote é obrigatório!",
+ "batch-size-min-value": "O valor do tamanho do lote não pode ser menor que 1",
+ "retries-required": "As tentativas são obrigatórias!",
+ "retries-min-value": "O valor das tentativas não pode ser negativo",
+ "failure-percentage-required": "O percentual de falhas é obrigatório!",
+ "failure-percentage-min-value": "O valor do percentual de falhas não pode ser menor que 0",
+ "failure-percentage-max-value": "O valor do percentual de falhas não pode ser maior que 100",
+ "pause-between-retries-required": "A pausa entre tentativas é obrigatória!",
+ "pause-between-retries-min-value": "O valor da pausa entre tentativas não pode ser menor que 1",
+ "max-pause-between-retries-required": "A pausa máxima entre tentativas é obrigatória!",
+ "max-pause-between-retries-min-value": "O valor da pausa máxima entre tentativas não pode ser menor que 1",
+ "submit-strategy-type-required": "O tipo de estratégia de envio é obrigatório!",
+ "processing-strategy-type-required": "O tipo de estratégia de processamento é obrigatório!",
+ "queues": "Filas",
+ "selected-queues": "{ count, plural, =1 {1 fila} other {# filas} } selecionada(s)",
+ "delete-queue-title": "Tem certeza de que deseja excluir a fila '{{queueName}}'?",
+ "delete-queues-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 fila} other {# filas} }?",
+ "delete-queue-text": "Atenção: após a confirmação, a fila e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-queues-text": "Após a confirmação, todas as filas selecionadas serão excluídas e não estarão mais acessíveis.",
+ "search": "Pesquisar fila",
+ "add": "Adicionar fila",
+ "details": "Detalhes da fila",
+ "topic": "Tópico",
+ "submit-settings": "Configurações de envio",
+ "submit-strategy": "Tipo de estratégia *",
+ "grouping-parameter": "Parâmetro de agrupamento",
+ "processing-settings": "Configurações de processamento de tentativas",
+ "processing-strategy": "Tipo de processamento *",
+ "retries-settings": "Configurações de tentativas",
+ "polling-settings": "Configurações de polling",
+ "batch-processing": "Processamento em lote",
+ "poll-interval": "Intervalo de polling",
+ "partitions": "Partições",
+ "immediate-processing": "Processamento imediato",
+ "consumer-per-partition": "Enviar polling de mensagens para cada consumidor",
+ "consumer-per-partition-hint": "Ativar consumidor(es) separado(s) por partição",
+ "duplicate-msg-to-all-partitions": "Duplicar mensagem para todas as partições",
+ "processing-timeout": "Processamento em, ms",
+ "batch-size": "Tamanho do lote",
+ "retries": "Número de tentativas (0 – ilimitado)",
+ "failure-percentage": "Mensagens de falha para ignorar tentativas, %",
+ "pause-between-retries": "Tentar novamente em, seg",
+ "max-pause-between-retries": "Tentativa adicional em, seg",
+ "delete": "Excluir fila",
+ "copyId": "Copiar ID da fila",
+ "idCopiedMessage": "O ID da fila foi copiado para a área de transferência",
+ "description": "Descrição",
+ "description-hint": "Este texto será exibido na descrição da fila em vez da estratégia selecionada",
+ "alt-description": "Estratégia de envio: {{submitStrategy}}, Estratégia de processamento: {{processingStrategy}}",
+ "custom-properties": "Propriedades personalizadas",
+ "custom-properties-hint": "Propriedades personalizadas de criação de fila (tópico), ex.: 'retention.ms:604800000;retention.bytes:1048576000'",
+ "strategies": {
+ "sequential-by-originator-label": "Sequencial por originador",
+ "sequential-by-originator-hint": "A nova mensagem para, por ex., o dispositivo A não é enviada até que a mensagem anterior para o dispositivo A seja confirmada",
+ "sequential-by-tenant-label": "Sequencial por tenant",
+ "sequential-by-tenant-hint": "A nova mensagem para, por ex., o tenant A não é enviada até que a mensagem anterior para o tenant A seja confirmada",
+ "sequential-label": "Sequencial",
+ "sequential-hint": "A nova mensagem não é enviada até que a mensagem anterior seja confirmada",
+ "burst-label": "Burst",
+ "burst-hint": "Todas as mensagens são enviadas para as cadeias de regras na ordem em que chegam",
+ "batch-label": "Lote",
+ "batch-hint": "O novo lote não é enviado até que o lote anterior seja confirmado",
+ "skip-all-failures-label": "Ignorar todas as falhas",
+ "skip-all-failures-hint": "Ignorar todas as falhas",
+ "skip-all-failures-and-timeouts-label": "Ignorar todas as falhas e tempos limite",
+ "skip-all-failures-and-timeouts-hint": "Ignorar todas as falhas e tempos limite",
+ "retry-all-label": "Tentar novamente todos",
+ "retry-all-hint": "Tentar novamente todas as mensagens do pacote de processamento",
+ "retry-failed-label": "Tentar novamente as com falha",
+ "retry-failed-hint": "Tentar novamente todas as mensagens com falha do pacote de processamento",
+ "retry-timeout-label": "Tentar novamente as com tempo limite",
+ "retry-timeout-hint": "Tentar novamente todas as mensagens com tempo limite do pacote de processamento",
+ "retry-failed-and-timeout-label": "Tentar novamente as com falha e tempo limite",
+ "retry-failed-and-timeout-hint": "Tentar novamente todas as mensagens com falha e tempo limite do pacote de processamento"
+ }
+ },
+ "queue-statistics": {
+ "queue-statistics": "Estatísticas de fila",
+ "no-queue-statistics-matching": "Nenhuma estatística de fila correspondente a '{{entity}}' foi encontrada.",
+ "queue-statistics-required": "Estatísticas de fila são obrigatórias.",
+ "list-of-queue-statistics": "{ count, plural, =1 {Uma estatística de fila} other {Lista de # estatísticas de fila} }",
+ "selected-queue-statistics": "{ count, plural, =1 {1 estatística de fila} other {# estatísticas de fila} } selecionada(s)",
+ "no-queue-statistics-text": "Nenhuma estatística de fila encontrada",
+ "queue-statistics-starts-with": "Estatísticas de fila cujos nomes começam com '{{prefix}}'"
+ },
+ "server-error": {
+ "general": "Erro geral do servidor",
+ "authentication": "Erro de autenticação",
+ "jwt-token-expired": "Token JWT expirado",
+ "tenant-trial-expired": "Período de avaliação do tenant expirado",
+ "credentials-expired": "Credenciais expiradas",
+ "permission-denied": "Permissão negada",
+ "invalid-arguments": "Argumentos inválidos",
+ "bad-request-params": "Parâmetros de requisição inválidos",
+ "item-not-found": "Item não encontrado",
+ "too-many-requests": "Muitas requisições",
+ "too-many-updates": "Muitas atualizações",
+ "entities-limit-exceeded": "Limite de entidades excedido"
},
"tenant": {
- "tenant": "Locatário",
- "tenants": "Locatários",
- "management": "Gerenciamento de locatários",
- "add": "Adicionar Locatário",
+ "tenant": "Tenant",
+ "tenants": "Tenants",
+ "management": "Gerenciamento de tenants",
+ "add": "Adicionar tenant",
"admins": "Administradores",
- "manage-tenant-admins": "Gerenciar administradores de locatários",
- "delete": "Excluir locatário",
- "add-tenant-text": "Adicionar novo locatário",
- "no-tenants-text": "Nenhum locatário encontrado",
- "tenant-details": "Detalhes do locatário",
- "delete-tenant-title": "Tem certeza de que deseja excluir o locatário '{{tenantTitle}}'?",
- "delete-tenant-text": "Cuidado, após confirmar, não será possível recuperar o locatário e nenhum dado associado.",
+ "manage-tenant-admins": "Gerenciar administradores do tenant",
+ "delete": "Excluir tenant",
+ "add-tenant-text": "Adicionar novo tenant",
+ "no-tenants-text": "Nenhum tenant encontrado",
+ "tenant-details": "Detalhes do tenant",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
+ "delete-tenant-title": "Tem certeza de que deseja excluir o tenant '{{tenantTitle}}'?",
+ "delete-tenant-text": "Atenção: após a confirmação, o tenant e todos os dados relacionados se tornarão irrecuperáveis.",
"delete-tenants-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 tenant} other {# tenants} }?",
"delete-tenants-action-title": "Excluir { count, plural, =1 {1 tenant} other {# tenants} }",
- "delete-tenants-text": "Cuidado, após confirmar, todos os locatários selecionados serão removidos e não será possível recuperar nenhum dado associado.",
+ "delete-tenants-text": "Atenção: após a confirmação, todos os tenants selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
"title": "Título",
"title-required": "O título é obrigatório.",
"description": "Descrição",
"details": "Detalhes",
"events": "Eventos",
- "copyId": "Copiar ID do locatário",
- "idCopiedMessage": "O ID do locatário foi copiado para a área de transferência",
- "select-tenant": "Selecionar locatário",
- "no-tenants-matching": "Nenhum locatário encontrado que coincida com '{{entity}}'.",
- "tenant-required": "O locatário é obrigatório",
- "search": "Pesquisar locatários",
+ "copyId": "Copiar ID do tenant",
+ "idCopiedMessage": "O ID do tenant foi copiado para a área de transferência",
+ "select-tenant": "Selecionar tenant",
+ "no-tenants-matching": "Nenhum tenant correspondente a '{{entity}}' foi encontrado.",
+ "tenant-required": "Tenant é obrigatório",
+ "search": "Pesquisar tenants",
"selected-tenants": "{ count, plural, =1 {1 tenant} other {# tenants} } selecionado(s)",
- "isolated-tb-rule-engine": "Processamento em contêiner isolado do ThingsBoard Rule Engine",
- "isolated-tb-rule-engine-details": "Exige microsserviço(s) separado(s) para cada locatário isolado"
+ "isolated-tb-rule-engine": "Usar filas isoladas do ThingsBoard Motor de regras",
+ "isolated-tb-rule-engine-details": "Cada tenant terá filas dedicadas do Motor de regras"
+ },
+ "tenant-profile": {
+ "tenant-profile": "Perfil do tenant",
+ "tenant-profiles": "Perfis do tenant",
+ "add": "Adicionar perfil do tenant",
+ "add-profile": "Adicionar perfil",
+ "debug": "Depuração",
+ "edit": "Editar perfil do tenant",
+ "tenant-profile-details": "Detalhes do perfil do tenant",
+ "no-tenant-profiles-text": "Nenhum perfil do tenant encontrado",
+ "name-max-length": "O nome deve ter menos de 256 caracteres",
+ "search": "Pesquisar perfis do tenant",
+ "selected-tenant-profiles": "{ count, plural, =1 {1 perfil do tenant} other {# perfis do tenant} } selecionado(s)",
+ "no-tenant-profiles-matching": "Nenhum perfil do tenant correspondente a '{{entity}}' foi encontrado.",
+ "tenant-profile-required": "Perfil do tenant é obrigatório",
+ "idCopiedMessage": "O ID do perfil do tenant foi copiado para a área de transferência",
+ "set-default": "Definir perfil do tenant como padrão",
+ "delete": "Excluir perfil do tenant",
+ "copyId": "Copiar ID do perfil do tenant",
+ "name": "Nome",
+ "name-required": "O nome é obrigatório.",
+ "data": "Dados do perfil",
+ "profile-configuration": "Configuração do perfil",
+ "description": "Descrição",
+ "default": "Padrão",
+ "delete-tenant-profile-title": "Tem certeza de que deseja excluir o perfil do tenant '{{tenantProfileName}}'?",
+ "delete-tenant-profile-text": "Atenção: após a confirmação, o perfil do tenant e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-tenant-profiles-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 perfil do tenant} other {# perfis do tenant} }?",
+ "delete-tenant-profiles-text": "Atenção: após a confirmação, todos os perfis do tenant selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
+ "set-default-tenant-profile-title": "Tem certeza de que deseja tornar o perfil do tenant '{{tenantProfileName}}' o padrão?",
+ "set-default-tenant-profile-text": "Após a confirmação, o perfil do tenant será marcado como padrão e será utilizado para novos tenants sem perfil especificado.",
+ "no-tenant-profiles-found": "Nenhum perfil do tenant encontrado.",
+ "create-new-tenant-profile": "Criar um novo!",
+ "create-tenant-profile": "Criar novo perfil do tenant",
+ "import": "Importar perfil do tenant",
+ "export": "Exportar perfil do tenant",
+ "export-failed-error": "Não foi possível exportar o perfil do tenant: {{error}}",
+ "tenant-profile-file": "Arquivo de perfil do tenant",
+ "invalid-tenant-profile-file-error": "Não foi possível importar o perfil do tenant: estrutura de dados do perfil do tenant inválida.",
+ "advanced-settings": "Configurações avançadas",
+ "entities": "Entidades",
+ "rule-engine": "Motor de regras",
+ "time-to-live": "Time-to-live",
+ "calculated-fields": "Campos calculados",
+ "alarms-and-notifications": "Alarmes e notificações",
+ "ota-files-in-bytes": "Arquivos",
+ "ws-title": "WS",
+ "unlimited": "(0 - ilimitado)",
+ "maximum-devices": "Número máximo de dispositivos",
+ "maximum-devices-required": "O número máximo de dispositivos é obrigatório.",
+ "maximum-devices-range": "O número máximo de dispositivos não pode ser negativo",
+ "maximum-assets": "Número máximo de ativos",
+ "maximum-assets-required": "O número máximo de ativos é obrigatório.",
+ "maximum-assets-range": "O número máximo de ativos não pode ser negativo",
+ "maximum-customers": "Número máximo de clientes",
+ "maximum-customers-required": "O número máximo de clientes é obrigatório.",
+ "maximum-customers-range": "O número máximo de clientes não pode ser negativo",
+ "maximum-users": "Número máximo de usuários",
+ "maximum-users-required": "O número máximo de usuários é obrigatório.",
+ "maximum-users-range": "O número máximo de usuários não pode ser negativo",
+ "maximum-dashboards": "Número máximo de dashboards",
+ "maximum-dashboards-required": "O número máximo de dashboards é obrigatório.",
+ "maximum-dashboards-range": "O número máximo de dashboards não pode ser negativo",
+ "maximum-edges": "Número máximo de edges",
+ "maximum-edges-required": "O número máximo de edges é obrigatório.",
+ "maximum-edges-range": "O número máximo de edges não pode ser negativo",
+ "maximum-rule-chains": "Número máximo de cadeias de regras",
+ "maximum-rule-chains-required": "O número máximo de cadeias de regras é obrigatório.",
+ "maximum-rule-chains-range": "O número máximo de cadeias de regras não pode ser negativo",
+ "maximum-resources-sum-data-size": "Tamanho total máximo dos arquivos de recursos (bytes)",
+ "maximum-resources-sum-data-size-required": "O tamanho total máximo dos arquivos de recursos é obrigatório.",
+ "maximum-resources-sum-data-size-range": "O tamanho total máximo dos arquivos de recursos não pode ser negativo",
+ "maximum-resource-size": "Tamanho máximo do arquivo de recurso (bytes)",
+ "maximum-resource-size-required": "O tamanho máximo do arquivo de recurso é obrigatório",
+ "maximum-resource-size-range": "O tamanho máximo do arquivo de recurso não pode ser negativo",
+ "maximum-ota-packages-sum-data-size": "Tamanho total máximo dos arquivos de pacotes OTA (bytes)",
+ "maximum-ota-package-sum-data-size-required": "O tamanho total máximo dos arquivos de pacotes OTA é obrigatório.",
+ "maximum-ota-package-sum-data-size-range": "O tamanho total máximo dos arquivos de pacotes OTA não pode ser negativo",
+ "maximum-debug-duration-min": "Duração máxima de depuração (min)",
+ "maximum-debug-duration-min-range": "A duração máxima de depuração não pode ser negativa",
+ "rest-requests-for-tenant": "Requisições REST para tenant",
+ "transport-tenant-telemetry-msg-rate-limit": "Mensagens de telemetria do tenant de transporte",
+ "transport-tenant-telemetry-data-points-rate-limit": "Pontos de dados de telemetria do tenant de transporte",
+ "transport-device-msg-rate-limit": "Mensagens de dispositivo de transporte",
+ "transport-device-telemetry-msg-rate-limit": "Mensagens de telemetria do dispositivo de transporte",
+ "transport-device-telemetry-data-points-rate-limit": "Pontos de dados de telemetria do dispositivo de transporte",
+ "transport-gateway-msg-rate-limit": "Mensagens de gateway de transporte",
+ "transport-gateway-telemetry-msg-rate-limit": "Mensagens de telemetria do gateway de transporte",
+ "transport-gateway-telemetry-data-points-rate-limit": "Pontos de dados de telemetria do gateway de transporte",
+ "transport-gateway-device-msg-rate-limit": "Mensagens de dispositivo do gateway de transporte",
+ "transport-gateway-device-telemetry-msg-rate-limit": "Mensagens de telemetria do dispositivo do gateway de transporte",
+ "transport-gateway-device-telemetry-data-points-rate-limit": "Pontos de dados de telemetria do dispositivo do gateway de transporte",
+ "tenant-entity-export-rate-limit": "Criação de versão de entidade",
+ "tenant-entity-import-rate-limit": "Carregamento de versão de entidade",
+ "tenant-notification-request-rate-limit": "Requisições de notificação",
+ "tenant-notification-requests-per-rule-rate-limit": "Requisições de notificação por regra de notificação",
+ "max-calculated-fields": "Número máximo de campos calculados por entidade",
+ "max-calculated-fields-range": "O número máximo de campos calculados por entidade não pode ser negativo",
+ "max-calculated-fields-required": "O número máximo de campos calculados por entidade é obrigatório",
+ "max-data-points-per-rolling-arg": "Número máximo de pontos de dados em argumentos de janela deslizante",
+ "max-data-points-per-rolling-arg-range": "O número máximo de pontos de dados em argumentos de janela deslizante não pode ser negativo",
+ "max-data-points-per-rolling-arg-required": "O número máximo de pontos de dados em argumentos de janela deslizante é obrigatório",
+ "max-arguments-per-cf": "Número máximo de argumentos por campo calculado",
+ "max-arguments-per-cf-range": "O número máximo de argumentos por campo calculado não pode ser negativo",
+ "max-arguments-per-cf-required": "O número máximo de argumentos por campo calculado é obrigatório",
+ "max-related-level-per-argument": "Nível máximo de relação por argumento de 'Entidades relacionadas'",
+ "max-related-level-per-argument-range": "O número máximo de nível de relação por argumento de 'Entidades relacionadas' não pode ser menor que '1'",
+ "max-related-level-per-argument-required": "O número máximo de nível de relação por argumento de 'Entidades relacionadas' é obrigatório",
+ "min-allowed-scheduled-update-interval": "Intervalo mínimo permitido de atualização para argumentos de 'Entidades relacionadas' (segundos)",
+ "min-allowed-scheduled-update-interval-range": "O número mínimo do intervalo mínimo permitido de atualização não pode ser negativo",
+ "min-allowed-deduplication-interval": "Intervalo mínimo permitido de deduplicação (segundos)",
+ "min-allowed-deduplication-interval-range": "O valor do intervalo mínimo permitido de deduplicação não pode ser negativo",
+ "min-allowed-deduplication-interval-required": "O intervalo mínimo permitido de deduplicação é obrigatório",
+ "intermediate-aggregation-interval": "Intervalo de agregação intermediária (segundos)",
+ "intermediate-aggregation-interval-range": "O valor do intervalo de agregação intermediária não pode ser menor que '1'",
+ "intermediate-aggregation-interval-required": "O intervalo de agregação intermediária é obrigatório",
+ "reevaluation-check-interval": "Intervalo de verificação de reavaliação (segundos)",
+ "reevaluation-check-interval-range": "O valor do intervalo de verificação de reavaliação não pode ser menor que '1'",
+ "reevaluation-check-interval-required": "O intervalo de verificação de reavaliação é obrigatório",
+ "alarms-reevaluation-interval": "Intervalo de reavaliação de alarmes (segundos)",
+ "alarms-reevaluation-interval-range": "O valor do intervalo de reavaliação de alarmes não pode ser menor que '1'",
+ "alarms-reevaluation-interval-required": "O intervalo de reavaliação de alarmes é obrigatório",
+ "min-allowed-aggregation-interval": "Intervalo mínimo permitido de agregação (segundos)",
+ "min-allowed-aggregation-interval-range": "O valor do intervalo mínimo permitido de agregação não pode ser negativo",
+ "min-allowed-aggregation-interval-required": "O intervalo mínimo permitido de agregação é obrigatório",
+ "min-allowed-scheduled-update-interval-required": "O número mínimo do intervalo mínimo permitido de atualização é obrigatório",
+ "max-state-size": "Tamanho máximo do estado em KB",
+ "max-state-size-range": "O tamanho máximo do estado em KB não pode ser negativo",
+ "max-state-size-required": "O tamanho máximo do estado em KB é obrigatório",
+ "max-value-argument-size": "Tamanho máximo do argumento de valor único em KB",
+ "max-value-argument-size-range": "O tamanho máximo do argumento de valor único em KB não pode ser negativo",
+ "max-value-argument-size-required": "O tamanho máximo do argumento de valor único em KB é obrigatório",
+ "max-transport-messages": "Número máximo de mensagens de transporte",
+ "max-transport-messages-required": "O número máximo de mensagens de transporte é obrigatório.",
+ "max-transport-messages-range": "O número máximo de mensagens de transporte não pode ser negativo",
+ "max-transport-data-points": "Número máximo de pontos de dados de transporte ",
+ "max-transport-data-points-required": "O número máximo de pontos de dados de transporte é obrigatório.",
+ "max-transport-data-points-range": "O número máximo de pontos de dados de transporte não pode ser negativo",
+ "max-r-e-executions": "Número máximo de execuções do Motor de regras",
+ "max-r-e-executions-required": "O número máximo de execuções do Motor de regras é obrigatório.",
+ "max-r-e-executions-range": "O número máximo de execuções do Motor de regras não pode ser negativo",
+ "max-j-s-executions": "Número máximo de execuções JavaScript ",
+ "max-j-s-executions-required": "O número máximo de execuções JavaScript é obrigatório.",
+ "max-j-s-executions-range": "O número máximo de execuções JavaScript não pode ser negativo",
+ "max-tbel-executions": "Número máximo de execuções TBEL ",
+ "max-tbel-executions-required": "O número máximo de execuções TBEL é obrigatório.",
+ "max-tbel-executions-range": "O número máximo de execuções TBEL não pode ser negativo",
+ "max-d-p-storage-days": "Número máximo de dias de armazenamento de pontos de dados",
+ "max-d-p-storage-days-required": "O número máximo de dias de armazenamento de pontos de dados é obrigatório.",
+ "max-d-p-storage-days-range": "O número máximo de dias de armazenamento de pontos de dados não pode ser negativo",
+ "default-storage-ttl-days": "Dias de TTL de armazenamento por padrão",
+ "default-storage-ttl-days-required": "Os dias de TTL de armazenamento por padrão são obrigatórios.",
+ "default-storage-ttl-days-range": "Os dias de TTL de armazenamento por padrão não podem ser negativos",
+ "alarms-ttl-days": "Dias de TTL de alarmes",
+ "alarms-ttl-days-required": "Os dias de TTL de alarmes são obrigatórios",
+ "alarms-ttl-days-days-range": "Os dias de TTL de alarmes não podem ser negativos",
+ "rpc-ttl-days": "Dias de TTL de RPC",
+ "rpc-ttl-days-required": "Os dias de TTL de RPC são obrigatórios",
+ "rpc-ttl-days-days-range": "Os dias de TTL de RPC não podem ser negativos",
+ "queue-stats-ttl-days": "Dias de TTL de estatísticas de fila",
+ "queue-stats-ttl-days-required": "Os dias de TTL de estatísticas de fila são obrigatórios",
+ "queue-stats-ttl-days-range": "Os dias de TTL de estatísticas de fila não podem ser negativos",
+ "rule-engine-exceptions-ttl-days": "Dias de TTL de exceções do Motor de regras",
+ "rule-engine-exceptions-ttl-days-required": "Os dias de TTL de exceções do Motor de regras são obrigatórios",
+ "rule-engine-exceptions-ttl-days-range": "Os dias de TTL de exceções do Motor de regras não podem ser negativos",
+ "max-rule-node-executions-per-message": "Número máximo de execuções de nó de regra por mensagem",
+ "max-rule-node-executions-per-message-required": "O número máximo de execuções de nó de regra por mensagem é obrigatório.",
+ "max-rule-node-executions-per-message-range": "O número máximo de execuções de nó de regra por mensagem não pode ser negativo",
+ "max-emails": "Número máximo de emails enviados",
+ "max-emails-required": "O número máximo de emails enviados é obrigatório.",
+ "max-emails-range": "O número máximo de emails enviados não pode ser negativo",
+ "sms-enabled": "SMS ativado",
+ "max-sms": "Número máximo de SMS enviados",
+ "max-sms-required": "O número máximo de SMS enviados é obrigatório.",
+ "max-sms-range": "O número máximo de SMS enviados não pode ser negativo",
+ "max-created-alarms": "Número máximo de alarmes criados",
+ "max-created-alarms-required": "O número máximo de alarmes criados é obrigatório.",
+ "max-created-alarms-range": "O número máximo de alarmes criados não pode ser negativo",
+ "no-queue": "Nenhuma fila configurada",
+ "add-queue": "Adicionar fila",
+ "queues-with-count": "Filas ({{count}})",
+ "tenant-rest-limits": "Requisições REST para tenant",
+ "customer-rest-limits": "Requisições REST para cliente",
+ "incorrect-pattern-for-rate-limits": "O formato são pares separados por vírgula de capacidade e período (em segundos) com dois-pontos entre eles, ex.: 100:1,2000:60",
+ "too-small-value-zero": "O valor deve ser maior que 0",
+ "too-small-value-one": "O valor deve ser maior que 1",
+ "queue-size-is-limited-by-system-configuration": "O tamanho da fila também é limitado pela configuração do sistema.",
+ "cassandra-write-tenant-core-limits-configuration": "Consultas de gravação Cassandra da API REST",
+ "cassandra-read-tenant-core-limits-configuration": "Consultas de leitura Cassandra da API REST e telemetria WS",
+ "cassandra-write-tenant-rule-engine-limits-configuration": "Consultas de gravação Cassandra de telemetria do Motor de regras",
+ "cassandra-read-tenant-rule-engine-limits-configuration": "Consultas de leitura Cassandra de telemetria do Motor de regras",
+ "ws-limit-max-sessions-per-tenant": "Número máximo de sessões por tenant",
+ "ws-limit-max-sessions-per-customer": "Número máximo de sessões por cliente",
+ "ws-limit-max-sessions-per-regular-user": "Número máximo de sessões por usuário regular",
+ "ws-limit-max-sessions-per-public-user": "Número máximo de sessões por usuário público",
+ "ws-limit-queue-per-session": "Tamanho máximo da fila de mensagens por sessão",
+ "ws-limit-max-subscriptions-per-tenant": "Número máximo de assinaturas por tenant",
+ "ws-limit-max-subscriptions-per-customer": "Número máximo de assinaturas por cliente",
+ "ws-limit-max-subscriptions-per-regular-user": "Número máximo de assinaturas por usuário regular",
+ "ws-limit-max-subscriptions-per-public-user": "Número máximo de assinaturas por usuário público",
+ "ws-limit-updates-per-session": "Atualizações WS por sessão",
+ "relation-search-entity-limit": "Limite de entidades na pesquisa de relações",
+ "relation-search-entity-limit-hint": "Limita o número de entidades resolvidas no último nível do caminho de relação. Aplica-se aos argumentos de 'Entidades relacionadas' e campos de Propagação.",
+ "relation-search-entity-limit-required": "Limite de entidades na pesquisa de relações",
+ "relation-search-entity-limit-range": "O limite de entidades na pesquisa de relações não pode ser menor que '1'",
+ "rate-limits": {
+ "add-limit": "Adicionar limite",
+ "and-also-less-than": "e também menor que",
+ "advanced-settings": "Configurações avançadas",
+ "edit-limit": "Editar limite",
+ "calculated-field-debug-event-rate-limit": "Eventos de depuração do campo calculado",
+ "edit-calculated-field-debug-event-rate-limit": "Editar limites de taxa de eventos de depuração do campo calculado",
+ "edit-transport-tenant-msg-title": "Editar limites de taxa de mensagens do tenant de transporte",
+ "edit-transport-tenant-telemetry-msg-title": "Editar limites de taxa de mensagens de telemetria do tenant de transporte",
+ "edit-transport-tenant-telemetry-data-points-title": "Editar limites de taxa de pontos de dados de telemetria do tenant de transporte",
+ "edit-transport-device-msg-title": "Editar limites de taxa de mensagens de dispositivo de transporte",
+ "edit-transport-device-telemetry-msg-title": "Editar limites de taxa de mensagens de telemetria do dispositivo de transporte",
+ "edit-transport-device-telemetry-data-points-title": "Editar limites de taxa de pontos de dados de telemetria do dispositivo de transporte",
+ "edit-transport-gateway-msg-title": "Editar limites de taxa de mensagens de gateway de transporte",
+ "edit-transport-gateway-telemetry-msg-title": "Editar limites de taxa de mensagens de telemetria do gateway de transporte",
+ "edit-transport-gateway-telemetry-data-points-title": "Editar limites de taxa de pontos de dados de telemetria do gateway de transporte",
+ "edit-transport-gateway-device-msg-title": "Editar limites de taxa de mensagens de dispositivo do gateway de transporte",
+ "edit-transport-gateway-device-telemetry-msg-title": "Editar limites de taxa de mensagens de telemetria do dispositivo do gateway de transporte",
+ "edit-transport-gateway-device-telemetry-data-points-title": "Editar limites de taxa de pontos de dados de telemetria do dispositivo do gateway de transporte",
+ "edit-tenant-rest-limits-title": "Editar limites de taxa de requisições REST para tenant",
+ "edit-customer-rest-limits-title": "Editar limites de taxa de requisições REST para cliente",
+ "edit-ws-limit-updates-per-session-title": "Editar limites de taxa de atualizações WS por sessão",
+ "edit-cassandra-write-tenant-core-limits-configuration": "Editar consultas de gravação Cassandra da API REST",
+ "edit-cassandra-read-tenant-core-limits-configuration": "Editar consultas de leitura Cassandra da API REST e telemetria WS",
+ "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Editar consultas de gravação Cassandra de telemetria do Motor de regras",
+ "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Editar consultas de leitura Cassandra de telemetria do Motor de regras",
+ "edit-tenant-entity-export-rate-limit-title": "Editar limites de taxa de criação de versão de entidade",
+ "edit-tenant-entity-import-rate-limit-title": "Editar limites de taxa de carregamento de versão de entidade",
+ "edit-tenant-notification-request-rate-limit-title": "Editar limites de taxa de requisições de notificação",
+ "edit-tenant-notification-requests-per-rule-rate-limit-title": "Editar limites de taxa de requisições de notificação por regra de notificação",
+ "edit-edge-events-rate-limit": "Editar limites de taxa de eventos de edge",
+ "edit-edge-events-per-edge-rate-limit": "Editar limites de taxa de eventos de edge por edge",
+ "edge-events-rate-limit": "Eventos de edge",
+ "edge-events-per-edge-rate-limit": "Eventos de edge por edge",
+ "edit-edge-uplink-messages-rate-limit": "Editar limites de taxa de mensagens uplink de edge",
+ "edit-edge-uplink-messages-per-edge-rate-limit": "Editar limites de taxa de mensagens uplink de edge por edge",
+ "edge-uplink-messages-rate-limit": "Mensagens uplink de edge",
+ "edge-uplink-messages-per-edge-rate-limit": "Mensagens uplink de edge por edge",
+ "messages-per": "mensagens por",
+ "not-set": "Não definido",
+ "number-of-messages": "Número de mensagens",
+ "number-of-messages-required": "O número de mensagens é obrigatório.",
+ "number-of-messages-min": "O valor mínimo é 1.",
+ "preview": "Visualizar",
+ "per-seconds": "Por segundos",
+ "per-seconds-required": "A taxa de tempo é obrigatória.",
+ "per-seconds-min": "O valor mínimo é 1.",
+ "per-seconds-duplicate": "Taxa de tempo duplicada. Cada intervalo de tempo deve ser único.",
+ "rate-limits": "Limites de taxa",
+ "remove-limit": "Remover limite",
+ "transport-tenant-msg": "Mensagens do tenant de transporte",
+ "transport-tenant-telemetry-msg": "Mensagens de telemetria do tenant de transporte",
+ "transport-tenant-telemetry-data-points": "Pontos de dados de telemetria do tenant de transporte",
+ "transport-device-msg": "Mensagens de dispositivo de transporte",
+ "transport-device-telemetry-msg": "Mensagens de telemetria do dispositivo de transporte",
+ "transport-device-telemetry-data-points": "Pontos de dados de telemetria do dispositivo de transporte",
+ "transport-gateway-msg": "Mensagens de gateway de transporte",
+ "transport-gateway-telemetry-msg": "Mensagens de telemetria do gateway de transporte",
+ "transport-gateway-telemetry-data-points": "Pontos de dados de telemetria do gateway de transporte",
+ "transport-gateway-device-msg": "Mensagens de dispositivo do gateway de transporte",
+ "transport-gateway-device-telemetry-msg": "Mensagens de telemetria do dispositivo do gateway de transporte",
+ "transport-gateway-device-telemetry-data-points": "Pontos de dados de telemetria do dispositivo do gateway de transporte",
+ "sec": "seg"
+ }
},
"timeinterval": {
- "seconds-interval": "{ seconds, plural, =1 {1 second} other {# seconds} }",
- "minutes-interval": "{ minutes, plural, =1 {1 minute} other {# minutes} }",
- "hours-interval": "{ hours, plural, =1 {1 hour} other {# hours} }",
- "days-interval": "{ days, plural, =1 {1 day} other {# days} }",
+ "seconds-interval": "{ seconds, plural, =1 {1 segundo} other {# segundos} }",
+ "minutes-interval": "{ minutes, plural, =1 {1 minuto} other {# minutos} }",
+ "hours-interval": "{ hours, plural, =1 {1 hora} other {# horas} }",
+ "days-interval": "{ days, plural, =1 {1 dia} other {# dias} }",
"days": "Dias",
"hours": "Horas",
"minutes": "Minutos",
"seconds": "Segundos",
- "advanced": "Avançado"
+ "advanced": "Avançado",
+ "custom": "Personalizado",
+ "predefined": {
+ "yesterday": "Ontem",
+ "day-before-yesterday": "Anteontem",
+ "this-day-last-week": "Este dia na semana passada",
+ "previous-week": "Semana anterior (Dom - Sáb)",
+ "previous-week-iso": "Semana anterior (Seg - Dom)",
+ "previous-month": "Mês anterior",
+ "previous-quarter": "Trimestre anterior",
+ "previous-half-year": "Semestre anterior",
+ "previous-year": "Ano anterior",
+ "current-hour": "Hora atual",
+ "current-day": "Dia atual",
+ "current-day-so-far": "Dia atual até agora",
+ "current-week": "Semana atual (Dom - Sáb)",
+ "current-week-iso": "Semana atual (Seg - Dom)",
+ "current-week-so-far": "Semana atual até agora (Dom - Sáb)",
+ "current-week-iso-so-far": "Semana atual até agora (Seg - Dom)",
+ "current-month": "Mês atual",
+ "current-month-so-far": "Mês atual até agora",
+ "current-quarter": "Trimestre atual",
+ "current-quarter-so-far": "Trimestre atual até agora",
+ "current-half-year": "Semestre atual",
+ "current-half-year-so-far": "Semestre atual até agora",
+ "current-year": "Ano atual",
+ "current-year-so-far": "Ano atual até agora"
+ },
+ "type": {
+ "week": "Semana (Dom - Sáb)",
+ "week-iso": "Semana (Seg - Dom)",
+ "month": "Mês",
+ "quarter": "Trimestre"
+ }
+ },
+ "timeunit": {
+ "milliseconds": "Milissegundos",
+ "seconds": "Segundos",
+ "minutes": "Minutos",
+ "hours": "Horas",
+ "days": "Dias"
},
"timewindow": {
- "days": "{ days, plural, =1 { day } other {# days } }",
- "hours": "{ hours, plural, =0 { hour } =1 {1 hour } other {# hours } }",
- "minutes": "{ minutes, plural, =0 { minute } =1 {1 minute } other {# minutes } }",
- "seconds": "{ seconds, plural, =0 { second } =1 {1 second } other {# seconds } }",
+ "timewindow": "Janela de tempo",
+ "timewindow-settings": "Configurações da janela de tempo",
+ "years": "{ years, plural, =1 {1 ano } other {# anos } }",
+ "years-short": "{{ years }}y",
+ "months": "{ months, plural, =1 {1 mês } other {# meses } }",
+ "months-short": "{{ months }}M",
+ "weeks": "{ weeks, plural, =1 {1 semana } other {# semanas } }",
+ "weeks-short": "{{ weeks }}w",
+ "days": "{ days, plural, =1 {1 dia } other {# dias } }",
+ "days-short": "{{ days }}d",
+ "hours": "{ hours, plural, =0 { hora } =1 {1 hora } other {# horas } }",
+ "hr": "{{ hr }} hr",
+ "hr-short": "{{ hr }}h",
+ "minutes": "{ minutes, plural, =0 { minuto } =1 {1 minuto } other {# minutos } }",
+ "min": "{{ min }} min",
+ "min-short": "{{ min }}m",
+ "seconds": "{ seconds, plural, =0 { segundo } =1 {1 segundo } other {# segundos } }",
+ "sec": "{{ sec }} sec",
+ "sec-short": "{{ sec }}s",
+ "short": {
+ "years": "{ years, plural, =1 {1 ano } other {# anos } }",
+ "days": "{ days, plural, =1 {1 dia } other {# dias } }",
+ "hours": "{ hours, plural, =1 {1 hora } other {# horas } }",
+ "minutes": "{{minutes}} min ",
+ "seconds": "{{seconds}} sec "
+ },
"realtime": "Tempo real",
"history": "Histórico",
- "last-prefix": "último",
+ "last-prefix": "últimos",
"period": "de {{ startTime }} até {{ endTime }}",
"edit": "Editar janela de tempo",
"date-range": "Intervalo de datas",
- "last": "Última",
+ "for-all-time": "Para todo o período",
+ "last": "Último",
"time-period": "Período de tempo",
- "hide": "Ocultar"
+ "hide": "Ocultar",
+ "interval": "Intervalo",
+ "just-now": "Agora mesmo",
+ "just-now-lower": "agora mesmo",
+ "ago": "atrás",
+ "style": "Estilo da janela de tempo",
+ "icon": "Ícone",
+ "icon-position": "Posição do ícone",
+ "icon-position-left": "Esquerda",
+ "icon-position-right": "Direita",
+ "font": "Fonte",
+ "color": "Cor",
+ "displayTypePrefix": "Exibir prefixo Tempo real/Histórico",
+ "preview": "Pré-visualização",
+ "relative": "Relativo",
+ "range": "Intervalo",
+ "hide-timewindow-section": "Ocultar seção de janela de tempo dos usuários finais",
+ "hide-last-interval": "Ocultar último intervalo dos usuários finais",
+ "hide-relative-interval": "Ocultar intervalo relativo dos usuários finais",
+ "hide-fixed-interval": "Ocultar intervalo fixo dos usuários finais",
+ "hide-aggregation": "Ocultar agregação dos usuários finais",
+ "hide-group-interval": "Ocultar intervalo de agrupamento dos usuários finais",
+ "hide-max-values": "Ocultar valores máximos dos usuários finais",
+ "hide-timezone": "Ocultar fuso horário dos usuários finais",
+ "disable-custom-interval": "Desativar seleção de intervalo personalizado",
+ "edit-aggregation-functions-list": "Editar lista de funções de agregação",
+ "edit-aggregation-functions-list-hint": "É possível especificar a lista de opções disponíveis.",
+ "allowed-aggregation-functions": "Funções de agregação permitidas",
+ "edit-intervals-list": "Editar lista de intervalos",
+ "allowed-agg-intervals": "Intervalos de agrupamento",
+ "default-agg-interval": "Intervalo de agrupamento padrão",
+ "edit-intervals-list-hint": "É possível especificar a lista de opções de intervalo disponíveis.",
+ "edit-grouping-intervals-list-hint": "É possível configurar a lista de intervalos de agrupamento e o intervalo de agrupamento padrão.",
+ "all": "Todos",
+ "save-current-settings-as-default": "Salvar configurações atuais como janela de tempo padrão",
+ "hide-option-from-end-users": "Ocultar opção dos usuários finais"
+ },
+ "tooltip": {
+ "trigger": "Acionador",
+ "trigger-point": "Ponto",
+ "trigger-axis": "Eixo",
+ "label": "Rótulo",
+ "value": "Valor",
+ "date": "Data",
+ "show-date-time-interval": "Exibir intervalo de data e hora",
+ "show-date-time-interval-hint": "Exibir intervalo de data e hora conforme a agregação de dados.",
+ "hide-zero-tooltip-values": "Ocultar valores zero",
+ "show-stack-total": "Exibir valor total no modo empilhado",
+ "background-color": "Cor de fundo",
+ "background-blur": "Desfoque de fundo"
+ },
+ "unit": {
+ "set-unit-conversion": "Definir conversão de unidade",
+ "unit-settings": {
+ "unit-settings": "Configurações de unidade",
+ "source-unit": "Unidade de origem",
+ "source-unit-hint": "Esta é a unidade do valor armazenado. A unidade a partir da qual você está convertendo. Insira o símbolo usado pelos dados de origem (ex.: m, km, ft, in).",
+ "target-metric-unit": "Unidade métrica de destino",
+ "target-metric-unit-hint": "Escolha para qual unidade métrica (SI) deseja converter o valor de origem (ex.: cm, mm, km).",
+ "target-imperial-unit": "Unidade imperial de destino",
+ "target-imperial-unit-hint": "Escolha para qual unidade imperial deseja converter o valor de origem (ex.: in, ft, yd).",
+ "target-hybrid-unit": "Unidade híbrida de destino",
+ "target-hybrid-unit-hint": "Escolha para qual unidade híbrida deseja converter o valor de origem (ex.: cm, in, km). Unidades híbridas combinam unidades métricas ou imperiais.",
+ "enable-unit-conversion": "Ativar conversão de unidade",
+ "enable-unit-conversion-hint": "Ative para habilitar a conversão. Quando desativado, o valor de origem será transmitido sem alterações. Desativado se houver apenas uma unidade no grupo de medição correspondente (ex.: fluxo luminoso, AQI)."
+ },
+ "unit-system": "Sistema de unidades",
+ "unit-system-type": {
+ "AUTO": "Automático",
+ "METRIC": "Métrico",
+ "IMPERIAL": "Imperial",
+ "HYBRID": "Híbrido"
+ },
+ "measures": {
+ "absorbed-dose-rate": "Taxa de dose absorvida",
+ "acceleration": "Aceleração",
+ "acidity": "Acidez",
+ "air-quality-index": "Índice de qualidade do ar",
+ "amount-of-substance": "Quantidade de substância",
+ "angle": "Ângulo",
+ "angular-acceleration": "Aceleração angular",
+ "area": "Área",
+ "area-density": "Densidade de área",
+ "capacitance": "Capacitância",
+ "catalytic-activity": "Atividade catalítica",
+ "catalytic-concentration": "Concentração catalítica",
+ "charge": "Carga",
+ "current-density": "Densidade de corrente",
+ "data-transfer-rate": "Taxa de transferência de dados",
+ "density": "Densidade",
+ "digital": "Digital",
+ "dimension-ratio": "Razão dimensional",
+ "dynamic-viscosity": "Viscosidade dinâmica",
+ "earthquake-magnitude": "Magnitude de terremoto",
+ "electric-charge-density": "Densidade de carga elétrica",
+ "electric-current": "Corrente elétrica",
+ "electric-dipole-moment": "Momento de dipolo elétrico",
+ "electric-field-strength": "Intensidade do campo elétrico",
+ "electric-flux": "Fluxo elétrico",
+ "electric-permittivity": "Permissividade elétrica",
+ "electric-polarizability": "Polarizabilidade elétrica",
+ "electrical-conductance": "Condutância elétrica",
+ "electrical-conductivity": "Condutividade elétrica",
+ "energy": "Energia",
+ "energy-density": "Densidade de energia",
+ "force": "Força",
+ "frequency": "Frequência",
+ "fuel-efficiency": "Eficiência de combustível",
+ "heat-capacity": "Capacidade térmica",
+ "illuminance": "Iluminância",
+ "inductance": "Indutância",
+ "kinematic-viscosity": "Viscosidade cinemática",
+ "length": "Comprimento",
+ "light-exposure": "Exposição à luz",
+ "linear-charge-density": "Densidade linear de carga",
+ "logarithmic-ratio": "Razão logarítmica",
+ "luminous-efficacy": "Eficácia luminosa",
+ "luminous-flux": "Fluxo luminoso",
+ "luminous-intensity": "Intensidade luminosa",
+ "magnetic-field-gradient": "Gradiente do campo magnético",
+ "magnetic-flux": "Fluxo magnético",
+ "magnetic-flux-density": "Densidade de fluxo magnético",
+ "magnetic-moment": "Momento magnético",
+ "magnetic-permeability": "Permeabilidade magnética",
+ "mass": "Massa",
+ "mass-fraction": "Fração mássica",
+ "molar-concentration": "Concentração molar",
+ "molar-energy": "Energia molar",
+ "molar-heat-capacity": "Capacidade térmica molar",
+ "molar-mass": "Massa molar",
+ "number-concentration": "Concentração numérica",
+ "parts-per-million": "Partes por milhão",
+ "power": "Potência",
+ "power-density": "Densidade de potência",
+ "pressure": "Pressão",
+ "radiance": "Radiância",
+ "radiant-intensity": "Intensidade radiante",
+ "radiation-dose": "Dose de radiação",
+ "radioactive-decay": "Decaimento radioativo",
+ "radioactivity": "Radioatividade",
+ "radioactivity-concentration": "Concentração de radioatividade",
+ "reciprocal-length": "Comprimento recíproco",
+ "resistance": "Resistência",
+ "reynolds-number": "Número de Reynolds",
+ "signal-level": "Nível de sinal",
+ "solid-angle": "Ângulo sólido",
+ "specific-energy": "Energia específica",
+ "specific-heat-capacity": "Capacidade térmica específica",
+ "specific-humidity": "Umidade específica",
+ "specific-volume": "Volume específico",
+ "speed": "Velocidade",
+ "surface-charge-density": "Densidade de carga superficial",
+ "surface-tension": "Tensão superficial",
+ "temperature": "Temperatura",
+ "thermal-conductivity": "Condutividade térmica",
+ "time": "Tempo",
+ "torque": "Torque",
+ "turbidity": "Turbidez",
+ "voltage": "Tensão",
+ "volume": "Volume",
+ "volume-flow": "Vazão volumétrica"
+ },
+ "millimeter": "Milímetro",
+ "centimeter": "Centímetro",
+ "decimeter": "Decímetro",
+ "angstrom": "Angstrom",
+ "nanometer": "Nanômetro",
+ "micrometer": "Micrômetro",
+ "meter": "Metro",
+ "kilometer": "Quilômetro",
+ "inch": "Polegada",
+ "foot": "Pé",
+ "foot-us": "Pé (levantamento EUA)",
+ "yard": "Jarda",
+ "mile": "Milha",
+ "nautical-mile": "Milha náutica",
+ "astronomical-unit": "Unidade astronômica",
+ "reciprocal-metre": "Metro recíproco",
+ "meter-per-meter": "Metro por metro",
+ "steradian": "Esterradiano",
+ "thou": "Thou",
+ "barleycorn": "Barleycorn",
+ "hand": "Hand",
+ "chain": "Chain",
+ "furlong": "Furlong",
+ "league": "League",
+ "fathom": "Fathom",
+ "cable": "Cable",
+ "link": "Link",
+ "rod": "Rod",
+ "nanogram": "Nanograma",
+ "microgram": "Micrograma",
+ "milligram": "Miligrama",
+ "gram": "Grama",
+ "kilogram": "Quilograma",
+ "tonne": "Tonelada",
+ "ounce": "Onça",
+ "pound": "Libra",
+ "stone": "Stone",
+ "hundredweight-count": "Hundredweight",
+ "short-tons": "Toneladas curtas",
+ "dalton": "Dalton",
+ "grain": "Grão",
+ "drachm": "Dracma",
+ "quarter": "Quarter",
+ "slug": "Slug",
+ "carat": "Quilate",
+ "cubic-millimeter": "Milímetro cúbico",
+ "cubic-centimeter": "Centímetro cúbico",
+ "cubic-meter": "Metro cúbico",
+ "cubic-kilometer": "Quilômetro cúbico",
+ "microliter": "Microlitro",
+ "milliliter": "Mililitro",
+ "liter": "Litro",
+ "hectoliter": "Hectolitro",
+ "cubic-inch": "Polegada cúbica",
+ "cubic-foot": "Pé cúbico",
+ "cubic-yard": "Jarda cúbica",
+ "fluid-ounce": "Onça fluida",
+ "fluid-ounce-per-second": "Onça fluida por segundo",
+ "pint": "Pinta",
+ "quart": "Quart",
+ "gallon": "Galão",
+ "oil-barrels": "Barril de petróleo",
+ "cubic-meter-per-kilogram": "Metro cúbico por quilograma",
+ "gill": "Gill",
+ "hogshead": "Hogshead",
+ "teaspoon": "Colher de chá",
+ "tablespoon": "Colher de sopa",
+ "cup": "Xícara",
+ "celsius": "Celsius",
+ "kelvin": "Kelvin",
+ "rankine": "Rankine",
+ "fahrenheit": "Fahrenheit",
+ "percent": "Porcentagem",
+ "meter-per-second": "Metro por segundo",
+ "kilometer-per-hour": "Quilômetro por hora",
+ "foot-per-second": "Pé por segundo",
+ "foot-per-minute": "Pé por minuto",
+ "mile-per-hour": "Milha por hora",
+ "knot": "Nó",
+ "inch-per-second": "Polegada por segundo",
+ "inch-per-hour": "Polegada por hora",
+ "millimeters-per-minute": "Milímetros por minuto",
+ "meter-per-minute": "Metro por minuto",
+ "kilometer-per-hour-squared": "Quilômetro por hora ao quadrado",
+ "foot-per-second-squared": "Pé por segundo ao quadrado",
+ "pascal": "Pascal",
+ "kilopascal": "Quilopascal",
+ "megapascal": "Megapascal",
+ "gigapascal": "Gigapascal",
+ "millibar": "Milibar",
+ "bar": "Bar",
+ "kilobar": "Quilobar",
+ "newton": "Newton",
+ "newton-meter": "Newton-metro",
+ "foot-pounds": "Pé-libra",
+ "inch-pounds": "Polegada-libra",
+ "newton-per-meter": "Newton por metro",
+ "atmospheres": "Atmosferas",
+ "pounds-per-square-inch": "Libras por polegada quadrada",
+ "kilopound-per-square-inch": "Quilolibra por polegada quadrada",
+ "torr": "Torr",
+ "inches-of-mercury": "Polegadas de mercúrio",
+ "pascal-per-square-meter": "Pascal por metro quadrado",
+ "pound-per-square-inch": "Libra por polegada quadrada",
+ "newton-per-square-meter": "Newton por metro quadrado",
+ "kilogram-force-per-square-meter": "Quilograma-força por metro quadrado",
+ "pascal-per-square-centimeter": "Pascal por centímetro quadrado",
+ "ton-force-per-square-inch": "Tonelada-força por polegada quadrada",
+ "kilonewton-per-square-meter": "Quilonewton por metro quadrado",
+ "newton-per-square-millimeter": "Newton por milímetro quadrado",
+ "microjoule": "Microjoule",
+ "millijoule": "Milijoule",
+ "joule": "Joule",
+ "kilojoule": "Quilojoule",
+ "megajoule": "Megajoule",
+ "gigajoule": "Gigajoule",
+ "watt-hour": "Watt-hora",
+ "watt-minute": "Watt-minuto",
+ "kilowatt-hour": "Quilowatt-hora",
+ "milliwatt-hour": "Miliwatt-hora",
+ "megawatt-hour": "Megawatt-hora",
+ "gigawatt-hour": "Gigawatt-hora",
+ "electron-volts": "Elétron-volts",
+ "joules-per-coulomb": "Joules por coulomb",
+ "british-thermal-unit": "Unidades térmicas britânicas",
+ "thousand-british-thermal-unit": "Mil unidades térmicas britânicas",
+ "million-british-thermal-unit": "Milhão de unidades térmicas britânicas",
+ "foot-pound": "Pé-libra",
+ "calorie": "Caloria",
+ "small-calorie": "Caloria pequena",
+ "kilocalorie": "Quilocaloria",
+ "joule-per-kelvin": "Joule por kelvin",
+ "joule-per-kilogram-kelvin": "Joule por quilograma-kelvin",
+ "joule-per-kilogram": "Joule por quilograma",
+ "watt-per-meter-kelvin": "Watt por metro-kelvin",
+ "joule-per-cubic-meter": "Joule por metro cúbico",
+ "therm": "Therm",
+ "electric-dipole-moment": "Momento de dipolo elétrico",
+ "magnetic-dipole-moment": "Momento de dipolo magnético",
+ "debye": "Debye",
+ "coulomb-per-square-meter-per-volt": "Coulomb por metro quadrado por volt",
+ "milliwatt": "Miliwatt",
+ "microwatt": "Microwatt",
+ "watt": "Watt",
+ "kilowatt": "Quilowatt",
+ "megawatt": "Megawatt",
+ "gigawatt": "Gigawatt",
+ "metric-horsepower": "Cavalo-vapor métrico",
+ "milliwatt-per-square-centimeter": "Miliwatts por centímetro quadrado",
+ "watt-per-square-centimeter": "Watts por centímetro quadrado",
+ "kilowatt-per-square-centimeter": "Quilowatts por centímetro quadrado",
+ "milliwatt-per-square-meter": "Miliwatts por metro quadrado",
+ "watt-per-square-meter": "Watts por metro quadrado",
+ "kilowatt-per-square-meter": "Quilowatts por metro quadrado",
+ "watt-per-square-inch": "Watts por polegada quadrada",
+ "kilowatt-per-square-inch": "Quilowatts por polegada quadrada",
+ "horsepower": "Cavalo-vapor",
+ "btu-per-hour": "Unidades térmicas britânicas por hora",
+ "btu-per-second": "Unidades térmicas britânicas por segundo",
+ "btu-per-day": "Unidades térmicas britânicas por dia",
+ "mbtu-per-hour": "Mil unidades térmicas britânicas por hora",
+ "mbtu-per-second": "Mil unidades térmicas britânicas por segundo",
+ "mbtu-per-day": "Mil unidades térmicas britânicas por dia",
+ "mmbtu-per-hour": "Milhão de unidades térmicas britânicas por hora",
+ "mmbtu-per-second": "Milhão de unidades térmicas britânicas por segundo",
+ "mmbtu-per-day": "Milhão de unidades térmicas britânicas por dia",
+ "foot-pound-per-second": "Pé-libra por segundo",
+ "coulomb": "Coulomb",
+ "millicoulomb": "Millicoulombs",
+ "microcoulomb": "Microcoulomb",
+ "nanocoulomb": "Nanocoulomb",
+ "picocoulomb": "Picocoulomb",
+ "coulomb-per-meter": "Coulomb por metro",
+ "coulomb-per-cubic-meter": "Coulomb por metro cúbico",
+ "coulomb-per-square-meter": "Coulomb por metro quadrado",
+ "square-millimeter": "Milímetro quadrado",
+ "square-centimeter": "Centímetro quadrado",
+ "square-meter": "Metro quadrado",
+ "hectare": "Hectare",
+ "square-kilometer": "Quilômetro quadrado",
+ "square-inch": "Polegada quadrada",
+ "square-foot": "Pé quadrado",
+ "square-yard": "Jarda quadrada",
+ "acre": "Acre",
+ "square-mile": "Milha quadrada",
+ "are": "Are",
+ "barn": "Barn",
+ "circular-inch": "Polegada circular",
+ "milliampere-hour": "Miliampere-hora",
+ "ampere-hours": "Ampere-horas",
+ "kiloampere-hours": "Quiloampere-horas",
+ "nanoampere": "Nanoampere",
+ "picoampere": "Picoampere",
+ "microampere": "Microampere",
+ "milliampere": "Miliampere",
+ "ampere": "Ampere",
+ "kiloampere": "Quiloampere",
+ "megaampere": "Megaampere",
+ "gigaampere": "Gigaampere",
+ "microampere-per-square-centimeter": "Microampere por centímetro quadrado",
+ "ampere-per-square-meter": "Ampere por metro quadrado",
+ "ampere-per-meter": "Ampere por metro",
+ "oersted": "Oersted",
+ "bohr-magneton": "Magneton de Bohr",
+ "ampere-meter-squared": "Ampere-metro quadrado",
+ "nanovolt": "Nanovolt",
+ "picovolt": "Picovolt",
+ "millivolt": "Milivolts",
+ "microvolt": "Microvolts",
+ "volt": "Volt",
+ "kilovolt": "Quilovolt",
+ "megavolt": "Megavolt",
+ "dbmV": "Decibel-volt",
+ "dbm": "Decibel-miliwatts",
+ "volt-meter": "Volt-metro",
+ "kilovolt-meter": "Quilovolt-metro",
+ "megavolt-meter": "Megavolt-metro",
+ "microvolt-meter": "Microvolt-metro",
+ "millivolt-meter": "Milivolt-metro",
+ "nanovolt-meter": "Nanovolt-metro",
+ "ohm": "Ohm",
+ "microohm": "Micro-ohm",
+ "milliohm": "Mili-ohm",
+ "kilohm": "Quilohm",
+ "megohm": "Megohm",
+ "gigohm": "Gigohm",
+ "millihertz": "Milihertz",
+ "hertz": "Hertz",
+ "kilohertz": "Quilohertz",
+ "megahertz": "Megahertz",
+ "gigahertz": "Gigahertz",
+ "terahertz": "Terahertz",
+ "rpm": "Rotações por minuto",
+ "candela-per-square-meter": "Candela por metro quadrado",
+ "candela": "Candela",
+ "lumen": "Lúmen",
+ "lux": "Lux",
+ "foot-candle": "Pé-candela",
+ "lumen-per-square-meter": "Lúmen por metro quadrado",
+ "lux-second": "Lux-segundo",
+ "lumen-second": "Lúmen-segundo",
+ "lumens-per-watt": "Lúmens por watt",
+ "mole": "Mol",
+ "nanomole": "Nanomol",
+ "micromole": "Micromol",
+ "millimole": "Milimol",
+ "kilomole": "Quilomol",
+ "mole-per-cubic-meter": "Mol por metro cúbico",
+ "rssi": "Indicador de intensidade do sinal recebido",
+ "ppm": "Partes por milhão",
+ "ppb": "Partes por bilhão",
+ "micrograms-per-cubic-meter": "Microgramas por metro cúbico",
+ "aqi": "Aqi",
+ "gram-per-cubic-meter": "Grama por metro cúbico",
+ "gram-per-kilogram": "Umidade específica",
+ "millimeters-per-second": "Milímetros por segundo",
+ "neper": "Neper",
+ "bel": "Bel",
+ "decibel": "Decibel",
+ "meters-per-second-squared": "Metros por segundo ao quadrado",
+ "becquerel": "Becquerel",
+ "curie": "Curie",
+ "gray": "Gray",
+ "sievert": "Sievert",
+ "roentgen": "Roentgen",
+ "cps": "Contagens por segundo",
+ "rad": "Rad",
+ "rem": "Rem",
+ "dps": "Desintegrações por segundo",
+ "rutherford": "Rutherford",
+ "coulombs-per-kilogram": "Coulombs por quilograma",
+ "becquerels-per-cubic-meter": "Becquerels por metro cúbico",
+ "curies-per-liter": "Curies por litro",
+ "becquerels-per-second": "Becquerels por segundo",
+ "curies-per-second": "Curies por segundo",
+ "gy-per-second": "Gray por segundo",
+ "watt-per-steradian": "Watt por esterradiano",
+ "watt-per-square-metre-steradian": "Watt por metro quadrado-esterradiano",
+ "ph-level": "Nível de pH",
+ "turbidity": "Turbidez",
+ "mg-per-liter": "Miligramas por litro",
+ "microsiemens-per-centimeter": "Microsiemens por centímetro",
+ "millisiemens-per-meter": "Milisiemens por metro",
+ "siemens-per-meter": "Siemens por metro",
+ "kilogram-per-cubic-meter": "Quilograma por metro cúbico",
+ "gram-per-cubic-centimeter": "Grama por centímetro cúbico",
+ "kilogram-per-square-meter": "Quilograma por metro quadrado",
+ "milligram-per-milliliter": "Miligrama por mililitro",
+ "milligram-per-cubic-meter": "Miligrama por metro cúbico",
+ "pound-per-cubic-foot": "Libra por pé cúbico",
+ "ounces-per-cubic-inch": "Onças por polegada cúbica",
+ "tons-per-cubic-yard": "Toneladas por jarda cúbica",
+ "particle-density": "Densidade de partículas",
+ "kilometers-per-liter": "Quilômetros por litro",
+ "miles-per-gallon": "Milhas por galão",
+ "liters-per-100-km": "Litros por 100 km",
+ "gallons-per-mile": "Galões por milha",
+ "liters-per-hour": "Litros por hora",
+ "gallons-per-hour": "Galões por hora",
+ "beats-per-minute": "Batimentos por minuto",
+ "millimeters-of-mercury": "Milímetros de mercúrio",
+ "milligrams-per-deciliter": "Miligramas por decilitro",
+ "g-force": "Força g",
+ "kilonewton": "Quilonewton",
+ "kilogram-force": "Quilograma-força",
+ "pound-force": "Libra-força",
+ "kilopound-force": "Quilolibra-força",
+ "dyne": "Dina",
+ "poundal": "Poundal",
+ "kip": "Kip",
+ "gal": "Gal",
+ "gravity": "Gravidade",
+ "hectopascal": "Hectopascal",
+ "atmosphere": "Atmosfera",
+ "millibars": "Milibares",
+ "inch-of-mercury": "Uma polegada de mercúrio",
+ "richter-scale": "Escala Richter",
+ "nanosecond": "Nanossegundo",
+ "microsecond": "Microssegundo",
+ "millisecond": "Milissegundo",
+ "second": "Segundo",
+ "minute": "Minuto",
+ "hour": "Hora",
+ "day": "Dia",
+ "week": "Semana",
+ "month": "Mês",
+ "year": "Ano",
+ "cubic-foot-per-minute": "Pé cúbico por minuto",
+ "cubic-meters-per-hour": "Metros cúbicos por hora",
+ "cubic-meters-per-second": "Metros cúbicos por segundo",
+ "liter-per-second": "Litro por segundo",
+ "liter-per-minute": "Litro por minuto",
+ "gallons-per-minute": "Galões por minuto",
+ "cubic-foot-per-second": "Pé cúbico por segundo",
+ "milliliters-per-minute": "Mililitros por minuto",
+ "cubic-decimeter-per-second": "Decímetro cúbico por segundo",
+ "bit": "Bit",
+ "byte": "Byte",
+ "kilobyte": "Kilobyte",
+ "megabyte": "Megabyte",
+ "gigabyte": "Gigabyte",
+ "terabyte": "Terabyte",
+ "petabyte": "Petabyte",
+ "exabyte": "Exabyte",
+ "zettabyte": "Zettabyte",
+ "yottabyte": "Yottabyte",
+ "bit-per-second": "Bit por segundo",
+ "kilobit-per-second": "Kilobit por segundo",
+ "megabit-per-second": "Megabit por segundo",
+ "gigabit-per-second": "Gigabit por segundo",
+ "terabit-per-second": "Terabit por segundo",
+ "byte-per-second": "Byte por segundo",
+ "kilobyte-per-second": "Kilobyte por segundo",
+ "megabyte-per-second": "Megabyte por segundo",
+ "gigabyte-per-second": "Gigabyte por segundo",
+ "degree": "Grau",
+ "radian": "Radiano",
+ "gradian": "Gradiano",
+ "arcminute": "Arcminuto",
+ "arcsecond": "Arcssegundo",
+ "milliradian": "Miliradiano",
+ "revolution": "Revolução",
+ "siemens": "Siemens",
+ "millisiemens": "Milisiemens",
+ "microsiemens": "Microsiemens",
+ "kilosiemens": "Quilosiemens",
+ "megasiemens": "Megasiemens",
+ "gigasiemens": "Gigasiemens",
+ "farad": "Farad",
+ "millifarad": "Milifarad",
+ "microfarad": "Microfarad",
+ "nanofarad": "Nanofarad",
+ "picofarad": "Picofarad",
+ "kilofarad": "Quilofarad",
+ "megafarad": "Megafarad",
+ "gigafarad": "Gigafarad",
+ "terfarad": "Terafarad",
+ "farad-per-meter": "Farad por metro",
+ "tesla": "Tesla",
+ "gauss": "Gauss",
+ "kilogauss": "Quilogauss",
+ "millitesla": "Militesla",
+ "microtesla": "Microtesla",
+ "nanotesla": "Nanotesla",
+ "kilotesla": "Quilotesla",
+ "megatesla": "Megatesla",
+ "millitesla-square-meters": "Militesla metros quadrados",
+ "gamma": "Gamma",
+ "lambda": "Lambda",
+ "square-meter-per-second": "Metro quadrado por segundo",
+ "square-centimeter-per-second": "Centímetro quadrado por segundo",
+ "stoke": "Stoke",
+ "centistokes": "Centistokes",
+ "square-foot-per-second": "Pé quadrado por segundo",
+ "square-inch-per-second": "Polegada quadrada por segundo",
+ "pascal-second": "Pascal-segundo",
+ "centipoise": "Centipoise",
+ "poise": "Poise",
+ "reynolds": "Reynolds",
+ "pound-per-foot-hour": "Libra por pé-hora",
+ "newton-second-per-square-meter": "Newton-segundo por metro quadrado",
+ "dyne-second-per-square-centimeter": "Dina-segundo por centímetro quadrado",
+ "kilogram-per-meter-second": "Quilograma por metro-segundo",
+ "tesla-square-meters": "Tesla metros quadrados",
+ "maxwell": "Maxwell",
+ "tesla-per-meter": "Tesla por metro",
+ "gauss-per-centimeter": "Gauss por centímetro",
+ "weber": "Weber",
+ "microweber": "Microweber",
+ "milliweber": "Miliweber",
+ "gauss-square-centimeter": "Gauss-centímetro quadrado",
+ "kilogauss-square-centimeter": "Quilogauss-centímetro quadrado",
+ "henry": "Henry",
+ "millihenry": "Milihenry",
+ "microhenry": "Microhenry",
+ "nanohenry": "Nanohenry",
+ "henry-per-meter": "Henry por metro",
+ "tesla-meter-per-ampere": "Tesla-metro por ampere",
+ "gauss-per-oersted": "Gauss por oersted",
+ "kilogram-per-mole": "Quilograma por mol",
+ "gram-per-mole": "Grama por mol",
+ "milligram-per-mole": "Miligrama por mol",
+ "joule-per-mole": "Joule por mol",
+ "joule-per-mole-kelvin": "Joule por mol-kelvin",
+ "millivolts-per-meter": "Milivolts por metro",
+ "volts-per-meter": "Volts por metro",
+ "kilovolts-per-meter": "Quilovolts por metro",
+ "radian-per-second": "Radiano por segundo",
+ "radian-per-second-squared": "Radiano por segundo ao quadrado",
+ "revolutions-per-minute-per-second": "Aceleração angular",
+ "deg-per-second": "Graus por segundo",
+ "rotation-per-minute": "Rotação por minuto",
+ "degrees-brix": "Graus Brix",
+ "katal": "Katal",
+ "katal-per-cubic-metre": "Katal por metro cúbico",
+ "paris-inch": "Polegada de Paris"
},
"user": {
"user": "Usuário",
"users": "Usuários",
"customer-users": "Usuários do cliente",
- "tenant-admins": "Administradores de locatários",
+ "tenant-admins": "Administradores do tenant",
"sys-admin": "Administrador do sistema",
- "tenant-admin": "Administrador de locatários",
+ "tenant-admin": "Administrador do tenant",
"customer": "Cliente",
"anonymous": "Anônimo",
"add": "Adicionar usuário",
@@ -1637,221 +7150,998 @@
"no-users-text": "Nenhum usuário encontrado",
"user-details": "Detalhes do usuário",
"delete-user-title": "Tem certeza de que deseja excluir o usuário '{{userEmail}}'?",
- "delete-user-text": "Cuidado, após confirmar, não será possível recuperar o usuário e nenhum dado associado.",
- "delete-users-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 user} other {# users} }?",
- "delete-users-action-title": "Excluir { count, plural, =1 {1 user} other {# users} }",
- "delete-users-text": "Cuidado, após confirmar, todos os usuários selecionados serão removidos e não será possível recuperar nenhum dado associado.",
- "activation-email-sent-message": "O e-mail de ativação foi enviado corretamente!",
+ "delete-user-text": "Atenção: após a confirmação, o usuário e todos os dados relacionados serão irrecuperáveis.",
+ "delete-users-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 usuário} other {# usuários} }?",
+ "delete-users-action-title": "Excluir { count, plural, =1 {1 usuário} other {# usuários} }",
+ "delete-users-text": "Atenção: após a confirmação, todos os usuários selecionados serão removidos e todos os dados relacionados serão irrecuperáveis.",
+ "activation-email-sent-message": "Email de ativação enviado com sucesso!",
"resend-activation": "Reenviar ativação",
- "email": "E-mail",
- "email-required": "O e-mail é obrigatório.",
- "invalid-email-format": "Formato de e-mail inválido.",
+ "email": "Email",
+ "email-required": "Email é obrigatório.",
+ "invalid-email-format": "Formato de email inválido.",
"first-name": "Nome",
"last-name": "Sobrenome",
"description": "Descrição",
"default-dashboard": "Dashboard padrão",
- "always-fullscreen": "Sempre tela inteira",
+ "always-fullscreen": "Sempre em tela cheia",
"select-user": "Selecionar usuário",
- "no-users-matching": "Nenhum usuário encontrado que coincida com '{{entity}}'.",
- "user-required": "O usuário é obrigatório",
+ "no-users-matching": "Nenhum usuário correspondente a '{{entity}}' foi encontrado.",
+ "user-required": "Usuário é obrigatório",
"activation-method": "Método de ativação",
"display-activation-link": "Exibir link de ativação",
- "send-activation-mail": "Enviar e-mail de ativação",
- "activation-link": "Link de ativação de usuário",
- "activation-link-text": "Para ativar o usuário, utilize o seguinte link de ativação:",
+ "send-activation-mail": "Enviar email de ativação",
+ "activation-link": "Link de ativação do usuário",
+ "activation-link-text": "Para ativar o usuário, utilize o seguinte link de ativação (expira em {{activationLinkTtl}}) :",
"copy-activation-link": "Copiar link de ativação",
- "activation-link-copied-message": "O link de ativação foi copiado para a área de transferência",
+ "activation-link-copied-message": "Link de ativação do usuário copiado para a área de transferência",
"details": "Detalhes",
- "login-as-tenant-admin": "Login como administrador de locatários",
- "login-as-customer-user": "Login como usuário do cliente",
+ "login-as-tenant-admin": "Entrar como administrador do tenant",
+ "login-as-customer-user": "Entrar como usuário do cliente",
"search": "Pesquisar usuários",
- "selected-users": "{ count, plural, =1 {1 user} other {# users} } selecionado(s)",
- "disable-account": "Desativar conta de usuário",
- "enable-account": "Ativar conta de usuário",
- "enable-account-message": "A conta de usuário foi ativada corretamente!",
- "disable-account-message": "A conta de usuário foi desativada corretamente!"
+ "selected-users": "{ count, plural, =1 {1 usuário} other {# usuários} } selecionado(s)",
+ "disable-account": "Desativar conta do usuário",
+ "enable-account": "Ativar conta do usuário",
+ "enable-account-message": "Conta do usuário ativada com sucesso!",
+ "disable-account-message": "Conta do usuário desativada com sucesso!",
+ "copyId": "Copiar ID do usuário",
+ "idCopiedMessage": "ID do usuário copiado para a área de transferência",
+ "user-list": "Lista de usuários",
+ "user-list-required": "Lista de usuários é obrigatória"
},
"value": {
"type": "Tipo de valor",
- "string": "Cadeia de caracteres",
- "string-value": "Valor da cadeia de caracteres",
- "string-value-required": "O valor da cadeia de caracteres é obrigatório",
- "integer": "Número inteiro",
- "integer-value": "Valor do número inteiro",
- "integer-value-required": "O valor do número inteiro é obrigatório",
- "invalid-integer-value": "Valor de número inteiro inválido",
- "double": "Duplo",
- "double-value": "Valor duplo",
- "double-value-required": "O valor duplo de caracteres é obrigatório",
- "boolean": "Booliano",
- "boolean-value": "Valor booliano",
+ "string": "String",
+ "string-value": "Valor string",
+ "string-value-required": "Valor string é obrigatório",
+ "integer": "Inteiro",
+ "integer-value": "Valor inteiro",
+ "integer-value-required": "Valor inteiro é obrigatório",
+ "invalid-integer-value": "Valor inteiro inválido",
+ "double": "Double",
+ "double-value": "Valor double",
+ "double-value-required": "Valor double é obrigatório",
+ "boolean": "Booleano",
+ "boolean-value": "Valor booleano",
"false": "Falso",
"true": "Verdadeiro",
- "long": "Longo",
+ "long": "Long",
"json": "JSON",
- "json-value": "Valor de JSON",
- "json-value-invalid": "O formato do valor de JSON é inválido",
- "json-value-required": "O valor de JSON é obrigatório."
+ "json-value": "Valor JSON",
+ "json-value-invalid": "O valor JSON possui um formato inválido",
+ "json-value-required": "Valor JSON é obrigatório."
+ },
+ "version-control": {
+ "version-control": "Controle de versão",
+ "management": "Gerenciamento de controle de versão",
+ "search": "Pesquisar versões",
+ "branch": "Branch",
+ "default": "Padrão",
+ "select-branch": "Selecionar branch",
+ "branch-required": "Branch é obrigatório",
+ "create-entity-version": "Criar versão da entidade",
+ "version-name": "Nome da versão",
+ "version-name-required": "Nome da versão é obrigatório",
+ "author": "Autor",
+ "export-relations": "Exportar relações",
+ "export-attributes": "Exportar atributos",
+ "export-credentials": "Exportar credenciais",
+ "export-calculated-fields": "Exportar campos calculados \ne regras de alarme",
+ "export-alarm-rules": "Exportar regras de alarme",
+ "entity-versions": "Versões da entidade",
+ "versions": "Versões",
+ "created-time": "Hora de criação",
+ "version-id": "ID da versão",
+ "no-entity-versions-text": "Nenhuma versão de entidade encontrada",
+ "no-versions-text": "Nenhuma versão encontrada",
+ "copy-full-version-id": "Copiar ID completo da versão",
+ "create-version": "Criar versão",
+ "creating-version": "Criando versão... Aguarde",
+ "nothing-to-commit": "Nenhuma alteração para confirmar",
+ "restore-version": "Restaurar versão",
+ "restore-entity-from-version": "Restaurar entidade da versão '{{versionName}}'",
+ "restoring-entity-version": "Restaurando versão da entidade... Aguarde",
+ "load-relations": "Carregar relações",
+ "load-attributes": "Carregar atributos",
+ "load-credentials": "Carregar credenciais",
+ "load-calculated-fields": "Carregar campos calculados e regras de alarme",
+ "load-alarm-rules": "Carregar regras de alarme",
+ "compare-with-current": "Comparar com o atual",
+ "diff-entity-with-version": "Diferença com a versão da entidade '{{versionName}}'",
+ "previous-difference": "Diferença anterior",
+ "next-difference": "Próxima diferença",
+ "current": "Atual",
+ "differences": "{ count, plural, =1 {1 diferença} other {# diferenças} }",
+ "create-entities-version": "Criar versão das entidades",
+ "default-sync-strategy": "Estratégia de sincronização padrão",
+ "sync-strategy-merge": "Mesclar",
+ "sync-strategy-overwrite": "Sobrescrever",
+ "entities-to-export": "Entidades para exportar",
+ "entities-to-restore": "Entidades para restaurar",
+ "sync-strategy": "Estratégia de sincronização",
+ "all-entities": "Todas as entidades",
+ "no-entities-to-export-prompt": "Especifique as entidades a exportar",
+ "no-entities-to-restore-prompt": "Especifique as entidades a restaurar",
+ "add-entity-type": "Adicionar tipo de entidade",
+ "remove-all": "Remover todos",
+ "version-create-result": "{ added, plural, =0 {Nenhuma entidade} =1 {1 entidade} other {# entidades} } adicionada(s).
{ modified, plural, =0 {Nenhuma entidade} =1 {1 entidade} other {# entidades} } modificada(s).
{ removed, plural, =0 {Nenhuma entidade} =1 {1 entidade} other {# entidades} } removida(s).",
+ "remove-other-entities": "Remover outras entidades",
+ "find-existing-entity-by-name": "Localizar entidade existente por nome",
+ "restore-entities-from-version": "Restaurar entidades da versão '{{versionName}}'",
+ "restoring-entities-from-version": "Restaurando entidades... Aguarde",
+ "no-entities-restored": "Nenhuma entidade restaurada",
+ "created": "{{created}} criado(s)",
+ "updated": "{{updated}} atualizado(s)",
+ "deleted": "{{deleted}} excluído(s)",
+ "remove-other-entities-confirm-text": "Atenção! Isso irá excluir permanentemente todas as entidades atuais
não presentes na versão que deseja restaurar.
Digite \"remove other entities\" para confirmar.",
+ "auto-commit-to-branch": "auto-commit para o branch {{ branch }}",
+ "default-create-entity-version-name": "Atualização de {{entityName}}",
+ "sync-strategy-merge-hint": "Cria ou atualiza as entidades selecionadas no repositório. Todas as demais entidades do repositório não são modificadas.",
+ "sync-strategy-overwrite-hint": "Cria ou atualiza as entidades selecionadas no repositório. Todas as demais entidades do repositório são excluídas.",
+ "device-credentials-conflict": "Não foi possível carregar o dispositivo com ID externo {{entityId}}
pois as mesmas credenciais já estão presentes no banco de dados para outro dispositivo.
Considere desativar a configuração carregar credenciais no formulário de restauração.",
+ "missing-referenced-entity": "Não foi possível carregar o {{sourceEntityTypeName}} com ID externo {{sourceEntityId}}
porque ele faz referência a um {{targetEntityTypeName}} ausente com ID {{targetEntityId}}.",
+ "runtime-failed": "Falha: {{message}}",
+ "auto-commit-settings-read-only-hint": "O recurso de auto-commit não funciona com a opção somente leitura habilitada nas configurações do repositório.",
+ "rollback-on-error": "Reverter em caso de erro",
+ "rollback-on-error-hint": "Se houver um grande número de entidades para restaurar, considere desativar esta opção para aumentar o desempenho.\n Observe que, se ocorrer um erro durante o carregamento da versão, as entidades já persistidas (com relações, atributos, etc.) permanecerão como estão"
},
"widget": {
"widget-library": "Biblioteca de widgets",
- "widget-bundle": "Pacote de widgets",
- "select-widgets-bundle": "Selecionar pacote de widgets",
+ "widget-bundle": "Conjunto de widgets",
+ "all-bundles": "Todos os conjuntos",
+ "select-widgets-bundle": "Selecionar conjunto de widgets",
+ "widgets": "Widgets",
+ "all-widgets": "Todos os widgets",
+ "widget": "Widget",
+ "select-widget": "Selecionar widget",
+ "no-widgets-matching": "Nenhum widget correspondente a '{{entity}}' foi encontrado.",
+ "no-widgets": "Nenhum widget ainda",
+ "no-widgets-text": "Nenhum widget encontrado",
"management": "Gerenciamento de widgets",
- "editor": "Editor de widgets",
- "widget-type-not-found": "Problema ao carregar configuração de widget.
Provavelmente\n o tipo de widget foi removido.",
+ "editor": "Editor de widget",
+ "confirm-to-exit-editor-html": "Você tem configurações de widget não salvas.
Tem certeza de que deseja sair desta página?",
+ "widget-type-not-found": "Problema ao carregar a configuração do widget.
Provavelmente o tipo de widget\n associado foi removido.",
"widget-type-load-error": "O widget não foi carregado devido aos seguintes erros:",
"remove": "Remover widget",
+ "delete": "Excluir widget",
"edit": "Editar widget",
"remove-widget-title": "Tem certeza de que deseja remover o widget '{{widgetTitle}}'?",
- "remove-widget-text": "Após confirmar, não será possível recuperar o widget e nenhum dado associado.",
- "timeseries": "Intervalos de tempo",
+ "remove-widget-text": "Após a confirmação, o widget e todos os dados relacionados se tornarão irrecuperáveis.",
+ "replace-reference-with-widget-copy": "Substituir referência por cópia do widget",
+ "timeseries": "Série temporal",
"search-data": "Pesquisar dados",
"no-data-found": "Nenhum dado encontrado",
"latest": "Últimos valores",
"rpc": "Widget de controle",
"alarm": "Widget de alarme",
"static": "Widget estático",
+ "timeseries-short": "séries",
+ "latest-short": "últimos",
+ "rpc-short": "controle",
+ "alarm-short": "alarme",
+ "static-short": "estático",
"select-widget-type": "Selecionar tipo de widget",
- "missing-widget-title-error": "É necessário especificar o título de widget!",
+ "missing-widget-title-error": "O título do widget deve ser especificado!",
"widget-saved": "Widget salvo",
- "unable-to-save-widget-error": "Impossível salvar widget! O widget tem erros!",
+ "unable-to-save-widget-error": "Não foi possível salvar o widget! O widget contém erros!",
"save": "Salvar widget",
"saveAs": "Salvar widget como",
- "save-widget-type-as": "Salvar tipo de widget como",
- "save-widget-type-as-text": "Inserir novo título de widget e/ou selecionar pacote de widgets alvo",
- "toggle-fullscreen": "Alternar tela inteira",
+ "move": "Mover widget",
+ "save-widget-as": "Salvar widget como",
+ "save-widget-as-text": "Insira o novo título do widget",
+ "toggle-fullscreen": "Alternar tela cheia",
"run": "Executar widget",
- "title": "Título de widget",
+ "widget-title": "Título do widget",
+ "title": "Título",
"title-required": "O título do widget é obrigatório.",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
+ "system": "Sistema",
"type": "Tipo de widget",
"resources": "Recursos",
- "resource-url": "URL de JavaScript/CSS",
+ "resource-url": "URL JavaScript/CSS",
+ "resource-is-extension": "É extensão",
"remove-resource": "Remover recurso",
"add-resource": "Adicionar recurso",
"html": "HTML",
- "tidy": "Tidy",
+ "tidy": "Organizar",
"css": "CSS",
- "settings-schema": "Esquema de configuração",
- "datakey-settings-schema": "Esquema de configuração de chave de dados",
+ "settings-form": "Formulário de configurações",
+ "data-key-settings-form": "Formulário de configurações de chave de dados",
+ "latest-data-key-settings-form": "Formulário de configurações de chave de dados mais recentes",
+ "widget-settings": "Configurações do widget",
+ "description": "Descrição",
+ "tags": "Tags",
+ "image-preview": "Pré-visualização de imagem",
+ "settings-form-selector": "Seletor de formulário de configurações",
+ "data-key-settings-form-selector": "Seletor de formulário de configurações de chave de dados",
+ "latest-data-key-settings-form-selector": "Seletor de formulário de configurações de chave de dados mais recentes",
+ "all": "Todos",
+ "actual": "Atual",
+ "scada": "Símbolo SCADA",
+ "deprecated": "Obsoleto",
+ "has-basic-mode": "Possui modo básico",
+ "basic-mode-form-selector": "Seletor de formulário do modo básico",
+ "basic-mode": "Básico",
+ "advanced-mode": "Avançado",
"javascript": "Javascript",
"js": "JS",
- "add-widget-type": "Adicionar novo tipo de widget",
- "widget-template-load-failed-error": "Erro ao carregar modelo de widget!",
+ "delete-widget-title": "Tem certeza de que deseja excluir o widget '{{widgetName}}'?",
+ "delete-widget-text": "Após a confirmação, o widget e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-widgets-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 widget} other {# widgets} }?",
+ "delete-widgets-text": "Atenção: após a confirmação, todos os widgets selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-widget": "Excluir widget",
+ "widget-template-load-failed-error": "Falha ao carregar o template do widget!",
+ "details": "Detalhes",
+ "widget-details": "Detalhes do widget",
"add": "Adicionar widget",
- "undo": "Desfazer alterações de widget",
+ "add-existing-widget": "Adicionar widget existente",
+ "add-new-widget": "Adicionar novo widget",
+ "search-widgets": "Pesquisar widgets",
+ "selected-widgets": "{ count, plural, =1 {1 widget} other {# widgets} } selecionado(s)",
+ "undo": "Desfazer alterações do widget",
"export": "Exportar widget",
- "no-data": "Nenhum dado para exibição em widget",
- "data-overflow": "O widget exibe {{count}} de um total de {{total}} entidades",
- "alarm-data-overflow": "O widget exibe alarmes para (no máximo) {{allowedEntities}} entidades de um total de {{totalEntities}} entidades"
+ "export-prompt": "Incorporar imagens e recursos do widget",
+ "export-widgets": "Exportar widgets",
+ "export-widgets-prompt": "Incorporar imagens e recursos dos widgets",
+ "import": "Importar widget",
+ "no-data": "Sem dados para exibir no widget",
+ "data-overflow": "O widget exibe {{count}} de {{total}} entidades",
+ "alarm-data-overflow": "O widget exibe alarmes para {{allowedEntities}} (máximo permitido) entidades de {{totalEntities}} entidades",
+ "search": "Pesquisar widget",
+ "filter": "Tipo de filtro do widget",
+ "loading-widgets": "Carregando widgets...",
+ "widget-template-error": "Template HTML do widget inválido.",
+ "reference": "Referência"
},
"widget-action": {
- "header-button": "Botão de cabeçalho de widget",
- "open-dashboard-state": "Navegar para novo estado de dashboard",
- "update-dashboard-state": "Atualizar estado de dashboard atual",
+ "header-button": "Botão do cabeçalho do widget",
+ "do-nothing": "Não fazer nada",
+ "open-dashboard-state": "Navegar para novo estado do dashboard",
+ "update-dashboard-state": "Atualizar estado atual do dashboard",
"open-dashboard": "Navegar para outro dashboard",
- "custom": "Personalizar ação",
- "custom-pretty": "Personalizar ação (com modelo de HTML)",
- "target-dashboard-state": "Estado de dashboard alvo",
- "target-dashboard-state-required": "O estado do dashboard alvo é obrigatório",
- "set-entity-from-widget": "Definir entidade em widget",
- "target-dashboard": "Dashboard alvo",
- "open-right-layout": "Abrir layout do dashboard à direita (exibição móvel)"
+ "custom": "Ação personalizada",
+ "custom-pretty": "Ação personalizada (com template HTML)",
+ "custom-pretty-error-title": "Erro no diálogo personalizado",
+ "custom-pretty-template-error": "Template do diálogo personalizado inválido.",
+ "custom-pretty-controller-error": "Ocorreu um erro ao avaliar a função do diálogo personalizado.",
+ "mobile-action": "Ação mobile",
+ "target-dashboard-state": "Estado de destino do dashboard",
+ "target-dashboard-state-required": "O estado de destino do dashboard é obrigatório",
+ "set-entity-from-widget": "Definir entidade a partir do widget",
+ "target-dashboard": "Dashboard de destino",
+ "select-target-dashboard": "Selecionar dashboard de destino",
+ "target-dashboard-required": "O dashboard de destino é obrigatório.",
+ "open-right-layout": "Abrir layout direito do dashboard (visualização mobile)",
+ "state-display-type": "Opção de exibição do estado do dashboard",
+ "open-normal": "Normal",
+ "open-in-separate-dialog": "Abrir em diálogo separado",
+ "open-in-popover": "Abrir em popover",
+ "dialog-title": "Título do diálogo",
+ "dialog-hide-dashboard-toolbar": "Ocultar barra de ferramentas do dashboard no diálogo",
+ "dialog-width": "Largura do diálogo em percentual relativo à largura da viewport",
+ "dialog-height": "Altura do diálogo em percentual relativo à altura da viewport",
+ "dialog-size-range-error": "O valor percentual do tamanho do diálogo deve estar entre 1 e 100.",
+ "popover-preferred-placement": "Posicionamento preferencial do popover",
+ "popover-placement-top": "Superior",
+ "popover-placement-topLeft": "Superior esquerdo",
+ "popover-placement-topRight": "Superior direito",
+ "popover-placement-right": "Direito",
+ "popover-placement-rightTop": "Direito superior",
+ "popover-placement-rightBottom": "Direito inferior",
+ "popover-placement-bottom": "Inferior",
+ "popover-placement-bottomLeft": "Inferior esquerdo",
+ "popover-placement-bottomRight": "Inferior direito",
+ "popover-placement-left": "Esquerdo",
+ "popover-placement-leftTop": "Esquerdo superior",
+ "popover-placement-leftBottom": "Esquerdo inferior",
+ "popover-hide-on-click-outside": "Ocultar popover ao clicar fora",
+ "popover-hide-dashboard-toolbar": "Ocultar barra de ferramentas do dashboard no popover",
+ "popover-width": "Largura do popover",
+ "popover-height": "Altura do popover",
+ "popover-style": "Estilo do popover",
+ "open-new-browser-tab": "Abrir em nova aba do navegador",
+ "open-URL": "Abrir URL",
+ "URL": "URL",
+ "url-required": "URL é obrigatória.",
+ "mobile": {
+ "device-provision": "Provisionamento de dispositivo",
+ "action-type": "Tipo de ação mobile",
+ "select-action-type": "Selecionar tipo de ação mobile",
+ "action-type-required": "O tipo de ação mobile é obrigatório",
+ "take-picture-from-gallery": "Tirar foto da galeria",
+ "take-photo": "Tirar foto",
+ "map-direction": "Abrir direções no mapa",
+ "map-location": "Abrir localização no mapa",
+ "scan-qr-code": "Escanear QR Code",
+ "make-phone-call": "Fazer ligação",
+ "get-location": "Obter localização do telefone",
+ "take-screenshot": "Tirar screenshot",
+ "handle-provision-success-function": "Função para tratar sucesso do provisionamento",
+ "get-location-function": "Função para obter localização",
+ "process-launch-result-function": "Função para processar resultado de inicialização",
+ "get-phone-number-function": "Função para obter número de telefone",
+ "process-image-function": "Função para processar imagem",
+ "process-qr-code-function": "Função para processar QR code",
+ "process-location-function": "Função para processar localização",
+ "handle-empty-result-function": "Função para tratar resultado vazio",
+ "handle-error-function": "Função para tratar erro",
+ "handle-non-mobile-fallback-function": "Função de fallback para ambiente não mobile",
+ "save-to-gallery": "Salvar na galeria",
+ "provision-type": "Tipo de provisionamento",
+ "auto": "Automático",
+ "wi-fi": "Wi-Fi",
+ "ble": "BLE",
+ "soft-ap": "Soft AP"
+ },
+ "custom-action-function": "Função de ação personalizada",
+ "custom-pretty-function": "Função de ação personalizada (com template HTML)",
+ "map-item-type": "Tipo de item do mapa",
+ "map-item": {
+ "marker": "Marcador",
+ "polygon": "Polígono",
+ "rectangle": "Retângulo",
+ "circle": "Círculo",
+ "polyline": "Polilinha"
+ },
+ "place-map-item": "Posicionar item no mapa",
+ "map-item-tooltip": {
+ "customize-map-item-tooltips": "Personalizar tooltips de itens do mapa",
+ "place-marker": "Posicionar marcador",
+ "start-draw-rectangle": "Iniciar desenho de retângulo",
+ "finish-draw-rectangle": "Finalizar desenho de retângulo",
+ "start-draw-polygon": "Iniciar desenho de polígono",
+ "continue-draw-polygon": "Continuar desenho de polígono",
+ "finish-draw-polygon": "Finalizar desenho de polígono",
+ "start-draw-circle": "Iniciar desenho de círculo",
+ "finish-draw-circle": "Finalizar desenho de círculo",
+ "start-draw-polyline": "Iniciar desenho de polilinha",
+ "finish-draw-polyline": "Finalizar desenho de polilinha"
+ }
},
"widgets-bundle": {
- "current": "Pacote atual",
- "widgets-bundles": "Pacotes de widgets",
- "add": "Adicionar pacote de widgets",
- "delete": "Excluir pacote de widgets",
+ "current": "Conjunto atual",
+ "widgets-bundles": "Conjuntos de widgets",
+ "widgets-bundle-widgets": "Widgets do conjunto de widgets",
+ "add": "Adicionar conjunto de widgets",
+ "delete": "Excluir conjunto de widgets",
"title": "Título",
"title-required": "O título é obrigatório.",
- "add-widgets-bundle-text": "Adicionar novo pacote de widgets",
- "no-widgets-bundles-text": "Nenhum pacote de widgets encontrado",
- "empty": "O pacote de widgets está vazio",
+ "title-max-length": "O título deve ter menos de 256 caracteres",
+ "description": "Descrição",
+ "image-preview": "Pré-visualização de imagem",
+ "scada": "Conjunto de widgets SCADA",
+ "order": "Ordem",
+ "add-widgets-bundle-text": "Adicionar novo conjunto de widgets",
+ "no-widgets-bundles-text": "Nenhum conjunto de widgets encontrado",
+ "empty": "O conjunto de widgets está vazio",
"details": "Detalhes",
- "widgets-bundle-details": "Detalhes do pacote de widgets",
- "delete-widgets-bundle-title": "Tem certeza de que deseja excluir o pacote de widgets '{{widgetsBundleTitle}}'?",
- "delete-widgets-bundle-text": "Cuidado, após confirmar, não será possível recuperar o pacote de widgets e nenhum dado associado.",
- "delete-widgets-bundles-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 widgets bundle} other {# widgets bundles} }?",
- "delete-widgets-bundles-action-title": "Excluir { count, plural, =1 {1 widgets bundle} other {# widgets bundles} }",
- "delete-widgets-bundles-text": "Cuidado, após confirmar, todos os pacotes de widgets selecionados serão removidos e não será possível recuperar nenhum dado associado.",
- "no-widgets-bundles-matching": "Nenhum conversor de pacotes de widgets encontrado que coincida com '{{widgetsBundle}}'.",
- "widgets-bundle-required": "O pacote de widgets é obrigatório.",
+ "widgets-bundle-details": "Detalhes do conjunto de widgets",
+ "delete-widgets-bundle-title": "Tem certeza de que deseja excluir o conjunto de widgets '{{widgetsBundleTitle}}'?",
+ "delete-widgets-bundle-text": "Atenção: após a confirmação, o conjunto de widgets e todos os dados relacionados se tornarão irrecuperáveis.",
+ "delete-widgets-bundles-title": "Tem certeza de que deseja excluir { count, plural, =1 {1 conjunto de widgets} other {# conjuntos de widgets} }?",
+ "delete-widgets-bundles-action-title": "Excluir { count, plural, =1 {1 conjunto de widgets} other {# conjuntos de widgets} }",
+ "delete-widgets-bundles-text": "Atenção: após a confirmação, todos os conjuntos de widgets selecionados serão removidos e todos os dados relacionados se tornarão irrecuperáveis.",
+ "no-widgets-bundles-matching": "Nenhum conjunto de widgets correspondente a '{{widgetsBundle}}' foi encontrado.",
+ "widgets-bundle-required": "O conjunto de widgets é obrigatório.",
"system": "Sistema",
- "import": "Importar pacote de widgets",
- "export": "Exportar pacote de widgets",
- "export-failed-error": "Impossível exportar pacote de widgets: {{error}}",
- "create-new-widgets-bundle": "Criar novo pacote de widgets",
- "widgets-bundle-file": "Arquivo de pacote de widgets",
- "invalid-widgets-bundle-file-error": "Impossível importar pacote de widgets: Estrutura de dados de pacote de widgets inválida.",
- "search": "Pesquisar pacotes de widgets",
- "selected-widgets-bundles": "{ count, plural, =1 {1 widgets bundle} other {# widgets bundles} } selecionado(s)",
- "open-widgets-bundle": "Abrir pacote de widgets"
+ "import": "Importar conjunto de widgets",
+ "export": "Exportar conjunto de widgets",
+ "export-widgets-bundle-widgets-prompt": "Incluir widgets do conjunto nos dados exportados (caso contrário, apenas os FQNs dos widgets referenciados serão exportados)",
+ "export-failed-error": "Não foi possível exportar o conjunto de widgets: {{error}}",
+ "create-new-widgets-bundle": "Criar novo conjunto de widgets",
+ "widgets-bundle-file": "Arquivo do conjunto de widgets",
+ "invalid-widgets-bundle-file-error": "Não foi possível importar o conjunto de widgets: estrutura de dados do conjunto de widgets inválida.",
+ "search": "Pesquisar conjuntos de widgets",
+ "selected-widgets-bundles": "{ count, plural, =1 {1 conjunto de widgets} other {# conjuntos de widgets} } selecionado(s)",
+ "open-widgets-bundle": "Abrir conjunto de widgets",
+ "loading-widgets-bundles": "Carregando conjuntos de widgets...",
+ "create-new": "Criar novo conjunto de widgets"
},
"widget-config": {
"data": "Dados",
"settings": "Configurações",
"advanced": "Avançado",
+ "appearance": "Aparência",
+ "widget-card": "Card do widget",
+ "mobile": "Mobile",
"title": "Título",
- "title-tooltip": "Título da dica de ferramenta",
- "general-settings": "Configuração geral",
- "display-title": "Exibir título",
- "drop-shadow": "Sombra projetada",
- "enable-fullscreen": "Habilitar tela inteira",
+ "title-tooltip": "Tooltip do título",
+ "general-settings": "Configurações gerais",
+ "display-title": "Exibir título do widget",
+ "card-title": "Título do card",
+ "drop-shadow": "Sombra",
+ "enable-fullscreen": "Habilitar tela cheia",
"background-color": "Cor de fundo",
- "text-color": "Cor de texto",
- "padding": "Preenchimento",
+ "text-color": "Cor do texto",
+ "border-radius": "Raio da borda",
+ "padding": "Espaçamento interno",
"margin": "Margem",
- "widget-style": "Estilo de widget",
+ "widget-style": "Estilo do widget",
+ "widget-css": "CSS do widget",
"title-style": "Estilo do título",
- "mobile-mode-settings": "Configuração do modo móvel",
+ "mobile-mode-settings": "Modo mobile",
"order": "Ordem",
"height": "Altura",
+ "mobile-hide": "Ocultar widget no modo mobile",
+ "desktop-hide": "Ocultar widget no modo desktop",
"units": "Símbolo especial a ser exibido ao lado do valor",
- "decimals": "Número de dígitos após ponto de flutuação",
+ "units-by-default": "Unidades padrão",
+ "decimals": "Número de dígitos após o ponto flutuante",
+ "decimals-by-default": "Decimais padrão",
+ "default-data-key-parameter-hint": "Este parâmetro se aplica a todos os valores do widget, a menos que seja substituído pela configuração da chave de dados",
+ "units-short": "Unidades",
+ "decimals-short": "Decimais",
+ "decimals-suffix": "decimais",
+ "digits-suffix": "dígitos",
"timewindow": "Janela de tempo",
"use-dashboard-timewindow": "Usar janela de tempo do dashboard",
- "display-timewindow": "Exibir timewindow",
+ "use-widget-timewindow": "Usar janela de tempo do widget",
+ "display-timewindow": "Exibir janela de tempo",
+ "legend": "Legenda",
"display-legend": "Exibir legenda",
"datasources": "Fontes de dados",
- "maximum-datasources": "No máximo { count, plural, =1 {1 datasource is allowed.} other {# datasources are allowed} }",
+ "datasource": "Fonte de dados",
+ "maximum-datasources": "Máximo de { count, plural, =1 {1 fonte de dados permitida.} other {# fontes de dados permitidas} }",
+ "timeseries-key-error": "Pelo menos uma chave de dados de série temporal deve ser especificada",
"datasource-type": "Tipo",
"datasource-parameters": "Parâmetros",
"remove-datasource": "Remover fonte de dados",
"add-datasource": "Adicionar fonte de dados",
- "target-device": "Dispositivo alvo",
- "alarm-source": "Fonte do alarme",
+ "target-device": "Dispositivo de destino",
+ "alarm-source": "Fonte de alarme",
"actions": "Ações",
"action": "Ação",
"add-action": "Adicionar ação",
"search-actions": "Pesquisar ações",
"no-actions-text": "Nenhuma ação encontrada",
"action-source": "Fonte da ação",
+ "select-action-source": "Selecionar fonte da ação",
"action-source-required": "A fonte da ação é obrigatória.",
+ "column-index": "Índice da coluna",
+ "select-column-index": "Selecionar índice da coluna",
+ "column-index-required": "O índice da coluna é obrigatório.",
+ "not-set": "Não definido",
"action-name": "Nome",
- "action-name-required": "O nome da ação é obrigatório!",
- "action-name-not-unique": "Já existe outra ação com o mesmo nome.\nO nome da ação na mesma fonte de ação deve ser exclusivo.",
+ "action-name-required": "O nome da ação é obrigatório.",
+ "action-name-not-unique": "Já existe outra ação com o mesmo nome.\nO nome da ação deve ser único dentro da mesma fonte de ação.",
"action-icon": "Ícone",
+ "header-button": {
+ "button-settings": "Configurações do botão",
+ "button-type": "Tipo de botão",
+ "button-type-basic": "Básico",
+ "button-type-raised": "Elevado",
+ "button-type-stroked": "Contornado",
+ "button-type-flat": "Plano",
+ "button-type-icon": "Ícone",
+ "button-type-mini-fab": "FAB",
+ "colors": "Cores",
+ "color": "Cor",
+ "background": "Plano de fundo",
+ "border": "Borda",
+ "advanced-button-style": "Estilo avançado do botão",
+ "button-style": "Estilo do botão"
+ },
+ "show-hide-action-using-function": "Mostrar/ocultar ação usando função",
+ "show-action-function": "Função para exibir ação",
"action-type": "Tipo",
"action-type-required": "O tipo de ação é obrigatório.",
"edit-action": "Editar ação",
"delete-action": "Excluir ação",
- "delete-action-title": "Excluir ação de widget",
- "delete-action-text": "Tem certeza de que deseja excluir a ação de widget com o nome '{{actionName}}'?",
- "display-icon": "Exibir ícone de título",
+ "delete-action-title": "Excluir ação do widget",
+ "delete-action-text": "Tem certeza de que deseja excluir a ação do widget com o nome '{{actionName}}'?",
+ "title-icon": "Ícone do título",
+ "display-icon": "Exibir ícone do título",
+ "card-icon": "Ícone do card",
+ "icon": "Ícone",
"icon-color": "Cor do ícone",
- "icon-size": "Tamanho do ícone"
+ "icon-size": "Tamanho do ícone",
+ "advanced-settings": "Configurações avançadas",
+ "data-settings": "Configurações de dados",
+ "limits": "Limites",
+ "no-data-display-message": "Mensagem alternativa para \"Sem dados para exibir\"",
+ "data-page-size": "Máximo de entidades por fonte de dados",
+ "settings-component-not-found": "Componente de formulário de configurações não encontrado para o seletor '{{selector}}'",
+ "preview": "Pré-visualização",
+ "set": "Definir",
+ "set-message": "Definir mensagem",
+ "advanced-title-style": "Estilo avançado do título",
+ "card-style": "Estilo do card",
+ "text": "Texto",
+ "background": "Plano de fundo",
+ "advanced-widget-style": "Estilo avançado do widget",
+ "card-buttons": "Botões do card",
+ "show-card-buttons": "Exibir botões do card",
+ "card-border-radius": "Raio da borda do card",
+ "card-padding": "Espaçamento interno do card",
+ "card-appearance": "Aparência do card",
+ "color": "Cor",
+ "tooltip": "Tooltip",
+ "units-required": "A unidade é obrigatória.",
+ "list-layout": "Layout de lista",
+ "layout": "Layout",
+ "resize-options": "Opções de redimensionamento",
+ "resizable": "Redimensionável",
+ "preserve-aspect-ratio": "Preservar proporção de aspecto"
},
"widget-type": {
"import": "Importar tipo de widget",
"export": "Exportar tipo de widget",
- "export-failed-error": "Impossível exportar tipo de widget: {{error}}",
- "create-new-widget-type": "Criar novo tipo de widget",
- "widget-type-file": "Arquivo de tipo de widget",
- "invalid-widget-type-file-error": "Impossível importar tipo de widget: Estrutura de dados de tipo de widget inválida."
+ "export-failed-error": "Não foi possível exportar o widget: {{error}}",
+ "widget-file": "Arquivo do widget",
+ "invalid-widget-file-error": "Não foi possível importar o widget: estrutura de dados do widget inválida."
+ },
+ "markdown": {
+ "edit": "Editar",
+ "preview": "Visualizar",
+ "copy-code": "Clique para copiar",
+ "copied": "Copiado!"
},
"widgets": {
+ "mobile-app-qr-code": {
+ "configuration-hint": "A configuração depende do widget de QR code do aplicativo móvel nas configurações principais da plataforma",
+ "get-it-on-google-play": "Disponível no Google Play",
+ "download-on-the-app-store": "Baixar na App Store"
+ },
+ "action-button": {
+ "behavior": "Comportamento",
+ "on-click": "Ao clicar",
+ "on-click-hint": "Ação acionada quando o botão é clicado",
+ "first-button-click": "Clique no primeiro botão",
+ "first-button-click-hint": "Ação ao pressionar o primeiro botão.",
+ "second-button-click": "Clique no segundo botão",
+ "second-button-click-hint": "Ação ao pressionar o segundo botão.",
+ "button-click-hint": "Ação ao pressionar o widget."
+ },
+ "command-button": {
+ "behavior": "Comportamento",
+ "on-click": "Ao clicar",
+ "on-click-hint": "Ação executada quando o botão é clicado."
+ },
+ "power-button": {
+ "behavior": "Comportamento",
+ "power-on": "Ligar 'On'",
+ "power-on-hint": "Ação executada para ligar o componente.",
+ "power-off": "Desligar 'Off'",
+ "power-off-hint": "Ação executada para desligar o componente.",
+ "on-label": "On",
+ "off-label": "Off",
+ "layout": "Layout",
+ "layout-default": "Padrão",
+ "layout-simplified": "Simplificado",
+ "layout-outlined": "Contornado",
+ "layout-default-volume": "Padrão.Volume",
+ "layout-simplified-volume": "Simplificado.Volume",
+ "layout-outlined-volume": "Contornado.Volume",
+ "layout-default-icon": "Padrão.Ícone",
+ "layout-simplified-icon": "Simplificado.Ícone",
+ "layout-outlined-icon": "Contornado.Ícone",
+ "main": "Principal",
+ "background": "Plano de fundo",
+ "button-icon-on": "Ícone do botão 'On'",
+ "button-icon-off": "Ícone do botão 'Off'",
+ "power-on-colors": "Cores 'On'",
+ "power-off-colors": "Cores 'Off'",
+ "disabled-colors": "Cores desabilitadas",
+ "button": "Botão"
+ },
+ "toggle-button": {
+ "behavior": "Comportamento",
+ "checked": "Marcado",
+ "unchecked": "Desmarcado",
+ "check": "Marcar",
+ "check-hint": "Ação executada para marcar o componente.",
+ "uncheck": "Desmarcar",
+ "uncheck-hint": "Ação executada para desmarcar o componente.",
+ "auto-scale": "Escala automática",
+ "horizontal-fill": "Preenchimento horizontal",
+ "vertical-fill": "Preenchimento vertical",
+ "button-appearance": "Aparência do botão"
+ },
+ "segmented-button": {
+ "layout": "Layout",
+ "layout-squared": "Quadrado",
+ "layout-rounded": "Arredondado",
+ "card-border": "Borda do cartão",
+ "button-appearance": "Aparência do botão",
+ "first": "Primeiro",
+ "second": "Segundo",
+ "color-styles": "Estilos de cor",
+ "selected": "Selecionado",
+ "unselected": "Não selecionado"
+ },
+ "button": {
+ "layout": "Layout",
+ "outlined": "Contornado",
+ "filled": "Preenchido",
+ "underlined": "Sublinhado",
+ "basic": "Básico",
+ "auto-scale": "Escala automática",
+ "label": "Rótulo",
+ "icon": "Ícone",
+ "border-radius": "Raio da borda",
+ "color-palette": "Paleta de cores",
+ "main": "Principal",
+ "background": "Plano de fundo",
+ "border": "Borda",
+ "custom-styles": "Estilos personalizados",
+ "clear-style": "Limpar estilo",
+ "shadow": "Sombra",
+ "enabled": "Habilitado",
+ "disabled": "Desabilitado",
+ "preview": "Visualização",
+ "copy-style-from": "Copiar estilo de"
+ },
+ "value-stepper": {
+ "behavior": "Comportamento",
+ "simplified": "Simplificado",
+ "filled": "Preenchido",
+ "outlined": "Contornado",
+ "volume": "Volume",
+ "initial-state": "Estado inicial",
+ "initial-state-hint": "Ação para obter o valor inicial.",
+ "disabled-state": "Estado desabilitado",
+ "disabled-state-hint": "Configure a condição sob a qual o componente é desabilitado.",
+ "right-button-click": "Clique no botão direito",
+ "right-button-click-hint": "Ação ao pressionar o botão direito.",
+ "left-button-click": "Clique no botão esquerdo",
+ "left-button-click-hint": "Ação ao pressionar o botão esquerdo.",
+ "auto-scale": "Escala automática",
+ "value-range": "Intervalo",
+ "min-range": "Mín",
+ "max-range": "Máx",
+ "value-increment-decrement-step": "Passo de incremento/decremento do valor",
+ "value": "Valor",
+ "value-box-background": "Plano de fundo da caixa de valor",
+ "border": "Borda",
+ "button-appearance": "Aparência do botão",
+ "left": "Esquerdo",
+ "right": "Direito",
+ "left-button": "Botão esquerdo",
+ "right-button": "Botão direito",
+ "icon": "Ícone",
+ "color-palette": "Paleta de cores",
+ "main": "Principal",
+ "background": "Plano de fundo",
+ "button-icon-on": "Ícone do botão 'On'",
+ "button-on-colors": "Cores 'On'",
+ "disabled-colors": "Cores desabilitadas"
+ },
+ "button-state": {
+ "activated-state": "Estado ativado",
+ "activated-state-hint": "Configure a condição sob a qual o botão está ativo.",
+ "disabled-state": "Estado desabilitado",
+ "disabled-state-hint": "Configure a condição sob a qual o botão está desabilitado.",
+ "selected-state": "Selecionar botão",
+ "selected-state-hint": "Configure a condição sob a qual o botão está selecionado.",
+ "enabled": "Habilitado",
+ "hovered": "Com cursor",
+ "pressed": "Pressionado",
+ "activated": "Ativado",
+ "disabled": "Desabilitado",
+ "initial": "Primeiro botão",
+ "first": "Primeiro",
+ "second": "Segundo"
+ },
+ "background": {
+ "background": "Plano de fundo",
+ "background-settings": "Configurações de plano de fundo",
+ "background-type-image": "Imagem",
+ "background-type-color": "Cor",
+ "image-url": "URL da imagem",
+ "overlay": "Sobreposição",
+ "enable-overlay": "Habilitar sobreposição",
+ "blur": "Desfoque",
+ "preview": "Pré-visualização"
+ },
+ "bar-chart": {
+ "bar-appearance": "Aparência da barra",
+ "label-on-bar": "Rótulo na barra",
+ "value-on-bar": "Valor na barra",
+ "bar-chart-style": "Estilo do gráfico de barras",
+ "bar-axis": "Eixo da barra"
+ },
+ "polar-area-chart": {
+ "polar-axis": "Eixo polar",
+ "start-angle": "Ângulo inicial",
+ "polar-area-chart-style": "Estilo do gráfico de área polar"
+ },
+ "battery-level": {
+ "layout": "Layout",
+ "layout-vertical-solid": "Vertical. Sólido",
+ "layout-horizontal-solid": "Horizontal. Sólido",
+ "layout-vertical-divided": "Vertical. Dividido",
+ "layout-horizontal-divided": "Horizontal. Dividido",
+ "icon": "Ícone",
+ "value": "Valor",
+ "auto-scale": "Escala automática",
+ "battery-level-color": "Cor do nível da bateria",
+ "battery-shape-color": "Cor do formato da bateria",
+ "battery-level-card-style": "Estilo do cartão de nível da bateria",
+ "sections-count": "Quantidade de seções"
+ },
+ "signal-strength": {
+ "value": "Valor",
+ "last-update": "Última atualização",
+ "no-signal": "Sem sinal",
+ "layout": "Layout",
+ "layout-wifi": "Wi-Fi",
+ "layout-cellular-bar": "Barra celular",
+ "icon": "Ícone",
+ "date": "Data",
+ "active-bars-color": "Cor das barras de sinal ativas",
+ "inactive-bars-color": "Cor das barras de sinal inativas",
+ "signal-strength-card-style": "Estilo do cartão de intensidade de sinal",
+ "no-signal-rssi-value": "Valor rssi \"Sem sinal\""
+ },
+ "status-widget": {
+ "behavior": "Comportamento",
+ "layout": "Layout",
+ "layout-default": "Padrão",
+ "layout-center": "Centro",
+ "layout-icon": "Ícone",
+ "on": "On",
+ "off": "Off",
+ "label": "Rótulo",
+ "status": "Status",
+ "icon": "Ícone",
+ "color-palette": "Paleta de cores",
+ "disabled-color-palette": "Paleta de cores desabilitada",
+ "primary": "Primário",
+ "primary-color-hint": "Cor do ícone e rótulo",
+ "secondary": "Secundário",
+ "secondary-color-hint": "Cor do status",
+ "background": "Plano de fundo"
+ },
+ "chart": {
+ "common-settings": "Configurações comuns",
+ "enable-stacking-mode": "Habilitar modo de empilhamento",
+ "selection": "Seleção de intervalo de tempo",
+ "enable-selection-mode": "Habilitar modo de seleção",
+ "line-shadow-size": "Tamanho da sombra da linha",
+ "display-smooth-lines": "Exibir linhas suaves (curvas)",
+ "default-bar-width": "Largura padrão da barra para dados não agregados (milissegundos)",
+ "bar-alignment": "Alinhamento da barra",
+ "bar-alignment-left": "Esquerda",
+ "bar-alignment-right": "Direita",
+ "bar-alignment-center": "Centro",
+ "default-font": "Fonte padrão",
+ "default-font-size": "Tamanho da fonte padrão",
+ "default-font-color": "Cor da fonte padrão",
+ "thresholds-line-width": "Largura de linha padrão para todos os limites",
+ "tooltip-settings": "Configurações de tooltip",
+ "tooltip": "Tooltip",
+ "show-tooltip": "Exibir tooltip",
+ "hover-individual-points": "Passar o cursor sobre pontos individuais",
+ "show-cumulative-values": "Exibir valores cumulativos no modo de empilhamento",
+ "hide-zero-false-values": "Ocultar valores zero/falso do tooltip",
+ "tooltip-value-format-function": "Função de formatação do valor do tooltip",
+ "grid-settings": "Configurações de grade",
+ "show-vertical-lines": "Exibir linhas verticais",
+ "show-horizontal-lines": "Exibir linhas horizontais",
+ "grid-outline-border-width": "Largura do contorno/borda da grade (px)",
+ "primary-color": "Cor primária",
+ "background-color": "Cor de fundo",
+ "ticks-color": "Cor dos marcadores",
+ "xaxis-settings": "Configurações do eixo X",
+ "axis-title": "Título do eixo",
+ "xaxis-tick-labels-settings": "Configurações dos rótulos de marcadores do eixo X",
+ "show-tick-labels": "Exibir rótulos de marcadores do eixo",
+ "yaxis-settings": "Configurações do eixo Y",
+ "min-scale-value": "Valor mínimo na escala",
+ "max-scale-value": "Valor máximo na escala",
+ "yaxis-tick-labels-settings": "Configurações dos rótulos de marcadores do eixo Y",
+ "tick-step-size": "Tamanho do passo entre marcadores",
+ "number-of-decimals": "Quantidade de casas decimais a exibir",
+ "ticks-formatter-function": "Função de formatação dos marcadores",
+ "comparison-settings": "Configurações de comparação",
+ "enable-comparison": "Habilitar comparação",
+ "time-for-comparison": "Período de comparação",
+ "time-for-comparison-previous-interval": "Intervalo anterior (padrão)",
+ "time-for-comparison-days": "Dia atrás",
+ "time-for-comparison-weeks": "Semana atrás",
+ "time-for-comparison-months": "Mês atrás",
+ "time-for-comparison-years": "Ano atrás",
+ "time-for-comparison-custom-interval": "Intervalo personalizado",
+ "custom-interval-value": "Valor do intervalo personalizado (ms)",
+ "comparison-x-axis-settings": "Configurações do eixo X de comparação",
+ "axis-position": "Posição do eixo",
+ "axis-position-top": "Superior (padrão)",
+ "axis-position-bottom": "Inferior",
+ "custom-legend-settings": "Configurações de legenda personalizada",
+ "enable-custom-legend": "Habilitar legenda personalizada (permite usar valores de atributo/série temporal nos rótulos de chave)",
+ "key-name": "Nome da chave",
+ "key-name-required": "Nome da chave é obrigatório",
+ "key-type": "Tipo de chave",
+ "key-type-attribute": "Atributo",
+ "key-type-timeseries": "Série temporal",
+ "label-keys-list": "Lista de chaves para usar nos rótulos",
+ "no-label-keys": "Nenhuma chave configurada",
+ "add-label-key": "Adicionar nova chave",
+ "line-width": "Largura da linha",
+ "color": "Cor",
+ "data-is-hidden-by-default": "Dados ocultos por padrão",
+ "disable-data-hiding": "Desabilitar ocultação de dados",
+ "remove-from-legend": "Remover chave de dados da legenda",
+ "exclude-from-stacking": "Excluir do empilhamento (disponível no modo \"Empilhamento\")",
+ "line-settings": "Configurações de linha",
+ "show-line": "Exibir linha",
+ "fill-line": "Preencher linha",
+ "fill-line-opacity": "Opacidade do preenchimento",
+ "points-settings": "Configurações de pontos",
+ "show-points": "Exibir pontos",
+ "points-line-width": "Largura da linha dos pontos",
+ "points-radius": "Raio dos pontos",
+ "point-shape": "Forma do ponto",
+ "point-shape-circle": "Círculo",
+ "point-shape-cross": "Cruz",
+ "point-shape-diamond": "Diamante",
+ "point-shape-square": "Quadrado",
+ "point-shape-triangle": "Triângulo",
+ "point-shape-custom": "Função personalizada",
+ "point-shape-draw-function": "Função de desenho da forma do ponto",
+ "show-separate-axis": "Exibir eixo separado",
+ "axis-position-left": "Esquerda",
+ "axis-position-right": "Direita",
+ "thresholds": "Limites",
+ "no-thresholds": "Nenhum limite configurado",
+ "add-threshold": "Adicionar limite",
+ "show-values-for-comparison": "Exibir valores históricos para comparação",
+ "comparison-values-label": "Rótulo dos valores históricos",
+ "comparison-line-color": "Cor da linha de comparação",
+ "threshold-settings": "Configurações de limite",
+ "use-as-threshold": "Usar valor da chave como limite",
+ "threshold-line-width": "Largura da linha do limite",
+ "threshold-color": "Cor do limite",
+ "common-pie-settings": "Configurações comuns do gráfico de pizza",
+ "radius": "Raio",
+ "inner-radius": "Raio interno",
+ "tilt": "Inclinação",
+ "common-pie-settings-range-error": "O valor deve estar no intervalo de 0 a 1",
+ "stroke-settings": "Configurações de traço",
+ "width-pixels": "Largura (pixels)",
+ "show-labels": "Exibir rótulos",
+ "animation-settings": "Configurações de animação",
+ "animated-pie": "Habilitar animação de pizza (experimental)",
+ "border-settings": "Configurações de borda",
+ "border-width": "Largura da borda",
+ "border-color": "Cor da borda",
+ "legend-settings": "Configurações de legenda",
+ "display-legend": "Exibir legenda",
+ "labels-font-color": "Cor da fonte dos rótulos",
+ "series": "Séries",
+ "add-series": "Adicionar série",
+ "series-settings": "Configurações de séries",
+ "remove-series": "Remover série",
+ "no-series": "Nenhuma série configurada",
+ "no-series-error": "Pelo menos uma série deve ser especificada",
+ "chart-appearance": "Aparência do gráfico",
+ "vertical-grid-lines": "Linhas de grade verticais",
+ "horizontal-grid-lines": "Linhas de grade horizontais",
+ "chart-background": "Plano de fundo do gráfico",
+ "grid-lines-color": "Cor das linhas de grade",
+ "border": "Borda",
+ "axis": "Eixo",
+ "vertical-axis": "Eixo vertical",
+ "ticks": "Marcadores",
+ "horizontal-axis": "Eixo horizontal",
+ "shape-empty-circle": "Círculo vazio",
+ "shape-circle": "Círculo",
+ "shape-rect": "Retângulo",
+ "shape-round-rect": "Retângulo arredondado",
+ "shape-triangle": "Triângulo",
+ "shape-diamond": "Diamante",
+ "shape-pin": "Pino",
+ "shape-arrow": "Seta",
+ "shape-none": "Nenhum",
+ "line-type-solid": "Sólido",
+ "line-type-dashed": "Tracejado",
+ "line-type-dotted": "Pontilhado",
+ "label-position-top": "Superior",
+ "label-position-bottom": "Inferior",
+ "label-position-outside": "Fora",
+ "label-position-inside": "Dentro",
+ "fill": "Preenchimento",
+ "fill-type-none": "Nenhum",
+ "fill-type-solid": "Sólido",
+ "fill-type-opacity": "Opacidade",
+ "fill-type-gradient": "Gradiente",
+ "background": "Plano de fundo",
+ "opacity": "Opacidade",
+ "gradient-stops": "Paradas de gradiente",
+ "gradient-start": "início",
+ "gradient-end": "fim",
+ "animation": {
+ "animation": "Animação",
+ "animation-threshold": "Limite de animação",
+ "animation-duration": "Duração da animação",
+ "animation-easing": "Suavização da animação",
+ "animation-delay": "Atraso da animação",
+ "update-animation-duration": "Duração da animação de atualização",
+ "update-animation-easing": "Suavização da animação de atualização",
+ "update-animation-delay": "Atraso da animação de atualização"
+ },
+ "chart-axis": {
+ "limit": "Limite",
+ "source": "Fonte",
+ "key-value": "Chave / Valor",
+ "value-required": "Valor é obrigatório.",
+ "entity-key-required": "Chave de entidade é obrigatória.",
+ "key-required": "Chave é obrigatória.",
+ "scale-limits": "Limites de escala",
+ "scale-appearance": "Aparência da escala",
+ "scale": "Escala",
+ "scale-min": "mín",
+ "scale-max": "máx",
+ "scale-auto": "Automático"
+ },
+ "bar": {
+ "show-border": "Exibir borda",
+ "border-width": "Largura da borda",
+ "border-radius": "Raio da borda",
+ "bar-width": "Largura da barra",
+ "label": "Rótulo",
+ "label-hint": "Exibir rótulo acima da barra.",
+ "series-label-hint": "Exibir rótulo com valor acima da barra.",
+ "label-background": "Plano de fundo do rótulo"
+ }
+ },
+ "color": {
+ "color-settings": "Configurações de cor",
+ "color-type-constant": "Constante",
+ "color-type-gradient": "Gradiente",
+ "color-type-range": "Intervalo",
+ "color-type-function": "Função",
+ "color": "Cor",
+ "value-range": "Intervalo de valores",
+ "from": "De",
+ "to": "Até",
+ "color-function": "Função de cor",
+ "copy-color-settings-from": "Copiar configurações de cor de",
+ "copy-from": "Copiar de",
+ "settings-type": "Tipo de configurações",
+ "basic-mode": "Básico",
+ "advanced-mode": "Avançado",
+ "entity-alias": "Alias de entidade",
+ "entity-attribute": "Atributo de entidade",
+ "gradient-color": "Cor do gradiente",
+ "gradient-color-min": "Cor",
+ "gradient-start": "Cor inicial do gradiente",
+ "gradient-start-min": "Início",
+ "gradient-end": "Cor final do gradiente",
+ "gradient-end-min": "Fim",
+ "start-value": "Valor inicial",
+ "end-value": "Valor final",
+ "gradient-type": "Tipo de gradiente"
+ },
+ "dashboard-state": {
+ "dashboard-state-settings": "Configurações de estado do Dashboard",
+ "dashboard-state": "ID do estado do Dashboard",
+ "autofill-state-layout": "Preenchimento automático da altura do layout do estado por padrão",
+ "default-margin": "Margem padrão dos widgets",
+ "default-background-color": "Cor de fundo padrão",
+ "sync-parent-state-params": "Sincronizar parâmetros de estado com o Dashboard pai"
+ },
"date-range-navigator": {
+ "date-range-picker-settings": "Configurações do seletor de intervalo de datas",
+ "hide-date-range-picker": "Ocultar seletor de intervalo de datas",
+ "picker-one-panel": "Seletor de intervalo de datas em painel único",
+ "picker-auto-confirm": "Confirmação automática do seletor de intervalo de datas",
+ "picker-show-template": "Exibir modelo no seletor de intervalo de datas",
+ "first-day-of-week": "Primeiro dia da semana",
+ "interval-settings": "Configurações de intervalo",
+ "hide-interval": "Ocultar intervalo",
+ "initial-interval": "Intervalo inicial",
+ "interval-hour": "Hora",
+ "interval-day": "Dia",
+ "interval-week": "Semana",
+ "interval-two-weeks": "2 semanas",
+ "interval-month": "Mês",
+ "interval-three-months": "3 meses",
+ "interval-six-months": "6 meses",
+ "step-settings": "Configurações de passo",
+ "hide-step-size": "Ocultar tamanho do passo",
+ "initial-step-size": "Tamanho do passo inicial",
+ "hide-labels": "Ocultar rótulos",
+ "use-session-storage": "Usar armazenamento de sessão",
"localizationMap": {
"Sun": "Dom",
"Mon": "Seg",
@@ -1864,7 +8154,7 @@
"Feb": "Fev",
"Mar": "Mar",
"Apr": "Abr",
- "May": "Maio",
+ "May": "Mai",
"Jun": "Jun",
"Jul": "Jul",
"Aug": "Ago",
@@ -1883,7 +8173,7 @@
"October": "Outubro",
"November": "Novembro",
"December": "Dezembro",
- "Custom Date Range": "Personalizar intervalo de datas",
+ "Custom Date Range": "Intervalo de datas personalizado",
"Date Range Template": "Modelo de intervalo de datas",
"Today": "Hoje",
"Yesterday": "Ontem",
@@ -1898,77 +8188,2005 @@
"Hour": "Hora",
"Day": "Dia",
"Week": "Semana",
- "2 weeks": "2 semanas",
+ "2 weeks": "2 Semanas",
"Month": "Mês",
- "3 months": "3 meses",
- "6 months": "6 meses",
+ "3 months": "3 Meses",
+ "6 months": "6 Meses",
"Custom interval": "Intervalo personalizado",
"Interval": "Intervalo",
- "Step size": "Tamanho da etapa",
- "Ok": "OK"
+ "Step size": "Tamanho do passo",
+ "Ok": "Ok"
}
},
+ "doughnut": {
+ "doughnut-appearance": "Aparência do gráfico de rosca",
+ "layout": "Layout",
+ "layout-default": "Padrão",
+ "layout-with-total": "Com total",
+ "central-total-value": "Valor total central",
+ "doughnut-card-style": "Estilo do cartão de rosca"
+ },
+ "entities-hierarchy": {
+ "hierarchy-data-settings": "Configurações de dados da hierarquia",
+ "relations-query-function": "Função de consulta de relações do nó",
+ "has-children-function": "Função de verificação de filhos do nó",
+ "node-state-settings": "Configurações de estado do nó",
+ "node-opened-function": "Função padrão de nó aberto",
+ "node-disabled-function": "Função de nó desabilitado",
+ "display-settings": "Configurações de exibição",
+ "node-icon-function": "Função de ícone do nó",
+ "node-text-function": "Função de texto do nó",
+ "sort-settings": "Configurações de ordenação",
+ "nodes-sort-function": "Função de ordenação dos nós"
+ },
+ "edge": {
+ "display-default-title": "Exibir título padrão"
+ },
+ "gateway": {
+ "general-settings": "Configurações gerais",
+ "widget-title": "Título do widget",
+ "default-archive-file-name": "Nome padrão do arquivo de arquivamento",
+ "device-type-for-new-gateway": "Tipo de dispositivo para novo gateway",
+ "messages-settings": "Configurações de mensagens",
+ "save-config-success-message": "Mensagem de texto sobre configuração do gateway salva com sucesso",
+ "device-name-exists-message": "Mensagem de texto quando dispositivo com o nome informado já existe",
+ "gateway-title": "Formulário do gateway",
+ "read-only": "Somente leitura",
+ "events-title": "Título do formulário de eventos do gateway",
+ "events-filter": "Filtro de eventos",
+ "event-key-contains": "Chave do evento contém...",
+ "show-connector": "Exibir para o conector",
+ "connector-state-param-key": "Chave do parâmetro de estado do conector",
+ "message": "Mensagem",
+ "level": "Nível",
+ "created-time": "Hora de criação"
+ },
+ "gauge": {
+ "default-color": "Cor padrão",
+ "radial-gauge-settings": "Configurações do medidor radial",
+ "ticks-settings": "Configurações de marcadores",
+ "min-value": "Valor mínimo",
+ "max-value": "Valor máximo",
+ "min-value-short": "mín",
+ "max-value-short": "máx",
+ "start-ticks-angle": "Ângulo inicial dos marcadores",
+ "ticks-angle": "Ângulo dos marcadores",
+ "major-ticks": "Marcadores principais",
+ "major-ticks-count": "Quantidade de marcadores principais",
+ "major-ticks-color": "Cor dos marcadores principais",
+ "minor-ticks": "Marcadores secundários",
+ "minor-ticks-count": "Quantidade de marcadores secundários",
+ "minor-ticks-color": "Cor dos marcadores secundários",
+ "tick-numbers-font": "Fonte dos números dos marcadores",
+ "unit-title-settings": "Configurações do título da unidade",
+ "show-unit-title": "Título das unidades",
+ "unit-title": "Título da unidade",
+ "title-font": "Fonte do texto do título",
+ "units-settings": "Configurações de unidades",
+ "units-font": "Fonte do texto das unidades",
+ "value-box-settings": "Configurações da caixa de valor",
+ "show-value-box": "Exibir caixa de valor",
+ "value-box": "Caixa de valor",
+ "value-int": "Quantidade de dígitos para a parte inteira do valor",
+ "value-text": "Texto do valor",
+ "value-text-shadow": "Sombra do texto do valor",
+ "value-font": "Fonte do texto do valor",
+ "rect-stroke-color-start": "Cor do traço do retângulo - gradiente inicial",
+ "rect-stroke-color-end": "Cor do traço do retângulo - gradiente final",
+ "background-color": "Cor de fundo",
+ "shadow-color": "Cor da sombra",
+ "value-box-rect-stroke-color": "Cor do traço do retângulo da caixa de valor",
+ "value-box-rect-stroke-color-end": "Cor do traço do retângulo da caixa de valor - gradiente final",
+ "value-box-background-color": "Cor de fundo da caixa de valor",
+ "value-box-shadow-color": "Cor da sombra da caixa de valor",
+ "plate-settings": "Configurações do mostrador",
+ "show-plate-border": "Borda do mostrador",
+ "plate-color": "Cor do mostrador",
+ "needle-settings": "Configurações do ponteiro",
+ "needle-circle-size": "Tamanho do círculo do ponteiro",
+ "needle-color": "Cor do ponteiro",
+ "needle-color-start": "Cor do ponteiro - gradiente inicial",
+ "needle-color-end": "Cor do ponteiro - gradiente final",
+ "needle-color-shadow-up": "Cor da sombra da metade superior do ponteiro",
+ "needle-color-shadow-down": "Sombra projetada",
+ "highlights-settings": "Configurações de destaques",
+ "highlights-width": "Largura dos destaques",
+ "highlights": "Destaques",
+ "highlight-from": "De",
+ "highlight-to": "Até",
+ "highlight-color": "Cor",
+ "no-highlights": "Nenhum destaque configurado",
+ "add-highlight": "Adicionar destaque",
+ "animation-settings": "Configurações de animação",
+ "enable-animation": "Animação",
+ "animation-duration-rule": "Duração e regra de animação",
+ "animation-duration": "Duração da animação",
+ "animation-rule": "Regra de animação",
+ "animation-linear": "Linear",
+ "animation-quad": "Quad",
+ "animation-quint": "Quint",
+ "animation-cycle": "Cycle",
+ "animation-bounce": "Bounce",
+ "animation-elastic": "Elastic",
+ "animation-dequad": "Dequad",
+ "animation-dequint": "Dequint",
+ "animation-decycle": "Decycle",
+ "animation-debounce": "Debounce",
+ "animation-delastic": "Delastic",
+ "linear-gauge-settings": "Configurações do medidor linear",
+ "bar-stroke": "Traço da barra",
+ "bar-stroke-width": "Largura do traço da barra",
+ "bar-stroke-color": "Cor do traço da barra",
+ "bar-background-color": "Cor de fundo da barra - gradiente inicial",
+ "bar-background-color-end": "Cor de fundo da barra - gradiente final",
+ "progress-bar-color": "Cor da barra de progresso",
+ "progress-bar": "Barra de progresso",
+ "progress-bar-color-start": "Cor da barra de progresso - gradiente inicial",
+ "progress-bar-color-end": "Cor da barra de progresso - gradiente final",
+ "major-ticks-names": "Nomes dos marcadores principais",
+ "show-stroke-ticks": "Exibir traço dos marcadores",
+ "major-ticks-font": "Fonte dos marcadores principais",
+ "border-color": "Cor da borda",
+ "border-width": "Largura da borda",
+ "needle-circle": "Círculo do ponteiro",
+ "needle-circle-color": "Cor do círculo do ponteiro",
+ "animation-target": "Alvo da animação",
+ "animation-target-needle": "Ponteiro",
+ "animation-target-plate": "Mostrador",
+ "common-settings": "Configurações comuns do medidor",
+ "gauge-type": "Tipo de medidor",
+ "gauge-type-arc": "Arco",
+ "gauge-type-donut": "Rosca",
+ "gauge-type-horizontal-bar": "Barra horizontal",
+ "gauge-type-vertical-bar": "Barra vertical",
+ "donut-start-angle": "Ângulo inicial (graus)",
+ "bar-settings": "Configurações da barra do medidor",
+ "relative-bar-width": "Largura relativa da barra",
+ "neon-glow-brightness": "Brilho do efeito de brilho neon (0-100)",
+ "neon-glow-brightness-hint": "0 - desabilitar efeito ",
+ "stripes-thickness": "Espessura das listras",
+ "stripes-thickness-hint": "0 - sem listras",
+ "rounded-line-cap": "Tampa de linha arredondada",
+ "bar-color-settings": "Configurações de cor da barra",
+ "use-precise-level-color-values": "Usar níveis de cor precisos",
+ "bar-colors": "Cores da barra, da inferior para a superior",
+ "color": "Cor",
+ "no-bar-colors": "Nenhuma cor de barra configurada",
+ "add-bar-color": "Adicionar cor de barra",
+ "from": "De",
+ "to": "Até",
+ "fixed-level-colors": "Cores da barra usando valores de limite",
+ "gauge-title-settings": "Configurações do título do medidor",
+ "show-gauge-title": "Exibir título do medidor",
+ "gauge-title": "Título do medidor",
+ "gauge-title-font": "Fonte do título do medidor",
+ "unit-title-and-timestamp-settings": "Configurações do título de unidades e timestamp",
+ "show-timestamp": "Timestamp",
+ "timestamp-format": "Formato do timestamp",
+ "label-font": "Fonte do rótulo exibido abaixo do valor",
+ "value-settings": "Configurações de valor",
+ "show-value": "Exibir texto do valor",
+ "min-max-settings": "Configurações dos rótulos mínimo/máximo",
+ "show-min-max": "Exibir valores mínimo e máximo",
+ "min-max-font": "Fonte dos rótulos mínimo e máximo",
+ "show-ticks": "Exibir marcadores",
+ "tick-width": "Largura do marcador",
+ "tick-color": "Cor do marcador",
+ "tick-values": "Valores dos marcadores",
+ "no-tick-values": "Nenhum valor de marcador configurado",
+ "add-tick-value": "Adicionar valor de marcador",
+ "gauge-appearance": "Aparência do medidor",
+ "units-title": "Título das unidades",
+ "value": "Valor",
+ "ticks": "Marcadores",
+ "arrow-and-scale-color": "Cor padrão da seta e da escala",
+ "scale-settings": "Configurações de escala",
+ "scale": "Escala",
+ "scale-color": "Cores da escala",
+ "compass-appearance": "Aparência da bússola",
+ "label": "Rótulo",
+ "labels": "Rótulos",
+ "label-style": "Estilo do rótulo",
+ "simple-gauge-type": "Tipo",
+ "gauge-bar-background": "Plano de fundo da barra do medidor",
+ "bar-color": "Cor da barra",
+ "min-and-max-value": "Valor mínimo e máximo",
+ "min-and-max-label": "Rótulo mínimo e máximo",
+ "font": "Fonte",
+ "tick-width-and-color": "Largura e cor do marcador",
+ "min-max-validation-text": "O valor máximo deve ser maior que o valor mínimo"
+ },
+ "gpio": {
+ "pin": "Pino",
+ "label": "Rótulo",
+ "row": "Linha",
+ "column": "Coluna",
+ "color": "Cor",
+ "panel-settings": "Configurações do painel",
+ "background-color": "Cor de fundo",
+ "gpio-switches": "Chaves GPIO",
+ "no-gpio-switches": "Nenhuma chave GPIO configurada",
+ "add-gpio-switch": "Adicionar chave GPIO",
+ "gpio-status-request": "Solicitação de status GPIO",
+ "method-name": "Nome do método",
+ "method-body": "Corpo do método",
+ "gpio-status-change-request": "Solicitação de mudança de status GPIO",
+ "parse-gpio-status-function": "Função de análise do status gpio",
+ "gpio-leds": "LEDs GPIO",
+ "no-gpio-leds": "Nenhum LED GPIO configurado",
+ "add-gpio-led": "Adicionar LED GPIO"
+ },
+ "html-card": {
+ "html": "HTML",
+ "css": "CSS"
+ },
"input-widgets": {
"attribute-not-allowed": "O parâmetro de atributo não pode ser usado neste widget",
"blocked-location": "A geolocalização está bloqueada no seu navegador",
- "claim-device": "Obter dispositivo",
- "claim-failed": "Erro ao obter dispositivo!",
+ "claim-device": "Reivindicar dispositivo",
+ "claim-failed": "Falha ao reivindicar o dispositivo!",
"claim-not-found": "Dispositivo não encontrado!",
- "claim-successful": "O dispositivo foi obtido corretamente!",
+ "claim-successful": "Dispositivo reivindicado com sucesso!",
"date": "Data",
"device-name": "Nome do dispositivo",
- "device-name-required": "O nome do dispositivo é obrigatório",
+ "device-name-required": "Nome do dispositivo é obrigatório",
"discard-changes": "Descartar alterações",
- "entity-attribute-required": "O atributo da entidade é obrigatório",
- "entity-coordinate-required": "Os dois campos, latitude e longitude, são obrigatórios",
- "entity-timeseries-required": "Os intervalos de tempo de entidade são obrigatórios",
+ "entity-attribute-required": "Atributo de entidade é obrigatório",
+ "entity-coordinate-required": "Ambos os campos, latitude e longitude, são obrigatórios",
+ "entity-timeseries-required": "Série temporal de entidade é obrigatória",
"get-location": "Obter localização atual",
+ "invalid-date": "Data inválida",
"latitude": "Latitude",
"longitude": "Longitude",
+ "min-value-error": "Valor mínimo é {{value}}",
+ "max-value-error": "Valor máximo é {{value}}",
"not-allowed-entity": "A entidade selecionada não pode ter atributos compartilhados",
"no-attribute-selected": "Nenhum atributo selecionado",
"no-datakey-selected": "Nenhuma chave de dados selecionada",
- "no-coordinate-specified": "Chave de dados de latitude/longitude não especificada",
+ "no-coordinate-specified": "Chave de dados para latitude/longitude não especificada",
"no-entity-selected": "Nenhuma entidade selecionada",
"no-image": "Sem imagem",
- "no-support-geolocation": "Seu navegador não é compatível com geolocalização",
- "no-support-web-camera": "Nenhuma câmera Web compatível",
- "no-timeseries-selected": "Nenhum intervalo de tempo selecionado",
- "secret-key": "Chave de segredo",
- "secret-key-required": "A chave de segredo é obrigatória",
- "switch-attribute-value": "Alternar valor de atributo da entidade",
+ "no-support-geolocation": "Seu navegador não suporta geolocalização",
+ "no-support-web-camera": "Seu navegador não suporta câmeras",
+ "enable-https-use-widget": "Habilite HTTPS para usar este widget",
+ "no-found-your-camera": "Não foi possível encontrar sua câmera",
+ "no-permission-camera": "Permissão negada pelo usuário / Este site não tem permissão para usar a câmera",
+ "no-timeseries-selected": "Nenhuma série temporal selecionada",
+ "secret-key": "Chave secreta",
+ "secret-key-required": "Chave secreta é obrigatória",
+ "switch-attribute-value": "Alternar valor do atributo da entidade",
"switch-camera": "Alternar câmera",
- "switch-timeseries-value": "Alternar valor de intervalo de tempo da entidade",
+ "switch-timeseries-value": "Alternar valor da série temporal da entidade",
"take-photo": "Tirar foto",
"time": "Hora",
- "timeseries-not-allowed": "O parâmetro de intervalo de série não pode ser usado neste widget",
+ "timeseries-not-allowed": "O parâmetro de série temporal não pode ser usado neste widget",
"update-failed": "Atualização falhou",
"update-successful": "Atualização bem-sucedida",
"update-attribute": "Atualizar atributo",
- "update-timeseries": "Atualizar intervalos de tempo",
- "value": "Valor"
+ "update-timeseries": "Atualizar série temporal",
+ "value": "Valor",
+ "general-settings": "Configurações gerais",
+ "widget-title": "Título do widget",
+ "claim-button-label": "Rótulo do botão de reivindicação",
+ "show-secret-key-field": "Exibir campo de entrada 'Chave secreta'",
+ "labels-settings": "Configurações de rótulos",
+ "show-labels": "Exibir rótulos",
+ "device-name-label": "Rótulo para o campo de entrada do nome do dispositivo",
+ "secret-key-label": "Rótulo para o campo de entrada da chave secreta",
+ "messages-settings": "Configurações de mensagens",
+ "claim-device-success-message": "Mensagem de texto de reivindicação de dispositivo bem-sucedida",
+ "claim-device-not-found-message": "Mensagem de texto quando o dispositivo não é encontrado",
+ "claim-device-failed-message": "Mensagem de texto de falha na reivindicação do dispositivo",
+ "claim-device-name-required-message": "Mensagem de erro 'Nome do dispositivo obrigatório'",
+ "claim-device-secret-key-required-message": "Mensagem de erro 'Chave secreta obrigatória'",
+ "show-label": "Exibir rótulo",
+ "label": "Rótulo",
+ "required": "Obrigatório",
+ "required-error-message": "Mensagem de erro 'Obrigatório'",
+ "show-result-message": "Exibir mensagem de resultado",
+ "integer-field-settings": "Configurações de campo inteiro",
+ "min-value": "Valor mínimo",
+ "max-value": "Valor máximo",
+ "double-field-settings": "Configurações de campo decimal",
+ "text-field-settings": "Configurações de campo de texto",
+ "min-length": "Comprimento mínimo",
+ "max-length": "Comprimento máximo",
+ "checkbox-settings": "Configurações de caixa de seleção",
+ "true-label": "Rótulo marcado",
+ "false-label": "Rótulo desmarcado",
+ "image-input-settings": "Configurações de entrada de imagem",
+ "display-preview": "Exibir visualização",
+ "display-clear-button": "Exibir botão limpar",
+ "display-apply-button": "Exibir botão aplicar",
+ "display-discard-button": "Exibir botão descartar",
+ "datetime-field-settings": "Configurações de campo de data/hora",
+ "display-time-input": "Exibir entrada de hora",
+ "latitude-key-name": "Nome da chave de latitude",
+ "longitude-key-name": "Nome da chave de longitude",
+ "show-get-location-button": "Exibir botão 'Obter localização atual'",
+ "use-high-accuracy": "Usar alta precisão",
+ "location-fields-settings": "Configurações de campos de localização",
+ "latitude-label": "Rótulo para latitude",
+ "longitude-label": "Rótulo para longitude",
+ "input-fields-alignment": "Alinhamento dos campos de entrada",
+ "input-fields-alignment-column": "Coluna (padrão)",
+ "input-fields-alignment-row": "Linha",
+ "layout": "Layout",
+ "row-gap": "Espaçamento entre linhas em pixels",
+ "column-gap": "Espaçamento entre colunas em pixels",
+ "latitude-field-required": "Campo de latitude obrigatório",
+ "longitude-field-required": "Campo de longitude obrigatório",
+ "attribute-settings": "Configurações de atributo",
+ "widget-mode": "Modo do widget",
+ "widget-mode-update-attribute": "Atualizar atributo",
+ "widget-mode-update-timeseries": "Atualizar série temporal",
+ "attribute-scope": "Escopo do atributo",
+ "attribute-scope-server": "Atributo do servidor",
+ "attribute-scope-shared": "Atributo compartilhado",
+ "value-required": "Valor obrigatório",
+ "image-settings": "Configurações de saída de imagem",
+ "image-format": "Formato de imagem",
+ "image-format-jpeg": "JPEG",
+ "image-format-png": "PNG",
+ "image-format-webp": "WEBP",
+ "image-quality": "Qualidade da imagem",
+ "max-image-width": "Largura máxima",
+ "max-image-height": "Altura máxima",
+ "action-buttons": "Botões de ação",
+ "show-action-buttons": "Exibir botões de ação",
+ "update-all-values": "Atualizar todos os valores, não apenas os modificados",
+ "save-button-label": "Rótulo do botão 'SALVAR'",
+ "reset-button-label": "Rótulo do botão 'DESFAZER'",
+ "group-settings": "Configurações de grupo",
+ "show-group-title": "Exibir título para grupo de campos relacionados a diferentes entidades",
+ "group-title": "Título do grupo",
+ "fields-alignment": "Alinhamento dos campos",
+ "fields-alignment-row": "Linha (padrão)",
+ "fields-alignment-column": "Coluna",
+ "fields-in-row": "Número de campos na linha",
+ "option-value": "Valor (escreva 'null' para criar opção vazia)",
+ "option-label": "Rótulo",
+ "hide-input-field": "Ocultar campo de entrada",
+ "datakey-type": "Tipo de chave de dados",
+ "datakey-type-server": "Atributo do servidor (padrão)",
+ "datakey-type-shared": "Atributo compartilhado",
+ "datakey-type-timeseries": "Série temporal",
+ "datakey-value-type": "Tipo de valor da chave de dados",
+ "datakey-value-type-string": "String",
+ "datakey-value-type-double": "Double",
+ "datakey-value-type-integer": "Inteiro",
+ "datakey-value-type-json": "JSON",
+ "datakey-value-type-boolean-checkbox": "Booleano (Caixa de seleção)",
+ "datakey-value-type-boolean-switch": "Booleano (Alternância)",
+ "datakey-value-type-date-time": "Data e Hora",
+ "datakey-value-type-date": "Data",
+ "datakey-value-type-time": "Hora",
+ "datakey-value-type-select": "Seleção",
+ "datakey-value-type-radio": "Rádio",
+ "datakey-value-type-color": "Cor",
+ "value-is-required": "Valor é obrigatório",
+ "ability-to-edit-attribute": "Capacidade de editar atributo",
+ "ability-to-edit-attribute-editable": "Editável (padrão)",
+ "ability-to-edit-attribute-disabled": "Desabilitado",
+ "ability-to-edit-attribute-readonly": "Somente leitura",
+ "disable-on-datakey-name": "Desabilitar quando o valor falso de outra chave de dados (especifique o nome da chave de dados)",
+ "field-appearance": "Aparência do campo",
+ "appearance-fill": "Preenchido",
+ "appearance-outline": "Contornado",
+ "subscript-sizing": "Dimensionamento de subscrito",
+ "subscript-sizing-fixed": "Fixo",
+ "subscript-sizing-dynamic": "Dinâmico",
+ "slide-toggle-settings": "Configurações de alternância deslizante",
+ "slide-toggle-label-position": "Posição do rótulo da alternância deslizante",
+ "slide-toggle-label-position-after": "Depois",
+ "slide-toggle-label-position-before": "Antes",
+ "select-options": "Opções de seleção",
+ "no-select-options": "Nenhuma opção de seleção configurada",
+ "add-select-option": "Adicionar opção de seleção",
+ "numeric-field-settings": "Configurações de campo numérico",
+ "step-interval": "Intervalo de passo entre valores",
+ "error-messages": "Mensagens de erro",
+ "min-value-error-message": "Mensagem de erro 'Valor mínimo'",
+ "max-value-error-message": "Mensagem de erro 'Valor máximo'",
+ "invalid-date-error-message": "Mensagem de erro 'Data inválida'",
+ "invalid-JSON-error-message": "Mensagem de erro 'JSON inválido'",
+ "icon-settings": "Configurações de ícone",
+ "dialog-editor-settings": "Configurações do editor de diálogo",
+ "use-custom-icon": "Usar ícone personalizado",
+ "input-cell-icon": "Ícone a exibir antes da célula de entrada",
+ "value-conversion-settings": "Configurações de conversão de valor",
+ "get-value-settings": "Configurações de obtenção de valor",
+ "use-get-value-function": "Usar função getValue",
+ "get-value-function": "Função getValue",
+ "set-value-settings": "Configurações de definição de valor",
+ "use-set-value-function": "Usar função setValue",
+ "set-value-function": "Função setValue",
+ "json-invalid": "O valor JSON tem formato inválido",
+ "title": "Título",
+ "cancel-button-label": "Rótulo do botão 'Cancelar'",
+ "radio-button-settings": "Configurações de botão de rádio",
+ "color": "Cor",
+ "columns": "Colunas",
+ "radio-options": "Opções de rádio",
+ "no-radio-options": "Nenhuma opção de rádio configurada",
+ "add-radio-option": "Adicionar opção de rádio",
+ "radio-label-position": "Posição do rótulo",
+ "radio-label-position-before": "Antes",
+ "radio-label-position-after": "Depois",
+ "save-image": "Salvar imagem",
+ "save-to-gallery": "Armazenar automaticamente imagens capturadas na Galeria de Imagens",
+ "public-image": "Torna a imagem disponível para qualquer usuário não autenticado"
+ },
+ "invalid-qr-code-text": "Texto de entrada inválido para o código QR. A entrada deve ser do tipo string",
+ "qr-code": {
+ "use-qr-code-text-function": "Usar função de texto do código QR",
+ "qr-code-text-pattern": "Padrão de texto do código QR (ex.: '${entityName} | ${keyName} - algum texto.')",
+ "qr-code-text-pattern-hint": "O padrão de texto do código QR usa o valor da primeira chave encontrada nas entidades no alias de entidade.",
+ "qr-code-text-pattern-required": "O padrão de texto do código QR é obrigatório.",
+ "qr-code-text-function": "Função de texto do código QR"
+ },
+ "label-widget": {
+ "label-pattern": "Padrão",
+ "label-pattern-hint": "Dica: ex.: 'Texto ${keyName} unidades.' ou ${#<key index>} unidades'",
+ "label-pattern-required": "O padrão é obrigatório",
+ "label-position": "Posição (Porcentagem relativa ao fundo)",
+ "x-pos": "X",
+ "y-pos": "Y",
+ "background-color": "Cor de fundo",
+ "font-settings": "Configurações de fonte",
+ "background-image": "Imagem do plano de fundo",
+ "labels": "Rótulos",
+ "no-labels": "Nenhum rótulo configurado",
+ "add-label": "Adicionar rótulo"
+ },
+ "navigation": {
+ "title": "Título",
+ "navigation-path": "Caminho de navegação",
+ "filter-type": "Tipo de filtro",
+ "filter-type-all": "Todos os itens",
+ "filter-type-include": "Incluir itens",
+ "filter-type-exclude": "Excluir itens",
+ "items": "Itens",
+ "enter-urls-to-filter": "Insira URLs para filtrar..."
+ },
+ "persistent-table": {
+ "rpc-id": "RPC ID",
+ "message-type": "Tipo de mensagem",
+ "method": "Método",
+ "params": "Parâmetros",
+ "created-time": "Hora de criação",
+ "expiration-time": "Hora de expiração",
+ "retries": "Tentativas",
+ "status": "Status",
+ "filter": "Filtro",
+ "refresh": "Atualizar",
+ "add": "Adicionar solicitação RPC",
+ "details": "Detalhes",
+ "delete": "Excluir",
+ "delete-request-title": "Excluir solicitação RPC persistente",
+ "delete-request-text": "Tem certeza de que deseja excluir a solicitação?",
+ "details-title": "Detalhes RPC ID: ",
+ "additional-info": "Informações adicionais",
+ "response": "Resposta",
+ "any-status": "Qualquer status",
+ "rpc-status-list": "Lista de status RPC",
+ "no-request-prompt": "Nenhuma solicitação para exibir",
+ "send-request": "Enviar solicitação",
+ "add-title": "Criar solicitação RPC persistente",
+ "method-error": "O método é obrigatório.",
+ "timeout-error": "O valor mínimo de tempo limite é 5000 (5 segundos).",
+ "white-space-error": "Espaço em branco não é permitido.",
+ "rpc-status": {
+ "QUEUED": "QUEUED",
+ "SENT": "SENT",
+ "DELIVERED": "DELIVERED",
+ "SUCCESSFUL": "SUCCESSFUL",
+ "TIMEOUT": "TEMPO LIMITE",
+ "EXPIRED": "EXPIRED",
+ "FAILED": "FAILED"
+ },
+ "rpc-search-status-all": "ALL",
+ "message-types": {
+ "false": "Bidirecional",
+ "true": "Unidirecional"
+ },
+ "general-settings": "Configurações gerais",
+ "enable-filter": "Ativar filtro",
+ "enable-sticky-header": "Exibir cabeçalho durante a rolagem",
+ "enable-sticky-action": "Exibir coluna de ações durante a rolagem",
+ "display-request-details": "Exibir detalhes da solicitação",
+ "allow-send-request": "Permitir enviar solicitação RPC",
+ "allow-delete-request": "Permitir excluir solicitação",
+ "columns-settings": "Configurações de colunas",
+ "display-columns": "Colunas para exibir",
+ "column": "Coluna",
+ "no-columns-found": "Nenhuma coluna encontrada",
+ "no-columns-matching": "'{{column}}' não encontrado."
+ },
+ "range-chart": {
+ "chart": "Gráfico",
+ "data-zoom": "Zoom de dados",
+ "range-chart-appearance": "Aparência do gráfico de intervalo",
+ "range-colors": "Cores do intervalo",
+ "out-of-range-color": "Cor fora do intervalo",
+ "show-range-thresholds": "Exibir limites do intervalo",
+ "range-thresholds-settings": "Configurações de limites do intervalo",
+ "fill-area": "Preencher área",
+ "fill-area-opacity": "Opacidade do preenchimento da área",
+ "range-chart-style": "Estilo do gráfico de intervalo"
+ },
+ "knob": {
+ "behavior": "Comportamento",
+ "initial-value": "Valor inicial",
+ "initial-value-hint": "Ação para obter o valor inicial do knob.",
+ "on-value-change": "Ao alterar o valor",
+ "on-value-change-hint": "Ação acionada quando o valor do knob é alterado.",
+ "range": "Intervalo",
+ "min": "mín",
+ "max": "máx",
+ "value": "Valor",
+ "fallback-initial-value": "Valor inicial de fallback"
+ },
+ "rpc": {
+ "value-settings": "Configurações de valor",
+ "initial-value": "Valor inicial",
+ "retrieve-value-settings": "Configurações de recuperação do valor ligado/desligado",
+ "retrieve-value-method": "Recuperar valor usando método",
+ "retrieve-value-method-none": "Não recuperar",
+ "retrieve-value-method-rpc": "Chamar método RPC de obtenção de valor",
+ "retrieve-value-method-attribute": "Assinar atributo",
+ "retrieve-value-method-timeseries": "Assinar série temporal",
+ "attribute-value-key": "Chave do atributo",
+ "timeseries-value-key": "Chave da série temporal",
+ "get-value-method": "Método RPC de obtenção de valor",
+ "parse-value-function": "Função de análise de valor",
+ "update-value-settings": "Configurações de atualização de valor",
+ "set-value-method": "Método RPC de definição de valor",
+ "convert-value-function": "Função de conversão de valor",
+ "rpc-settings": "Configurações de RPC",
+ "request-timeout": "Tempo Limite da requisição RPC (ms)",
+ "persistent-rpc-settings": "Configurações RPC persistente",
+ "request-persistent": "Requisição RPC persistente",
+ "persistent-polling-interval": "Intervalo de polling (ms) para obter resposta do comando RPC persistente",
+ "common-settings": "Configurações comuns",
+ "switch-title": "Título do switch",
+ "show-on-off-labels": "Exibir rótulos ligado/desligado",
+ "slide-toggle-label": "Rótulo do botão deslizante",
+ "label-position": "Posição do rótulo",
+ "label-position-before": "Antes",
+ "label-position-after": "Depois",
+ "slider-color": "Cor do slider",
+ "slider-color-primary": "Primária",
+ "slider-color-accent": "Destaque",
+ "slider-color-warn": "Aviso",
+ "button-style": "Estilo do botão",
+ "button-raised": "Botão elevado",
+ "button-primary": "Cor primária",
+ "button-background-color": "Cor de fundo do botão",
+ "button-text-color": "Cor do texto do botão",
+ "widget-title": "Título do widget",
+ "button-label": "Rótulo do botão",
+ "device-attribute-scope": "Escopo do atributo do dispositivo",
+ "server-attribute": "Atributo do servidor",
+ "shared-attribute": "Atributo compartilhado",
+ "device-attribute-parameters": "Parâmetros do atributo do dispositivo",
+ "is-one-way-command": "É comando unidirecional",
+ "rpc-method": "Método RPC",
+ "rpc-method-params": "Parâmetros do método RPC",
+ "show-rpc-error": "Exibir erro de execução do comando RPC",
+ "led-title": "Título do LED",
+ "led-color": "Cor do LED",
+ "check-status-settings": "Configurações de verificação de status",
+ "perform-rpc-status-check": "Realizar verificação de status do dispositivo via RPC",
+ "retrieve-led-status-value-method": "Recuperar valor de status do LED usando método",
+ "led-status-value-attribute": "Atributo do dispositivo contendo o valor de status do LED",
+ "led-status-value-timeseries": "Série temporal do dispositivo contendo o valor de status do LED",
+ "check-status-method": "Método RPC de verificação de status do dispositivo",
+ "parse-led-status-value-function": "Função de análise do valor de status do LED",
+ "knob-title": "Título do knob"
+ },
+ "maps": {
+ "map-type": {
+ "type": "Tipo de mapa",
+ "map": "Mapa",
+ "image": "Imagem"
+ },
+ "image": {
+ "image-source": "Fonte da imagem",
+ "image-source-image": "Imagem",
+ "image-source-entity-key": "Chave de entidade",
+ "source-entity-alias": "Alias de entidade de origem",
+ "image-url-key": "Chave de URL da imagem",
+ "image-url-key-required": "A chave de URL da imagem é obrigatória"
+ },
+ "control": {
+ "map-controls": "Controles do mapa",
+ "position": "Posição",
+ "position-topleft": "Superior esquerdo",
+ "position-topright": "Superior direito",
+ "position-bottomleft": "Inferior esquerdo",
+ "position-bottomright": "Inferior direito",
+ "zoom-actions": "Ações de zoom",
+ "zoom-scroll": "Rolagem",
+ "zoom-double-click": "Duplo clique",
+ "zoom-control-buttons": "Botões de controle",
+ "scale": "Escala",
+ "scale-metric": "Métrico",
+ "scale-imperial": "Imperial",
+ "switch-to-drag-mode-using-button": "Alternar para modo arrastar usando botão"
+ },
+ "timeline": {
+ "control-panel": "Painel de controle da linha do tempo",
+ "time-step": "Passo de tempo",
+ "speed-options": "Opções de velocidade",
+ "timestamp": "Timestamp",
+ "snap-to-real-location": "Ajustar à localização real",
+ "location-snap-filter-function": "Função de filtro de ajuste de localização",
+ "no-trips-data-available": "Nenhum dado de viagem disponível"
+ },
+ "map-action": {
+ "map-action-buttons": "Botões de ação do mapa",
+ "label": "Rótulo",
+ "icon": "Ícone",
+ "color": "Cor",
+ "action": "Ação",
+ "add-button": "Adicionar botão",
+ "no-action-buttons-configured": "Nenhum botão de ação configurado",
+ "remove-action-button": "Remover botão de ação",
+ "map-action-button": "Botão de ação do mapa",
+ "button-requires": "O botão requer rótulo ou ícone"
+ },
+ "common": {
+ "common-map-settings": "Configurações comuns do mapa",
+ "fit-map-bounds": "Ajustar limites do mapa para cobrir todos os marcadores",
+ "default-map-center-position": "Posição central padrão do mapa",
+ "default-map-zoom-level": "Nível de zoom padrão do mapa",
+ "entities-limit": "Limite de entidades a carregar"
+ },
+ "layer": {
+ "label": "Rótulo",
+ "layer": "Camada",
+ "layers": "Camadas",
+ "map-layers": "Camadas do mapa",
+ "add-layer": "Adicionar camada",
+ "layer-settings": "Configurações da camada",
+ "remove-layer": "Remover camada",
+ "no-layers": "Nenhuma camada configurada",
+ "roadmap": "Mapa de ruas",
+ "satellite": "Satélite",
+ "hybrid": "Híbrido",
+ "reference": {
+ "reference-layer": "Camada de referência",
+ "no-layer": "Sem camada",
+ "openstreetmap-hybrid": "OpenStreetMap Hybrid",
+ "world-edition-hybrid": "World Edition Hybrid",
+ "enhanced-contrast-hybrid": "Enhanced Contrast Hybrid"
+ },
+ "provider": {
+ "provider": "Provedor",
+ "openstreet": {
+ "title": "OpenStreet",
+ "mapnik": "Mapnik",
+ "hot": "HOT",
+ "esri-street": "WorldStreetMap",
+ "esri-topo": "WorldTopoMap",
+ "esri-imagery": "WorldImagery",
+ "cartodb-positron": "Positron",
+ "cartodb-dark-matter": "DarkMatter"
+ },
+ "google": {
+ "title": "Google",
+ "roadmap": "Mapa de ruas",
+ "satellite": "Satélite",
+ "hybrid": "Híbrido",
+ "terrain": "Terreno"
+ },
+ "here": {
+ "title": "HERE",
+ "normal-day": "Dia normal",
+ "normal-night": "Noite normal",
+ "hybrid-day": "Dia híbrido",
+ "terrain-day": "Dia de terreno"
+ },
+ "tencent": {
+ "title": "Tencent",
+ "normal": "Normal",
+ "satellite": "Satélite",
+ "terrain": "Terreno"
+ },
+ "custom": {
+ "title": "Personalizado",
+ "tile-url": "URL de tile"
+ }
+ },
+ "credentials": {
+ "credentials": "Credenciais",
+ "api-key": "Chave de API"
+ }
+ },
+ "overlays": {
+ "overlays": "Sobreposições",
+ "overlays-hint": "Configure fontes de dados, aparência, comportamento, opções de edição e agrupamento para entidades do mapa",
+ "trips": "Viagens",
+ "markers": "Marcadores",
+ "polygons": "Polígonos",
+ "circles": "Círculos",
+ "polylines": "Polilinhas"
+ },
+ "data-layer": {
+ "source": "Fonte",
+ "filter": "Filtro",
+ "additional-data-keys": "Chaves de dados adicionais",
+ "additional-datasources": "Fontes de dados adicionais",
+ "additional-datasources-hint": "Fonte de dados para acessar atributos ou telemetria de entidades não exibidas no mapa, utilizável em funções de sobreposição do mapa.",
+ "more-datasources": "Mais fontes de dados",
+ "data-keys": "Chaves de dados",
+ "add-datasource": "Adicionar fonte de dados",
+ "no-datasources": "Nenhuma fonte de dados configurada",
+ "remove-datasource": "Remover fonte de dados",
+ "behavior": "Comportamento",
+ "on-click": "Ao clicar",
+ "on-click-hint": "Ação invocada quando o usuário clica no item do mapa.",
+ "groups": "Grupos",
+ "groups-hint": "Lista de nomes de grupos atribuídos à sobreposição, usada para alternar sua visibilidade no mapa.",
+ "color": "Cor",
+ "color-settings": "Configurações de cor",
+ "color-type-constant": "Constante",
+ "color-type-range": "Intervalo",
+ "color-type-function": "Função",
+ "color-range-source-key": "Chave de origem do intervalo de cores",
+ "color-range-source-key-required": "A chave de origem do intervalo de cores é obrigatória",
+ "color-range": "Intervalo de cores",
+ "color-function": "Função de cor",
+ "label": "Rótulo",
+ "tooltip": "Tooltip",
+ "pattern-type-pattern": "Padrão",
+ "pattern-type-function": "Função",
+ "label-pattern": "Rótulo (exemplos de padrão: '${entityName}', '${entityName}: (Texto ${keyName} unidades.)' )",
+ "label-function": "Função de rótulo",
+ "tooltip-pattern": "Tooltip (ex.: 'Texto ${keyName} unidades.' ou
Um tenant é um indivíduo ou organização que possui ou produz dispositivos e ativos. O tenant pode ter múltiplos usuários administradores de tenant, clientes, dispositivos e ativos.
O Administrador do Tenant pode criar e gerenciar dispositivos, ativos, clientes e dashboards dentro da conta do tenant.
Siga a documentação sobre como fazer isso:
", + "how-to-create-tenant": "Como criar Tenant e Administrador do Tenant" + }, + "step2": { + "title": "Configurar recurso: Servidor de email", + "content": "A configuração do servidor de email é essencial para ativação de usuários, recuperação de senha e entrega de notificações de alarme.
Siga a documentação sobre como fazer isso:
", + "how-to-configure-mail-server": "Como configurar o servidor de email" + }, + "step3": { + "title": "Configurar recurso: Provedor de SMS", + "content": "Configure provedores de SMS para notificar os clientes sobre alarmes via SMS.
Siga a documentação sobre como fazer isso:
", + "how-to-configure-sms-provider": "Como configurar o provedor de SMS" + }, + "step4": { + "title": "Configurar recurso: Personalização de marca", + "content": "Personalize facilmente o logotipo e o esquema de cores da sua empresa ou produto sem programação e sem reiniciar o serviço.
Siga a documentação sobre como fazer isso:
" + }, + "step5": { + "title": "Configurar recurso: 2FA", + "content": "Melhore a segurança das contas da plataforma com autenticação de dois fatores.
Siga a documentação sobre como fazer isso:
" + }, + "step6": { + "title": "Configurar recurso: OAuth 2", + "content": "Simplifique o login para usuários de tenant e clientes com a funcionalidade de Single Sign-On via OAuth 2.0.
Siga a documentação sobre como fazer isso:
" + } + }, + "tenant-admin": { + "step1": { + "title": "Criar dispositivo", + "content": "Vamos provisionar seu primeiro dispositivo na plataforma via UI. Siga a documentação sobre como fazer isso:
", + "how-to-create-device": "Como criar Dispositivo" + }, + "step2": { + "title": "Conectar dispositivo", + "content-before": "Para conectar o dispositivo, é necessário obter as credenciais do dispositivo. Recomendamos usar as credenciais padrão geradas automaticamente, que é o token de acesso para este guia.
Use comandos simples para publicar dados via HTTP. Não se esqueça de substituir $ACCESS_TOKEN pelo token de acesso do seu dispositivo:
", + "ubuntu": { + "install-curl": "Instalar cURL para Ubuntu:" + }, + "macos": { + "install-curl": "Instalar cURL para MacOS:" + }, + "windows": { + "install-curl": "A partir do Windows 10 b17063, o cURL está disponível por padrão." + }, + "replace-access-token": "Substitua $ACCESS_TOKEN pelo token do seu dispositivo:", + "content-after": "Você também pode usar outros protocolos como MQTT, CoAP, etc.
Siga a documentação sobre como fazer isso:
", + "how-to-connect-device": "Como conectar Dispositivo" + }, + "step3": { + "title": "Criar dashboard", + "content": "Crie um dashboard para visualizar dados de entidades como ativos, dispositivos, etc.
Siga a documentação sobre como fazer isso:
", + "how-to-create-dashboard": "Como criar Dashboard" + }, + "step4": { + "title": "Configurar regras de alarme", + "alarm-rules": "Regras de alarme", + "content": "Vamos disparar um alarme quando a temperatura atingir 25°C. Siga a documentação sobre como fazer isso:
", + "how-to-configure-alarm-rules": "Como configurar Regras de alarme" + }, + "step5": { + "title": "Criar alarme", + "content-before": "Para acionar o alarme, envie um novo valor de telemetria de 26°C ou superior.
", + "replace-access-token": "Substitua $ACCESS_TOKEN pelo token do seu dispositivo:", + "content-after": "Siga a documentação sobre como fazer isso:
", + "how-to-create-alarm": "Como criar Alarme" + }, + "step6": { + "title": "Criar cliente e compartilhar dashboard", + "content": "Ao criar dashboards para usuários finais, um usuário cliente pode ver apenas seus próprios dispositivos, e os dados de outro cliente serão ocultados.
Siga a documentação sobre como fazer isso:
" + } + } + }, + "api-usage": { + "api-usage": "Uso de API", + "label": "Rótulo", + "state-name": "Nome do estado", + "status": "Status", + "status-required": "O status é obrigatório.", + "limit": "Limite máximo", + "limit-required": "O limite máximo é obrigatório.", + "current-number": "Número atual", + "current-number-required": "O número atual é obrigatório.", + "add-key": "Adicionar chave", + "no-key": "Sem chave", + "delete-key": "Excluir chave", + "target-dashboard-state": "Estado do Dashboard de destino", + "go-to-main-state": "Ir para a visualização padrão" } }, "icon": { "icon": "Ícone", + "icons": "Ícones", + "custom": "Personalizado", "select-icon": "Selecionar ícone", - "material-icons": "Ícones de materiais", - "show-all": "Mostrar todos os ícones" + "material-icons": "Material icons", + "show-all": "Mostrar todos os ícones", + "search-icon": "Pesquisar ícone", + "no-icons-found": "Nenhum ícone encontrado para '{{iconSearch}}'" + }, + "phone-input": { + "phone-input-label": "Número de telefone", + "phone-input-required": "O número de telefone é obrigatório", + "phone-input-validation": "O número de telefone é inválido ou não é possível", + "phone-input-pattern": "Número de telefone inválido. Deve estar no formato E.164, ex. {{phoneNumber}}", + "phone-input-hint": "Número de telefone no formato E.164, ex. {{phoneNumber}}" }, "custom": { "widget-action": { - "action-cell-button": "Botão da célula de ação", - "row-click": "Clicar em linha", - "polygon-click": "Clique no polígono", - "marker-click": "Clique no marcador", - "tooltip-tag-action": "Ação do rótulo de dica de ferramenta", - "node-selected": "Selecionado no nó", - "element-click": "Clique em elemento de HTML", - "pie-slice-click": "Clique na fatia", - "row-double-click": "Dois clique na fila" + "action-cell-button": "Botão de ação da célula", + "row-click": "Ao clicar na linha", + "cell-click": "Ao clicar na célula", + "polygon-click": "Ao clicar no polígono", + "marker-click": "Ao clicar no marcador", + "circle-click": "Ao clicar no círculo", + "tooltip-tag-action": "Ação da tag de tooltip", + "node-selected": "Ao selecionar o nó", + "element-click": "Ao clicar no elemento HTML", + "pie-slice-click": "Ao clicar na fatia", + "row-double-click": "Ao clicar duas vezes na linha", + "cell-double-click": "Ao clicar duas vezes na célula", + "card-click": "Ao clicar no card", + "click": "Ao clicar" } }, + "paginator": { + "items-per-page": "Itens por página:", + "first-page-label": "Primeira página", + "last-page-label": "Última página", + "next-page-label": "Próxima página", + "previous-page-label": "Página anterior", + "items-per-page-separator": "de" + }, "language": { + "auto": "Automático", "language": "Idioma" } -} +} \ No newline at end of file diff --git a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json index b7f6e8d8f0..e6330ad5e6 100644 --- a/ui-ngx/src/assets/locale/locale.constant-tr_TR.json +++ b/ui-ngx/src/assets/locale/locale.constant-tr_TR.json @@ -803,7 +803,7 @@ "no-assets-matching": "'{{entity}}' ile eşleşen varlık bulunamadı.", "asset-required": "Varlık gereklidir", "name-starts-with": "Varlık adı ifadesi", - "help-text": "İhtiyaca göre '%' kullanın: '%varlık_adı_içerir%', '%varlık_adı_biter', 'varlık_adı_başlar'.", + "help-text": "'%' işaretini ihtiyaca göre kullanın: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.", "search": "Varlıklarda ara", "import": "Varlıkları içe aktar", "asset-file": "Varlık dosyası", @@ -910,9 +910,9 @@ "processing-timeouts": "${entityName} İşleme Zaman Aşımları", "rule-chain": "Kural Zinciri", "rule-engine": "Kural Motoru", - "rule-engine-daily-activity": "Kural Motoru günlük etkinliği", "rule-engine-executions": "Kural Motoru çalıştırmaları", "rule-engine-hourly-activity": "Kural Motoru saatlik etkinliği", + "rule-engine-daily-activity": "Kural Motoru günlük etkinliği", "rule-engine-monthly-activity": "Kural Motoru aylık etkinliği", "rule-engine-statistics": "Kural Motoru İstatistikleri", "rule-node": "Kural Düğümü", @@ -2124,7 +2124,7 @@ "remove-alias": "Cihaz takma adını kaldır", "add-alias": "Cihaz takma adı ekle", "name-starts-with": "Cihaz adı ifadesi", - "help-text": "İhtiyaca göre '%' kullanın: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.", + "help-text": "'%' işaretini ihtiyaca göre kullanın: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.", "device-list": "Cihaz listesi", "use-device-name-filter": "Filtre kullan", "device-list-empty": "Hiçbir cihaz seçilmedi.", @@ -3039,7 +3039,7 @@ "no-entities-text": "Varlık bulunamadı", "no-entity-types-matching": "'{{entityType}}' ile eşleşen varlık türü bulunamadı.", "name-starts-with": "İsim ifadesi", - "help-text": "İhtiyaca göre '%' kullanın: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.", + "help-text": "'%' işaretini ihtiyaca göre kullanın: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.", "use-entity-name-filter": "Filtre kullan", "entity-list-empty": "Seçilen varlık yok.", "entity-type-list-required": "En az bir varlık türü seçilmelidir.", @@ -3242,7 +3242,7 @@ "remove-alias": "Varlık görünümü takma adını kaldır", "add-alias": "Varlık görünümü takma adı ekle", "name-starts-with": "Varlık Görünümü ad ifadesi", - "help-text": "İhtiyaca göre '%' kullanın: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.", + "help-text": "'%' işaretini ihtiyaca göre kullanın: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.", "entity-view-list": "Varlık Görünümü listesi", "use-entity-view-name-filter": "Filtre kullan", "entity-view-list-empty": "Seçili varlık görünümü yok.", diff --git a/ui-ngx/src/assets/locale/locale.constant-uk_UA.json b/ui-ngx/src/assets/locale/locale.constant-uk_UA.json index 94a980d40e..d06fe89631 100644 --- a/ui-ngx/src/assets/locale/locale.constant-uk_UA.json +++ b/ui-ngx/src/assets/locale/locale.constant-uk_UA.json @@ -803,7 +803,7 @@ "no-assets-matching": "Не знайдено активів, що відповідають '{{entity}}'.", "asset-required": "Потрібно вказати актив.", "name-starts-with": "Вираз назви активу", - "help-text": "Використовуйте '%' за потреби: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'.", + "help-text": "Використовуйте '%' за потребою: '%asset_name_contains%', '%asset_name_ends', 'asset_starts_with%'.", "search": "Пошук активів", "import": "Імпортувати активи", "asset-file": "Файл активів", @@ -2124,7 +2124,7 @@ "remove-alias": "Видалити псевдонім пристрою", "add-alias": "Додати псевдонім пристрою", "name-starts-with": "Вираз імені пристрою", - "help-text": "Використовуйте '%' за потребою: '%device_name_contains%', '%device_name_ends', 'device_starts_with'.", + "help-text": "Використовуйте '%' за потребою: '%device_name_contains%', '%device_name_ends', 'device_starts_with%'.", "device-list": "Список пристроїв", "use-device-name-filter": "Використовувати фільтр", "device-list-empty": "Не вибрано жодного пристрою.", @@ -3039,7 +3039,7 @@ "no-entities-text": "Сутностей не знайдено", "no-entity-types-matching": "Не знайдено типів сутностей, що відповідають '{{entityType}}'.", "name-starts-with": "Вираз для назви", - "help-text": "Використовуйте '%' за потребою: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'.", + "help-text": "Використовуйте '%' за потребою: '%entity_name_contains%', '%entity_name_ends', 'entity_starts_with%'.", "use-entity-name-filter": "Використовувати фільтр", "entity-list-empty": "Не вибрано сутностей.", "entity-type-list-required": "Потрібно вибрати хоча б один тип сутності.", @@ -3242,7 +3242,7 @@ "remove-alias": "Видалити псевдонім фрагмента сутності", "add-alias": "Додати псевдонім для фрагмента сутності", "name-starts-with": "Вираз для назви фрагмента сутності", - "help-text": "Використовуйте '%' за потребою: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with'.", + "help-text": "Використовуйте '%' за потребою: '%entity-view_name_contains%', '%entity-view_name_ends', 'entity-view_starts_with%'.", "entity-view-list": "Список фрагментів сутностей", "use-entity-view-name-filter": "Використовувати фільтр", "entity-view-list-empty": "Фрагменти сутностей не вибрано.", diff --git a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json index 2e308570f2..68b08996e3 100644 --- a/ui-ngx/src/assets/locale/locale.constant-zh_CN.json +++ b/ui-ngx/src/assets/locale/locale.constant-zh_CN.json @@ -1,7834 +1,10192 @@ { - "access": { - "unauthorized": "未授权", - "unauthorized-access": "未授权访问", - "unauthorized-access-text": "您需要登陆才能访问这个资源!", - "access-forbidden": "禁止访问", - "access-forbidden-text": "您没有访问此位置的权限[+]和多级[#]通配符。",
- "telemetry-topic-filter": "遥测数据主题筛选器",
- "telemetry-topic-filter-required": "遥测数据主题筛选器必填。",
- "attributes-topic-filter": "属性主题筛选器",
- "attributes-subscribe-topic-filter": "订阅属性的主题筛选器",
- "attributes-topic-filter-required": "属性的主题筛选器必填。",
- "attributes-subscribe-topic-filter-required": "订阅属性的主题筛选器必填。",
- "telemetry-proto-schema": "遥测数据 Proto Schema",
- "telemetry-proto-schema-required": "遥测数据 Proto Schema 必填。",
- "attributes-proto-schema": "属性 Proto Schema",
- "attributes-proto-schema-required": "属性 Proto Schema 必填。",
- "rpc-response-proto-schema": "RPC 响应 Proto Schema",
- "rpc-response-proto-schema-required": "RPC 响应 Proto Schema 必填。",
- "rpc-response-topic-filter": "RPC响应主题筛选器",
- "rpc-response-topic-filter-required": "RPC响应主题筛选器必填。",
- "rpc-request-proto-schema": "RPC 请求 Proto Schema",
- "rpc-request-proto-schema-required": "RPC 请求 Proto Schema 必填。",
- "rpc-request-proto-schema-hint": "RPC 请求消息应始终包含字段:string method = 1; int32 requestId = 2; 和params = 3的任何数据类型。",
- "not-valid-pattern-topic-filter": "无效的主题筛选器模式",
- "not-valid-single-character": "单级通配符的使用无效",
- "not-valid-multi-character": "多级通配符的使用无效",
- "single-level-wildcards-hint": "[+] 适用于任何主题过滤级别。例如:v1/devices/+/telemetry or +/devices/+/attributes。",
- "multi-level-wildcards-hint": "[#]可以替换主题筛选器本身,并且必须是主题的最后一个符号。例如:# or v1/devices/me/#。",
- "alarm-rules": "告警规则",
- "alarm-rules-with-count": "告警规则({{count}})",
- "no-alarm-rules": "未配置告警规则",
- "add-alarm-rule": "添加告警规则",
- "edit-alarm-rule": "编辑告警规则",
- "alarm-type": "告警类型",
- "alarm-type-required": "告警类型必填。",
- "alarm-type-unique": "警报类型在设备配置警报规则中必须唯一。",
- "alarm-type-max-length": "告警类型应该小于256字符。",
- "create-alarm-pattern": "创建 {{alarmType}} 告警",
- "create-alarm-rules": "创建告警规则",
- "no-create-alarm-rules": "未配置创建条件",
- "add-create-alarm-rule-prompt": "请添加创建告警规则",
- "clear-alarm-rule": "清除告警规则",
- "no-clear-alarm-rule": "未配置明确条件",
- "add-create-alarm-rule": "添加创建条件",
- "add-clear-alarm-rule": "添加清除条件",
- "select-alarm-severity": "选择告警严重性",
- "alarm-severity-required": "告警严重级别必填。",
- "condition-duration": "条件持续时间",
- "condition-duration-value": "持续时间值",
- "condition-duration-time-unit": "时间单位",
- "condition-duration-value-range": "持续时间值应在1到2147483647之间。",
- "condition-duration-value-pattern": "持续时间值应为整数。",
- "condition-duration-value-required": "持续时间值必填。",
- "condition-duration-time-unit-required": "时间单位必填。",
- "advanced-settings": "高级设置",
- "alarm-rule-additional-info": "附加信息",
- "edit-alarm-rule-additional-info": "编辑附加信息",
- "alarm-rule-additional-info-placeholder": "请在此处提供评论和调整,以便在附加信息下的告警详情中显示",
- "alarm-rule-additional-info-hint": "提示: 使用${keyName}来替代告警规则条件中使用的属性或遥测键的值。",
- "alarm-rule-mobile-dashboard": "移动端仪表板",
- "alarm-rule-mobile-dashboard-hint": "作为移动端告警详情仪表板使用。",
- "alarm-rule-no-mobile-dashboard": "未选择仪表板。",
- "propagate-alarm": "传递警报",
- "alarm-rule-relation-types-list": "要传递的关联类型",
- "alarm-rule-relation-types-list-hint": "如果未选择传递关联类型,则将不按关联类型过滤而传递告警。",
- "propagate-alarm-to-owner": "将告警传播给实体所有者(客户或租户)。",
- "propagate-alarm-to-tenant": "将告警传播给租户",
- "alarm-rule-condition": "告警规则条件",
- "enter-alarm-rule-condition-prompt": "请添加告警规则条件",
- "edit-alarm-rule-condition": "编辑告警规则条件",
- "device-provisioning": "设备预配置",
- "provision-strategy": "预配置策略",
- "provision-strategy-required": "预配置策略必填。",
- "provision-strategy-disabled": "禁用",
- "provision-strategy-created-new": "允许创建设备",
- "provision-strategy-check-pre-provisioned": "检查预配置的设备",
- "provision-device-key": "预配置设备密钥名",
- "provision-device-key-required": "预配置设备密钥名必填。",
- "copy-provision-key": "复制预配置密钥名",
- "provision-key-copied-message": "预配置密钥名已复制到剪贴板",
- "provision-device-secret": "预配置设备密钥",
- "provision-device-secret-required": "预配置设备密钥必填。",
- "copy-provision-secret": "复制预配置密钥",
- "provision-secret-copied-message": "预配置密钥已复制到剪贴板",
- "provision-strategy-x509": {
- "certificate-chain": "X509 证书链",
- "certificate-chain-hint": "X.509 证书策略用于通过客户端证书在双向TLS通信中提供设备的方式。",
- "allow-create-new-devices": "创建设备",
- "allow-create-new-devices-hint": "如果选择创建设备,则将客户端证书用作设备凭据。",
- "certificate-value": "PEM 格式的证书",
- "certificate-value-required": "PEM 格式的证书必填。",
- "cn-regex-variable": "CN 正则表达式变量",
- "cn-regex-variable-required": "CN 正则表达式变量必填。",
- "cn-regex-variable-hint": "需要从设备 X509 证书的通用名称中获取设备名称。"
- },
- "condition": "条件",
- "condition-type": "条件类型",
- "condition-type-simple": "简单",
- "condition-type-duration": "持续时间",
- "condition-during": "在{{during}}期间",
- "condition-during-dynamic": " \"{{ attribute }}\" ({{during}})期间",
- "condition-type-repeating": "重复",
- "condition-type-required": "条件类型必填。",
- "condition-repeating-value": "事件计数",
- "condition-repeating-value-range": "事件计数应在1到2147483647之间。",
- "condition-repeating-value-pattern": "事件计数应为整数。",
- "condition-repeating-value-required": "事件计数值必填。",
- "condition-repeat-times": "重复 { count, plural, =1 {1 次} other {# 次} }",
- "condition-repeat-times-dynamic": "重复 \"{ attribute }\" ({ count, plural, =1 {1 time} other {# times} })",
- "schedule-type": "计划程序类型",
- "schedule-type-required": "计划类型必填。",
- "schedule": "启用规则:",
- "edit-schedule": "编辑告警日程表",
- "schedule-any-time": "始终启用",
- "schedule-specific-time": "定时启用",
- "schedule-custom": "自定义启用",
- "schedule-day": {
- "monday": "星期一",
- "tuesday": "星期二",
- "wednesday": "星期三",
- "thursday": "星期四",
- "friday": "星期五",
- "saturday": "星期六",
- "sunday": "星期日"
- },
- "schedule-days": "天",
- "schedule-time": "时间",
- "schedule-time-from": "从",
- "schedule-time-to": "到",
- "schedule-days-of-week-required": "每周至少选择一天。",
- "create-device-profile": "创建设备配置",
- "import": "导入设备配置",
- "export": "导出设备配置",
- "export-failed-error": "无法导出设备配置: {{error}}",
- "device-profile-file": "设备配置",
- "invalid-device-profile-file-error": "无法导入设备配置:无效的设备配置数据结构。",
- "power-saving-mode": "节能模式",
- "power-saving-mode-type": {
- "default": "使用设备配置的节能模式",
- "psm": "节能模式(PSM)",
- "drx": "非连续接收(DRX)",
- "edrx": "连续接收(eDRX)"
- },
- "edrx-cycle": "eDRX循环",
- "edrx-cycle-required": "eDRX循环必填。",
- "edrx-cycle-pattern": "eDRX循环必须是一个正整数。",
- "edrx-cycle-min": "eDRX循环的最小值{{ min }}秒。",
- "paging-transmission-window": "分页传输窗口",
- "paging-transmission-window-required": "分页传输窗口必填。",
- "paging-transmission-window-pattern": "分页传输窗口必须是正整数。",
- "paging-transmission-window-min": "分页传输窗口的最小值{{ min }}秒。",
- "psm-activity-timer": "PSM活动计时器",
- "psm-activity-timer-required": "PSM活动计时器必填。",
- "psm-activity-timer-pattern": "PSM活动计时器必须是正整数",
- "psm-activity-timer-min": "PSM活动计时器的最小数量为{{ min }}秒。",
- "lwm2m": {
- "object-list": "Object列表",
- "object-list-empty": "没有选择边object。",
- "no-objects-found": "没有选择边object。",
- "no-objects-matching": "没有找到匹配的object'{{object}}'。",
- "model-tab": "LWM2M模式",
- "add-new-instances": "添加新实例",
- "instances-list": "实例列表",
- "instances-list-required": "实例列表必填。",
- "instance-id-pattern": "实例id必须是一个正整数。",
- "instance-id-max": "实例id最大值是{{max}}",
- "instance": "实例",
- "resource-label": "#ID资源名称",
- "observe-label": "观察者",
- "attribute-label": "属性",
- "telemetry-label": "遥测",
- "edit-observe-select": "选择观察者编辑遥测或属性",
- "edit-attributes-select": "选择要编辑的遥测或属性",
- "no-attributes-set": "没有设置属性",
- "key-name": "键名",
- "key-name-required": "键名必填",
- "attribute-name": "属性名称",
- "attribute-name-required": "属性名称必填。",
- "attribute-value": "属性值",
- "attribute-value-required": "属性值必填。",
- "attribute-value-pattern": "属性值必须是一个正整数。",
- "edit-attributes": "编辑属性:{{ name }}",
- "view-attributes": "查看属性:{{ name }}",
- "add-attribute": "添加属性",
- "edit-attribute": "编辑属性",
- "view-attribute": "查看属性",
- "remove-attribute": "移除属性",
- "delete-server-text": "请注意,确认删除后,服务器配置将无法恢复。",
- "delete-server-title": "确定要删除服务器吗?",
- "mode": "安全配置模式",
- "bootstrap-tab": "Bootstrap",
- "bootstrap-server-legend": "Bootstrap服务...",
- "lwm2m-server-legend": "LwM2M服务...",
- "server": "服务器",
- "short-id": "服务器ID",
- "short-id-tooltip": "服务器ID用作关联服务器对象实例的链接。",
- "short-id-tooltip-bootstrap": "服务器短ID用作关联服务器对象实例的链接,\n 该标识符唯一地标识了为LWM2M客户端配置的每个LWM2M服务器,\n 当Bootstrap-Server资源的值为‘false’时必须设置资源。",
- "short-id-required": "服务器ID必填。",
- "short-id-range": "服务器ID应在{{ min }}到{{ max }}范围内。",
- "short-id-pattern": "服务器ID必须是一个正整数。",
- "lifetime": "客户端注册生命周期",
- "lifetime-required": "客户端注册生命周期必填。",
- "lifetime-pattern": "客户端注册生命周期必须是一个正整数。",
- "default-min-period": "最小期限",
- "default-min-period-tooltip": "LWM2M客户端在观察中不包含此参数时使用的默认值。",
- "default-min-period-required": "最小期限必填。",
- "default-min-period-pattern": "最小期限必须是一个正整数。",
- "notification-storing": "禁用或离线时通知存储",
- "binding": "绑定",
- "binding-type": {
- "u": "U: 客户端通过UDP绑定。",
- "m": "M: 客户端通过MQTT绑定。",
- "h": "H: 客户端通过HTTP绑定。",
- "t": "T: 客户端通过TCP绑定。",
- "s": "S: 客户端通过SMS绑定。",
- "n": "N: 客户端通过非IP绑定将响应发送到请求(支持LWM2M 1.1)。",
- "uq": "UQ: 通过UDP队列模式连接(不支持LWM2M 1.1)。",
- "uqs": "UQS: 通过UDP和SMS活动连接(不支持LWM2M 1.1)。",
- "tq": "TQ: 通过TCP队列模式连接(不支持LWM2M 1.1)。",
- "tqs": "TQS: 通过TCP和SMS活动连接(不支持LWM2M 1.1)。",
- "sq": "SQ: 通过队列模式的SMS连接(不支持LWM2M 1.1)。"
- },
- "binding-tooltip": "这是LwM2M服务器对象的绑定资源列表 - /1/x/7。",
- "bootstrap-server": "Bootstrap Server",
- "lwm2m-server": "LwM2M Server",
- "include-bootstrap-server": "包含Bootstrap Server更新",
- "bootstrap-update-title": "你已经配置了Bootstrap Server,您确定要排除更新吗?",
- "bootstrap-update-text": "请注意确认更新后Bootstrap Server配置数据将无法恢复。",
- "server-host": "主机",
- "server-host-required": "主机必填。",
- "server-port": "端口",
- "server-port-required": "端口必填。",
- "server-port-pattern": "端口必须是一个正整数。",
- "server-port-range": "端口应在1到65535范围内。",
- "server-public-key": "服务器公钥",
- "server-public-key-required": "服务器公钥必填。",
- "client-hold-off-time": "停留时间",
- "client-hold-off-time-required": "停留时间必填。",
- "client-hold-off-time-pattern": "停留时间必须是一个正整数。",
- "client-hold-off-time-tooltip": "客户端仅与Bootstrap-Server共用停留时间",
- "account-after-timeout": "帐户超时",
- "account-after-timeout-required": "帐户超时必填。",
- "account-after-timeout-pattern": "帐户超时必须是一个正整数。",
- "account-after-timeout-tooltip": "Bootstrap-Server帐户资源的超时值。",
- "server-type": "服务器类型",
- "add-new-server-title": "添加新的服务器配置",
- "add-server-config": "添加服务器配置",
- "add-lwm2m-server-config": "添加LwM2M服务器",
- "no-config-servers": "没有服务器配置",
- "others-tab": "其它设置",
- "client-strategy": "客户端连接策略",
- "client-strategy-label": "策略",
- "client-strategy-only-observe": "只在初始连接后观察对客户的请求",
- "client-strategy-read-all": "注册后阅读所有资源并观察对客户的请求",
- "fw-update": "固件升级",
- "fw-update-strategy": "固件升级策略",
- "fw-update-strategy-data": "发布固件升级二制文件使用Object 19和Resource 0数据。",
- "fw-update-strategy-package": "发布固件升级二制文件使用Object 5和Resource 0包",
- "fw-update-strategy-package-uri": "自动生成唯一的CoAP地址下载包和发布软件更新作为Object 5和Resource 1(软件包URI)。",
- "sw-update": "软件更新",
- "sw-update-strategy": "软件更新策略",
- "sw-update-strategy-package": "发布二制文件使用Object 9和Resource 2(包)",
- "sw-update-strategy-package-uri": "自动生成唯一的CoAP地址下载包和发布软件更新作为Object 9和Resource 3(软件包URI)。",
- "fw-update-resource": "固件更新COAP资源",
- "fw-update-resource-required": "固件更新COAP资源必填。",
- "sw-update-resource": "软件更新COAP资源",
- "sw-update-resource-required": "软件更新COAP资源必填。",
- "config-json-tab": "设备配置JSON",
- "attributes-name": {
- "min-period": "最小周期",
- "max-period": "最大周期",
- "greater-than": "大于",
- "less-than": "小于",
- "step": "步长",
- "min-evaluation-period": "最小评估周期",
- "max-evaluation-period": "最大评估周期"
- },
- "default-object-id": "默认对象版本(属性)",
- "default-object-id-ver": {
- "v1-0": "1.0",
- "v1-1": "1.1"
- }
- },
- "snmp": {
- "add-communication-config": "添加通信配置",
- "add-mapping": "添加映射",
- "authentication-passphrase": "身份验证密码",
- "authentication-passphrase-required": "身份验证密码必填。",
- "authentication-protocol": "身份验证协议",
- "authentication-protocol-required": "身份验证协议必填。",
- "communication-configs": "通信配置",
- "community": "Community字符串",
- "community-required": "Community字符串必填。",
- "context-name": "上下文名称",
- "data-key": "数据键",
- "data-key-required": "数据键必填。",
- "data-type": "数据类型",
- "data-type-required": "数据类型必填。",
- "engine-id": "引擎ID",
- "host": "主机",
- "host-required": "主机必填。",
- "oid": "OID",
- "oid-pattern": "无效OID格式",
- "oid-required": "OID必填。",
- "please-add-communication-config": "请添加通信配置",
- "please-add-mapping-config": "请添加映射配置",
- "port": "端口",
- "port-format": "端口格式无效",
- "port-required": "端口必填。",
- "privacy-passphrase": "私有密码",
- "privacy-passphrase-required": "私有密码必填。",
- "privacy-protocol": "私有协议",
- "privacy-protocol-required": "私有协议必填。",
- "protocol-version": "协议版本",
- "protocol-version-required": "协议版本必填。",
- "querying-frequency": "查询频率(ms)",
- "querying-frequency-invalid-format": "查询频率必须是一个正整数。",
- "querying-frequency-required": "查询频率必填。",
- "retries": "重试",
- "retries-invalid-format": "重试必须是一个正整数。",
- "retries-required": "重试必填。",
- "scope": "范围",
- "scope-required": "范围必填。",
- "security-name": "Security名称",
- "security-name-required": "Security名称必填。",
- "timeout-ms": "超时(ms)",
- "timeout-ms-invalid-format": "超时必须是一个正整数。",
- "timeout-ms-required": "超时必填。",
- "user-name": "用户名",
- "user-name-required": "用户名必填。"
- }
+ "aggregate-period-hint-offset": "您的聚合间隔将为:{{ interval }}",
+ "aggregate-period-hint-offset-and-so-on": "您的聚合间隔将为:{{ interval }} 以此类推。",
+ "entity-aggregation": {
+ "argument-hint": "数据将从当前实体获取。",
+ "argument-title-hint": "定义用于聚合的输入参数。",
+ "argument-setting-hint": "此计算字段仅支持最新遥测作为参数类型。",
+ "aggregation-interval": "聚合间隔",
+ "aggregation-interval-hint": "定义执行聚合的频率。例如:每 1 小时在 00:00、01:00、02:00 等时间点聚合数据。聚合结果使用聚合间隔开始时间的时间戳存储。",
+ "apply-offset": "应用偏移到聚合间隔",
+ "apply-offset-hint": "定义每个聚合周期开始的偏移量(例如,+10 分钟 - 00:10、01:10)。",
+ "offset-value": "偏移值",
+ "offset-value-required": "偏移值为必填项。",
+ "offset-value-min": "偏移值必须为正整数。",
+ "offset-value-max": "偏移值应小于聚合间隔值。",
+ "wait-delay": "对延迟遥测应用等待超时",
+ "wait-delay-hint": "定义间隔结束后等待延迟遥测的时间。如果此类遥测到达,将重新计算该间隔的结果。",
+ "duration": "持续时间",
+ "duration-required": "持续时间为必填项。",
+ "duration-min": "持续时间至少为 1 分钟。",
+ "duration-hint": "间隔结束后等待延迟数据的时间。",
+ "produce-intermediate-result": "生成中间结果",
+ "produce-intermediate-result-hint": "在当前间隔内计算指标以生成中间结果。更新频率不超过每 {{ time }} 一次。"
},
- "dialog": {
- "close": "关闭对话框",
- "error-message-title": "错误信息:",
- "error-details-title": "错误详细信息"
+ "hint": {
+ "arguments-simple-with-rolling": "简单类型的计算字段不应包含时间序列滚动类型的键。",
+ "arguments-propagate-arguments-with-rolling": "“时间序列滚动”类型与“仅参数”传播不兼容。",
+ "arguments-propagate-argument-entity-type": "实体类型与“仅参数”传播不兼容。",
+ "arguments-propagate-argument-must-current-entity": "至少需要配置一个源实体类型为“当前实体”的参数。",
+ "arguments-empty": "至少需要指定一个参数。",
+ "expression-required": "表达式为必填项。",
+ "expression-invalid": "表达式无效",
+ "expression-max-length": "表达式长度应少于 255 个字符。",
+ "argument-name-required": "参数名称为必填项。",
+ "argument-name-pattern": "参数名称无效。",
+ "argument-name-duplicate": "同名参数已存在。",
+ "argument-name-max-length": "参数名称应少于 256 个字符。",
+ "argument-name-forbidden": "参数名称为保留名称,无法使用。",
+ "output-key-required": "输出键为必填项。",
+ "output-key-pattern": "输出键无效。",
+ "output-key-duplicate": "同名键已存在。",
+ "output-key-max-length": "输出键应少于 256 个字符。",
+ "output-key-forbidden": "输出键为保留名称,无法使用。",
+ "entity-type-required": "实体类型为必填项",
+ "name-required": "名称为必填项。",
+ "name-pattern": "名称无效。",
+ "name-duplicate": "同名名称已存在。",
+ "name-max-length": "名称应少于 256 个字符。",
+ "name-forbidden": "名称为保留名称,无法使用。",
+ "argument-type-required": "参数类型为必填项。",
+ "max-args": "已达到最大参数数量。",
+ "decimals-range": "默认小数位数应为 0 到 15 之间的数字。",
+ "expression": "默认表达式演示如何将温度从华氏度转换为摄氏度。",
+ "arguments-entity-not-found": "未找到参数目标实体。",
+ "use-latest-timestamp": "启用后,计算值将使用参数遥测中的最新时间戳进行持久化,而非服务器时间。",
+ "entity-coordinates": "指定提供实体 GPS 坐标(纬度和经度)的时间序列键。",
+ "geofencing-zone-groups": "定义一个或多个要检查的地理围栏区域组(例如“allowedZones”、“restrictedZones”)。每个组必须有唯一的名称,该名称用作计算字段输出遥测键的前缀。",
+ "perimeter-attribute-key": "设置包含地理围栏区域周界定义的属性键。周界始终取自区域实体的服务端属性。",
+ "report-strategy": "存在状态报告实体当前是否在区域组内部或外部。转换事件报告实体何时进入或离开区域组。",
+ "create-relation-with-matched-zones": "自动创建并维护实体与其当前所在区域之间的关联。当实体离开区域时移除关联,进入新区域时创建关联。",
+ "relation-type-required": "关联类型为必填项。",
+ "relation-level-required": "关联层级为必填项。",
+ "relation-level-min": "最小关联层级值为 1。",
+ "relation-level-max": "最大关联层级值为 {{max}}。",
+ "geofencing-empty": "至少需要配置一个区域组。",
+ "geofencing-entity-not-found": "未找到地理围栏目标实体。",
+ "max-geofencing-zone": "已达到最大地理围栏区域数量。",
+ "zone-group-refresh-interval": "定义通过关联实体配置的区域组的刷新频率。",
+ "zone-group-refresh-interval-required": "区域组刷新间隔为必填项。",
+ "zone-group-refresh-interval-min": "区域组刷新间隔至少应为 {{ min }} 秒。",
+ "propagation-path-related-entities": "定义基于所选方向和关联类型到关联实体的直接单级路径。仅支持设备、资产、客户和租户实体之间的关联。关联路径解析的最大实体数为 {{ max }}。",
+ "data-propagate": "定义要从下方配置的参数中传播的数据。“仅参数”直接使用检索到的数据,而“计算结果”从该数据计算新值。",
+ "aggregation-path-related-entities": "定义基于方向和关联类型通过与父级或子级实体的直接关联进行的单级聚合路径。仅支持设备、资产、客户和租户实体之间的关联。关联路径解析的最大实体数为 {{ max }}。",
+ "arguments-aggregation": "定义用于过滤和聚合的输入参数。",
+ "setting-arguments-aggregation": "数据将从聚合路径中配置的关联实体获取。",
+ "metrics": "定义基于已配置参数进行聚合的指标。",
+ "entity-aggregation-metrics": "定义基于已配置参数在指定时间间隔内进行聚合的指标。",
+ "import-invalid-calculated-field-type": "无法导入计算字段:计算字段结构无效。",
+ "simple-expression-title": "定义计算值计算方式的算术表达式。",
+ "script-title": "定义计算逻辑和输出值的 TBEL 脚本。",
+ "simple-arguments": "定义计算值计算方式的算术表达式。",
+ "script-arguments": "定义脚本可用的输入参数。"
+ }
+ },
+ "alarm-rule": {
+ "alarm-rules-tab": "告警规则",
+ "alarm-rule": "告警规则",
+ "alarm-rules": "告警规则",
+ "alarm-rules-old": "旧版",
+ "alarm-rules-actual": "当前",
+ "severities": "严重程度",
+ "cleared": "清除条件",
+ "delete-title": "确定要删除告警规则“{{title}}”吗?",
+ "delete-text": "请注意,确认后告警规则及所有相关数据将无法恢复。",
+ "delete-multiple-title": "确定要删除{ count, plural, =1 {1 条告警规则} other {# 条告警规则} }吗?",
+ "delete-multiple-text": "请注意,确认后所有选中的告警规则将被移除,所有相关数据将无法恢复。",
+ "create": "创建新告警规则",
+ "add": "添加告警规则",
+ "copy": "复制告警规则配置",
+ "details": "告警规则详情",
+ "no-found": "未找到告警规则",
+ "list": "{ count, plural, =1 {1 条告警规则} other {# 条告警规则列表} }",
+ "selected-fields": "已选择{ count, plural, =1 {1 条告警规则} other {# 条告警规则} }",
+ "import": "导入告警规则",
+ "file": "告警规则文件",
+ "export": "导出告警规则",
+ "export-failed-error": "无法导出告警规则:{{error}}",
+ "entity-type": "实体类型",
+ "entity-type-required": "实体类型为必填项。",
+ "alarm-type": "告警类型",
+ "alarm-type-hint": "在告警发起者(设备、资产等)范围内的唯一标识符(例如 HighTempAlarm),以防止冲突。",
+ "alarm-type-required": "告警类型为必填项。",
+ "alarm-type-pattern": "告警类型无效。",
+ "alarm-type-max-length": "告警类型应少于 256 个字符。",
+ "clear-alarm": "清除告警",
+ "value-argument": "参数",
+ "value-argument-required": "参数为必填项。",
+ "static-settings": "静态设置",
+ "configuration": "配置",
+ "static-schedule": "静态",
+ "dynamic-schedule": "动态",
+ "operation-and": "AND",
+ "operation-or": "OR",
+ "condition-during": "持续 {{during}}",
+ "condition-during-dynamic": "持续\"{{ attribute }}\"",
+ "condition-repeat-times": "重复{ count, plural, =1 {1 次} other {# 次} }",
+ "condition-repeat-times-dynamic": "重复\"{{ attribute }}\"次",
+ "filter-preview": "过滤器预览",
+ "condition-settings": "条件设置",
+ "static": "静态",
+ "dynamic": "动态",
+ "argument-filters": "参数过滤器",
+ "argument-name": "参数名称",
+ "value-type": "值类型",
+ "general": "通用",
+ "filters": "过滤器",
+ "date-time-hint": "参数必须为纪元毫秒。示例:1698839340000 等于 2023-11-01 12:49:00 UTC。",
+ "operation": "操作",
+ "value-source": "值来源",
+ "value": "值",
+ "ignore-case": "忽略大小写",
+ "condition": "条件",
+ "script": "脚本",
+ "add-filter": "添加参数过滤器",
+ "edit-filter": "参数过滤器",
+ "remove-filter": "移除参数过滤器",
+ "no-filter": "至少需要一个过滤器。",
+ "conditions": {
+ "simple": "简单",
+ "duration": "持续时间",
+ "repeating": "重复"
},
- "direction": {
- "column": "列",
- "row": "排"
+ "schedule-title": "调度",
+ "edit-schedule": "编辑告警调度",
+ "schedule-type": "调度器类型",
+ "schedule-type-required": "调度器类型为必填项。",
+ "schedule": {
+ "any-time": "始终激活",
+ "specific-time": "在特定时间激活",
+ "custom": "自定义"
},
- "edge": {
- "edge": "边缘",
- "edge-instances": "边缘实例",
- "instances": "边缘实例",
- "edge-file": "边缘文件",
- "name-max-length": "名称长度必须小于256个字符",
- "label-max-length": "标签长度必须小于256个字符",
- "type-max-length": "类型长度必须小于256个字符",
- "management": "边缘管理",
- "no-edges-matching": "未找到匹配的边缘 '{{entity}}'。",
- "add": "增加边缘",
- "no-edges-text": "未找到边缘",
- "edge-details": "边缘详情",
- "add-edge-text": "增加新的边缘",
- "delete": "删除边缘",
- "delete-edge-title": "确定删除边缘 '{{edgeName}}'吗?",
- "delete-edge-text": "当心, 确认后,边缘以及所有关联数据将不可恢复。",
- "delete-edges-title": "确定删除 { count, plural, =1 {1 个边缘} other {# 个边缘} }吗?",
- "delete-edges-text": "当心, 确认后,选定的边缘以及所有关联数据将不可恢复。",
- "name": "名称",
- "name-starts-with": "边缘名称前缀",
- "name-required": "名称必填。",
- "description": "说明",
- "details": "详情",
- "events": "事件",
- "copy-id": "复制边缘编号",
- "id-copied-message": "边缘编号已经复制到剪切板",
- "sync": "同步边缘",
- "edge-required": "边缘必填。",
- "edge-type": "边缘类型",
- "edge-type-required": "边缘类型必填。",
- "event-action": "事件行动",
- "entity-id": "实体编号",
- "select-edge-type": "选择边缘类型",
- "assign-to-customer": "分配给客户",
- "assign-to-customer-text": "请选择需要分配给边缘的客户",
- "assign-edge-to-customer": "分配边缘给客户",
- "assign-edge-to-customer-text": "请选择需要分配给边缘的客户",
- "assignedToCustomer": "分配给客户",
- "edge-public": "边缘公开",
- "assigned-to-customer": "分配给: {{customerTitle}}",
- "unassign-from-customer": "取消分配客户",
- "unassign-edge-title": "确定取消分配边缘 '{{edgeName}}' 吗?",
- "unassign-edge-text": "确定后,边缘将被取消分配,并且客户将无法访问。",
- "unassign-edges-title": "确定要取消分配 {count,plural, =1 {1 个边缘} other {# 个边缘} } 吗?",
- "unassign-edges-text": "确定后,所有选定的边缘将被取消分配,并且客户将无法访问。",
- "make-public": "公开",
- "make-public-edge-title": "确定要将边缘 '{{edgeName}}' 设为公开吗?",
- "make-public-edge-text": "确认后,边缘及其所有数据将被设为公开并可被其他人访问。",
- "make-private": "私有",
- "public": "公开",
- "make-private-edge-title": "确定要将边缘 '{{edgeName}}' 设为私有吗?",
- "make-private-edge-text": "确认后,边缘及其所有数据将被设为私有,不被其他人访问。",
- "import": "导入边缘",
- "install-connect-instructions": "安装和连接说明",
- "install-connect-instructions-edge-created": "边缘已创建!请检查安装和连接说明",
- "loading-edge-instructions": "正在加载边缘说明...",
- "label": "标签",
- "load-entity-error": "加载数据失败,实体已经被删除。",
- "assign-new-edge": "分配新边缘",
- "unassign-from-edge": "取消分配边缘",
- "edge-key": "边缘键",
- "copy-edge-key": "复制边缘键",
- "edge-key-copied-message": "边缘键已经被复制到剪切板",
- "edge-secret": "边缘密钥",
- "copy-edge-secret": "复制边缘密钥",
- "edge-secret-copied-message": "边缘密钥已经被复制到剪切板",
- "manage-assets": "管理资产",
- "manage-devices": "管理设备",
- "manage-entity-views": "管理实体视图",
- "manage-dashboards": "管理仪表板",
- "manage-rulechains": "管理规则链",
- "assets": "边缘资产",
- "devices": "边缘设备",
- "entity-views": "边缘实体视图",
- "dashboard": "边缘仪表板",
- "dashboards": "边缘仪表板",
- "rulechain-templates": "规则链模版",
- "edge-rulechain-templates": "边缘规则链模板",
- "rulechains": "规则链",
- "search": "搜索边缘",
- "selected-edges": "{ count, plural, =1 {1 个边缘} other {# 个边缘} } 被选中",
- "any-edge": "任何边缘",
- "no-edge-types-matching": "未找到匹配的边缘类型 '{{entitySubtype}}'。",
- "edge-type-list-empty": "没有选择边缘类型。",
- "edge-types": "边缘类型",
- "enter-edge-type": "输入边缘类型",
- "deployed": "已部署",
- "pending": "待定",
- "downlinks": "下行",
- "no-downlinks-prompt": "未找到下行",
- "sync-process-started-successfully": "同步处理开始成功!",
- "missing-related-rule-chains-title": "边缘缺少关联规则链",
- "missing-related-rule-chains-text": "分配给边缘的规则链使用规则节点将消息转发给未分配给当前边缘的规则链。 ${参数名称} 替换告警规则条件中使用的参数值。",
+ "alarm-rule-additional-info-icon-hint": "使用参数名称替换告警规则条件中使用的参数值。",
+ "alarm-rule-mobile-dashboard": "移动端仪表板",
+ "alarm-rule-mobile-dashboard-hint": "移动应用程序用作告警详情仪表板。",
+ "alarm-rule-no-mobile-dashboard": "未选择仪表板",
+ "alarm-rule-condition": "告警规则条件",
+ "enter-alarm-rule-condition-prompt": "添加条件",
+ "enter-alarm-rule-clear-condition-prompt": "添加清除条件",
+ "edit-alarm-rule-condition": "告警条件",
+ "condition-type": "条件类型",
+ "condition-type-hint": "当过滤器中使用了“缺失超过”操作时,“持续时间”和“重复”选项不可用。",
+ "select-alarm-severity": "选择告警严重程度",
+ "add-create-alarm-rule-prompt": "至少需要一个触发条件。",
+ "add-create-alarm-rule": "添加触发条件",
+ "add-clear-alarm-rule": "添加清除条件",
+ "condition-duration": "条件持续时间",
+ "condition-duration-value": "持续时间值",
+ "condition-duration-time-unit": "时间单位",
+ "condition-duration-value-range": "持续时间值应在 1 到 2147483647 的范围内。",
+ "condition-duration-value-pattern": "持续时间值应为整数。",
+ "condition-duration-value-required": "持续时间值为必填项。",
+ "condition-duration-time-unit-required": "时间单位为必填项。",
+ "condition-repeating-value": "事件次数",
+ "condition-repeating-value-hint": "告警规则参数的任何更新都将被计为一次事件",
+ "condition-repeating-value-range": "事件次数应在 1 到 2147483647 的范围内。",
+ "condition-repeating-value-pattern": "事件次数应为整数。",
+ "condition-repeating-value-required": "事件次数为必填项。",
+ "create-conditions": "触发条件",
+ "clear-condition": "清除条件",
+ "no-clear-alarm-rule": "未配置清除条件。",
+ "advanced-settings": "高级设置",
+ "propagate-alarm": "将告警传播到关联实体",
+ "alarm-rule-relation-types-list": "关联类型",
+ "alarm-rule-relation-types-list-hint": "定义关联类型以过滤关联实体。如果未设置,告警将传播到所有关联实体。",
+ "propagate-alarm-to-owner": "将告警传播到实体所有者(客户或租户)",
+ "propagate-alarm-to-tenant": "将告警传播到租户",
+ "alarm-rule-filter-title": "告警规则过滤器",
+ "filter-title": "过滤器",
+ "debugging": "告警规则调试",
+ "any-type": "任意类型",
+ "enter-alarm-rule-type": "输入告警类型",
+ "no-alarm-rule-types-matching": "未找到匹配“{{entitySubtype}}”的告警类型。",
+ "alarm-rule-type-list-empty": "未选择告警类型。",
+ "alarm-rule-type-list": "告警类型列表",
+ "alarm-rule-entity-list": "实体列表",
+ "missing-for": "缺失超过",
+ "time-unit": "单位",
+ "mode": "模式",
+ "type": "类型",
+ "value-required": "值为必填项。",
+ "min-value": "值必须大于等于 1。",
+ "argument-in-use": "参数已被用作通用参数。",
+ "import-invalid-alarm-rule-type": "无法导入告警规则:告警规则结构无效。",
+ "no-filter-preview": "未指定过滤器",
+ "filter-operation": {
+ "and": "与",
+ "or": "或"
+ }
+ },
+ "ai-models": {
+ "ai-models": "AI 模型",
+ "ai-model": "AI 模型",
+ "model": "模型",
+ "name": "名称",
+ "ai-provider": "AI 提供商",
+ "no-found": "未找到 AI 模型",
+ "list": "{ count, plural, =1 {1 个模型} other {# 个模型列表} }",
+ "selected-fields": "已选择{ count, plural, =1 {1 个模型} other {# 个模型} }",
+ "add": "添加模型",
+ "delete-model-title": "确定要删除模型“{{modelName}}”吗?",
+ "delete-model-text": "请注意,确认后模型及所有相关数据将无法恢复。",
+ "delete-models-title": "确定要删除{ count, plural, =1 {1 个模型} other {# 个模型} }吗?",
+ "delete-models-text": "请注意,确认后所有选中的模型将被移除,所有相关数据将无法恢复。",
+ "ai-providers": {
+ "openai": "OpenAI",
+ "azure-openai": "Azure OpenAI",
+ "google-ai-gemini": "Google AI Gemini",
+ "google-vertex-ai-gemini": "Google Vertex AI Gemini",
+ "mistral-ai": "Mistral AI",
+ "anthropic": "Anthropic",
+ "amazon-bedrock": "Amazon Bedrock",
+ "github-models": "GitHub Models",
+ "ollama": "Ollama"
+ },
+ "name-required": "名称为必填项。",
+ "name-max-length": "名称不得超过 255 个字符。",
+ "provider": "提供商",
+ "api-key": "API 密钥",
+ "api-key-required": "API 密钥为必填项。",
+ "api-key-open-ai-required": "使用官方 OpenAI API 时,API 密钥为必填项。",
+ "project-id": "Project ID",
+ "project-id-required": "Project ID 为必填项",
+ "location": "位置",
+ "location-required": "位置为必填项。",
+ "service-account-key-file": "服务账号密钥文件",
+ "service-account-key-file-required": "服务账号密钥文件为必填项。",
+ "no-file": "未选择文件。",
+ "drop-file": "拖放文件或点击选择要上传的文件。",
+ "personal-access-token": "个人访问 Token",
+ "personal-access-token-required": "个人访问 Token 为必填项。",
+ "configuration": "配置",
+ "model-id": "模型 ID",
+ "model-id-required": "模型 ID 为必填项。",
+ "deployment-name": "部署名称",
+ "deployment-name-required": "部署名称为必填项",
+ "set": "设置",
+ "region": "区域",
+ "region-required": "区域为必填项。",
+ "access-key-id": "访问密钥 ID",
+ "access-key-id-required": "访问密钥 ID 为必填项。",
+ "secret-access-key": "秘密访问密钥",
+ "secret-access-key-required": "秘密访问密钥为必填项。",
+ "temperature": "温度",
+ "temperature-hint": "调整模型输出的随机性级别。值越高随机性越大,值越低随机性越小。",
+ "temperature-min": "必须大于等于 0。",
+ "top-p": "Top P",
+ "top-p-hint": "为模型创建一个最可能 Token 的候选池。值越高候选池越大越多样化,值越低候选池越小。",
+ "top-p-min-max": "必须大于 0 且不超过 1。",
+ "top-k": "Top K",
+ "top-k-hint": "将模型的选择限制为固定的\"K\"个最可能的 Token。",
+ "top-k-min": "必须大于等于 0。",
+ "presence-penalty": "存在惩罚",
+ "presence-penalty-hint": "如果某个 Token 已出现在文本中,则对其可能性施加固定惩罚。",
+ "frequency-penalty": "频率惩罚",
+ "frequency-penalty-hint": "根据 Token 在文本中出现的频率对其可能性施加递增惩罚。",
+ "max-output-tokens": "最大输出 Token 数",
+ "max-output-tokens-hint": "设置模型在单次响应中可以\n生成的最大 Token 数。",
+ "context-length": "上下文长度",
+ "context-length-hint": "定义上下文窗口的大小(以 Token 为单位)。此值设置模型的总内存限制,包括用户输入和生成的响应。",
+ "endpoint": "Endpoint",
+ "endpoint-required": "Endpoint 为必填项。",
+ "baseurl": "Base URL",
+ "baseurl-required": "Base URL 为必填项。",
+ "service-version": "服务版本",
+ "check-connectivity": "检查连接",
+ "check-connectivity-success": "测试请求成功",
+ "check-connectivity-failed": "测试请求失败",
+ "no-model-matching": "未找到匹配“{{entity}}”的模型。",
+ "model-required": "模型为必填项。",
+ "no-model-text": "未找到模型。",
+ "authentication": "认证",
+ "authentication-basic-hint": "使用标准 HTTP Basic 认证。用户名和密码将被组合、Base64 编码,并在每次请求 Ollama 服务器时通过\"Authorization\"请求头发送。",
+ "authentication-token-hint": "使用 Bearer Token 认证。提供的 Token 将直接在每次请求 Ollama 服务器时通过\"Authorization\"请求头发送。",
+ "authentication-type": {
+ "none": "无",
+ "basic": "Basic",
+ "token": "Token"
+ },
+ "username": "用户名",
+ "username-required": "用户名为必填项。",
+ "password": "密码",
+ "password-required": "密码为必填项。",
+ "token": "Token",
+ "token-required": "Token 为必填项。"
+ },
+ "confirm-on-exit": {
+ "message": "您有未保存的更改。确定要离开此页面吗?",
+ "html-message": "您有未保存的更改。[+] 和多级 [#] 通配符。",
+ "telemetry-topic-filter": "遥测主题过滤器",
+ "telemetry-topic-filter-required": "遥测主题过滤器为必填项。",
+ "attributes-topic-filter": "属性发布主题过滤器",
+ "attributes-subscribe-topic-filter": "属性订阅主题过滤器",
+ "attributes-topic-filter-required": "属性发布主题过滤器为必填项。",
+ "attributes-subscribe-topic-filter-required": "属性订阅主题为必填项",
+ "telemetry-proto-schema": "遥测 proto 模式",
+ "telemetry-proto-schema-required": "遥测 proto 模式为必填项。",
+ "attributes-proto-schema": "属性 proto 模式",
+ "attributes-proto-schema-required": "属性 proto 模式为必填项。",
+ "rpc-response-proto-schema": "RPC 响应 proto 模式",
+ "rpc-response-proto-schema-required": "RPC 响应 proto 模式为必填项。",
+ "rpc-response-topic-filter": "RPC 响应主题过滤器",
+ "rpc-response-topic-filter-required": "RPC 响应主题过滤器为必填项。",
+ "rpc-request-proto-schema": "RPC 请求 proto 模式",
+ "rpc-request-proto-schema-required": "RPC 请求 proto 模式为必填项。",
+ "rpc-request-proto-schema-hint": "RPC 请求消息应始终包含以下字段:string method = 1;int32 requestId = 2;以及任意数据类型的 params = 3。",
+ "not-valid-pattern-topic-filter": "无效的模式主题过滤器",
+ "not-valid-single-character": "单级通配符使用无效",
+ "not-valid-multi-character": "多级通配符使用无效",
+ "single-level-wildcards-hint": "[+] 适用于任何主题过滤器级别。例如:v1/devices/+/telemetry 或 +/devices/+/attributes。",
+ "multi-level-wildcards-hint": "[#] 可以替代主题过滤器本身,且必须是主题的最后一个符号。例如:# 或 v1/devices/me/#。",
+ "alarm-rules": "告警规则",
+ "alarm-rules-with-count": "告警规则 ({{count}})",
+ "no-alarm-rules": "未配置告警规则",
+ "add-alarm-rule": "添加告警规则",
+ "edit-alarm-rule": "编辑告警规则",
+ "alarm-type": "告警类型",
+ "alarm-type-required": "告警类型为必填项。",
+ "alarm-type-unique": "告警类型在设备配置告警规则中必须唯一。",
+ "alarm-type-max-length": "告警类型长度不能超过 256",
+ "create-alarm-pattern": "创建 {{alarmType}} 告警",
+ "create-alarm-rules": "创建告警规则",
+ "no-create-alarm-rules": "未配置创建条件",
+ "add-create-alarm-rule-prompt": "请添加创建告警规则",
+ "clear-alarm-rule": "清除告警规则",
+ "no-clear-alarm-rule": "未配置清除条件",
+ "add-create-alarm-rule": "添加创建条件",
+ "add-clear-alarm-rule": "添加清除条件",
+ "select-alarm-severity": "选择告警严重程度",
+ "alarm-severity-required": "告警严重程度为必填项。",
+ "condition-duration": "条件持续时间",
+ "condition-duration-value": "持续时间值",
+ "condition-duration-time-unit": "时间单位",
+ "condition-duration-value-range": "持续时间值应在 1 到 2147483647 的范围内。",
+ "condition-duration-value-pattern": "持续时间值应为整数。",
+ "condition-duration-value-required": "持续时间值为必填项。",
+ "condition-duration-time-unit-required": "时间单位为必填项。",
+ "advanced-settings": "高级设置",
+ "alarm-rule-additional-info": "附加信息",
+ "edit-alarm-rule-additional-info": "编辑附加信息",
+ "alarm-rule-additional-info-placeholder": "请在此提供您的备注和调整内容,以在告警详情的附加信息中显示",
+ "alarm-rule-additional-info-hint": "提示:使用 ${keyName} 替换告警规则条件中使用的属性或遥测键的值。",
+ "alarm-rule-mobile-dashboard": "移动端仪表板",
+ "alarm-rule-mobile-dashboard-hint": "移动应用使用此仪表板作为告警详情仪表板",
+ "alarm-rule-no-mobile-dashboard": "未选择仪表板",
+ "propagate-alarm": "将告警传播到关联实体",
+ "alarm-rule-relation-types-list": "关联类型",
+ "alarm-rule-relation-types-list-hint": "定义关联类型以过滤关联实体。如果未设置,告警将传播到所有关联实体。",
+ "propagate-alarm-to-owner": "将告警传播到实体所有者(客户或租户)",
+ "propagate-alarm-to-tenant": "将告警传播到租户",
+ "alarm-rule-condition": "告警规则条件",
+ "enter-alarm-rule-condition-prompt": "请添加告警规则条件",
+ "edit-alarm-rule-condition": "编辑告警规则条件",
+ "device-provisioning": "设备预配置",
+ "provision-strategy": "预配置策略",
+ "provision-strategy-required": "预配置策略为必填项。",
+ "provision-strategy-disabled": "已禁用",
+ "provision-strategy-created-new": "允许创建新设备",
+ "provision-strategy-check-pre-provisioned": "检查预配置设备",
+ "provision-device-key": "设备预配置密钥",
+ "provision-device-key-required": "设备预配置密钥为必填项。",
+ "copy-provision-key": "复制预配置密钥",
+ "provision-key-copied-message": "预配置密钥已复制到剪贴板",
+ "provision-device-secret": "设备预配置密码",
+ "provision-device-secret-required": "设备预配置密码为必填项。",
+ "copy-provision-secret": "复制预配置密码",
+ "provision-secret-copied-message": "预配置密码已复制到剪贴板",
+ "provision-strategy-x509": {
+ "certificate-chain": "X509 证书链",
+ "certificate-chain-hint": "X.509 证书策略用于在双向 TLS 通信中通过客户端证书预配置设备。",
+ "allow-create-new-devices": "创建新设备",
+ "allow-create-new-devices-hint": "如果选中,将创建新设备,并使用客户端证书作为设备凭据。",
+ "certificate-value": "PEM 格式证书",
+ "certificate-value-required": "PEM 格式证书为必填项",
+ "cn-regex-variable": "CN 正则表达式变量",
+ "cn-regex-variable-required": "CN 正则表达式变量为必填项",
+ "cn-regex-variable-hint": "需要从设备 X509 证书的通用名称中提取设备名称。"
+ },
+ "condition": "条件",
+ "condition-type": "条件类型",
+ "condition-type-simple": "简单",
+ "condition-type-duration": "持续时间",
+ "condition-during": "持续 {{during}}",
+ "condition-during-dynamic": "持续 \"{{ attribute }}\" ({{during}})",
+ "condition-type-repeating": "重复",
+ "condition-type-required": "条件类型为必填项。",
+ "condition-repeating-value": "事件次数",
+ "condition-repeating-value-range": "事件次数应在 1 到 2147483647 的范围内。",
+ "condition-repeating-value-pattern": "事件次数应为整数。",
+ "condition-repeating-value-required": "事件次数为必填项。",
+ "condition-repeat-times": "重复 { count, plural, =1 {1 次} other {# 次} }",
+ "condition-repeat-times-dynamic": "重复 \"{ attribute }\" ({ count, plural, =1 {1 次} other {# 次} })",
+ "schedule-type": "调度器类型",
+ "schedule-type-required": "调度器类型为必填项。",
+ "schedule": "调度",
+ "edit-schedule": "编辑告警调度",
+ "schedule-any-time": "始终活动",
+ "schedule-specific-time": "在特定时间活动",
+ "schedule-custom": "自定义",
+ "schedule-day": {
+ "monday": "星期一",
+ "tuesday": "星期二",
+ "wednesday": "星期三",
+ "thursday": "星期四",
+ "friday": "星期五",
+ "saturday": "星期六",
+ "sunday": "星期日"
+ },
+ "schedule-days": "天数",
+ "schedule-time": "时间",
+ "schedule-time-from": "从",
+ "schedule-time-to": "到",
+ "schedule-days-of-week-required": "至少应选择一个星期几。",
+ "create-device-profile": "创建新设备配置",
+ "import": "导入设备配置",
+ "export": "导出设备配置",
+ "export-failed-error": "无法导出设备配置:{{error}}",
+ "device-profile-file": "设备配置文件",
+ "invalid-device-profile-file-error": "无法导入设备配置:无效的设备配置数据结构。",
+ "power-saving-mode": "省电模式",
+ "power-saving-mode-type": {
+ "default": "使用设备配置省电模式",
+ "psm": "省电模式 (PSM)",
+ "drx": "非连续接收 (DRX)",
+ "edrx": "扩展非连续接收 (eDRX)"
+ },
+ "edrx-cycle": "eDRX 周期",
+ "edrx-cycle-required": "eDRX 周期为必填项。",
+ "edrx-cycle-pattern": "eDRX 周期必须为正整数。",
+ "edrx-cycle-min": "eDRX 周期最小值为 {{ min }} 秒。",
+ "paging-transmission-window": "寻呼传输窗口",
+ "paging-transmission-window-required": "寻呼传输窗口为必填项。",
+ "paging-transmission-window-pattern": "寻呼传输窗口必须为正整数。",
+ "paging-transmission-window-min": "寻呼传输窗口最小值为 {{ min }} 秒。",
+ "psm-activity-timer": "PSM 活动定时器",
+ "psm-activity-timer-required": "PSM 活动定时器为必填项。",
+ "psm-activity-timer-pattern": "PSM 活动定时器必须为正整数。",
+ "psm-activity-timer-min": "PSM 活动定时器最小值为 {{ min }} 秒。",
+ "lwm2m": {
+ "object-list": "对象列表",
+ "object-list-empty": "未选择任何对象。",
+ "no-objects-found": "未找到对象。",
+ "no-objects-matching": "未找到与 '{{object}}' 匹配的对象。",
+ "model-tab": "LWM2M 模型",
+ "add-new-instances": "添加新实例",
+ "instances-list": "实例列表",
+ "instances-list-required": "实例列表为必填项。",
+ "instance-id-pattern": "实例 ID 必须为正整数。",
+ "instance-id-max": "实例 ID 最大值为 {{max}}。",
+ "instance": "实例",
+ "resource-label": "#ID 资源名称",
+ "observe-label": "观察",
+ "attribute-label": "属性",
+ "telemetry-label": "遥测",
+ "edit-observe-select": "要编辑观察,请选择遥测或属性",
+ "edit-attributes-select": "要编辑属性,请选择遥测或属性",
+ "no-attributes-set": "未设置属性",
+ "key-name": "键名称",
+ "key-name-required": "键名称为必填项",
+ "attribute-name": "属性名称",
+ "attribute-name-required": "属性名称为必填项。",
+ "attribute-value": "属性值",
+ "attribute-value-required": "属性值为必填项。",
+ "attribute-value-pattern": "属性值必须为正整数。",
+ "edit-attributes": "编辑属性:{{ name }}",
+ "view-attributes": "查看属性:{{ name }}",
+ "add-attribute": "添加属性",
+ "edit-attribute": "编辑属性",
+ "view-attribute": "查看属性",
+ "remove-attribute": "移除属性",
+ "delete-server-text": "请注意,确认后服务器配置将无法恢复。",
+ "delete-server-title": "确定要删除该服务器吗?",
+ "mode": "安全配置模式",
+ "bootstrap-tab": "Bootstrap",
+ "bootstrap-server-legend": "Bootstrap 服务器 (ShortId...)",
+ "lwm2m-server-legend": "LwM2M 服务器 (ShortId...)",
+ "server": "服务器",
+ "short-id": "服务器短 ID",
+ "short-id-tooltip": "服务器短 Id。用作关联服务器对象实例的链接。\n此标识符唯一标识为 LwM2M 客户端配置的每个 LwM2M 服务器。\n当 Bootstrap-Server 资源的值为 'false' 时,必须设置此资源。\nID:0 和 ID:65535 的值不得用于标识 LwM2M 服务器。",
+ "short-id-tooltip-bootstrap": "服务器短 Id。用作关联服务器对象实例的链接。\n此标识符唯一标识为 LwM2M 客户端配置的每个 LwM2M 服务器。\n当 Bootstrap-Server 资源的值为 'false' 时,必须设置此资源。",
+ "short-id-required": "服务器短 ID 为必填项。",
+ "short-id-range": "服务器短 ID 应在 {{ min }} 到 {{ max }} 的范围内。",
+ "short-id-pattern": "服务器短 ID 必须为正整数。",
+ "short-id-pattern-bs": "服务器短 ID 必须仅为 null",
+ "lifetime": "客户端注册生命周期",
+ "lifetime-required": "客户端注册生命周期为必填项。",
+ "lifetime-pattern": "客户端注册生命周期必须为正整数。",
+ "default-min-period": "两次通知之间的最小周期(秒)",
+ "default-min-period-tooltip": "在观察中未包含此参数时,LwM2M 客户端应使用的默认最小观察周期值。",
+ "default-min-period-required": "最小周期为必填项。",
+ "default-min-period-pattern": "最小周期必须为正整数。",
+ "notification-storing": "禁用或离线时的通知存储",
+ "binding": "绑定",
+ "binding-type": {
+ "u": "U:客户端可随时通过 UDP 绑定访问。",
+ "m": "M:客户端可随时通过 MQTT 绑定访问。",
+ "h": "H:客户端可随时通过 HTTP 绑定访问。",
+ "t": "T:客户端可随时通过 TCP 绑定访问。",
+ "s": "S:客户端可随时通过 SMS 绑定访问。",
+ "n": "N:客户端必须通过非 IP 绑定发送此类请求的响应(自 LWM2M 1.1 起支持)。",
+ "uq": "UQ:UDP 队列模式连接(自 LWM2M 1.1 起不再支持)",
+ "uqs": "UQS:UDP 和 SMS 连接同时活动;UDP 为队列模式,SMS 为标准模式(自 LWM2M 1.1 起不再支持)",
+ "tq": "TQ:TCP 队列模式连接(自 LWM2M 1.1 起不再支持)",
+ "tqs": "TQS:TCP 和 SMS 连接同时活动;TCP 为队列模式,SMS 为标准模式(自 LWM2M 1.1 起不再支持)",
+ "sq": "SQ:SMS 队列模式连接(自 LWM2M 1.1 起不再支持)"
+ },
+ "binding-tooltip": "这是 LwM2M 服务器对象 - /1/x/7 中“binding”资源的列表。\n指示 LwM2M 客户端支持的绑定模式。\n此值应与设备对象 (/3/0/16) 中“Supported Binding and Modes”资源的值相同。\n虽然支持多种传输方式,但在整个传输会话期间只能使用一种传输绑定。\n例如,当同时支持 UDP 和 SMS 时,LwM2M 客户端和 LwM2M 服务器可以选择在整个传输会话期间通过 UDP 或 SMS 进行通信。",
+ "bootstrap-server": "Bootstrap 服务器",
+ "lwm2m-server": "LwM2M 服务器",
+ "include-bootstrap-server": "包含 Bootstrap 服务器更新",
+ "bootstrap-update-title": "您已配置了 Bootstrap 服务器。确定要排除更新吗?",
+ "bootstrap-update-text": "请注意,确认后 Bootstrap 服务器配置数据将无法恢复。",
+ "server-host": "主机",
+ "server-host-required": "主机为必填项。",
+ "server-port": "端口",
+ "server-port-required": "端口为必填项。",
+ "server-port-pattern": "端口必须为正整数。",
+ "server-port-range": "端口应在 1 到 65535 的范围内。",
+ "server-public-key": "服务器公钥",
+ "server-public-key-required": "服务器公钥为必填项。",
+ "client-hold-off-time": "Hold Off 时间",
+ "client-hold-off-time-required": "Hold Off 时间为必填项。",
+ "client-hold-off-time-pattern": "Hold Off 时间必须为正整数。",
+ "client-hold-off-time-tooltip": "Client Hold Off 时间仅用于 Bootstrap 服务器",
+ "account-after-timeout": "超时后的账户",
+ "account-after-timeout-required": "超时后的账户为必填项。",
+ "account-after-timeout-pattern": "超时后的账户必须为正整数。",
+ "account-after-timeout-tooltip": "Bootstrap 服务器在此资源给定的超时值后的账户。",
+ "server-type": "服务器类型",
+ "add-new-server-title": "添加新服务器配置",
+ "add-server-config": "添加服务器配置",
+ "add-lwm2m-server-config": "添加 LwM2M 服务器",
+ "no-config-servers": "未配置服务器",
+ "others-tab": "其他设置",
+ "ota-update": "OTA 更新",
+ "use-object-19-for-ota-update": "使用 Object 19 获取 OTA 文件元数据(校验和、大小、版本、名称)",
+ "use-object-19-for-ota-update-hint": "使用 Resource ObjectId = 19 进行 OTA 更新:FirmWare → InstanceId = 65534,SoftWare → InstanceId = 65535。数据格式为 Base64 包装的 JSON。此 JSON 包含 OTA 文件元数据(文件信息):\"Checksum\" (SHA256)。附加字段:\"Title\"(OTA 名称)、\"Version\"(OTA 版本)、\"File Name\"(在客户端存储 OTA 的文件名)、\"File Size\"(OTA 大小,以字节为单位)。",
+ "client-strategy": "连接时的客户端策略",
+ "client-strategy-label": "策略",
+ "client-strategy-only-observe": "初始连接后仅向客户端发送 Observe 请求",
+ "client-strategy-read-all": "注册后读取所有资源并向客户端发送 Observe 请求",
+ "fw-update": "固件更新",
+ "fw-update-strategy": "固件更新策略",
+ "fw-update-strategy-data": "使用 Object 19 和 Resource 0 (Data) 以二进制文件推送固件更新",
+ "fw-update-strategy-package": "使用 Object 5 和 Resource 0 (Package) 以二进制文件推送固件更新",
+ "fw-update-strategy-package-uri": "自动生成唯一 CoAP URL 下载软件包,并以 Object 5 和 Resource 1 (Package URI) 推送固件更新",
+ "sw-update": "软件更新",
+ "sw-update-strategy": "软件更新策略",
+ "sw-update-strategy-package": "使用 Object 9 和 Resource 2 (Package) 推送二进制文件",
+ "sw-update-strategy-package-uri": "自动生成唯一 CoAP URL 下载软件包,并使用 Object 9 和 Resource 3 (Package URI) 推送软件更新",
+ "fw-update-resource": "固件更新 CoAP 资源",
+ "fw-update-resource-required": "固件更新 CoAP 资源为必填项。",
+ "sw-update-resource": "软件更新 CoAP 资源",
+ "sw-update-resource-required": "软件更新 CoAP 资源为必填项。",
+ "config-json-tab": "Json 配置设备配置",
+ "attributes-name": {
+ "min-period": "最小周期",
+ "max-period": "最大周期",
+ "greater-than": "大于",
+ "less-than": "小于",
+ "step": "步长",
+ "min-evaluation-period": "最小评估周期",
+ "max-evaluation-period": "最大评估周期"
+ },
+ "default-object-id": "默认对象版本(属性)",
+ "default-object-id-ver": {
+ "v1-0": "1.0",
+ "v1-1": "1.1",
+ "v1-2": "1.2"
+ },
+ "observe-strategy": {
+ "observe-strategy": "观察策略",
+ "single": "单个",
+ "single-description": "每个资源一个 Observe 请求(精度更高,网络流量更大)",
+ "composite-all": "全部组合",
+ "composite-all-description": "所有资源使用单个 Composite Observe 请求进行观察(更高效,灵活性较低)",
+ "composite-by-object": "按对象组合",
+ "composite-by-object-description": "资源按对象类型分组,使用单独的 Composite Observe 请求进行观察(平衡方案)"
+ },
+ "init-attr-tel-as-obs-strategy": "使用观察策略初始化属性和遥测",
+ "init-attr-tel-as-obs-strategy-hint": "如果为 false,属性和遥测通过逐一读取其值来初始化。\\n如果为 true,属性和遥测通过使用观察策略订阅其值来初始化。"
+ },
+ "snmp": {
+ "add-communication-config": "添加通信配置",
+ "add-mapping": "添加映射",
+ "authentication-passphrase": "认证密码短语",
+ "authentication-passphrase-required": "认证密码短语为必填项。",
+ "authentication-protocol": "认证协议",
+ "authentication-protocol-required": "认证协议为必填项。",
+ "communication-configs": "通信配置",
+ "community": "Community 字符串",
+ "community-required": "Community 字符串为必填项。",
+ "context-name": "上下文名称",
+ "data-key": "数据键",
+ "data-key-required": "数据键为必填项。",
+ "data-type": "数据类型",
+ "data-type-required": "数据类型为必填项。",
+ "engine-id": "Engine ID",
+ "host": "主机",
+ "host-required": "主机为必填项。",
+ "oid": "OID",
+ "oid-pattern": "OID 格式无效。",
+ "oid-required": "OID 为必填项。",
+ "please-add-communication-config": "请添加通信配置",
+ "please-add-mapping-config": "请添加映射配置",
+ "port": "端口",
+ "port-format": "端口格式无效。",
+ "port-required": "端口为必填项。",
+ "privacy-passphrase": "隐私密码短语",
+ "privacy-passphrase-required": "隐私密码短语为必填项。",
+ "privacy-protocol": "隐私协议",
+ "privacy-protocol-required": "隐私协议为必填项。",
+ "protocol-version": "协议版本",
+ "protocol-version-required": "协议版本为必填项。",
+ "querying-frequency": "查询频率(毫秒)",
+ "querying-frequency-invalid-format": "查询频率必须为正整数。",
+ "querying-frequency-required": "查询频率为必填项。",
+ "retries": "重试次数",
+ "retries-invalid-format": "重试次数必须为正整数。",
+ "retries-required": "重试次数为必填项。",
+ "scope": "范围",
+ "scope-required": "范围为必填项。",
+ "security-name": "安全名称",
+ "security-name-required": "安全名称为必填项。",
+ "timeout-ms": "超时(毫秒)",
+ "timeout-ms-invalid-format": "超时必须为正整数。",
+ "timeout-ms-required": "超时为必填项。",
+ "user-name": "用户名",
+ "user-name-required": "用户名为必填项。"
+ }
+ },
+ "dialog": {
+ "close": "关闭对话框",
+ "error-message-title": "错误消息:",
+ "error-details-title": "错误详情"
+ },
+ "direction": {
+ "column": "列",
+ "row": "行"
+ },
+ "edge": {
+ "edge": "Edge",
+ "edge-instances": "Edge 实例",
+ "instances": "实例",
+ "edge-file": "Edge 文件",
+ "name-max-length": "名称长度不能超过 256",
+ "label-max-length": "标签长度不能超过 256",
+ "type-max-length": "类型长度不能超过 256",
+ "management": "Edge 管理",
+ "no-edges-matching": "未找到与 '{{entity}}' 匹配的 Edge。",
+ "add": "添加 Edge",
+ "no-edges-text": "未找到 Edge",
+ "edge-details": "Edge 详情",
+ "add-edge-text": "添加新 Edge",
+ "delete": "删除 Edge",
+ "delete-edge-title": "确定要删除 Edge '{{edgeName}}' 吗?",
+ "delete-edge-text": "请注意,确认后 Edge 及所有相关数据将无法恢复。",
+ "delete-edges-title": "确定要删除 { count, plural, =1 {1 个 Edge} other {# 个 Edge} } 吗?",
+ "delete-edges-text": "请注意,确认后所有选中的 Edge 将被移除,所有相关数据将无法恢复。",
+ "name": "名称",
+ "name-starts-with": "Edge 名称开头为",
+ "name-required": "名称为必填项。",
+ "description": "描述",
+ "details": "详情",
+ "events": "事件",
+ "copy-id": "复制 Edge Id",
+ "id-copied-message": "Edge Id 已复制到剪贴板",
+ "sync": "同步 Edge",
+ "edge-required": "Edge 为必填项",
+ "edge-type": "Edge 类型",
+ "edge-type-required": "Edge 类型为必填项。",
+ "event-action": "事件操作",
+ "entity-id": "实体 ID",
+ "select-edge-type": "选择 Edge 类型",
+ "assign-to-customer": "分配给客户",
+ "assign-to-customer-text": "请选择要分配 Edge 的客户",
+ "assign-edge-to-customer": "将 Edge 分配给客户",
+ "assign-edge-to-customer-text": "请选择要分配给客户的 Edge",
+ "assignedToCustomer": "已分配给客户",
+ "edge-public": "Edge 为公开",
+ "assigned-to-customer": "已分配给:{{customerTitle}}",
+ "unassign-from-customer": "取消分配客户",
+ "unassign-edge-title": "确定要取消分配 Edge '{{edgeName}}' 吗?",
+ "unassign-edge-text": "确认后,Edge 将被取消分配,客户将无法访问。",
+ "unassign-edges-title": "确定要取消分配 { count, plural, =1 {1 个 Edge} other {# 个 Edge} } 吗?",
+ "unassign-edges-text": "确认后,所有选中的 Edge 将被取消分配,客户将无法访问。",
+ "make-public": "将 Edge 设为公开",
+ "make-public-edge-title": "确定要将 Edge '{{edgeName}}' 设为公开吗?",
+ "make-public-edge-text": "确认后,Edge 及其所有数据将设为公开并可被其他人访问。",
+ "make-private": "将 Edge 设为私有",
+ "public": "公开",
+ "make-private-edge-title": "确定要将 Edge '{{edgeName}}' 设为私有吗?",
+ "make-private-edge-text": "确认后,Edge 及其所有数据将设为私有,其他人将无法访问。",
+ "import": "导入 Edge",
+ "install-connect-instructions": "安装和连接说明",
+ "install-connect-instructions-edge-created": "Edge 已创建!请查看安装和连接说明",
+ "loading-edge-instructions": "正在加载 Edge 说明...",
+ "label": "标签",
+ "load-entity-error": "加载数据失败。实体已被删除。",
+ "assign-new-edge": "分配新 Edge",
+ "unassign-from-edge": "取消分配 Edge",
+ "edge-key": "Edge 密钥",
+ "copy-edge-key": "复制 Edge 密钥",
+ "edge-key-copied-message": "Edge 密钥已复制到剪贴板",
+ "edge-secret": "Edge 密码",
+ "copy-edge-secret": "复制 Edge 密码",
+ "edge-secret-copied-message": "Edge 密码已复制到剪贴板",
+ "manage-assets": "管理资产",
+ "manage-devices": "管理设备",
+ "manage-entity-views": "管理实体视图",
+ "manage-dashboards": "管理仪表板",
+ "manage-rulechains": "管理规则链",
+ "assets": "Edge 资产",
+ "devices": "Edge 设备",
+ "entity-views": "Edge 实体视图",
+ "dashboard": "Edge 仪表板",
+ "dashboards": "Edge 仪表板",
+ "rulechain-templates": "规则链模板",
+ "edge-rulechain-templates": "Edge 规则链模板",
+ "rulechains": "Edge 规则链",
+ "search": "搜索 Edge",
+ "selected-edges": "{ count, plural, =1 {1 个 Edge} other {# 个 Edge} }已选择",
+ "any-edge": "任意 Edge",
+ "no-edge-types-matching": "未找到与 '{{entitySubtype}}' 匹配的 Edge 类型。",
+ "edge-type-list-empty": "未选择 Edge 类型。",
+ "edge-types": "Edge 类型",
+ "enter-edge-type": "输入 Edge 类型",
+ "deployed": "已部署",
+ "pending": "待处理",
+ "downlinks": "下行链路",
+ "no-downlinks-prompt": "未找到下行链路",
+ "sync-process-started-successfully": "同步过程已成功启动!",
+ "missing-related-rule-chains-title": "Edge 缺少关联的规则链",
+ "missing-related-rule-chains-text": "分配给 Edge 的规则链使用了将消息转发到未分配给此 Edge 的规则链的规则节点。${metadataKey} 获取元数据中的值,使用 $[messageKey] 获取消息体中的值",
+ "cc-template": "抄送",
+ "bcc-template": "密送",
+ "subject-template": "主题",
+ "subject-template-required": "主题模板为必填项",
+ "body-template": "正文",
+ "body-template-required": "正文模板为必填项",
+ "dynamic-mail-body-type": "动态邮件正文类型",
+ "mail-body-type": "邮件正文类型",
+ "body-type-template": "正文类型模板",
+ "reply-routing-configuration": "回复路由配置",
+ "rpc-reply-routing-configuration-hint": "这些配置参数指定用于标识服务、会话和请求的元数据键名称,以便发送回复。",
+ "reply-routing-configuration-hint": "这些配置参数指定用于标识服务和请求的元数据键名称,以便发送回复。",
+ "request-id-metadata-attribute": "请求 Id",
+ "service-id-metadata-attribute": "服务 Id",
+ "session-id-metadata-attribute": "会话 Id",
+ "timeout-sec": "超时时间(秒)",
+ "timeout-required": "超时时间为必填项",
+ "min-timeout-message": "最小超时值仅允许为 0。",
+ "endpoint-url-pattern": "Endpoint URL 模式",
+ "endpoint-url-pattern-required": "Endpoint URL 模式为必填项",
+ "request-method": "请求方法",
+ "use-simple-client-http-factory": "使用简单客户端 HTTP 工厂",
+ "ignore-request-body": "无请求体",
+ "parse-to-plain-text": "解析为纯文本",
+ "parse-to-plain-text-hint": "如果选中,请求体消息载荷将从 JSON 字符串转换为纯文本,例如 msg = \"Hello,\\t\"world\"\" 将解析为 Hello, \"world\"",
+ "read-timeout": "读取超时时间(毫秒)",
+ "read-timeout-hint": "值为 0 表示无限超时",
+ "max-parallel-requests-count": "最大并行请求数",
+ "max-parallel-requests-count-hint": "值为 0 表示不限制并行处理",
+ "max-response-size": "最大响应大小(KB)",
+ "max-response-size-hint": "解码或编码 HTTP 消息(如 JSON 或 XML 载荷)时分配用于缓冲数据的最大内存量",
+ "headers": "请求头",
+ "headers-hint": "在请求头/值字段中使用 ${metadataKey} 获取元数据中的值,使用 $[messageKey] 获取消息体中的值",
+ "header": "请求头",
+ "header-required": "请求头为必填项",
+ "value": "值",
+ "value-required": "值为必填项",
+ "topic-pattern": "主题模式",
+ "key-pattern": "键模式",
+ "key-pattern-hint": "可选。如果指定了有效的分区号,则在发送记录时将使用该分区号。如果未指定分区,则使用键代替。如果两者都未指定,将以轮询方式分配分区。",
+ "topic-pattern-required": "主题模式为必填项",
+ "topic": "主题",
+ "topic-required": "主题为必填项",
+ "bootstrap-servers": "Bootstrap 服务器",
+ "bootstrap-servers-required": "Bootstrap 服务器值为必填项",
+ "other-properties": "其他属性",
+ "key": "键",
+ "key-required": "键为必填项",
+ "retries": "失败时自动重试次数",
+ "min-retries-message": "最小重试次数仅允许为 0。",
+ "batch-size-bytes": "生产者批量大小(字节)",
+ "min-batch-size-bytes-message": "最小批量大小仅允许为 0。",
+ "linger-ms": "本地缓冲时间(毫秒)",
+ "min-linger-ms-message": "最小值仅允许为 0 毫秒。",
+ "buffer-memory-bytes": "客户端缓冲区最大大小(字节)",
+ "min-buffer-memory-message": "最小缓冲区大小仅允许为 0。",
+ "memory-buffer-size-range": "内存缓冲区大小必须在 0 到 {{max}} KB 之间",
+ "acks": "确认数",
+ "topic-arn-pattern": "主题 ARN 模式",
+ "topic-arn-pattern-required": "主题 ARN 模式为必填项",
+ "aws-access-key-id": "AWS Access Key ID",
+ "aws-access-key-id-required": "AWS Access Key ID 为必填项",
+ "aws-secret-access-key": "AWS Secret Access Key",
+ "aws-secret-access-key-required": "AWS Secret Access Key 为必填项",
+ "aws-region": "AWS 区域",
+ "aws-region-required": "AWS 区域为必填项",
+ "exchange-name-pattern": "Exchange 名称模式",
+ "routing-key-pattern": "路由键模式",
+ "message-properties": "消息属性",
+ "host": "主机",
+ "host-required": "主机为必填项",
+ "port": "端口",
+ "port-required": "端口为必填项",
+ "port-range": "端口应在 1 到 65535 的范围内。",
+ "virtual-host": "虚拟主机",
+ "username": "用户名",
+ "password": "密码",
+ "automatic-recovery": "自动恢复",
+ "connection-timeout-ms": "连接超时时间(毫秒)",
+ "min-connection-timeout-ms-message": "最小值仅允许为 0 毫秒。",
+ "handshake-timeout-ms": "握手超时时间(毫秒)",
+ "min-handshake-timeout-ms-message": "最小值仅允许为 0 毫秒。",
+ "client-properties": "客户端属性",
+ "queue-url-pattern": "队列 URL 模式",
+ "queue-url-pattern-required": "队列 URL 模式为必填项",
+ "delay-seconds": "延迟(秒)",
+ "min-delay-seconds-message": "最小值仅允许为 0 秒。",
+ "max-delay-seconds-message": "最大值仅允许为 900 秒。",
+ "name": "名称",
+ "name-required": "名称为必填项",
+ "queue-type": "队列类型",
+ "sqs-queue-standard": "标准",
+ "sqs-queue-fifo": "FIFO",
+ "gcp-project-id": "GCP 项目 ID",
+ "gcp-project-id-required": "GCP 项目 ID 为必填项",
+ "gcp-service-account-key": "GCP 服务账号密钥文件",
+ "gcp-service-account-key-required": "GCP 服务账号密钥文件为必填项",
+ "pubsub-topic-name": "主题名称",
+ "pubsub-topic-name-required": "主题名称为必填项",
+ "message-attributes": "消息属性",
+ "message-attributes-hint": "在名称/值字段中使用 ${metadataKey} 获取元数据中的值,使用 $[messageKey] 获取消息体中的值",
+ "connect-timeout": "连接超时时间(秒)",
+ "connect-timeout-required": "连接超时时间为必填项。",
+ "connect-timeout-range": "连接超时时间应在 1 到 200 的范围内。",
+ "client-id": "Client ID",
+ "client-id-hint": "可选。留空将自动生成 Client ID。指定 Client ID 时请谨慎。大多数 MQTT 代理不允许使用相同 Client ID 的多个连接。要连接到此类代理,您的 MQTT Client ID 必须唯一。当平台以微服务模式运行时,规则节点的副本会在每个微服务中启动。这将自动导致多个具有相同 ID 的 MQTT 客户端,并可能导致规则节点故障。为避免此类故障,请启用下方的“将 Service ID 作为后缀添加到 Client ID”选项。",
+ "append-client-id-suffix": "将 Service ID 作为后缀添加到 Client ID",
+ "client-id-suffix-hint": "可选。在明确指定“Client ID”时适用。如果选中,Service ID 将作为后缀添加到 Client ID。有助于避免平台以微服务模式运行时的故障。",
+ "device-id": "设备 ID",
+ "device-id-required": "设备 ID 为必填项。",
+ "clean-session": "清除会话",
+ "enable-ssl": "启用 SSL",
+ "credentials": "凭据",
+ "credentials-type": "凭据类型",
+ "credentials-type-required": "凭据类型为必填项。",
+ "credentials-anonymous": "匿名",
+ "credentials-basic": "基本",
+ "credentials-pem": "PEM",
+ "credentials-pem-hint": "至少需要服务器 CA 证书文件或客户端证书和客户端私钥文件对",
+ "credentials-sas": "共享访问签名",
+ "sas-key": "SAS 密钥",
+ "sas-key-required": "SAS 密钥为必填项。",
+ "hostname": "主机名",
+ "hostname-required": "主机名为必填项。",
+ "azure-ca-cert": "CA 证书文件",
+ "username-required": "用户名为必填项。",
+ "password-required": "密码为必填项。",
+ "ca-cert": "服务器 CA 证书文件",
+ "private-key": "客户端私钥文件",
+ "cert": "客户端证书文件",
+ "no-file": "未选择文件。",
+ "drop-file": "拖放文件或点击以选择要上传的文件。",
+ "private-key-password": "私钥密码",
+ "use-system-smtp-settings": "使用系统 SMTP 设置",
+ "use-metadata-dynamic-interval": "使用动态间隔",
+ "metadata-dynamic-interval-hint": "间隔开始和结束输入字段支持模板化。请注意,替换后的模板值应以毫秒为单位设置。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。",
+ "use-metadata-interval-patterns-hint": "如果选中,规则节点将使用消息元数据或数据中的开始和结束间隔模式(假设间隔以毫秒为单位)。",
+ "use-message-alarm-data": "使用消息告警数据",
+ "overwrite-alarm-details": "覆盖告警详情",
+ "use-alarm-severity-pattern": "使用告警严重程度模式",
+ "check-all-keys": "检查所有指定字段是否存在",
+ "check-all-keys-hint": "如果选中,将检查所有指定的键是否存在于消息数据和元数据中。",
+ "check-relation-to-specific-entity": "检查与特定实体的关联",
+ "check-relation-to-specific-entity-tooltip": "如果启用,将检查与特定实体的关联是否存在;否则,检查与任意实体的关联是否存在。在两种情况下,关联查找都基于配置的方向和类型。",
+ "check-relation-hint": "根据方向和关联类型检查与特定实体或任意实体的关联是否存在。",
+ "delete-relation-with-specific-entity": "删除与特定实体的关联",
+ "delete-relation-with-specific-entity-hint": "如果启用,将仅删除与一个特定实体的关联。否则,将删除与所有匹配实体的关联。",
+ "delete-relation-hint": "根据方向和类型,从传入消息的发起者删除到指定实体或实体列表的关联。",
+ "remove-current-relations": "移除当前关联",
+ "remove-current-relations-hint": "根据方向和类型,移除传入消息发起者的当前关联。",
+ "change-originator-to-related-entity": "将发起者更改为关联实体",
+ "change-originator-to-related-entity-hint": "用于将提交的消息作为来自另一个实体的消息进行处理。",
+ "start-interval": "间隔开始",
+ "end-interval": "间隔结束",
+ "start-interval-required": "间隔开始为必填项。",
+ "end-interval-required": "间隔结束为必填项。",
+ "smtp-protocol": "协议",
+ "smtp-host": "SMTP 主机",
+ "smtp-host-required": "SMTP 主机为必填项。",
+ "smtp-port": "SMTP 端口",
+ "smtp-port-required": "必须提供 SMTP 端口。",
+ "smtp-port-range": "SMTP 端口应在 1 到 65535 的范围内。",
+ "timeout-msec": "超时时间(毫秒)",
+ "min-timeout-msec-message": "最小值仅允许为 0 毫秒。",
+ "enter-username": "输入用户名",
+ "enter-password": "输入密码",
+ "enable-tls": "启用 TLS",
+ "tls-version": "TLS 版本",
+ "enable-proxy": "启用代理",
+ "use-system-proxy-properties": "使用系统代理属性",
+ "proxy-host": "代理主机",
+ "proxy-host-required": "代理主机为必填项。",
+ "proxy-port": "代理端口",
+ "proxy-port-required": "代理端口为必填项。",
+ "proxy-port-range": "代理端口应在 1 到 65535 的范围内。",
+ "proxy-user": "代理用户",
+ "proxy-password": "代理密码",
+ "proxy-scheme": "代理方案",
+ "numbers-to-template": "电话号码收件人模板",
+ "numbers-to-template-required": "电话号码收件人模板为必填项",
+ "numbers-to-template-hint": "逗号分隔的电话号码,使用 ${metadataKey} 获取元数据中的值,使用 $[messageKey] 获取消息体中的值",
+ "sms-message-template": "短信消息模板",
+ "sms-message-template-required": "短信消息模板为必填项",
+ "use-system-sms-settings": "使用系统短信提供商设置",
+ "min-period-0-seconds-message": "最小周期仅允许为 0 秒。",
+ "max-pending-messages": "最大待处理消息数",
+ "max-pending-messages-required": "最大待处理消息数为必填项。",
+ "max-pending-messages-range": "最大待处理消息数应在 1 到 100000 的范围内。",
+ "originator-types-filter": "发起者类型过滤器",
+ "interval-seconds": "间隔(秒)",
+ "interval-seconds-required": "间隔为必填项。",
+ "int-range": "值不得超过最大整数限制(2147483648)",
+ "min-interval-seconds-message": "最小间隔仅允许为 1 秒。",
+ "output-timeseries-key-prefix": "输出时间序列键前缀",
+ "output-timeseries-key-prefix-required": "输出时间序列键前缀为必填项。",
+ "separator-hint": "您应按“Enter”完成字段输入。",
+ "select-details": "选择详情",
+ "entity-details-id": "Id",
+ "entity-details-title": "标题",
+ "entity-details-country": "国家",
+ "entity-details-state": "省/州",
+ "entity-details-city": "城市",
+ "entity-details-zip": "邮编",
+ "entity-details-address": "地址",
+ "entity-details-address2": "地址2",
+ "entity-details-additional_info": "附加信息",
+ "entity-details-phone": "电话",
+ "entity-details-email": "Email",
+ "email-sender": "Email 发送者",
+ "fields-to-check": "要检查的字段",
+ "add-detail": "添加详情",
+ "check-all-keys-tooltip": "如果启用,将检查消息和元数据字段名称中列出的所有字段是否存在于传入消息及其元数据中。",
+ "fields-to-check-hint": "按“Enter”完成字段名称输入。支持多个字段名称。",
+ "entity-details-list-empty": "至少应选择一个详情。",
+ "alarm-status": "告警状态",
+ "alarm-required": "至少应选择一个告警状态。",
+ "no-entity-details-matching": "未找到匹配的实体详情。",
+ "custom-table-name": "自定义表名称",
+ "custom-table-name-required": "表名称为必填项",
+ "custom-table-hint": "该表必须在您的 Cassandra 集群中创建,且其名称必须以前缀 'cs_tb_' 开头,以避免将数据插入到通用 TB 表中。请在此处输入不带 'cs_tb_' 前缀的表名称。",
+ "message-field": "消息字段",
+ "message-field-required": "消息字段为必填项。",
+ "table-col": "表列",
+ "table-col-required": "表列为必填项。",
+ "latitude-field-name": "纬度字段名称",
+ "longitude-field-name": "经度字段名称",
+ "latitude-field-name-required": "纬度字段名称为必填项。",
+ "longitude-field-name-required": "经度字段名称为必填项。",
+ "fetch-perimeter-info-from-metadata": "从元数据获取边界信息",
+ "fetch-perimeter-info-from-metadata-tooltip": "如果边界类型设为“Polygon”,元数据字段 '{{perimeterKeyName}}' 的值将直接用作边界定义,不进行额外解析。否则,如果边界类型设为“Circle”,'{{perimeterKeyName}}' 元数据字段的值将被解析以提取 'latitude'、'longitude'、'radius'、'radiusUnit' 字段用于圆形边界定义。",
+ "perimeter-key-name": "边界键名称",
+ "perimeter-key-name-hint": "包含边界信息的元数据字段名称。",
+ "perimeter-key-name-required": "边界键名称为必填项。",
+ "perimeter-circle": "圆形",
+ "perimeter-polygon": "多边形",
+ "perimeter-type": "边界类型",
+ "circle-center-latitude": "中心纬度",
+ "circle-center-latitude-required": "中心纬度为必填项。",
+ "circle-center-longitude": "中心经度",
+ "circle-center-longitude-required": "中心经度为必填项。",
+ "range-unit-meter": "米",
+ "range-unit-kilometer": "千米",
+ "range-unit-foot": "英尺",
+ "range-unit-mile": "英里",
+ "range-unit-nautical-mile": "海里",
+ "range-units": "范围单位",
+ "range-units-required": "范围单位为必填项。",
+ "range": "范围",
+ "range-required": "范围为必填项。",
+ "polygon-definition": "多边形定义",
+ "polygon-definition-required": "多边形定义为必填项。",
+ "polygon-definition-hint": "使用以下格式手动定义多边形:[[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]]。",
+ "min-inside-duration": "最小内部持续时间",
+ "min-inside-duration-value-required": "最小内部持续时间为必填项",
+ "min-inside-duration-time-unit": "最小内部持续时间单位",
+ "min-outside-duration": "最小外部持续时间",
+ "min-outside-duration-value-required": "最小外部持续时间为必填项",
+ "min-outside-duration-time-unit": "最小外部持续时间单位",
+ "tell-failure-if-absent": "报告失败",
+ "tell-failure-if-absent-hint": "如果至少一个选定的键不存在,出站消息将报告“Failure”。",
+ "get-latest-value-with-ts": "获取最新遥测值的时间戳",
+ "get-latest-value-with-ts-hint": "如果选中,最新遥测值还将包含时间戳,例如:\"temp\": \"{\"ts\":1574329385897, \"value\":42}\"",
+ "ignore-null-strings": "忽略空字符串",
+ "ignore-null-strings-hint": "如果选中,规则节点将忽略值为空的实体字段。",
+ "add-metadata-key-values-as-kafka-headers": "将消息元数据键值对添加到 Kafka 记录头",
+ "add-metadata-key-values-as-kafka-headers-hint": "如果选中,消息元数据中的键值对将作为具有预定义字符集编码的字节数组添加到出站记录头。",
+ "charset-encoding": "字符集编码",
+ "charset-encoding-required": "字符集编码为必填项。",
+ "charset-us-ascii": "US-ASCII",
+ "charset-iso-8859-1": "ISO-8859-1",
+ "charset-utf-8": "UTF-8",
+ "charset-utf-16be": "UTF-16BE",
+ "charset-utf-16le": "UTF-16LE",
+ "charset-utf-16": "UTF-16",
+ "select-queue-hint": "队列名称可从下拉列表中选择或添加自定义名称。",
+ "device-profile-node-hint": "如果您有持续时间或重复条件,此功能可确保告警状态评估的连续性。",
+ "persist-alarm-rules": "持久化告警规则的状态",
+ "persist-alarm-rules-hint": "如果启用,规则节点将把处理状态存储到数据库。",
+ "fetch-alarm-rules": "获取告警规则的状态",
+ "fetch-alarm-rules-hint": "如果启用,规则节点将在初始化时恢复处理状态,并确保即使在服务器重启后也能触发告警。否则,状态将在设备的第一条消息到达时恢复。",
+ "input-value-key": "输入值键",
+ "input-value-key-required": "输入值键为必填项。",
+ "output-value-key": "输出值键",
+ "output-value-key-required": "输出值键为必填项。",
+ "number-of-digits-after-floating-point": "浮点数后的位数",
+ "number-of-digits-after-floating-point-range": "浮点数后的位数应在 0 到 15 的范围内。",
+ "failure-if-delta-negative": "如果差值为负则报告失败",
+ "failure-if-delta-negative-tooltip": "如果差值为负,规则节点将强制消息处理失败。",
+ "use-caching": "使用缓存",
+ "use-caching-tooltip": "规则节点将缓存来自传入消息的“{{inputValueKey}}”值以提高性能。请注意,如果您在其他位置修改了“{{inputValueKey}}”值,缓存将不会更新。",
+ "add-time-difference-between-readings": "添加“{{inputValueKey}}”读数之间的时间差",
+ "add-time-difference-between-readings-tooltip": "如果启用,规则节点将把“{{periodValueKey}}”添加到出站消息中。",
+ "period-value-key": "周期值键",
+ "period-value-key-required": "周期值键为必填项。",
+ "general-pattern-hint": "使用 ${metadataKey} 获取元数据中的值,使用 $[messageKey] 获取消息体中的值。",
+ "alarm-severity-pattern-hint": "使用 ${metadataKey} 获取元数据中的值,使用 $[messageKey] 获取消息体中的值。告警严重程度应为系统值(CRITICAL、MAJOR 等)",
+ "output-node-name-hint": "规则节点名称对应于出站消息的关联类型,用于将消息转发到调用者规则链中的其他规则节点。",
+ "use-server-ts": "使用服务器时间戳",
+ "use-server-ts-hint": "对缺少显式时间戳的时间序列数据使用服务器当前时间戳。这有助于在处理来自多个源的消息或消息乱序到达时保持正确的排序。",
+ "kv-map-pattern-hint": "所有输入字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。",
+ "kv-map-single-pattern-hint": "输入字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。",
+ "shared-scope": "共享范围",
+ "server-scope": "服务端范围",
+ "client-scope": "客户端范围",
+ "attribute-type": "属性",
+ "attribute-type-description": "从数据库获取属性值",
+ "attribute-type-result-description": "将结果作为实体属性存储到数据库",
+ "constant-type": "常量",
+ "constant-type-description": "定义常量值",
+ "time-series-type": "时间序列",
+ "time-series-type-description": "从数据库获取最新时间序列值",
+ "time-series-type-result-description": "将结果作为实体时间序列存储到数据库",
+ "message-body-type": "消息",
+ "message-body-type-description": "从传入消息获取参数值",
+ "message-body-type-result-description": "将结果添加到出站消息",
+ "message-metadata-type": "元数据",
+ "message-metadata-type-description": "从传入消息元数据获取参数值",
+ "message-metadata-result-description": "将结果添加到出站消息元数据",
+ "argument-tile": "参数",
+ "no-arguments-prompt": "未配置参数",
+ "result-title": "结果",
+ "functions-field-input": "函数",
+ "no-option-found": "未找到选项",
+ "argument-source-field-input": "来源",
+ "argument-source-field-input-required": "参数来源为必填项。",
+ "argument-key-field-input": "键",
+ "argument-key-field-input-required": "参数键为必填项。",
+ "constant-value-field-input": "常量值",
+ "constant-value-field-input-required": "常量值为必填项。",
+ "attribute-scope-field-input": "属性范围",
+ "attribute-scope-field-input-required": "属性范围为必填项。",
+ "default-value-field-input": "默认值",
+ "type-field-input": "类型",
+ "type-field-input-required": "类型为必填项。",
+ "key-field-input": "键",
+ "add-entity-type": "添加实体类型",
+ "add-device-profile": "添加设备配置",
+ "key-field-input-required": "键为必填项。",
+ "number-floating-point-field-input": "浮点数后的位数",
+ "number-floating-point-field-input-hint": "使用 0 将结果转换为整数",
+ "add-to-message-field-input": "添加到消息",
+ "add-to-metadata-field-input": "添加到元数据",
+ "custom-expression-field-input": "数学表达式",
+ "custom-expression-field-input-required": "数学表达式为必填项",
+ "custom-expression-field-input-hint": "指定要计算的数学表达式。默认表达式演示如何将华氏温度转换为摄氏温度",
+ "retained-message": "保留消息",
+ "attributes-mapping": "属性映射",
+ "latest-telemetry-mapping": "最新遥测映射",
+ "add-mapped-attribute-to": "将映射的属性添加到",
+ "add-mapped-latest-telemetry-to": "将映射的最新遥测添加到",
+ "add-mapped-fields-to": "将映射的字段添加到",
+ "add-selected-details-to": "将选定的详情添加到",
+ "clear-selected-types": "清除选定的类型",
+ "clear-selected-details": "清除选定的详情",
+ "clear-selected-fields": "清除选定的字段",
+ "clear-selected-keys": "清除选定的键",
+ "geofence-configuration": "地理围栏配置",
+ "coordinate-field-names": "坐标字段名称",
+ "coordinate-field-hint": "规则节点尝试从消息中检索指定的字段。如果不存在,将在元数据中查找。",
+ "presence-monitoring-strategy": "存在监测策略",
+ "presence-monitoring-strategy-on-first-message": "首条消息时",
+ "presence-monitoring-strategy-on-each-message": "每条消息时",
+ "presence-monitoring-strategy-on-first-message-hint": "在上一次存在状态“已进入”或“已离开”更新后,经过配置的最小持续时间,在第一条消息时报告存在状态“内部”或“外部”。",
+ "presence-monitoring-strategy-on-each-message-hint": "在存在状态“已进入”或“已离开”更新后,在每条消息时报告存在状态“内部”或“外部”。",
+ "fetch-credentials-to": "将凭据获取到",
+ "add-originator-attributes-to": "将发起者属性添加到",
+ "originator-attributes": "发起者属性",
+ "fetch-latest-telemetry-with-timestamp": "获取带时间戳的最新遥测",
+ "fetch-latest-telemetry-with-timestamp-tooltip": "如果选中,最新遥测值将带有时间戳添加到出站元数据,例如:\"{{latestTsKeyName}}\": \"{\"ts\":1574329385897, \"value\":42}\"",
+ "tell-failure": "如果任何属性缺失则报告失败",
+ "tell-failure-tooltip": "如果至少一个选定的键不存在,出站消息将报告“Failure”。",
+ "created-time": "创建时间",
+ "chip-help": "按 'Enter' 完成{{inputName}}输入。\n按 'Backspace' 删除{{inputName}}。\n支持多个值。",
+ "detail": "详情",
+ "field-name": "字段名称",
+ "device-profile": "设备配置",
+ "entity-type": "实体类型",
+ "message-type": "消息类型",
+ "timeseries-key": "时间序列键",
+ "type": "类型",
+ "first-name": "名",
+ "last-name": "姓",
+ "label": "标签",
+ "originator-fields-mapping": "发起者字段映射",
+ "add-mapped-originator-fields-to": "将映射的发起者字段添加到",
+ "fields": "字段",
+ "skip-empty-fields": "跳过空字段",
+ "skip-empty-fields-tooltip": "值为空的字段将不会添加到输出消息/输出元数据中。",
+ "fetch-interval": "获取间隔",
+ "fetch-strategy": "获取策略",
+ "fetch-timeseries-from-to": "获取从 {{startInterval}} {{startIntervalTimeUnit}} 前到 {{endInterval}} {{endIntervalTimeUnit}} 前的时间序列。",
+ "fetch-timeseries-from-to-invalid": "获取时间序列无效(“间隔开始”应小于“间隔结束”)。",
+ "use-metadata-dynamic-interval-tooltip": "如果选中,规则节点将基于消息和元数据模式使用动态间隔的开始和结束。",
+ "all-mode-hint": "如果选择了获取模式“All”,规则节点将使用可配置的查询参数从获取间隔中检索遥测。",
+ "first-mode-hint": "如果选择了获取模式“First”,规则节点将检索最接近获取间隔开始的遥测。",
+ "last-mode-hint": "如果选择了获取模式“Last”,规则节点将检索最接近获取间隔结束的遥测。",
+ "ascending": "升序",
+ "descending": "降序",
+ "min": "最小值",
+ "max": "最大值",
+ "average": "平均值",
+ "sum": "求和",
+ "count": "计数",
+ "none": "无",
+ "last-level-relation-tooltip": "如果选中,规则节点将仅在最大关联层级设定的层级上搜索关联实体。",
+ "last-level-device-relation-tooltip": "如果选中,规则节点将仅在最大关联层级设定的层级上搜索关联设备。",
+ "data-to-fetch": "要获取的数据",
+ "mapping-of-customers": "客户的映射",
+ "map-fields-required": "所有映射字段为必填项。",
+ "attributes": "属性",
+ "related-device-attributes": "关联设备属性",
+ "add-selected-attributes-to": "将选定的属性添加到",
+ "device-profiles": "设备配置",
+ "mapping-of-tenant": "租户的映射",
+ "add-attribute-key": "添加属性键",
+ "message-template": "消息模板",
+ "message-template-required": "消息模板为必填项",
+ "use-system-slack-settings": "使用系统 Slack 设置",
+ "slack-api-token": "Slack API Token",
+ "slack-api-token-required": "Slack API Token 为必填项",
+ "keys-mapping": "键映射",
+ "add-key": "添加键",
+ "recipients": "收件人",
+ "message-subject-and-content": "消息主题和内容",
+ "template-rules-hint": "两个输入字段均支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从消息元数据中提取值。",
+ "originator-customer-desc": "使用传入消息发起者的客户作为新发起者。",
+ "originator-tenant-desc": "使用当前租户作为新发起者。",
+ "originator-related-entity-desc": "使用关联实体作为新发起者。基于配置的关联类型和方向进行查找。",
+ "originator-alarm-originator-desc": "使用告警发起者作为新发起者。仅当传入消息发起者为告警实体时适用。",
+ "originator-entity-by-name-pattern-desc": "使用从数据库获取的实体作为新发起者。基于实体类型和指定的名称模式进行查找。",
+ "email-from-template-hint": "使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。",
+ "recipients-block-main-hint": "逗号分隔的地址列表。所有输入字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。",
+ "forward-msg-default-rule-chain": "将消息转发到发起者的默认规则链",
+ "forward-msg-default-rule-chain-tooltip": "如果启用,消息将转发到发起者的默认规则链;如果发起者在实体配置中未定义默认规则链,则使用配置中的规则链。",
+ "exclude-zero-deltas": "从出站消息中排除零差值",
+ "exclude-zero-deltas-hint": "如果启用,仅当“{{outputValueKey}}”输出键的值不为零时才将其添加到出站消息。",
+ "exclude-zero-deltas-time-difference-hint": "如果启用,仅当“{{outputValueKey}}”值不为零时,才将“{{outputValueKey}}”和“{{periodValueKey}}”输出键添加到出站消息。",
+ "search-direction-from": "从发起者到目标实体",
+ "search-direction-to": "从目标实体到发起者",
+ "del-relation-direction-from": "从发起者",
+ "del-relation-direction-to": "到发起者",
+ "target-entity": "目标实体",
+ "function-configuration": "函数配置",
+ "function-name": "函数名称",
+ "function-name-required": "函数名称为必填项。",
+ "qualifier": "限定符",
+ "qualifier-hint": "如果未指定限定符,将使用默认限定符 \"$LATEST\"。",
+ "aws-credentials": "AWS 凭据",
+ "connection-timeout": "连接超时时间",
+ "connection-timeout-required": "连接超时时间为必填项。",
+ "connection-timeout-min": "最小连接超时时间为 0。",
+ "connection-timeout-hint": "初始建立连接时在放弃并超时之前等待的时间(秒)。值为 0 表示无限,不推荐使用。",
+ "request-timeout": "请求超时时间",
+ "request-timeout-required": "请求超时时间为必填项",
+ "request-timeout-min": "最小请求超时时间为 0",
+ "request-timeout-hint": "等待请求完成后放弃并超时的时间(秒)。值为 0 表示无限,不推荐使用。",
+ "units": "单位",
+ "tell-failure-aws-lambda": "如果 AWS Lambda 函数执行引发异常则报告失败",
+ "tell-failure-aws-lambda-hint": "如果 AWS Lambda 函数执行引发异常,规则节点将强制消息处理失败。",
+ "basic-mode": "基本",
+ "advanced-mode": "高级",
+ "save-time-series": {
+ "processing-settings": "处理设置",
+ "processing-settings-hint": "定义传入消息的处理方式。基本处理设置允许您选择预配置的策略,而高级设置允许您为每个操作选择单独的处理策略。",
+ "advanced-settings-hint": "配置处理策略时请谨慎。某些组合可能导致意外行为。",
+ "strategy": "策略",
+ "deduplication-interval": "去重间隔",
+ "deduplication-interval-required": "去重间隔为必填项",
+ "deduplication-interval-min-max-range": "去重间隔应至少为 1 秒且最多为 1 天",
+ "strategy-type": {
+ "every-message": "每条消息",
+ "skip": "跳过",
+ "deduplicate": "去重",
+ "web-sockets-only": "仅 WebSockets"
+ },
+ "time-series": "时间序列",
+ "latest": "最新值",
+ "web-sockets": "WebSockets",
+ "calculated-fields-and-alarm-rules": "计算字段和告警规则"
+ },
+ "save-attribute": {
+ "processing-settings": "处理设置",
+ "processing-settings-hint": "定义传入消息的处理方式。基本处理设置允许您选择预配置的策略,而高级设置允许您为每个操作选择单独的处理策略。",
+ "advanced-settings-hint": "配置处理策略时请谨慎。某些组合可能导致意外行为。",
+ "strategy": "策略",
+ "deduplication-interval": "去重间隔",
+ "deduplication-interval-required": "去重间隔为必填项",
+ "deduplication-interval-min-max-range": "去重间隔应至少为 1 秒且最多为 1 天",
+ "scope": "范围",
+ "strategy-type": {
+ "every-message": "每条消息",
+ "skip": "跳过",
+ "deduplicate": "去重",
+ "web-sockets-only": "仅 WebSockets"
+ },
+ "attributes": "属性"
},
"key-val": {
- "key": "键名",
- "value": "数值",
- "remove-entry": "删除条目",
- "add-entry": "增加条目",
- "no-data": "没有条目"
- },
- "layout": {
- "layout": "布局",
- "layouts": "布局",
- "manage": "布局管理",
- "settings": "布局设置",
- "color": "颜色",
- "main": "主体",
- "right": "右侧",
- "left": "左侧",
- "select": "选择目标布局",
- "percentage-width": "百分比宽度(%)",
- "fixed-width": "固定(px)",
- "left-width": "左列(%)",
- "right-width": "右列(%)",
- "pick-fixed-side": "固定侧: ",
- "layout-fixed-width": "固定宽度(px)",
- "value-min-error": "值是必须大于{{min}}{{unit}}",
- "value-max-error": "值是必须小于{{max}}{{unit}}",
- "layout-fixed-width-required": "固定宽度必填",
- "right-width-percentage-required": "右侧百分比宽度必填",
- "left-width-percentage-required": "左侧百分比宽度必填",
- "divider": "分隔线",
- "right-side": "右侧布局",
- "left-side": "左侧布局",
- "add-new-breakpoint": "添加新的栅格",
- "breakpoint": "栅格",
- "breakpoints": "栅格",
- "copy-from": "复制",
- "size": "尺寸",
- "delete-breakpoint-title": "确定要删除栅格'{{name}}'吗?",
- "delete-breakpoint-text": "请注意确认后栅格将无法恢复并且将使用默认栅格。"
- },
- "legend": {
- "direction": "图例方向",
- "position": "图例位置",
- "show-values": "显示数值",
- "min-option": "最小值",
- "max-option": "最大值",
- "average-option": "平均值",
- "total-option": "总数",
- "latest-option": "最新值",
- "sort-legend": "在图例中排序数据键",
- "show-max": "显示最大值",
- "show-min": "显示最小值",
- "show-avg": "显示平均值",
- "show-total": "显示总数",
- "show-latest": "显示最新值",
- "settings": "设置图例",
- "min": "最小值",
- "max": "最大值",
- "avg": "平均值",
- "total": "总数",
- "latest": "最新值",
- "Min": "最小值",
- "Max": "最大值",
- "Avg": "平均值",
- "Total": "总数",
- "Latest": "最新值",
- "comparison-time-ago": {
- "previousInterval": "(历史间隔)",
- "customInterval": "(自定义间隔)",
- "days": "(一天前)",
- "weeks": "(一周前)",
- "months": "(一个月前)",
- "years": "(一年前)"
- },
- "column-title": "标题",
- "label": "标签",
- "value": "数值"
- },
- "login": {
- "login": "登录",
- "request-password-reset": "请求密码重置",
- "reset-password": "重置密码",
- "create-password": "创建密码",
- "two-factor-authentication": "双因素认证",
- "passwords-mismatch-error": "输入的密码必须相同!",
- "password-again": "再次输入密码",
- "username": "用户名(电子邮件)",
- "remember-me": "记住我",
- "forgot-password": "忘记密码?",
- "password-reset": "密码重置",
- "expired-password-reset-message": "您的凭据已过期!请创建密码。",
- "new-password": "新密码",
- "new-password-again": "再次输入新密码",
- "password-link-sent-message": "密码重置链接已成功发送!",
- "email": "电子邮件",
- "invalid-email-format": "email格式无效。",
- "login-with": "使用{{name}}登录",
- "or": "或",
- "error": "登录错误",
- "verify-your-identity": "身份验证",
- "select-way-to-verify": "选择验证方式",
- "resend-code": "重发验证码",
- "resend-code-wait": "{ time, plural, =1 {1 秒} other {# 秒} }后重发验证码",
- "try-another-way": "尝试其他方法",
- "totp-auth-description": "请从验证APP中查看验证码。",
- "totp-auth-placeholder": "验证码",
- "sms-auth-description": "验证码已发送到手机号码{{contact}}。",
- "sms-auth-placeholder": "SMS 验证码",
- "email-auth-description": "验证码已发送到电子邮箱地址{{contact}}。",
- "email-auth-placeholder": "电子邮件验证码",
- "backup-code-auth-description": "请输入一个备份验证码。",
- "backup-code-auth-placeholder": "备份验证码",
- "activation-link-expired": "激活链接已过期",
- "activation-link-expired-message": "您的激活链接已过期返回登录页面重新发送电子邮件。",
- "reset-password-link-expired": "密码重置链接已过期",
- "reset-password-link-expired-message": "重置密码链接已过期返回登录页面重新发送电子邮件。"
+ "key": "键",
+ "value": "值",
+ "see-examples": "查看示例。",
+ "remove-entry": "移除条目",
+ "remove-mapping-entry": "移除映射条目",
+ "add-mapping-entry": "添加映射",
+ "add-entry": "添加条目",
+ "copy-key-values-from": "复制键值来源",
+ "delete-key-values": "删除键值",
+ "delete-key-values-from": "删除键值来源",
+ "at-least-one-key-error": "至少应选择一个键。",
+ "unique-key-value-pair-error": "“{{keyText}}”必须与“{{valText}}”不同!"
},
- "markdown": {
- "edit": "编辑",
- "preview": "预览",
- "copy-code": "点击复制",
- "copied": "复制完成"
+ "mail-body-types": {
+ "plain-text": "纯文本",
+ "html": "HTML",
+ "dynamic": "动态",
+ "use-body-type-template": "使用正文类型模板",
+ "plain-text-description": "简单的无格式文本,没有特殊样式或格式。",
+ "html-text-description": "允许您在邮件正文中使用 HTML 标签进行格式化、链接和图片。",
+ "dynamic-text-description": "允许基于模板化功能动态使用纯文本或 HTML 正文类型。",
+ "after-template-evaluation-hint": "模板评估后,值应为 true 表示 HTML,false 表示纯文本。"
+ },
+ "ai": {
+ "ai-model": "AI 模型",
+ "model": "模型",
+ "ai-model-hint": "选择此规则节点用于处理请求的预配置 AI 模型,或使用“新建”来配置新模型。",
+ "prompt-settings": "提示词设置",
+ "prompt-settings-hint": "可选的系统提示词设置 AI 的一般角色和约束,而用户提示词定义要执行的具体任务。两个字段均支持模板化。",
+ "system-prompt": "系统提示词",
+ "system-prompt-max-length": "系统提示词不得超过 500000 个字符。",
+ "system-prompt-blank": "系统提示词不能为空。",
+ "user-prompt": "用户提示词",
+ "user-prompt-required": "用户提示词为必填项。",
+ "user-prompt-max-length": "用户提示词不得超过 500000 个字符。",
+ "user-prompt-blank": "用户提示词不能为空。",
+ "response-format": "响应格式",
+ "response-text": "文本",
+ "response-json": "JSON",
+ "response-json-schema": "JSON Schema",
+ "response-format-hint-TEXT": "允许模型生成任意文本,该文本可能是或不是有效的 JSON 对象。如果输出不是有效的 JSON 对象,将自动包装在 \"response\" 键下的 JSON 对象中。",
+ "response-format-hint-JSON": "要求模型生成有效的 JSON 响应。如果输出不是有效的 JSON 对象,将自动包装在 \"response\" 键下的 JSON 对象中。",
+ "response-format-hint-JSON_SCHEMA": "要求模型生成与提供的 schema 中定义的特定结构和数据类型匹配的 JSON。如果输出不是有效的 JSON 对象,将自动包装在 \"response\" 键下的 JSON 对象中。",
+ "response-json-schema-hint": "虽然可以输入任何有效的 JSON Schema,但此规则节点仅支持其功能的有限子集。详情请参阅节点文档。",
+ "response-json-schema-required": "JSON Schema 为必填项",
+ "advanced-settings": "高级设置",
+ "timeout": "超时时间",
+ "timeout-hint": "等待 AI 模型响应的最大时间,\n超过此时间请求将被终止。",
+ "timeout-required": "超时时间为必填项",
+ "timeout-validation": "必须为 1 秒到 10 分钟之间。",
+ "force-acknowledgement": "强制确认",
+ "force-acknowledgement-hint": "如果启用,传入消息将立即被确认。然后模型的响应将作为单独的新消息入队。",
+ "ai-resources": "AI 资源"
+ }
+ },
+ "timezone": {
+ "timezone": "时区",
+ "select-timezone": "选择时区",
+ "no-timezones-matching": "未找到与“{{timezone}}”匹配的时区。",
+ "timezone-required": "时区为必填项。",
+ "browser-time": "浏览器时间"
+ },
+ "queue": {
+ "queue-name": "队列",
+ "no-queues-found": "未找到队列。",
+ "no-queues-matching": "未找到与“{{queue}}”匹配的队列。",
+ "select-name": "选择队列名称",
+ "name": "名称",
+ "name-required": "队列名称为必填项!",
+ "name-unique": "队列名称不唯一!",
+ "name-pattern": "队列名称包含 ASCII 字母数字、“.”、“_”和“-”以外的字符!",
+ "queue-required": "队列为必填项!",
+ "topic-required": "队列主题为必填项!",
+ "poll-interval-required": "轮询间隔为必填项!",
+ "poll-interval-min-value": "轮询间隔不能小于 1",
+ "partitions-required": "分区为必填项!",
+ "partitions-min-value": "分区数不能小于 1",
+ "pack-processing-timeout-required": "处理超时为必填项",
+ "pack-processing-timeout-min-value": "处理超时值不能小于 1",
+ "batch-size-required": "批量大小为必填项!",
+ "batch-size-min-value": "批量大小不能小于 1",
+ "retries-required": "重试次数为必填项!",
+ "retries-min-value": "重试次数不能为负数",
+ "failure-percentage-required": "失败百分比为必填项!",
+ "failure-percentage-min-value": "失败百分比不能小于 0",
+ "failure-percentage-max-value": "失败百分比不能大于 100",
+ "pause-between-retries-required": "重试间隔为必填项!",
+ "pause-between-retries-min-value": "重试间隔不能小于 1",
+ "max-pause-between-retries-required": "最大重试间隔为必填项!",
+ "max-pause-between-retries-min-value": "最大重试间隔不能小于 1",
+ "submit-strategy-type-required": "提交策略类型为必填项!",
+ "processing-strategy-type-required": "处理策略类型为必填项!",
+ "queues": "队列",
+ "selected-queues": "{ count, plural, =1 {1 个队列} other {# 个队列} }已选择",
+ "delete-queue-title": "确定要删除队列“{{queueName}}”吗?",
+ "delete-queues-title": "确定要删除 { count, plural, =1 {1 个队列} other {# 个队列} }吗?",
+ "delete-queue-text": "请注意,确认后队列及所有相关数据将无法恢复。",
+ "delete-queues-text": "确认后所有选中的队列将被删除且不可访问。",
+ "search": "搜索队列",
+ "add": "添加队列",
+ "details": "队列详情",
+ "topic": "主题",
+ "submit-settings": "提交设置",
+ "submit-strategy": "策略类型 *",
+ "grouping-parameter": "分组参数",
+ "processing-settings": "重试处理设置",
+ "processing-strategy": "处理类型 *",
+ "retries-settings": "重试设置",
+ "polling-settings": "轮询设置",
+ "batch-processing": "批量处理",
+ "poll-interval": "轮询间隔",
+ "partitions": "分区",
+ "immediate-processing": "即时处理",
+ "consumer-per-partition": "为每个消费者发送消息轮询",
+ "consumer-per-partition-hint": "为每个分区启用独立的消费者",
+ "duplicate-msg-to-all-partitions": "将消息复制到所有分区",
+ "processing-timeout": "处理超时(毫秒)",
+ "batch-size": "批量大小",
+ "retries": "重试次数(0 — 无限)",
+ "failure-percentage": "跳过重试的失败消息百分比(%)",
+ "pause-between-retries": "重试间隔(秒)",
+ "max-pause-between-retries": "额外重试间隔(秒)",
+ "delete": "删除队列",
+ "copyId": "复制队列 Id",
+ "idCopiedMessage": "队列 Id 已复制到剪贴板",
+ "description": "描述",
+ "description-hint": "此文本将显示在队列描述中,替代所选策略",
+ "alt-description": "提交策略:{{submitStrategy}},处理策略:{{processingStrategy}}",
+ "custom-properties": "自定义属性",
+ "custom-properties-hint": "自定义队列(主题)创建属性,例如 'retention.ms:604800000;retention.bytes:1048576000'",
+ "strategies": {
+ "sequential-by-originator-label": "按来源顺序执行",
+ "sequential-by-originator-hint": "例如设备 A 的新消息在设备 A 的上一条消息被确认前不会提交",
+ "sequential-by-tenant-label": "按租户顺序执行",
+ "sequential-by-tenant-hint": "例如租户 A 的新消息在租户 A 的上一条消息被确认前不会提交",
+ "sequential-label": "顺序执行",
+ "sequential-hint": "新消息在上一条消息被确认前不会提交",
+ "burst-label": "突发",
+ "burst-hint": "所有消息按到达顺序提交到规则链",
+ "batch-label": "批量",
+ "batch-hint": "新批次在上一批次被确认前不会提交",
+ "skip-all-failures-label": "跳过所有失败",
+ "skip-all-failures-hint": "忽略所有失败",
+ "skip-all-failures-and-timeouts-label": "跳过所有失败和超时",
+ "skip-all-failures-and-timeouts-hint": "忽略所有失败和超时",
+ "retry-all-label": "全部重试",
+ "retry-all-hint": "重试处理包中的所有消息",
+ "retry-failed-label": "重试失败",
+ "retry-failed-hint": "重试处理包中所有失败的消息",
+ "retry-timeout-label": "重试超时",
+ "retry-timeout-hint": "重试处理包中所有超时的消息",
+ "retry-failed-and-timeout-label": "重试失败和超时",
+ "retry-failed-and-timeout-hint": "重试处理包中所有失败和超时的消息"
+ }
+ },
+ "queue-statistics": {
+ "queue-statistics": "队列统计",
+ "no-queue-statistics-matching": "未找到与“{{entity}}”匹配的队列统计。",
+ "queue-statistics-required": "队列统计为必填项。",
+ "list-of-queue-statistics": "{ count, plural, =1 {1 条队列统计} other {# 条队列统计列表} }",
+ "selected-queue-statistics": "{ count, plural, =1 {1 条队列统计} other {# 条队列统计} }已选择",
+ "no-queue-statistics-text": "未找到队列统计",
+ "queue-statistics-starts-with": "名称以“{{prefix}}”开头的队列统计"
+ },
+ "server-error": {
+ "general": "服务器通用错误",
+ "authentication": "认证错误",
+ "jwt-token-expired": "JWT Token 已过期",
+ "tenant-trial-expired": "租户试用已过期",
+ "credentials-expired": "凭证已过期",
+ "permission-denied": "权限被拒绝",
+ "invalid-arguments": "参数无效",
+ "bad-request-params": "请求参数错误",
+ "item-not-found": "未找到该项",
+ "too-many-requests": "请求过多",
+ "too-many-updates": "更新过多",
+ "entities-limit-exceeded": "实体数量超出限制"
+ },
+ "tenant": {
+ "tenant": "租户",
+ "tenants": "租户",
+ "management": "租户管理",
+ "add": "添加租户",
+ "admins": "管理员",
+ "manage-tenant-admins": "管理租户管理员",
+ "delete": "删除租户",
+ "add-tenant-text": "添加新租户",
+ "no-tenants-text": "未找到租户",
+ "tenant-details": "租户详情",
+ "title-max-length": "标题不能超过 256 个字符",
+ "delete-tenant-title": "确定要删除租户“{{tenantTitle}}”吗?",
+ "delete-tenant-text": "请注意,确认后租户及所有相关数据将无法恢复。",
+ "delete-tenants-title": "确定要删除 { count, plural, =1 {1 个租户} other {# 个租户} }吗?",
+ "delete-tenants-action-title": "删除 { count, plural, =1 {1 个租户} other {# 个租户} }",
+ "delete-tenants-text": "请注意,确认后所有选中的租户将被移除,且所有相关数据将无法恢复。",
+ "title": "标题",
+ "title-required": "标题为必填项。",
+ "description": "描述",
+ "details": "详情",
+ "events": "事件",
+ "copyId": "复制租户 Id",
+ "idCopiedMessage": "租户 Id 已复制到剪贴板",
+ "select-tenant": "选择租户",
+ "no-tenants-matching": "未找到与“{{entity}}”匹配的租户。",
+ "tenant-required": "租户为必填项",
+ "search": "搜索租户",
+ "selected-tenants": "{ count, plural, =1 {1 个租户} other {# 个租户} }已选择",
+ "isolated-tb-rule-engine": "使用隔离的 ThingsBoard 规则引擎队列",
+ "isolated-tb-rule-engine-details": "每个租户将拥有专用的规则引擎队列"
+ },
+ "tenant-profile": {
+ "tenant-profile": "租户配置",
+ "tenant-profiles": "租户配置",
+ "add": "添加租户配置",
+ "add-profile": "添加配置",
+ "debug": "调试",
+ "edit": "编辑租户配置",
+ "tenant-profile-details": "租户配置详情",
+ "no-tenant-profiles-text": "未找到租户配置",
+ "name-max-length": "名称不能超过 256 个字符",
+ "search": "搜索租户配置",
+ "selected-tenant-profiles": "{ count, plural, =1 {1 个租户配置} other {# 个租户配置} }已选择",
+ "no-tenant-profiles-matching": "未找到与“{{entity}}”匹配的租户配置。",
+ "tenant-profile-required": "租户配置为必填项",
+ "idCopiedMessage": "租户配置 Id 已复制到剪贴板",
+ "set-default": "设为默认租户配置",
+ "delete": "删除租户配置",
+ "copyId": "复制租户配置 Id",
+ "name": "名称",
+ "name-required": "名称为必填项。",
+ "data": "配置数据",
+ "profile-configuration": "配置",
+ "description": "描述",
+ "default": "默认",
+ "delete-tenant-profile-title": "确定要删除租户配置“{{tenantProfileName}}”吗?",
+ "delete-tenant-profile-text": "请注意,确认后租户配置及所有相关数据将无法恢复。",
+ "delete-tenant-profiles-title": "确定要删除 { count, plural, =1 {1 个租户配置} other {# 个租户配置} }吗?",
+ "delete-tenant-profiles-text": "请注意,确认后所有选中的租户配置将被移除,且所有相关数据将无法恢复。",
+ "set-default-tenant-profile-title": "确定要将租户配置“{{tenantProfileName}}”设为默认吗?",
+ "set-default-tenant-profile-text": "确认后,该租户配置将被标记为默认配置,并用于未指定配置的新租户。",
+ "no-tenant-profiles-found": "未找到租户配置。",
+ "create-new-tenant-profile": "创建新租户配置!",
+ "create-tenant-profile": "创建新租户配置",
+ "import": "导入租户配置",
+ "export": "导出租户配置",
+ "export-failed-error": "无法导出租户配置:{{error}}",
+ "tenant-profile-file": "租户配置文件",
+ "invalid-tenant-profile-file-error": "无法导入租户配置:租户配置数据结构无效。",
+ "advanced-settings": "高级设置",
+ "entities": "实体",
+ "rule-engine": "规则引擎",
+ "time-to-live": "生存时间",
+ "calculated-fields": "计算字段",
+ "alarms-and-notifications": "告警和通知",
+ "ota-files-in-bytes": "文件",
+ "ws-title": "WS",
+ "unlimited": "(0 — 无限)",
+ "maximum-devices": "设备最大数量",
+ "maximum-devices-required": "设备最大数量为必填项。",
+ "maximum-devices-range": "设备最大数量不能为负数",
+ "maximum-assets": "资产最大数量",
+ "maximum-assets-required": "资产最大数量为必填项。",
+ "maximum-assets-range": "资产最大数量不能为负数",
+ "maximum-customers": "客户最大数量",
+ "maximum-customers-required": "客户最大数量为必填项。",
+ "maximum-customers-range": "客户最大数量不能为负数",
+ "maximum-users": "用户最大数量",
+ "maximum-users-required": "用户最大数量为必填项。",
+ "maximum-users-range": "用户最大数量不能为负数",
+ "maximum-dashboards": "仪表板最大数量",
+ "maximum-dashboards-required": "仪表板最大数量为必填项。",
+ "maximum-dashboards-range": "仪表板最大数量不能为负数",
+ "maximum-edges": "Edge 最大数量",
+ "maximum-edges-required": "Edge 最大数量为必填项。",
+ "maximum-edges-range": "Edge 最大数量不能为负数",
+ "maximum-rule-chains": "规则链最大数量",
+ "maximum-rule-chains-required": "规则链最大数量为必填项。",
+ "maximum-rule-chains-range": "规则链最大数量不能为负数",
+ "maximum-resources-sum-data-size": "资源文件最大总大小(字节)",
+ "maximum-resources-sum-data-size-required": "资源文件最大总大小为必填项。",
+ "maximum-resources-sum-data-size-range": "资源文件最大总大小不能为负数",
+ "maximum-resource-size": "单个资源文件最大大小(字节)",
+ "maximum-resource-size-required": "单个资源文件最大大小为必填项",
+ "maximum-resource-size-range": "单个资源文件最大大小不能为负数",
+ "maximum-ota-packages-sum-data-size": "OTA 软件包文件最大总大小(字节)",
+ "maximum-ota-package-sum-data-size-required": "OTA 软件包文件最大总大小为必填项。",
+ "maximum-ota-package-sum-data-size-range": "OTA 软件包文件最大总大小不能为负数",
+ "maximum-debug-duration-min": "最大调试持续时间(分钟)",
+ "maximum-debug-duration-min-range": "最大调试持续时间不能为负数",
+ "rest-requests-for-tenant": "租户 REST 请求",
+ "transport-tenant-telemetry-msg-rate-limit": "传输层租户遥测消息",
+ "transport-tenant-telemetry-data-points-rate-limit": "传输层租户遥测数据点",
+ "transport-device-msg-rate-limit": "传输层设备消息",
+ "transport-device-telemetry-msg-rate-limit": "传输层设备遥测消息",
+ "transport-device-telemetry-data-points-rate-limit": "传输层设备遥测数据点",
+ "transport-gateway-msg-rate-limit": "传输层 Gateway 消息",
+ "transport-gateway-telemetry-msg-rate-limit": "传输层 Gateway 遥测消息",
+ "transport-gateway-telemetry-data-points-rate-limit": "传输层 Gateway 遥测数据点",
+ "transport-gateway-device-msg-rate-limit": "传输层 Gateway 设备消息",
+ "transport-gateway-device-telemetry-msg-rate-limit": "传输层 Gateway 设备遥测消息",
+ "transport-gateway-device-telemetry-data-points-rate-limit": "传输层 Gateway 设备遥测数据点",
+ "tenant-entity-export-rate-limit": "实体版本创建",
+ "tenant-entity-import-rate-limit": "实体版本加载",
+ "tenant-notification-request-rate-limit": "通知请求",
+ "tenant-notification-requests-per-rule-rate-limit": "每条通知规则的通知请求",
+ "max-calculated-fields": "每个实体的计算字段最大数量",
+ "max-calculated-fields-range": "每个实体的计算字段最大数量不能为负数",
+ "max-calculated-fields-required": "每个实体的计算字段最大数量为必填项",
+ "max-data-points-per-rolling-arg": "滚动参数中的最大数据点数量",
+ "max-data-points-per-rolling-arg-range": "滚动参数中的最大数据点数量不能为负数",
+ "max-data-points-per-rolling-arg-required": "滚动参数中的最大数据点数量为必填项",
+ "max-arguments-per-cf": "每个计算字段的最大参数数量",
+ "max-arguments-per-cf-range": "每个计算字段的最大参数数量不能为负数",
+ "max-arguments-per-cf-required": "每个计算字段的最大参数数量为必填项",
+ "max-related-level-per-argument": "“关联实体”参数的最大关联层级",
+ "max-related-level-per-argument-range": "“关联实体”参数的最大关联层级不能小于“1”",
+ "max-related-level-per-argument-required": "“关联实体”参数的最大关联层级为必填项",
+ "min-allowed-scheduled-update-interval": "“关联实体”参数的最小允许更新间隔(秒)",
+ "min-allowed-scheduled-update-interval-range": "最小允许更新间隔不能为负数",
+ "min-allowed-deduplication-interval": "最小允许去重间隔(秒)",
+ "min-allowed-deduplication-interval-range": "最小允许去重间隔不能为负数",
+ "min-allowed-deduplication-interval-required": "最小允许去重间隔为必填项",
+ "intermediate-aggregation-interval": "中间聚合间隔(秒)",
+ "intermediate-aggregation-interval-range": "中间聚合间隔不能小于“1”",
+ "intermediate-aggregation-interval-required": "中间聚合间隔为必填项",
+ "reevaluation-check-interval": "重新评估检查间隔(秒)",
+ "reevaluation-check-interval-range": "重新评估检查间隔不能小于“1”",
+ "reevaluation-check-interval-required": "重新评估检查间隔为必填项",
+ "alarms-reevaluation-interval": "告警重新评估间隔(秒)",
+ "alarms-reevaluation-interval-range": "告警重新评估间隔不能小于“1”",
+ "alarms-reevaluation-interval-required": "告警重新评估间隔为必填项",
+ "min-allowed-aggregation-interval": "最小允许聚合间隔(秒)",
+ "min-allowed-aggregation-interval-range": "最小允许聚合间隔不能为负数",
+ "min-allowed-aggregation-interval-required": "最小允许聚合间隔为必填项",
+ "min-allowed-scheduled-update-interval-required": "最小允许更新间隔为必填项",
+ "max-state-size": "状态最大大小(KB)",
+ "max-state-size-range": "状态最大大小(KB)不能为负数",
+ "max-state-size-required": "状态最大大小(KB)为必填项",
+ "max-value-argument-size": "单个值参数最大大小(KB)",
+ "max-value-argument-size-range": "单个值参数最大大小(KB)不能为负数",
+ "max-value-argument-size-required": "单个值参数最大大小(KB)为必填项",
+ "max-transport-messages": "传输消息最大数量",
+ "max-transport-messages-required": "传输消息最大数量为必填项。",
+ "max-transport-messages-range": "传输消息最大数量不能为负数",
+ "max-transport-data-points": "传输数据点最大数量 ",
+ "max-transport-data-points-required": "传输数据点最大数量 为必填项。",
+ "max-transport-data-points-range": "传输数据点最大数量 不能为负数",
+ "max-r-e-executions": "规则引擎执行最大次数",
+ "max-r-e-executions-required": "规则引擎执行最大次数为必填项。",
+ "max-r-e-executions-range": "规则引擎执行最大次数不能为负数",
+ "max-j-s-executions": "JavaScript 执行最大次数 ",
+ "max-j-s-executions-required": "JavaScript 执行最大次数 为必填项。",
+ "max-j-s-executions-range": "JavaScript 执行最大次数 不能为负数",
+ "max-tbel-executions": "TBEL 执行最大次数 ",
+ "max-tbel-executions-required": "TBEL 执行最大次数为必填项。",
+ "max-tbel-executions-range": "TBEL 执行最大次数不能为负数",
+ "max-d-p-storage-days": "数据点存储最大天数",
+ "max-d-p-storage-days-required": "数据点存储最大天数为必填项。",
+ "max-d-p-storage-days-range": "数据点存储最大天数不能为负数",
+ "default-storage-ttl-days": "默认存储 TTL 天数",
+ "default-storage-ttl-days-required": "默认存储 TTL 天数为必填项。",
+ "default-storage-ttl-days-range": "默认存储 TTL 天数不能为负数",
+ "alarms-ttl-days": "告警 TTL 天数",
+ "alarms-ttl-days-required": "告警 TTL 天数为必填项",
+ "alarms-ttl-days-days-range": "告警 TTL 天数不能为负数",
+ "rpc-ttl-days": "RPC TTL 天数",
+ "rpc-ttl-days-required": "RPC TTL 天数为必填项",
+ "rpc-ttl-days-days-range": "RPC TTL 天数不能为负数",
+ "queue-stats-ttl-days": "队列统计 TTL 天数",
+ "queue-stats-ttl-days-required": "队列统计 TTL 天数为必填项",
+ "queue-stats-ttl-days-range": "队列统计 TTL 天数不能为负数",
+ "rule-engine-exceptions-ttl-days": "规则引擎异常 TTL 天数",
+ "rule-engine-exceptions-ttl-days-required": "规则引擎异常 TTL 天数为必填项",
+ "rule-engine-exceptions-ttl-days-range": "规则引擎异常 TTL 天数不能为负数",
+ "max-rule-node-executions-per-message": "每条消息的规则节点执行最大次数",
+ "max-rule-node-executions-per-message-required": "每条消息的规则节点执行最大次数为必填项。",
+ "max-rule-node-executions-per-message-range": "每条消息的规则节点执行最大次数不能为负数",
+ "max-emails": "Email 发送最大数量",
+ "max-emails-required": "Email 发送最大数量为必填项。",
+ "max-emails-range": "Email 发送最大数量不能为负数",
+ "sms-enabled": "SMS 已启用",
+ "max-sms": "SMS 发送最大数量",
+ "max-sms-required": "SMS 发送最大数量为必填项。",
+ "max-sms-range": "SMS 发送最大数量不能为负数",
+ "max-created-alarms": "告警创建最大数量",
+ "max-created-alarms-required": "告警创建最大数量为必填项。",
+ "max-created-alarms-range": "告警创建最大数量不能为负数",
+ "no-queue": "未配置队列",
+ "add-queue": "添加队列",
+ "queues-with-count": "队列({{count}})",
+ "tenant-rest-limits": "租户 REST 请求",
+ "customer-rest-limits": "客户 REST 请求",
+ "incorrect-pattern-for-rate-limits": "格式为逗号分隔的容量和周期(秒)对,用冒号分隔,例如 100:1,2000:60",
+ "too-small-value-zero": "值必须大于 0",
+ "too-small-value-one": "值必须大于 1",
+ "queue-size-is-limited-by-system-configuration": "队列大小同时受系统配置限制。",
+ "cassandra-write-tenant-core-limits-configuration": "Rest API Cassandra 写入查询",
+ "cassandra-read-tenant-core-limits-configuration": "Rest API 和 WS 遥测 Cassandra 读取查询",
+ "cassandra-write-tenant-rule-engine-limits-configuration": "规则引擎遥测 Cassandra 写入查询",
+ "cassandra-read-tenant-rule-engine-limits-configuration": "规则引擎遥测 Cassandra 读取查询",
+ "ws-limit-max-sessions-per-tenant": "每个租户的最大会话数",
+ "ws-limit-max-sessions-per-customer": "每个客户的最大会话数",
+ "ws-limit-max-sessions-per-regular-user": "每个普通用户的最大会话数",
+ "ws-limit-max-sessions-per-public-user": "每个公共用户的最大会话数",
+ "ws-limit-queue-per-session": "每个会话的最大消息队列大小",
+ "ws-limit-max-subscriptions-per-tenant": "每个租户的最大订阅数",
+ "ws-limit-max-subscriptions-per-customer": "每个客户的最大订阅数",
+ "ws-limit-max-subscriptions-per-regular-user": "每个普通用户的最大订阅数",
+ "ws-limit-max-subscriptions-per-public-user": "每个公共用户的最大订阅数",
+ "ws-limit-updates-per-session": "每个会话的 WS 更新",
+ "relation-search-entity-limit": "关联搜索实体限制",
+ "relation-search-entity-limit-hint": "限制关联路径最后一级解析的实体数量。适用于“关联实体”参数和传播字段。",
+ "relation-search-entity-limit-required": "关联搜索实体限制",
+ "relation-search-entity-limit-range": "关联搜索实体限制不能小于“1”",
+ "rate-limits": {
+ "add-limit": "添加限制",
+ "and-also-less-than": "且小于",
+ "advanced-settings": "高级设置",
+ "edit-limit": "编辑限制",
+ "calculated-field-debug-event-rate-limit": "计算字段调试事件",
+ "edit-calculated-field-debug-event-rate-limit": "编辑计算字段调试事件速率限制",
+ "edit-transport-tenant-msg-title": "编辑传输层租户消息速率限制",
+ "edit-transport-tenant-telemetry-msg-title": "编辑传输层租户遥测消息速率限制",
+ "edit-transport-tenant-telemetry-data-points-title": "编辑传输层租户遥测数据点速率限制",
+ "edit-transport-device-msg-title": "编辑传输层设备消息速率限制",
+ "edit-transport-device-telemetry-msg-title": "编辑传输层设备遥测消息速率限制",
+ "edit-transport-device-telemetry-data-points-title": "编辑传输层设备遥测数据点速率限制",
+ "edit-transport-gateway-msg-title": "编辑传输层 Gateway 消息速率限制",
+ "edit-transport-gateway-telemetry-msg-title": "编辑传输层 Gateway 遥测消息速率限制",
+ "edit-transport-gateway-telemetry-data-points-title": "编辑传输层 Gateway 遥测数据点速率限制",
+ "edit-transport-gateway-device-msg-title": "编辑传输层 Gateway 设备消息速率限制",
+ "edit-transport-gateway-device-telemetry-msg-title": "编辑传输层 Gateway 设备遥测消息速率限制",
+ "edit-transport-gateway-device-telemetry-data-points-title": "编辑传输层 Gateway 设备遥测数据点速率限制",
+ "edit-tenant-rest-limits-title": "编辑租户 REST 请求速率限制",
+ "edit-customer-rest-limits-title": "编辑客户 REST 请求速率限制",
+ "edit-ws-limit-updates-per-session-title": "编辑每个会话的 WS 更新速率限制",
+ "edit-cassandra-write-tenant-core-limits-configuration": "编辑 Rest API Cassandra 写入查询",
+ "edit-cassandra-read-tenant-core-limits-configuration": "编辑 Rest API 和 WS 遥测 Cassandra 读取查询",
+ "edit-cassandra-write-tenant-rule-engine-limits-configuration": "编辑规则引擎遥测 Cassandra 写入查询",
+ "edit-cassandra-read-tenant-rule-engine-limits-configuration": "编辑规则引擎遥测 Cassandra 读取查询",
+ "edit-tenant-entity-export-rate-limit-title": "编辑实体版本创建速率限制",
+ "edit-tenant-entity-import-rate-limit-title": "编辑实体版本加载速率限制",
+ "edit-tenant-notification-request-rate-limit-title": "编辑通知请求速率限制",
+ "edit-tenant-notification-requests-per-rule-rate-limit-title": "编辑每条通知规则的通知请求速率限制",
+ "edit-edge-events-rate-limit": "编辑 Edge 事件速率限制",
+ "edit-edge-events-per-edge-rate-limit": "编辑每个 Edge 的 Edge 事件速率限制",
+ "edge-events-rate-limit": "Edge 事件",
+ "edge-events-per-edge-rate-limit": "每个 Edge 的 Edge 事件",
+ "edit-edge-uplink-messages-rate-limit": "编辑 Edge 上行消息速率限制",
+ "edit-edge-uplink-messages-per-edge-rate-limit": "编辑每个 Edge 的 Edge 上行消息速率限制",
+ "edge-uplink-messages-rate-limit": "Edge 上行消息",
+ "edge-uplink-messages-per-edge-rate-limit": "每个 Edge 的 Edge 上行消息",
+ "messages-per": "消息每",
+ "not-set": "未设置",
+ "number-of-messages": "消息数量",
+ "number-of-messages-required": "消息数量为必填项。",
+ "number-of-messages-min": "最小值为 1。",
+ "preview": "预览",
+ "per-seconds": "每秒",
+ "per-seconds-required": "时间速率为必填项。",
+ "per-seconds-min": "最小值为 1。",
+ "per-seconds-duplicate": "时间速率重复。每个时间间隔必须唯一。",
+ "rate-limits": "速率限制",
+ "remove-limit": "移除限制",
+ "transport-tenant-msg": "传输层租户消息",
+ "transport-tenant-telemetry-msg": "传输层租户遥测消息",
+ "transport-tenant-telemetry-data-points": "传输层租户遥测数据点",
+ "transport-device-msg": "传输层设备消息",
+ "transport-device-telemetry-msg": "传输层设备遥测消息",
+ "transport-device-telemetry-data-points": "传输层设备遥测数据点",
+ "transport-gateway-msg": "传输层 Gateway 消息",
+ "transport-gateway-telemetry-msg": "传输层 Gateway 遥测消息",
+ "transport-gateway-telemetry-data-points": "传输层 Gateway 遥测数据点",
+ "transport-gateway-device-msg": "传输层 Gateway 设备消息",
+ "transport-gateway-device-telemetry-msg": "传输层 Gateway 设备遥测消息",
+ "transport-gateway-device-telemetry-data-points": "传输层 Gateway 设备遥测数据点",
+ "sec": "秒"
+ }
+ },
+ "timeinterval": {
+ "seconds-interval": "{ seconds, plural, =1 {1 秒} other {# 秒} }",
+ "minutes-interval": "{ minutes, plural, =1 {1 分钟} other {# 分钟} }",
+ "hours-interval": "{ hours, plural, =1 {1 小时} other {# 小时} }",
+ "days-interval": "{ days, plural, =1 {1 天} other {# 天} }",
+ "days": "天",
+ "hours": "小时",
+ "minutes": "分钟",
+ "seconds": "秒",
+ "advanced": "高级",
+ "custom": "自定义",
+ "predefined": {
+ "yesterday": "昨天",
+ "day-before-yesterday": "前天",
+ "this-day-last-week": "上周的今天",
+ "previous-week": "上一周(周日 - 周六)",
+ "previous-week-iso": "上一周(周一 - 周日)",
+ "previous-month": "上个月",
+ "previous-quarter": "上个季度",
+ "previous-half-year": "上半年",
+ "previous-year": "去年",
+ "current-hour": "当前小时",
+ "current-day": "当天",
+ "current-day-so-far": "当天至今",
+ "current-week": "本周(周日 - 周六)",
+ "current-week-iso": "本周(周一 - 周日)",
+ "current-week-so-far": "本周至今(周日 - 周六)",
+ "current-week-iso-so-far": "本周至今(周一 - 周日)",
+ "current-month": "本月",
+ "current-month-so-far": "本月至今",
+ "current-quarter": "本季度",
+ "current-quarter-so-far": "本季度至今",
+ "current-half-year": "本半年",
+ "current-half-year-so-far": "本半年至今",
+ "current-year": "本年",
+ "current-year-so-far": "本年至今"
},
+ "type": {
+ "week": "周(周日 - 周六)",
+ "week-iso": "周(周一 - 周日)",
+ "month": "月",
+ "quarter": "季度"
+ }
+ },
+ "timeunit": {
+ "milliseconds": "毫秒",
+ "seconds": "秒",
+ "minutes": "分钟",
+ "hours": "小时",
+ "days": "天"
+ },
+ "timewindow": {
+ "timewindow": "时间窗口",
+ "timewindow-settings": "时间窗口设置",
+ "years": "{ years, plural, =1 {1 年 } other {# 年 } }",
+ "years-short": "{{ years }}年",
+ "months": "{ months, plural, =1 {1 个月 } other {# 个月 } }",
+ "months-short": "{{ months }}月",
+ "weeks": "{ weeks, plural, =1 {1 周 } other {# 周 } }",
+ "weeks-short": "{{ weeks }}周",
+ "days": "{ days, plural, =1 {1 天 } other {# 天 } }",
+ "days-short": "{{ days }}天",
+ "hours": "{ hours, plural, =0 { 小时 } =1 {1 小时 } other {# 小时 } }",
+ "hr": "{{ hr }} 小时",
+ "hr-short": "{{ hr }}时",
+ "minutes": "{ minutes, plural, =0 { 分钟 } =1 {1 分钟 } other {# 分钟 } }",
+ "min": "{{ min }} 分钟",
+ "min-short": "{{ min }}分",
+ "seconds": "{ seconds, plural, =0 { 秒 } =1 {1 秒 } other {# 秒 } }",
+ "sec": "{{ sec }} 秒",
+ "sec-short": "{{ sec }}秒",
+ "short": {
+ "years": "{ years, plural, =1 {1 年 } other {# 年 } }",
+ "days": "{ days, plural, =1 {1 天 } other {# 天 } }",
+ "hours": "{ hours, plural, =1 {1 小时 } other {# 小时 } }",
+ "minutes": "{{minutes}} 分钟 ",
+ "seconds": "{{seconds}} 秒 "
+ },
+ "realtime": "实时",
+ "history": "历史",
+ "last-prefix": "最近",
+ "period": "从 {{ startTime }} 到 {{ endTime }}",
+ "edit": "编辑时间窗口",
+ "date-range": "日期范围",
+ "for-all-time": "所有时间",
+ "last": "最近",
+ "time-period": "时间段",
+ "hide": "隐藏",
+ "interval": "间隔",
+ "just-now": "刚刚",
+ "just-now-lower": "刚刚",
+ "ago": "前",
+ "style": "时间窗口样式",
+ "icon": "图标",
+ "icon-position": "图标位置",
+ "icon-position-left": "左",
+ "icon-position-right": "右",
+ "font": "字体",
+ "color": "颜色",
+ "displayTypePrefix": "显示实时/历史前缀",
+ "preview": "预览",
+ "relative": "相对",
+ "range": "范围",
+ "hide-timewindow-section": "对终端用户隐藏时间窗口部分",
+ "hide-last-interval": "对终端用户隐藏最近间隔",
+ "hide-relative-interval": "对终端用户隐藏相对间隔",
+ "hide-fixed-interval": "对终端用户隐藏固定间隔",
+ "hide-aggregation": "对终端用户隐藏聚合",
+ "hide-group-interval": "对终端用户隐藏分组间隔",
+ "hide-max-values": "对终端用户隐藏最大值",
+ "hide-timezone": "对终端用户隐藏时区",
+ "disable-custom-interval": "禁用自定义间隔选择",
+ "edit-aggregation-functions-list": "编辑聚合函数列表",
+ "edit-aggregation-functions-list-hint": "可以指定可用选项列表。",
+ "allowed-aggregation-functions": "允许的聚合函数",
+ "edit-intervals-list": "编辑间隔列表",
+ "allowed-agg-intervals": "分组间隔",
+ "default-agg-interval": "默认分组间隔",
+ "edit-intervals-list-hint": "可以指定可用间隔选项列表。",
+ "edit-grouping-intervals-list-hint": "可以配置分组间隔列表和默认分组间隔。",
+ "all": "全部",
+ "save-current-settings-as-default": "将当前设置保存为默认时间窗口",
+ "hide-option-from-end-users": "对终端用户隐藏选项"
+ },
+ "tooltip": {
+ "trigger": "触发器",
+ "trigger-point": "点",
+ "trigger-axis": "轴",
+ "label": "标签",
+ "value": "值",
+ "date": "日期",
+ "show-date-time-interval": "显示日期时间间隔",
+ "show-date-time-interval-hint": "根据数据聚合显示日期时间间隔。",
+ "hide-zero-tooltip-values": "隐藏零值",
+ "show-stack-total": "在堆叠模式下显示总值",
+ "background-color": "背景颜色",
+ "background-blur": "背景模糊"
+ },
+ "unit": {
+ "set-unit-conversion": "设置单位转换",
+ "unit-settings": {
+ "unit-settings": "单位设置",
+ "source-unit": "源单位",
+ "source-unit-hint": "这是存储值的单位,即您要转换的源单位。请输入源数据使用的符号(例如 m、km、ft、in)。",
+ "target-metric-unit": "目标公制单位",
+ "target-metric-unit-hint": "选择要将源值转换为哪个公制单位(SI)(例如 cm、mm、km)。",
+ "target-imperial-unit": "目标英制单位",
+ "target-imperial-unit-hint": "选择要将源值转换为哪个英制单位(例如 in、ft、yd)。",
+ "target-hybrid-unit": "目标混合单位",
+ "target-hybrid-unit-hint": "选择要将源值转换为哪个混合单位(例如 cm、in、km)。混合单位结合了公制或英制单位。",
+ "enable-unit-conversion": "启用单位转换",
+ "enable-unit-conversion-hint": "开启以激活转换。关闭时,源值将保持不变。如果对应的度量组中只有一个单位(例如光通量、AQI),则此选项被禁用。"
+ },
+ "unit-system": "单位制",
+ "unit-system-type": {
+ "AUTO": "自动",
+ "METRIC": "公制",
+ "IMPERIAL": "英制",
+ "HYBRID": "混合"
+ },
+ "measures": {
+ "absorbed-dose-rate": "吸收剂量率",
+ "acceleration": "加速度",
+ "acidity": "酸度",
+ "air-quality-index": "空气质量指数",
+ "amount-of-substance": "物质的量",
+ "angle": "角度",
+ "angular-acceleration": "角加速度",
+ "area": "面积",
+ "area-density": "面密度",
+ "capacitance": "电容",
+ "catalytic-activity": "催化活性",
+ "catalytic-concentration": "催化浓度",
+ "charge": "电荷",
+ "current-density": "电流密度",
+ "data-transfer-rate": "数据传输速率",
+ "density": "密度",
+ "digital": "数字存储",
+ "dimension-ratio": "尺寸比",
+ "dynamic-viscosity": "动力粘度",
+ "earthquake-magnitude": "地震震级",
+ "electric-charge-density": "电荷密度",
+ "electric-current": "电流",
+ "electric-dipole-moment": "电偶极矩",
+ "electric-field-strength": "电场强度",
+ "electric-flux": "电通量",
+ "electric-permittivity": "介电常数",
+ "electric-polarizability": "电极化率",
+ "electrical-conductance": "电导",
+ "electrical-conductivity": "电导率",
+ "energy": "能量",
+ "energy-density": "能量密度",
+ "force": "力",
+ "frequency": "频率",
+ "fuel-efficiency": "燃油效率",
+ "heat-capacity": "热容",
+ "illuminance": "照度",
+ "inductance": "电感",
+ "kinematic-viscosity": "运动粘度",
+ "length": "长度",
+ "light-exposure": "曝光量",
+ "linear-charge-density": "线电荷密度",
+ "logarithmic-ratio": "对数比",
+ "luminous-efficacy": "发光效率",
+ "luminous-flux": "光通量",
+ "luminous-intensity": "发光强度",
+ "magnetic-field-gradient": "磁场梯度",
+ "magnetic-flux": "磁通量",
+ "magnetic-flux-density": "磁通量密度",
+ "magnetic-moment": "磁矩",
+ "magnetic-permeability": "磁导率",
+ "mass": "质量",
+ "mass-fraction": "质量分数",
+ "molar-concentration": "摩尔浓度",
+ "molar-energy": "摩尔能",
+ "molar-heat-capacity": "摩尔热容",
+ "molar-mass": "摩尔质量",
+ "number-concentration": "数浓度",
+ "parts-per-million": "百万分率",
+ "power": "功率",
+ "power-density": "功率密度",
+ "pressure": "压力",
+ "radiance": "辐射亮度",
+ "radiant-intensity": "辐射强度",
+ "radiation-dose": "辐射剂量",
+ "radioactive-decay": "放射性衰变",
+ "radioactivity": "放射性",
+ "radioactivity-concentration": "放射性浓度",
+ "reciprocal-length": "倒数长度",
+ "resistance": "电阻",
+ "reynolds-number": "雷诺数",
+ "signal-level": "信号电平",
+ "solid-angle": "立体角",
+ "specific-energy": "比能",
+ "specific-heat-capacity": "比热容",
+ "specific-humidity": "比湿",
+ "specific-volume": "比容",
+ "speed": "速度",
+ "surface-charge-density": "面电荷密度",
+ "surface-tension": "表面张力",
+ "temperature": "温度",
+ "thermal-conductivity": "热导率",
+ "time": "时间",
+ "torque": "扭矩",
+ "turbidity": "浊度",
+ "voltage": "电压",
+ "volume": "体积",
+ "volume-flow": "体积流量"
+ },
+ "millimeter": "毫米",
+ "centimeter": "厘米",
+ "decimeter": "分米",
+ "angstrom": "埃",
+ "nanometer": "纳米",
+ "micrometer": "微米",
+ "meter": "米",
+ "kilometer": "千米",
+ "inch": "英寸",
+ "foot": "英尺",
+ "foot-us": "英尺(美国测量)",
+ "yard": "码",
+ "mile": "英里",
+ "nautical-mile": "海里",
+ "astronomical-unit": "天文单位",
+ "reciprocal-metre": "每米",
+ "meter-per-meter": "米每米",
+ "steradian": "球面度",
+ "thou": "密耳",
+ "barleycorn": "大麦粒",
+ "hand": "手宽",
+ "chain": "链",
+ "furlong": "弗隆",
+ "league": "里格",
+ "fathom": "英寻",
+ "cable": "链(海缆)",
+ "link": "链节",
+ "rod": "杆",
+ "nanogram": "纳克",
+ "microgram": "微克",
+ "milligram": "毫克",
+ "gram": "克",
+ "kilogram": "千克",
+ "tonne": "吨",
+ "ounce": "盎司",
+ "pound": "磅",
+ "stone": "英石",
+ "hundredweight-count": "英担",
+ "short-tons": "短吨",
+ "dalton": "道尔顿",
+ "grain": "格令",
+ "drachm": "打兰",
+ "quarter": "夸特",
+ "slug": "斯勒格",
+ "carat": "克拉",
+ "cubic-millimeter": "立方毫米",
+ "cubic-centimeter": "立方厘米",
+ "cubic-meter": "立方米",
+ "cubic-kilometer": "立方千米",
+ "microliter": "微升",
+ "milliliter": "毫升",
+ "liter": "升",
+ "hectoliter": "百升",
+ "cubic-inch": "立方英寸",
+ "cubic-foot": "立方英尺",
+ "cubic-yard": "立方码",
+ "fluid-ounce": "液量盎司",
+ "fluid-ounce-per-second": "液量盎司每秒",
+ "pint": "品脱",
+ "quart": "夸脱",
+ "gallon": "加仑",
+ "oil-barrels": "石油桶",
+ "cubic-meter-per-kilogram": "立方米每千克",
+ "gill": "及耳",
+ "hogshead": "霍格斯黑德",
+ "teaspoon": "茶匙",
+ "tablespoon": "汤匙",
+ "cup": "杯",
+ "celsius": "摄氏度",
+ "kelvin": "开尔文",
+ "rankine": "兰金",
+ "fahrenheit": "华氏度",
+ "percent": "百分比",
+ "meter-per-second": "米每秒",
+ "kilometer-per-hour": "千米每小时",
+ "foot-per-second": "英尺每秒",
+ "foot-per-minute": "英尺每分钟",
+ "mile-per-hour": "英里每小时",
+ "knot": "节",
+ "inch-per-second": "英寸每秒",
+ "inch-per-hour": "英寸每小时",
+ "millimeters-per-minute": "毫米每分钟",
+ "meter-per-minute": "米每分钟",
+ "kilometer-per-hour-squared": "千米每小时平方",
+ "foot-per-second-squared": "英尺每秒平方",
+ "pascal": "帕斯卡",
+ "kilopascal": "千帕",
+ "megapascal": "兆帕",
+ "gigapascal": "吉帕",
+ "millibar": "毫巴",
+ "bar": "巴",
+ "kilobar": "千巴",
+ "newton": "牛顿",
+ "newton-meter": "牛顿·米",
+ "foot-pounds": "英尺·磅",
+ "inch-pounds": "英寸·磅",
+ "newton-per-meter": "牛顿每米",
+ "atmospheres": "标准大气压",
+ "pounds-per-square-inch": "磅每平方英寸",
+ "kilopound-per-square-inch": "千磅每平方英寸",
+ "torr": "托",
+ "inches-of-mercury": "英寸汞柱",
+ "pascal-per-square-meter": "帕斯卡每平方米",
+ "pound-per-square-inch": "磅每平方英寸",
+ "newton-per-square-meter": "牛顿每平方米",
+ "kilogram-force-per-square-meter": "千克力每平方米",
+ "pascal-per-square-centimeter": "帕斯卡每平方厘米",
+ "ton-force-per-square-inch": "吨力每平方英寸",
+ "kilonewton-per-square-meter": "千牛顿每平方米",
+ "newton-per-square-millimeter": "牛顿每平方毫米",
+ "microjoule": "微焦",
+ "millijoule": "毫焦",
+ "joule": "焦耳",
+ "kilojoule": "千焦",
+ "megajoule": "兆焦",
+ "gigajoule": "吉焦",
+ "watt-hour": "瓦时",
+ "watt-minute": "瓦分",
+ "kilowatt-hour": "千瓦时",
+ "milliwatt-hour": "毫瓦时",
+ "megawatt-hour": "兆瓦时",
+ "gigawatt-hour": "吉瓦时",
+ "electron-volts": "电子伏特",
+ "joules-per-coulomb": "焦耳每库仑",
+ "british-thermal-unit": "英热单位",
+ "thousand-british-thermal-unit": "千英热单位",
+ "million-british-thermal-unit": "百万英热单位",
+ "foot-pound": "英尺·磅",
+ "calorie": "卡路里",
+ "small-calorie": "小卡",
+ "kilocalorie": "千卡",
+ "joule-per-kelvin": "焦耳每开尔文",
+ "joule-per-kilogram-kelvin": "焦耳每千克·开尔文",
+ "joule-per-kilogram": "焦耳每千克",
+ "watt-per-meter-kelvin": "瓦每米·开尔文",
+ "joule-per-cubic-meter": "焦耳每立方米",
+ "therm": "撒姆",
+ "electric-dipole-moment": "电偶极矩",
+ "magnetic-dipole-moment": "磁偶极矩",
+ "debye": "德拜",
+ "coulomb-per-square-meter-per-volt": "库仑每平方米每伏",
+ "milliwatt": "毫瓦",
+ "microwatt": "微瓦",
+ "watt": "瓦特",
+ "kilowatt": "千瓦",
+ "megawatt": "兆瓦",
+ "gigawatt": "吉瓦",
+ "metric-horsepower": "公制马力",
+ "milliwatt-per-square-centimeter": "毫瓦每平方厘米",
+ "watt-per-square-centimeter": "瓦每平方厘米",
+ "kilowatt-per-square-centimeter": "千瓦每平方厘米",
+ "milliwatt-per-square-meter": "毫瓦每平方米",
+ "watt-per-square-meter": "瓦每平方米",
+ "kilowatt-per-square-meter": "千瓦每平方米",
+ "watt-per-square-inch": "瓦每平方英寸",
+ "kilowatt-per-square-inch": "千瓦每平方英寸",
+ "horsepower": "马力",
+ "btu-per-hour": "英热单位每小时",
+ "btu-per-second": "英热单位每秒",
+ "btu-per-day": "英热单位每天",
+ "mbtu-per-hour": "千英热单位每小时",
+ "mbtu-per-second": "千英热单位每秒",
+ "mbtu-per-day": "千英热单位每天",
+ "mmbtu-per-hour": "百万英热单位每小时",
+ "mmbtu-per-second": "百万英热单位每秒",
+ "mmbtu-per-day": "百万英热单位每天",
+ "foot-pound-per-second": "英尺·磅每秒",
+ "coulomb": "库仑",
+ "millicoulomb": "毫库仑",
+ "microcoulomb": "微库仑",
+ "nanocoulomb": "纳库仑",
+ "picocoulomb": "皮库仑",
+ "coulomb-per-meter": "库仑每米",
+ "coulomb-per-cubic-meter": "库仑每立方米",
+ "coulomb-per-square-meter": "库仑每平方米",
+ "square-millimeter": "平方毫米",
+ "square-centimeter": "平方厘米",
+ "square-meter": "平方米",
+ "hectare": "公顷",
+ "square-kilometer": "平方千米",
+ "square-inch": "平方英寸",
+ "square-foot": "平方英尺",
+ "square-yard": "平方码",
+ "acre": "英亩",
+ "square-mile": "平方英里",
+ "are": "公亩",
+ "barn": "靶恩",
+ "circular-inch": "圆英寸",
+ "milliampere-hour": "毫安时",
+ "ampere-hours": "安时",
+ "kiloampere-hours": "千安时",
+ "nanoampere": "纳安",
+ "picoampere": "皮安",
+ "microampere": "微安",
+ "milliampere": "毫安",
+ "ampere": "安培",
+ "kiloampere": "千安",
+ "megaampere": "兆安",
+ "gigaampere": "吉安",
+ "microampere-per-square-centimeter": "微安每平方厘米",
+ "ampere-per-square-meter": "安培每平方米",
+ "ampere-per-meter": "安培每米",
+ "oersted": "奥斯特",
+ "bohr-magneton": "玻尔磁子",
+ "ampere-meter-squared": "安培·平方米",
+ "nanovolt": "纳伏",
+ "picovolt": "皮伏",
+ "millivolt": "毫伏",
+ "microvolt": "微伏",
+ "volt": "伏特",
+ "kilovolt": "千伏",
+ "megavolt": "兆伏",
+ "dbmV": "分贝伏",
+ "dbm": "分贝毫瓦",
+ "volt-meter": "伏特·米",
+ "kilovolt-meter": "千伏·米",
+ "megavolt-meter": "兆伏·米",
+ "microvolt-meter": "微伏·米",
+ "millivolt-meter": "毫伏·米",
+ "nanovolt-meter": "纳伏·米",
+ "ohm": "欧姆",
+ "microohm": "微欧",
+ "milliohm": "毫欧",
+ "kilohm": "千欧",
+ "megohm": "兆欧",
+ "gigohm": "吉欧",
+ "millihertz": "毫赫兹",
+ "hertz": "赫兹",
+ "kilohertz": "千赫兹",
+ "megahertz": "兆赫兹",
+ "gigahertz": "吉赫兹",
+ "terahertz": "太赫兹",
+ "rpm": "转每分钟",
+ "candela-per-square-meter": "坎德拉每平方米",
+ "candela": "坎德拉",
+ "lumen": "流明",
+ "lux": "勒克斯",
+ "foot-candle": "英尺烛光",
+ "lumen-per-square-meter": "流明每平方米",
+ "lux-second": "勒克斯·秒",
+ "lumen-second": "流明·秒",
+ "lumens-per-watt": "流明每瓦",
+ "mole": "摩尔",
+ "nanomole": "纳摩尔",
+ "micromole": "微摩尔",
+ "millimole": "毫摩尔",
+ "kilomole": "千摩尔",
+ "mole-per-cubic-meter": "摩尔每立方米",
+ "rssi": "接收信号强度指示",
+ "ppm": "百万分率",
+ "ppb": "十亿分率",
+ "micrograms-per-cubic-meter": "微克每立方米",
+ "aqi": "AQI",
+ "gram-per-cubic-meter": "克每立方米",
+ "gram-per-kilogram": "比湿",
+ "millimeters-per-second": "毫米每秒",
+ "neper": "奈培",
+ "bel": "贝尔",
+ "decibel": "分贝",
+ "meters-per-second-squared": "米每秒平方",
+ "becquerel": "贝可勒尔",
+ "curie": "居里",
+ "gray": "戈瑞",
+ "sievert": "希沃特",
+ "roentgen": "伦琴",
+ "cps": "计数每秒",
+ "rad": "拉德",
+ "rem": "雷姆",
+ "dps": "衰变每秒",
+ "rutherford": "卢瑟福",
+ "coulombs-per-kilogram": "库仑每千克",
+ "becquerels-per-cubic-meter": "贝可勒尔每立方米",
+ "curies-per-liter": "居里每升",
+ "becquerels-per-second": "贝可勒尔每秒",
+ "curies-per-second": "居里每秒",
+ "gy-per-second": "戈瑞每秒",
+ "watt-per-steradian": "瓦每球面度",
+ "watt-per-square-metre-steradian": "瓦每平方米·球面度",
+ "ph-level": "pH 值",
+ "turbidity": "浊度",
+ "mg-per-liter": "毫克每升",
+ "microsiemens-per-centimeter": "微西门子每厘米",
+ "millisiemens-per-meter": "毫西门子每米",
+ "siemens-per-meter": "西门子每米",
+ "kilogram-per-cubic-meter": "千克每立方米",
+ "gram-per-cubic-centimeter": "克每立方厘米",
+ "kilogram-per-square-meter": "千克每平方米",
+ "milligram-per-milliliter": "毫克每毫升",
+ "milligram-per-cubic-meter": "毫克每立方米",
+ "pound-per-cubic-foot": "磅每立方英尺",
+ "ounces-per-cubic-inch": "盎司每立方英寸",
+ "tons-per-cubic-yard": "吨每立方码",
+ "particle-density": "粒子密度",
+ "kilometers-per-liter": "千米每升",
+ "miles-per-gallon": "英里每加仑",
+ "liters-per-100-km": "升每百千米",
+ "gallons-per-mile": "加仑每英里",
+ "liters-per-hour": "升每小时",
+ "gallons-per-hour": "加仑每小时",
+ "beats-per-minute": "次每分钟",
+ "millimeters-of-mercury": "毫米汞柱",
+ "milligrams-per-deciliter": "毫克每分升",
+ "g-force": "重力加速度",
+ "kilonewton": "千牛顿",
+ "kilogram-force": "千克力",
+ "pound-force": "磅力",
+ "kilopound-force": "千磅力",
+ "dyne": "达因",
+ "poundal": "磅达",
+ "kip": "千磅力",
+ "gal": "伽",
+ "gravity": "重力",
+ "hectopascal": "百帕",
+ "atmosphere": "标准大气压",
+ "millibars": "毫巴",
+ "inch-of-mercury": "英寸汞柱",
+ "richter-scale": "里氏震级",
+ "nanosecond": "纳秒",
+ "microsecond": "微秒",
+ "millisecond": "毫秒",
+ "second": "秒",
+ "minute": "分钟",
+ "hour": "小时",
+ "day": "天",
+ "week": "周",
+ "month": "月",
+ "year": "年",
+ "cubic-foot-per-minute": "立方英尺每分钟",
+ "cubic-meters-per-hour": "立方米每小时",
+ "cubic-meters-per-second": "立方米每秒",
+ "liter-per-second": "升每秒",
+ "liter-per-minute": "升每分钟",
+ "gallons-per-minute": "加仑每分钟",
+ "cubic-foot-per-second": "立方英尺每秒",
+ "milliliters-per-minute": "毫升每分钟",
+ "cubic-decimeter-per-second": "立方分米每秒",
+ "bit": "比特",
+ "byte": "字节",
+ "kilobyte": "千字节",
+ "megabyte": "兆字节",
+ "gigabyte": "吉字节",
+ "terabyte": "太字节",
+ "petabyte": "拍字节",
+ "exabyte": "艾字节",
+ "zettabyte": "泽字节",
+ "yottabyte": "尧字节",
+ "bit-per-second": "比特每秒",
+ "kilobit-per-second": "千比特每秒",
+ "megabit-per-second": "兆比特每秒",
+ "gigabit-per-second": "吉比特每秒",
+ "terabit-per-second": "太比特每秒",
+ "byte-per-second": "字节每秒",
+ "kilobyte-per-second": "千字节每秒",
+ "megabyte-per-second": "兆字节每秒",
+ "gigabyte-per-second": "吉字节每秒",
+ "degree": "度",
+ "radian": "弧度",
+ "gradian": "百分度",
+ "arcminute": "角分",
+ "arcsecond": "角秒",
+ "milliradian": "毫弧度",
+ "revolution": "转",
+ "siemens": "西门子",
+ "millisiemens": "毫西门子",
+ "microsiemens": "微西门子",
+ "kilosiemens": "千西门子",
+ "megasiemens": "兆西门子",
+ "gigasiemens": "吉西门子",
+ "farad": "法拉",
+ "millifarad": "毫法拉",
+ "microfarad": "微法拉",
+ "nanofarad": "纳法拉",
+ "picofarad": "皮法拉",
+ "kilofarad": "千法拉",
+ "megafarad": "兆法拉",
+ "gigafarad": "吉法拉",
+ "terfarad": "太法拉",
+ "farad-per-meter": "法拉每米",
+ "tesla": "特斯拉",
+ "gauss": "高斯",
+ "kilogauss": "千高斯",
+ "millitesla": "毫特斯拉",
+ "microtesla": "微特斯拉",
+ "nanotesla": "纳特斯拉",
+ "kilotesla": "千特斯拉",
+ "megatesla": "兆特斯拉",
+ "millitesla-square-meters": "毫特斯拉·平方米",
+ "gamma": "伽马",
+ "lambda": "兰姆达",
+ "square-meter-per-second": "平方米每秒",
+ "square-centimeter-per-second": "平方厘米每秒",
+ "stoke": "斯托克斯",
+ "centistokes": "厘斯托克斯",
+ "square-foot-per-second": "平方英尺每秒",
+ "square-inch-per-second": "平方英寸每秒",
+ "pascal-second": "帕斯卡·秒",
+ "centipoise": "厘泊",
+ "poise": "泊",
+ "reynolds": "雷诺",
+ "pound-per-foot-hour": "磅每英尺·小时",
+ "newton-second-per-square-meter": "牛顿·秒每平方米",
+ "dyne-second-per-square-centimeter": "达因·秒每平方厘米",
+ "kilogram-per-meter-second": "千克每米·秒",
+ "tesla-square-meters": "特斯拉·平方米",
+ "maxwell": "麦克斯韦",
+ "tesla-per-meter": "特斯拉每米",
+ "gauss-per-centimeter": "高斯每厘米",
+ "weber": "韦伯",
+ "microweber": "微韦伯",
+ "milliweber": "毫韦伯",
+ "gauss-square-centimeter": "高斯·平方厘米",
+ "kilogauss-square-centimeter": "千高斯·平方厘米",
+ "henry": "亨利",
+ "millihenry": "毫亨利",
+ "microhenry": "微亨利",
+ "nanohenry": "纳亨利",
+ "henry-per-meter": "亨利每米",
+ "tesla-meter-per-ampere": "特斯拉·米每安培",
+ "gauss-per-oersted": "高斯每奥斯特",
+ "kilogram-per-mole": "千克每摩尔",
+ "gram-per-mole": "克每摩尔",
+ "milligram-per-mole": "毫克每摩尔",
+ "joule-per-mole": "焦耳每摩尔",
+ "joule-per-mole-kelvin": "焦耳每摩尔·开尔文",
+ "millivolts-per-meter": "毫伏每米",
+ "volts-per-meter": "伏特每米",
+ "kilovolts-per-meter": "千伏每米",
+ "radian-per-second": "弧度每秒",
+ "radian-per-second-squared": "弧度每秒平方",
+ "revolutions-per-minute-per-second": "角加速度",
+ "deg-per-second": "度每秒",
+ "rotation-per-minute": "转每分钟",
+ "degrees-brix": "白利度",
+ "katal": "开特",
+ "katal-per-cubic-metre": "开特每立方米",
+ "paris-inch": "巴黎英寸"
+ },
+ "user": {
+ "user": "用户",
+ "users": "用户",
+ "customer-users": "客户用户",
+ "tenant-admins": "租户管理员",
+ "sys-admin": "系统管理员",
+ "tenant-admin": "租户管理员",
+ "customer": "客户",
+ "anonymous": "匿名",
+ "add": "添加用户",
+ "delete": "删除用户",
+ "add-user-text": "添加新用户",
+ "no-users-text": "未找到用户",
+ "user-details": "用户详情",
+ "delete-user-title": "确定要删除用户“{{userEmail}}”吗?",
+ "delete-user-text": "请注意,确认后用户及所有相关数据将无法恢复。",
+ "delete-users-title": "确定要删除 { count, plural, =1 {1 个用户} other {# 个用户} }吗?",
+ "delete-users-action-title": "删除 { count, plural, =1 {1 个用户} other {# 个用户} }",
+ "delete-users-text": "请注意,确认后所有选中的用户将被移除,且所有相关数据将无法恢复。",
+ "activation-email-sent-message": "激活 Email 已成功发送!",
+ "resend-activation": "重新发送激活",
+ "email": "Email",
+ "email-required": "Email 为必填项。",
+ "invalid-email-format": "Email 格式无效。",
+ "first-name": "名",
+ "last-name": "姓",
+ "description": "描述",
+ "default-dashboard": "默认仪表板",
+ "always-fullscreen": "始终全屏",
+ "select-user": "选择用户",
+ "no-users-matching": "未找到与“{{entity}}”匹配的用户。",
+ "user-required": "用户为必填项",
+ "activation-method": "激活方式",
+ "display-activation-link": "显示激活链接",
+ "send-activation-mail": "发送激活邮件",
+ "activation-link": "用户激活链接",
+ "activation-link-text": "要激活用户,请使用以下激活链接({{activationLinkTtl}}后过期):",
+ "copy-activation-link": "复制激活链接",
+ "activation-link-copied-message": "用户激活链接已复制到剪贴板",
+ "details": "详情",
+ "login-as-tenant-admin": "以租户管理员身份登录",
+ "login-as-customer-user": "以客户用户身份登录",
+ "search": "搜索用户",
+ "selected-users": "{ count, plural, =1 {1 个用户} other {# 个用户} }已选择",
+ "disable-account": "禁用用户账户",
+ "enable-account": "启用用户账户",
+ "enable-account-message": "用户账户已成功启用!",
+ "disable-account-message": "用户账户已成功禁用!",
+ "copyId": "复制用户 Id",
+ "idCopiedMessage": "用户 Id 已复制到剪贴板",
+ "user-list": "用户列表",
+ "user-list-required": "用户列表为必填项"
+ },
+ "value": {
+ "type": "值类型",
+ "string": "字符串",
+ "string-value": "字符串值",
+ "string-value-required": "字符串值为必填项",
+ "integer": "整数",
+ "integer-value": "整数值",
+ "integer-value-required": "整数值为必填项",
+ "invalid-integer-value": "整数值无效",
+ "double": "双精度浮点数",
+ "double-value": "双精度浮点数值",
+ "double-value-required": "双精度浮点数值为必填项",
+ "boolean": "布尔值",
+ "boolean-value": "布尔值",
+ "false": "False",
+ "true": "True",
+ "long": "长整数",
+ "json": "JSON",
+ "json-value": "JSON 值",
+ "json-value-invalid": "JSON 值格式无效",
+ "json-value-required": "JSON 值为必填项。"
+ },
+ "version-control": {
+ "version-control": "版本控制",
+ "management": "版本控制管理",
+ "search": "搜索版本",
+ "branch": "分支",
+ "default": "默认",
+ "select-branch": "选择分支",
+ "branch-required": "分支为必填项",
+ "create-entity-version": "创建实体版本",
+ "version-name": "版本名称",
+ "version-name-required": "版本名称为必填项",
+ "author": "作者",
+ "export-relations": "导出关联",
+ "export-attributes": "导出属性",
+ "export-credentials": "导出凭证",
+ "export-calculated-fields": "导出计算字段\n及告警规则",
+ "export-alarm-rules": "导出告警规则",
+ "entity-versions": "实体版本",
+ "versions": "版本",
+ "created-time": "创建时间",
+ "version-id": "版本 ID",
+ "no-entity-versions-text": "未找到实体版本",
+ "no-versions-text": "未找到版本",
+ "copy-full-version-id": "复制完整版本 ID",
+ "create-version": "创建版本",
+ "creating-version": "正在创建版本…请稍候",
+ "nothing-to-commit": "无更改可提交",
+ "restore-version": "恢复版本",
+ "restore-entity-from-version": "从版本“{{versionName}}”恢复实体",
+ "restoring-entity-version": "正在恢复实体版本…请稍候",
+ "load-relations": "加载关联",
+ "load-attributes": "加载属性",
+ "load-credentials": "加载凭证",
+ "load-calculated-fields": "加载计算字段和告警规则",
+ "load-alarm-rules": "加载告警规则",
+ "compare-with-current": "与当前版本比较",
+ "diff-entity-with-version": "与实体版本“{{versionName}}”比较差异",
+ "previous-difference": "上一个差异",
+ "next-difference": "下一个差异",
+ "current": "当前",
+ "differences": "{ count, plural, =1 {1 处差异} other {# 处差异} }",
+ "create-entities-version": "创建实体版本",
+ "default-sync-strategy": "默认同步策略",
+ "sync-strategy-merge": "合并",
+ "sync-strategy-overwrite": "覆盖",
+ "entities-to-export": "要导出的实体",
+ "entities-to-restore": "要恢复的实体",
+ "sync-strategy": "同步策略",
+ "all-entities": "所有实体",
+ "no-entities-to-export-prompt": "请指定要导出的实体",
+ "no-entities-to-restore-prompt": "请指定要恢复的实体",
+ "add-entity-type": "添加实体类型",
+ "remove-all": "全部移除",
+ "version-create-result": "{ added, plural, =0 {未添加实体} =1 {已添加 1 个实体} other {已添加 # 个实体} }。${keyName} units.' 或 ${#<key index>} units'",
+ "label-pattern-required": "模式为必填项",
+ "label-position": "位置(相对于背景的百分比)",
+ "x-pos": "X",
+ "y-pos": "Y",
+ "background-color": "背景颜色",
+ "font-settings": "字体设置",
+ "background-image": "背景图片",
+ "labels": "标签",
+ "no-labels": "未配置标签",
+ "add-label": "添加标签"
+ },
+ "navigation": {
+ "title": "标题",
+ "navigation-path": "导航路径",
+ "filter-type": "过滤类型",
+ "filter-type-all": "所有项目",
+ "filter-type-include": "包含项目",
+ "filter-type-exclude": "排除项目",
+ "items": "项目",
+ "enter-urls-to-filter": "输入要过滤的 URL..."
+ },
+ "persistent-table": {
+ "rpc-id": "RPC ID",
+ "message-type": "消息类型",
+ "method": "方法",
+ "params": "参数",
+ "created-time": "创建时间",
+ "expiration-time": "过期时间",
+ "retries": "重试次数",
+ "status": "状态",
+ "filter": "过滤器",
+ "refresh": "刷新",
+ "add": "添加 RPC 请求",
+ "details": "详情",
+ "delete": "删除",
+ "delete-request-title": "删除持久化 RPC 请求",
+ "delete-request-text": "您确定要删除该请求吗?",
+ "details-title": "详情 RPC ID:",
+ "additional-info": "附加信息",
+ "response": "响应",
+ "any-status": "任意状态",
+ "rpc-status-list": "RPC 状态列表",
+ "no-request-prompt": "无可显示的请求",
+ "send-request": "发送请求",
+ "add-title": "创建持久化 RPC 请求",
+ "method-error": "方法为必填项。",
+ "timeout-error": "最小超时值为 5000(5 秒)。",
+ "white-space-error": "不允许使用空格。",
+ "rpc-status": {
+ "QUEUED": "已排队",
+ "SENT": "已发送",
+ "DELIVERED": "已送达",
+ "SUCCESSFUL": "成功",
+ "TIMEOUT": "超时",
+ "EXPIRED": "已过期",
+ "FAILED": "失败"
+ },
+ "rpc-search-status-all": "全部",
+ "message-types": {
+ "false": "双向",
+ "true": "单向"
+ },
+ "general-settings": "常规设置",
+ "enable-filter": "启用过滤器",
+ "enable-sticky-header": "滚动时显示表头",
+ "enable-sticky-action": "滚动时显示操作列",
+ "display-request-details": "显示请求详情",
+ "allow-send-request": "允许发送 RPC 请求",
+ "allow-delete-request": "允许删除请求",
+ "columns-settings": "列设置",
+ "display-columns": "要显示的列",
+ "column": "列",
+ "no-columns-found": "未找到列",
+ "no-columns-matching": "未找到“{{column}}”。"
+ },
+ "range-chart": {
+ "chart": "图表",
+ "data-zoom": "数据缩放",
+ "range-chart-appearance": "范围图表外观",
+ "range-colors": "范围颜色",
+ "out-of-range-color": "超出范围颜色",
+ "show-range-thresholds": "显示范围阈值",
+ "range-thresholds-settings": "范围阈值设置",
+ "fill-area": "填充区域",
+ "fill-area-opacity": "填充区域不透明度",
+ "range-chart-style": "范围图表样式"
+ },
+ "knob": {
+ "behavior": "行为",
+ "initial-value": "初始值",
+ "initial-value-hint": "获取旋钮初始值的操作。",
+ "on-value-change": "值变更时",
+ "on-value-change-hint": "旋钮值变更时触发的操作。",
+ "range": "范围",
+ "min": "最小",
+ "max": "最大",
+ "value": "值",
+ "fallback-initial-value": "备用初始值"
+ },
+ "rpc": {
+ "value-settings": "值设置",
+ "initial-value": "初始值",
+ "retrieve-value-settings": "获取开/关值设置",
+ "retrieve-value-method": "使用方法获取值",
+ "retrieve-value-method-none": "不获取",
+ "retrieve-value-method-rpc": "调用 RPC 获取值方法",
+ "retrieve-value-method-attribute": "订阅属性",
+ "retrieve-value-method-timeseries": "订阅时间序列",
+ "attribute-value-key": "属性键",
+ "timeseries-value-key": "时间序列键",
+ "get-value-method": "RPC 获取值方法",
+ "parse-value-function": "解析值函数",
+ "update-value-settings": "更新值设置",
+ "set-value-method": "RPC 设置值方法",
+ "convert-value-function": "转换值函数",
+ "rpc-settings": "RPC 设置",
+ "request-timeout": "RPC 请求超时(毫秒)",
+ "persistent-rpc-settings": "持久化 RPC 设置",
+ "request-persistent": "RPC 请求持久化",
+ "persistent-polling-interval": "获取持久化 RPC 命令响应的轮询间隔(毫秒)",
+ "common-settings": "通用设置",
+ "switch-title": "开关标题",
+ "show-on-off-labels": "显示开/关标签",
+ "slide-toggle-label": "滑动开关标签",
+ "label-position": "标签位置",
+ "label-position-before": "之前",
+ "label-position-after": "之后",
+ "slider-color": "滑块颜色",
+ "slider-color-primary": "主要",
+ "slider-color-accent": "强调",
+ "slider-color-warn": "警告",
+ "button-style": "按钮样式",
+ "button-raised": "凸起按钮",
+ "button-primary": "主要颜色",
+ "button-background-color": "按钮背景颜色",
+ "button-text-color": "按钮文本颜色",
+ "widget-title": "部件标题",
+ "button-label": "按钮标签",
+ "device-attribute-scope": "设备属性范围",
+ "server-attribute": "服务端属性",
+ "shared-attribute": "共享属性",
+ "device-attribute-parameters": "设备属性参数",
+ "is-one-way-command": "单向命令",
+ "rpc-method": "RPC 方法",
+ "rpc-method-params": "RPC 方法参数",
+ "show-rpc-error": "显示 RPC 命令执行错误",
+ "led-title": "LED 标题",
+ "led-color": "LED 颜色",
+ "check-status-settings": "检查状态设置",
+ "perform-rpc-status-check": "执行 RPC 设备状态检查",
+ "retrieve-led-status-value-method": "使用方法获取 LED 状态值",
+ "led-status-value-attribute": "包含 LED 状态值的设备属性",
+ "led-status-value-timeseries": "包含 LED 状态值的设备时间序列",
+ "check-status-method": "RPC 检查设备状态方法",
+ "parse-led-status-value-function": "解析 LED 状态值函数",
+ "knob-title": "旋钮标题"
+ },
+ "maps": {
+ "map-type": {
+ "type": "地图类型",
+ "map": "地图",
+ "image": "图片"
+ },
+ "image": {
+ "image-source": "图片来源",
+ "image-source-image": "图片",
+ "image-source-entity-key": "实体键",
+ "source-entity-alias": "来源实体别名",
+ "image-url-key": "图片 URL 键",
+ "image-url-key-required": "图片 URL 键为必填项"
+ },
+ "control": {
+ "map-controls": "地图控件",
+ "position": "位置",
+ "position-topleft": "左上",
+ "position-topright": "右上",
+ "position-bottomleft": "左下",
+ "position-bottomright": "右下",
+ "zoom-actions": "缩放操作",
+ "zoom-scroll": "滚动",
+ "zoom-double-click": "双击",
+ "zoom-control-buttons": "控制按钮",
+ "scale": "比例尺",
+ "scale-metric": "公制",
+ "scale-imperial": "英制",
+ "switch-to-drag-mode-using-button": "使用按钮切换到拖拽模式"
+ },
+ "timeline": {
+ "control-panel": "时间线控制面板",
+ "time-step": "时间步长",
+ "speed-options": "速度选项",
+ "timestamp": "时间戳",
+ "snap-to-real-location": "对齐到真实位置",
+ "location-snap-filter-function": "位置对齐过滤函数",
+ "no-trips-data-available": "无可用的行程数据"
+ },
+ "map-action": {
+ "map-action-buttons": "地图操作按钮",
+ "label": "标签",
"icon": "图标",
- "icon-color": "图标颜色",
- "icon-size": "图标大小",
- "advanced-settings": "高级设置",
- "data-settings": "数据设置",
- "limits": "限制",
- "no-data-display-message": "没有数据时显示文本",
- "data-page-size": "每个数据源的最大实体数",
- "settings-component-not-found": "未找到设置的表单组件选择器'{{selector}}'",
- "preview": "预览",
- "set": "设置",
- "set-message": "设置显示文本",
- "advanced-title-style": "高级标题样式",
- "card-style": "样式",
- "text": "文本",
- "background": "背景",
- "advanced-widget-style": "高级部件样式",
- "card-buttons": "按钮",
- "show-card-buttons": "全屏按钮",
- "card-border-radius": "边框半径",
- "card-padding": "内边边距",
- "card-appearance": "外观",
"color": "颜色",
- "tooltip": "文字提示",
- "units-required": "单位必填",
- "list-layout": "列表",
- "layout": "布局",
- "resize-options": "调整大小",
- "resizable": "可调整大小",
- "preserve-aspect-ratio": "保留纵横比例"
- },
- "widget-type": {
- "import": "导入部件",
- "export": "导出部件",
- "export-failed-error": "无法导出部件:{{error}}",
- "widget-file": "部件文件",
- "invalid-widget-file-error": "无法导入部件:无效的部件数据结构。"
- },
- "widgets": {
- "mobile-app-qr-code": {
- "configuration-hint": "配置取决于平台中设置的移动应用二维码部件",
- "get-it-on-google-play": "在Google Play上下载",
- "download-on-the-app-store": "在App Store上下载"
- },
- "action-button": {
- "behavior": "行为",
- "on-click": "单击",
- "on-click-hint": "单击按钮时触发动作",
- "first-button-click": "第一次按钮单击",
- "first-button-click-hint": "按下第一个按钮时触发的动作",
- "second-button-click": "第二次按钮单击",
- "second-button-click-hint": "按下第二个按钮时触发的动作",
- "button-click-hint": "按下部件时触发的动作"
- },
- "command-button": {
- "behavior": "行为",
- "on-click": "单击",
- "on-click-hint": "单击按钮时触发动作"
- },
- "power-button": {
- "behavior": "行为",
- "power-on": "打开",
- "power-on-hint": "打开电源执行的动作。",
- "power-off": "关闭",
- "power-off-hint": "关闭电源执行的动作。",
- "on-label": "打开",
- "off-label": "关闭",
- "layout": "布局",
- "layout-default": "默认",
- "layout-simplified": "精简",
- "layout-outlined": "默认",
- "layout-default-volume": "默认",
- "layout-simplified-volume": "精简",
- "layout-outlined-volume": "默认",
- "layout-default-icon": "默认.Icon",
- "layout-simplified-icon": "精简.Icon",
- "layout-outlined-icon": "默认.Icon",
- "main": "前景色",
- "background": "背景色",
- "power-on-colors": "打开颜色",
- "power-off-colors": "关闭颜色",
- "disabled-colors": "禁用颜色",
- "button": "按钮"
- },
- "toggle-button": {
- "behavior": "行为",
- "checked": "打开",
- "unchecked": "关闭",
- "check": "打开状态",
- "check-hint": "打开组件执行的动作。",
- "uncheck": "关闭状态",
- "uncheck-hint": "关闭组件执行的动作。",
- "auto-scale": "自动",
- "horizontal-fill": "水平填充",
- "vertical-fill": "垂直填充",
- "button-appearance": "外观"
- },
- "segmented-button": {
- "layout": "布局",
- "layout-squared": "方形",
- "layout-rounded": "圆角",
- "card-border": "卡片边框",
- "button-appearance": "按钮外观",
- "first": "第一个",
- "second": "第二个",
- "color-styles": "颜色样式",
- "selected": "已选中",
- "unselected": "未选中"
- },
- "button": {
- "layout": "布局",
- "outlined": "默认",
- "filled": "填充",
- "underlined": "强调",
- "basic": "基础",
- "auto-scale": "自动",
- "label": "标签",
- "icon": "图标",
- "border-radius": "圆角",
- "color-palette": "调色板",
- "main": "前景色",
- "background": "背景色",
- "border": "边框",
- "custom-styles": "自定义样式",
- "clear-style": "清除样式",
- "shadow": "阴影",
- "enabled": "启用",
- "disabled": "禁用",
- "preview": "预览",
- "copy-style-from": "复制"
- },
- "button-state": {
- "activated-state": "激活状态",
- "activated-state-hint": "按钮在激活状态的触发条件。",
- "disabled-state": "禁用状态",
- "disabled-state-hint": "按钮在禁用状态的触发条件。",
- "selected-state": "选中状态",
- "selected-state-hint": "配置按钮选中状态的触发条件。",
- "enabled": "启用",
- "hovered": "悬停",
- "pressed": "按压",
- "activated": "激活",
- "disabled": "禁用",
- "initial": "初始状态",
- "first": "第一个",
- "second": "第二个"
- },
- "background": {
- "background": "背景颜色",
- "background-settings": "背景设置",
- "background-type-image": "上传图像",
- "background-type-color": "纯色背景",
- "image-url": "图像URL",
- "overlay": "覆盖",
- "enable-overlay": "启用覆盖",
- "blur": "模糊",
- "preview": "预览"
- },
- "bar-chart": {
- "bar-appearance": "外观",
- "label-on-bar": "标签",
- "value-on-bar": "数值",
- "bar-chart-style": "样式",
- "bar-axis": "轴"
- },
- "polar-area-chart": {
- "polar-axis": "极轴",
- "start-angle": "角度",
- "polar-area-chart-style": "图表样式"
- },
- "battery-level": {
- "layout": "布局",
- "layout-vertical-solid": "垂直.实心",
- "layout-horizontal-solid": "水平.实心",
- "layout-vertical-divided": "垂直.分割",
- "layout-horizontal-divided": "水平.分割",
- "icon": "图标",
- "value": "数值",
- "auto-scale": "自动缩放",
- "battery-level-color": "电量颜色",
- "battery-shape-color": "形状颜色",
- "battery-level-card-style": "电量卡片样式",
- "sections-count": "分段数量"
- },
- "signal-strength": {
- "value": "数值",
- "last-update": "上次更新",
- "no-signal": "无信号",
- "layout": "布局",
- "layout-wifi": "Wi-Fi",
- "layout-cellular-bar": "蜂窝网络",
- "icon": "图标",
- "date": "日期",
- "active-bars-color": "有信号颜色",
- "inactive-bars-color": "无信号颜色",
- "signal-strength-card-style": "信号强度样式",
- "no-signal-rssi-value": "无信号RSSI值"
- },
- "status-widget": {
- "behavior": "行为",
- "layout": "布局",
- "layout-default": "默认",
- "layout-center": "居中",
- "layout-icon": "图标",
- "on": "打开",
- "off": "关闭",
- "label": "标签",
- "status": "状态",
- "icon": "图标",
- "color-palette": "启用时调色板",
- "disabled-color-palette": "禁用时调色板",
- "primary": "基本",
- "primary-color-hint": "图标和标签的颜色",
- "secondary": "次要",
- "secondary-color-hint": "状态颜色",
- "background": "背景"
- },
- "chart": {
- "common-settings": "通用设置",
- "enable-stacking-mode": "启用堆叠模式",
- "selection": "时间范围选择",
- "enable-selection-mode": "启用选择模式",
- "line-shadow-size": "线条阴影大小",
- "display-smooth-lines": "显示平滑(曲线)线条",
- "default-bar-width": "非聚合数据的默认条形图宽度(毫秒)",
- "bar-alignment": "Bar 对齐方式",
- "bar-alignment-left": "左",
- "bar-alignment-right": "右",
- "bar-alignment-center": "居中",
- "default-font": "默认字体",
- "default-font-size": "默认字体大小",
- "default-font-color": "默认字体颜色",
- "thresholds-line-width": "所有阈值的默认线条宽度",
- "tooltip-settings": "文字提示设置",
- "tooltip": "文字提示",
- "show-tooltip": "显示文字提示",
- "hover-individual-points": "悬停在单个数据点上",
- "show-cumulative-values": "在堆叠模式下显示累积值",
- "hide-zero-false-values": "文字提示隐藏 zero/false",
- "tooltip-value-format-function": "文字提示值的格式化函数",
- "grid-settings": "网格线设置",
- "show-vertical-lines": "显示垂直线条",
- "show-horizontal-lines": "显示水平线条",
- "grid-outline-border-width": "网格轮廓/边框宽度(px)",
- "primary-color": "主要颜色",
- "background-color": "背景颜色",
- "ticks-color": "刻度颜色",
- "xaxis-settings": "X轴设置",
- "axis-title": "轴标题",
- "xaxis-tick-labels-settings": "X轴刻度标签设置",
- "show-tick-labels": "显示轴刻度标签",
- "yaxis-settings": "Y轴设置",
- "min-scale-value": "刻度上的最小值",
- "max-scale-value": "刻度上的最大值",
- "yaxis-tick-labels-settings": "Y轴刻度标签设置",
- "tick-step-size": "刻度之间的步长",
- "number-of-decimals": "要显示的小数位数",
- "ticks-formatter-function": "刻度格式化函数",
- "comparison-settings": "比较设置",
- "enable-comparison": "启用比较",
- "time-for-comparison": "比较期间",
- "time-for-comparison-previous-interval": "上一个时间段(默认)",
- "time-for-comparison-days": "一天前",
- "time-for-comparison-weeks": "一周前",
- "time-for-comparison-months": "一月前",
- "time-for-comparison-years": "一年前",
- "time-for-comparison-custom-interval": "自定义时间间隔",
- "custom-interval-value": "自定义时间间隔值 (毫秒)",
- "comparison-x-axis-settings": "比较X轴设置",
- "axis-position": "轴位置",
- "axis-position-top": "顶部 (默认)",
- "axis-position-bottom": "底部",
- "custom-legend-settings": "自定义设置图例",
- "enable-custom-legend": "启用自定义图例 (这将允许您在键标签中使用属性/时间序列值)",
- "key-name": "键名",
- "key-name-required": "键名是必需的",
- "key-type": "键类型",
- "key-type-attribute": "属性",
- "key-type-timeseries": "时间序列",
- "label-keys-list": "要在标签中使用的键列表",
- "no-label-keys": "未配置键",
- "add-label-key": "添加新键",
- "line-width": "线宽",
- "color": "颜色",
- "data-is-hidden-by-default": "默认情况下隐藏数据",
- "disable-data-hiding": "禁用数据隐藏",
- "remove-from-legend": "从图例中移除数据键",
- "exclude-from-stacking": "从堆叠中排除(仅适用于'堆叠'模式)",
- "line-settings": "线设置",
- "show-line": "显示线条",
- "fill-line": "填充线条",
- "fill-line-opacity": "填充透明度",
- "points-settings": "点设置",
- "show-points": "显示点",
- "points-line-width": "点的线宽",
- "points-radius": "点的半径",
- "point-shape": "形状",
- "point-shape-circle": "圆",
- "point-shape-cross": "十字",
- "point-shape-diamond": "菱形",
- "point-shape-square": "矩形",
- "point-shape-triangle": "三角形",
- "point-shape-custom": "自定义函数",
- "point-shape-draw-function": "形状绘制函数",
- "show-separate-axis": "显示分离的轴",
- "axis-position-left": "左侧",
- "axis-position-right": "右侧",
- "thresholds": "阈值",
- "no-thresholds": "未配置阈值",
- "add-threshold": "添加新阈值",
- "show-values-for-comparison": "显示历史比较值",
- "comparison-values-label": "历史值标签",
- "comparison-line-color": "对比线颜色",
- "threshold-settings": "阈值设置",
- "use-as-threshold": "使用遥测作为阈值",
- "threshold-line-width": "阈值线宽",
- "threshold-color": "阈值颜色",
- "common-pie-settings": "常用饼图设置",
- "radius": "半径",
- "inner-radius": "内部半径",
- "tilt": "倾斜",
- "common-pie-settings-range-error": "值应在0到1的范围内",
- "stroke-settings": "描边设置",
- "width-pixels": "宽度(px)",
- "show-labels": "显示标签",
- "animation-settings": "动画设置",
- "animated-pie": "启用饼图动画",
- "border-settings": "边框设置",
- "border-width": "边框宽度",
- "border-color": "边框颜色",
- "legend-settings": "设置图例",
- "display-legend": "显示图例",
- "labels-font-color": "标签字体颜色",
- "series": "时间序列",
- "add-series": "添加",
- "series-settings": "设置",
- "remove-series": "删除",
- "no-series": "没有设置时间序列",
- "no-series-error": "至少指定一个时间序列",
- "chart-appearance": "图表外观",
- "vertical-grid-lines": "垂直网格线",
- "horizontal-grid-lines": "水平网格线",
- "chart-background": "图表背景",
- "grid-lines-color": "网格线颜色",
- "border": "边框",
- "axis": "轴",
- "vertical-axis": "垂直轴",
- "ticks": "刻度",
- "horizontal-axis": "水平轴",
- "shape-empty-circle": "空心圆形",
- "shape-circle": "圆形",
- "shape-rect": "长方形",
- "shape-round-rect": "矩形",
- "shape-triangle": "三角形",
- "shape-diamond": "菱形",
- "shape-pin": "Pin",
- "shape-arrow": "箭头",
- "shape-none": "无",
- "line-type-solid": "实线",
- "line-type-dashed": "虚线",
- "line-type-dotted": "点画线",
- "label-position-top": "上",
- "label-position-bottom": "下",
- "label-position-outside": "外部",
- "label-position-inside": "内部",
- "fill": "填充",
- "fill-type-none": "无",
- "fill-type-solid": "实线",
- "fill-type-opacity": "透明度",
- "fill-type-gradient": "渐变色",
- "background": "背景色",
- "opacity": "透明度",
- "gradient-stops": "渐变值",
- "gradient-start": "起始点",
- "gradient-end": "结束点",
- "animation": {
- "animation": "动画",
- "animation-threshold": "动画阈值",
- "animation-duration": "动画时长",
- "animation-easing": "动画方式",
- "animation-delay": "动画延迟",
- "update-animation-duration": "更新时长",
- "update-animation-easing": "更新方式",
- "update-animation-delay": "更新延迟"
- },
- "chart-axis": {
- "scale": "比例",
- "scale-min": "最小",
- "scale-max": "最大",
- "scale-auto": "自动"
- },
- "bar": {
- "show-border": "显示边框",
- "border-width": "边框宽度",
- "border-radius": "边框圆角",
- "bar-width": "宽度",
- "label": "标签",
- "label-hint": "在条形图上显示标签。",
- "series-label-hint": "显示具有数值的标签。",
- "label-background": "标签背景"
- }
- },
- "color": {
- "color-settings": "颜色设置",
- "color-type-constant": "固定值",
- "color-type-gradient": "渐变色",
- "color-type-range": "数值范围",
- "color-type-function": "函数",
- "color": "颜色",
- "value-range": "数值范围",
- "from": "从",
- "to": "到",
- "color-function": "颜色函数",
- "copy-color-settings-from": "复制其他颜色设置",
- "copy-from": "复制",
- "settings-type": "类型设置",
- "basic-mode": "基础",
- "advanced-mode": "高级",
- "entity-alias": "实体别名",
- "entity-attribute": "实体属性",
- "gradient-color": "渐变色",
- "gradient-color-min": "颜色",
- "gradient-start": "起始点",
- "gradient-start-min": "起始",
- "gradient-end": "结束点",
- "gradient-end-min": "结束",
- "start-value": "起始值",
- "end-value": "结束植",
- "gradient-type": "渐变类型"
- },
- "dashboard-state": {
- "dashboard-state-settings": "仪表板状态设置",
- "dashboard-state": "仪表板状态 ID",
- "autofill-state-layout": "自动填充状态布局默认高度",
- "default-margin": "默认部件边距",
- "default-background-color": "默认背景颜色",
- "sync-parent-state-params": "与父仪表板同步状态参数"
- },
- "date-range-navigator": {
- "date-range-picker-settings": "日期范围选择设置",
- "hide-date-range-picker": "隐藏日期范围选择",
- "picker-one-panel": "日期范围选择板",
- "picker-auto-confirm": "自动确认日期范围选择",
- "picker-show-template": "日期范围选择显示模板",
- "first-day-of-week": "一周的第一天",
- "interval-settings": "间隔设置",
- "hide-interval": "隐藏间隔",
- "initial-interval": "初始间隔",
- "interval-hour": "小时",
- "interval-day": "天",
- "interval-week": "周",
- "interval-two-weeks": "2周",
- "interval-month": "月",
- "interval-three-months": "3个月",
- "interval-six-months": "6个月",
- "step-settings": "步长设置",
- "hide-step-size": "隐藏步长",
- "initial-step-size": "初始步长",
- "hide-labels": "隐藏标签",
- "use-session-storage": "使用会话存储",
- "localizationMap": {
- "Sun": "周日",
- "Mon": "周一",
- "Tue": "周二",
- "Wed": "周三",
- "Thu": "周四",
- "Fri": "周五",
- "Sat": "周六",
- "Jan": "1月",
- "Feb": "2月",
- "Mar": "3月",
- "Apr": "4月",
- "May": "5月",
- "Jun": "6月",
- "Jul": "7月",
- "Aug": "8月",
- "Sep": "9月",
- "Oct": "10月",
- "Nov": "11月",
- "Dec": "12月",
- "January": "一月",
- "February": "二月",
- "March": "三月",
- "April": "四月",
- "June": "六月",
- "July": "七月",
- "August": "八月",
- "September": "九月",
- "October": "十月",
- "November": "十一月",
- "December": "十二月",
- "Custom Date Range": "自定义日期范围",
- "Date Range Template": "日期范围模板",
- "Today": "今天",
- "Yesterday": "昨天",
- "This Week": "本星期",
- "Last Week": "上星期",
- "This Month": "本月",
- "Last Month": "上月",
- "Year": "年",
- "This Year": "今年",
- "Last Year": "去年",
- "Date picker": "日期选择",
- "Hour": "小时",
- "Day": "天",
- "Week": "周",
- "2 weeks": "2周",
- "Month": "月",
- "3 months": "3个月",
- "6 months": "6个月",
- "Custom interval": "自定义间隔",
- "Interval": "间隔",
- "Step size": "步长",
- "Ok": "确定"
- }
- },
- "doughnut": {
- "doughnut-appearance": "外观",
- "layout": "布局",
- "layout-default": "默认",
- "layout-with-total": "总计",
- "central-total-value": "中心数值",
- "doughnut-card-style": "样式"
- },
- "entities-hierarchy": {
- "hierarchy-data-settings": "层次数据设置",
- "relations-query-function": "关系查询函数",
- "has-children-function": "是否子级函数",
- "node-state-settings": "状态设置",
- "node-opened-function": "展开函数",
- "node-disabled-function": "禁用函数",
- "display-settings": "显示设置",
- "node-icon-function": "图标函数",
- "node-text-function": "文本函数",
- "sort-settings": "排序设置",
- "nodes-sort-function": "排序函数"
- },
- "edge": {
- "display-default-title": "显示默认标题"
- },
- "gateway": {
- "general-settings": "基础设置",
- "widget-title": "部件标题",
- "default-archive-file-name": "默认文件名",
- "device-type-for-new-gateway": "新网关的设备类型",
- "messages-settings": "消息设置",
- "save-config-success-message": "配置保存成功消息",
- "device-name-exists-message": "设备名称已经存在消消息",
- "gateway-title": "网关标题",
- "read-only": "只读",
- "events-title": "事件标题",
- "events-filter": "事件过滤",
- "event-key-contains": "事件键包含...",
- "show-connector": "显示连接器",
- "connector-state-param-key": "连接器状态参数键",
- "message": "消息",
- "level": "层级",
- "created-time": "创建时间"
- },
- "gauge": {
- "default-color": "默认颜色",
- "radial-gauge-settings": "量规设置",
- "ticks-settings": "刻度设置",
- "min-value": "最小值",
- "max-value": "最大值",
- "min-value-short": "最小值",
- "max-value-short": "最大值",
- "start-ticks-angle": "起始角度",
- "ticks-angle": "结束角度",
- "major-ticks": "主刻度",
- "major-ticks-count": "主刻度数量",
- "major-ticks-color": "主刻度颜色",
- "minor-ticks": "次刻度",
- "minor-ticks-count": "次刻度数量",
- "minor-ticks-color": "次刻度颜色",
- "tick-numbers-font": "刻度数字字体",
- "unit-title-settings": "单位设置",
- "show-unit-title": "显示单位",
- "unit-title": "单位",
- "title-font": "字体",
- "units-settings": "单位设置",
- "units-font": "字体",
- "value-box-settings": "数值框设置",
- "show-value-box": "显示数值框",
- "value-box": "数值框",
- "value-int": "整数位数",
- "value-text": "数值文本",
- "value-text-shadow": "文本阴影",
- "value-font": "数值字体",
- "rect-stroke-color-start": "边框色渐变起始",
- "rect-stroke-color-end": "边框色渐变结束",
- "background-color": "背景颜色",
- "shadow-color": "阴影颜色",
- "value-box-rect-stroke-color": "数值框描边",
- "value-box-rect-stroke-color-end": "数值框描边色渐变结束",
- "value-box-background-color": "数值框背景颜色",
- "value-box-shadow-color": "数值框阴影颜色",
- "plate-settings": "背景设置",
- "show-plate-border": "显示背景边框",
- "plate-color": "背景颜色",
- "needle-settings": "指针设置",
- "needle-circle-size": "针座尺寸",
- "needle-color": "指针颜色",
- "needle-color-start": "指针颜色渐变起始",
- "needle-color-end": "指针颜色渐变结束",
- "needle-color-shadow-up": "指针上半部分阴影颜色",
- "needle-color-shadow-down": "指针下半部分阴影颜色",
- "highlights-settings": "高亮设置",
- "highlights-width": "高亮宽度",
- "highlights": "高亮",
- "highlight-from": "起始值",
- "highlight-to": "终止值",
- "highlight-color": "颜色",
- "no-highlights": "未配置高亮",
- "add-highlight": "添加高亮",
- "animation-settings": "动画设置",
- "enable-animation": "启用动画",
- "animation-duration-rule": "动画保持规则",
- "animation-duration": "动画保持时间",
- "animation-rule": "动画规则",
- "animation-linear": "线性",
- "animation-quad": "二次方",
- "animation-quint": "五次方",
- "animation-cycle": "循环",
- "animation-bounce": "弹跳",
- "animation-elastic": "弹性",
- "animation-dequad": "二次方反向",
- "animation-dequint": "五次方反向",
- "animation-decycle": "循环反向",
- "animation-debounce": "弹跳反向",
- "animation-delastic": "弹性反向",
- "linear-gauge-settings": "线性量规设置",
- "bar-stroke": "柱状图描边",
- "bar-stroke-width": "条形图描边宽度",
- "bar-stroke-color": "条形图描边颜色",
- "bar-background-color": "量规条形图背景颜色",
- "bar-background-color-end": "条形图背景颜色-渐变结束",
- "progress-bar-color": "进度条颜色",
- "progress-bar": "进度条",
- "progress-bar-color-start": "进度条颜色-渐变起始",
- "progress-bar-color-end": "进度条颜色-渐变结束",
- "major-ticks-names": "主刻度名称",
- "show-stroke-ticks": "显示刻度描边",
- "major-ticks-font": "主刻度字体",
- "border-color": "边框颜色",
- "border-width": "边框宽度",
- "needle-circle": "指针圆圈",
- "needle-circle-color": "指针圆圈颜色",
- "animation-target": "动画目标",
- "animation-target-needle": "指针",
- "animation-target-plate": "背景板",
- "common-settings": "通用量规设置",
- "gauge-type": "量规类型",
- "gauge-type-arc": "弧形",
- "gauge-type-donut": "圆圈",
- "gauge-type-horizontal-bar": "水平条形",
- "gauge-type-vertical-bar": "垂直条形",
- "donut-start-angle": "角度",
- "bar-settings": "条形图设置",
- "relative-bar-width": "条形宽度",
- "neon-glow-brightness": "霓虹灯光效亮度(0-100)0-禁用效果",
- "neon-glow-brightness-hint": "0-禁用效果",
- "stripes-thickness": "条纹的厚度",
- "stripes-thickness-hint": "0-无条纹",
- "rounded-line-cap": "圆角线帽",
- "bar-color-settings": "颜色设置",
- "use-precise-level-color-values": "使用精确的颜色级别",
- "bar-colors": "条形图颜色,从低到高",
- "color": "颜色",
- "no-bar-colors": "未配置条形图颜色",
- "add-bar-color": "添加条形图颜色",
- "from": "起始值",
- "to": "终止值",
- "fixed-level-colors": "使用边界值的条形图颜色",
- "gauge-title-settings": "量规标题设置",
- "show-gauge-title": "显示量规标题",
- "gauge-title": "量规标题",
- "gauge-title-font": "量规标题字体",
- "unit-title-and-timestamp-settings": "单位标题和时间戳设置",
- "show-timestamp": "显示值时间戳",
- "timestamp-format": "时间格式",
- "label-font": "显示在数值下方的标签字体",
- "value-settings": "数值设置",
- "show-value": "显示数值文本",
- "min-max-settings": "最小/最大标签设置",
- "show-min-max": "显示最小和最大值",
- "min-max-font": "最小和最大标签字体",
- "show-ticks": "显示刻度",
- "tick-width": "宽度",
- "tick-color": "颜色",
- "tick-values": "刻度值",
- "no-tick-values": "未配置刻度值",
- "add-tick-value": "添加刻度值",
- "gauge-appearance": "仪表盘外观",
- "units-title": "单位标题",
- "value": "数值",
- "ticks": "刻度",
- "arrow-and-scale-color": "默认颜色",
- "scale-settings": "设置",
- "scale": "尺寸",
- "scale-color": "颜色",
- "compass-appearance": "外观",
- "label": "标签",
- "labels": "标签",
- "label-style": "标签样式",
- "simple-gauge-type": "类型",
- "gauge-bar-background": "量规背景",
- "bar-color": "颜色",
- "min-and-max-value": "最小和最大值",
- "min-and-max-label": "最小和最大标签",
- "font": "字体",
- "tick-width-and-color": "刻度宽度和颜色",
- "min-max-validation-text": "最大值必须大于最小值"
- },
- "gpio": {
- "pin": "引脚",
- "label": "标签",
- "row": "行",
- "column": "列",
- "color": "颜色",
- "panel-settings": "面板设置",
- "background-color": "背景颜色",
- "gpio-switches": "GPIO开关",
- "no-gpio-switches": "未配置GPIO开关",
- "add-gpio-switch": "添加GPIO开关",
- "gpio-status-request": "GPIO状态请求",
- "method-name": "方法名称",
- "method-body": "方法内容",
- "gpio-status-change-request": "GPIO状态变更请求",
- "parse-gpio-status-function": "解析GPIO状态函数",
- "gpio-leds": "GPIO LED",
- "no-gpio-leds": "未配置GPIO LED",
- "add-gpio-led": "添加GPIO LED"
- },
- "html-card": {
- "html": "HTML",
- "css": "CSS"
- },
- "input-widgets": {
- "attribute-not-allowed": "属性参数不能在此部件中使用",
- "blocked-location": "在浏览器中阻止地理位置",
- "claim-device": "声明设备",
- "claim-failed": "声明设备失败!",
- "claim-not-found": "未找到设备!",
- "claim-successful": "设备已成功申领!",
- "date": "日期",
- "device-name": "设备名称",
- "device-name-required": "设备名称必填",
- "discard-changes": "放弃更改",
- "entity-attribute-required": "实体属性必填",
- "entity-coordinate-required": "纬度和经度两个字段都是必需的",
- "entity-timeseries-required": "实体时间序列必填",
- "get-location": "获取当前位置",
- "invalid-date": "无效日期",
- "latitude": "纬度",
- "longitude": "经度",
- "min-value-error": "最小值是{{value}}",
- "max-value-error": "最大值是{{value}}",
- "not-allowed-entity": "所选实体不能具有共享属性",
- "no-attribute-selected": "未选择任何属性",
- "no-datakey-selected": "未选择数据键",
- "no-coordinate-specified": "未指定纬度/经度的数据键",
- "no-entity-selected": "未选择实体",
- "no-image": "没有图像",
- "no-support-geolocation": "您的浏览器不支持地理定位",
- "no-support-web-camera": "您的浏览器不支持摄像头",
- "enable-https-use-widget": "请启用HTTPS以使用此部件",
- "no-found-your-camera": "未找到摄像机",
- "no-permission-camera": "权限被用户拒绝/此站点无权使用摄像机",
- "no-timeseries-selected": "未选择时间序列值",
- "secret-key": "密钥",
- "secret-key-required": "密钥必填",
- "switch-attribute-value": "切换实体属性值",
- "switch-camera": "切换摄像机",
- "switch-timeseries-value": "切换实体时间序列值",
- "take-photo": "拍照",
- "time": "时间",
- "timeseries-not-allowed": "时间序列参数不能用于此部件",
- "update-failed": "更新失败",
- "update-successful": "更新成功",
- "update-attribute": "更新属性",
- "update-timeseries": "更新时间序列",
- "value": "数值",
- "general-settings": "通用设置",
- "widget-title": "部件标题",
- "claim-button-label": "认领按钮标签",
- "show-secret-key-field": "显示'秘钥'输入字段",
- "labels-settings": "标签设置",
- "show-labels": "显示标签",
- "device-name-label": "设备名称输入字段标签",
- "secret-key-label": "秘钥输入字段标签",
- "messages-settings": "消息设置",
- "claim-device-success-message": "设备认领成功文本消息",
- "claim-device-not-found-message": "设备未找到文本消息",
- "claim-device-failed-message": "设备认领失败文本消息",
- "claim-device-name-required-message": "'设备名称必填'错误消息",
- "claim-device-secret-key-required-message": "'秘钥必填'错误消息",
- "show-label": "显示标签",
- "label": "标签",
- "required": "必填",
- "required-error-message": "'必填'错误消息",
- "show-result-message": "显示结果消息",
- "integer-field-settings": "整数字段设置",
- "min-value": "最小值",
- "max-value": "最大值",
- "double-field-settings": "双精度字段设置",
- "text-field-settings": "文本字段设置",
- "min-length": "最小长度",
- "max-length": "最大长度",
- "checkbox-settings": "复选框设置",
- "true-label": "选中标签",
- "false-label": "未选中标签",
- "image-input-settings": "图像输入设置",
- "display-preview": "显示预览",
- "display-clear-button": "显示清除按钮",
- "display-apply-button": "显示应用按钮",
- "display-discard-button": "显示放弃按钮",
- "datetime-field-settings": "日期/时间字段设置",
- "display-time-input": "显示时间输入",
- "latitude-key-name": "纬度键名称",
- "longitude-key-name": "经度键名称",
- "show-get-location-button": "显示'获取当前位置'按钮",
- "use-high-accuracy": "使用高精度",
- "location-fields-settings": "位置字段设置",
- "latitude-label": "纬度标签",
- "longitude-label": "经度标签",
- "input-fields-alignment": "输入字段对齐方式",
- "input-fields-alignment-column": "列(默认)",
- "input-fields-alignment-row": "行",
- "layout": "布局",
- "row-gap": "行之间的间距(像素)",
- "column-gap": "列之间的间距(像素)",
- "latitude-field-required": "纬度字段必填",
- "longitude-field-required": "经度字段必填",
- "attribute-settings": "属性设置",
- "widget-mode": "部件模式",
- "widget-mode-update-attribute": "更新属性",
- "widget-mode-update-timeseries": "更新时间序列",
- "attribute-scope": "属性范围",
- "attribute-scope-server": "服务器属性",
- "attribute-scope-shared": "共享属性",
- "value-required": "值必填",
- "image-settings": "图像设置",
- "image-format": "图像格式",
- "image-format-jpeg": "JPEG",
- "image-format-png": "PNG",
- "image-format-webp": "WEBP",
- "image-quality": "使用有损压缩的图像质量,比如JPEG和WEBP",
- "max-image-width": "最大图像宽度",
- "max-image-height": "最大图像高度",
- "action-buttons": "操作按钮",
- "show-action-buttons": "显示操作按钮",
- "update-all-values": "更新所有值,而不仅仅是修改过的值",
- "save-button-label": "'保存'按钮标签",
- "reset-button-label": "'撤销'按钮标签",
- "group-settings": "分组设置",
- "show-group-title": "显示字段组的标题,与不同实体相关联",
- "group-title": "分组标题",
- "fields-alignment": "字段对齐方式",
- "fields-alignment-row": "行(默认)",
- "fields-alignment-column": "列",
- "fields-in-row": "每行字段数",
- "option-value": "值(创建空选项时填写'null')",
- "option-label": "标签",
- "hide-input-field": "隐藏输入字段",
- "datakey-type": "数据键类型",
- "datakey-type-server": "服务器属性(默认)",
- "datakey-type-shared": "共享属性",
- "datakey-type-timeseries": "时间序列",
- "datakey-value-type": "数据键值类型",
- "datakey-value-type-string": "字符串",
- "datakey-value-type-double": "双精度",
- "datakey-value-type-integer": "整数",
- "datakey-value-type-json": "JSON",
- "datakey-value-type-boolean-checkbox": "布尔值(复选框)",
- "datakey-value-type-boolean-switch": "布尔值(开关)",
- "datakey-value-type-date-time": "日期和时间",
- "datakey-value-type-date": "日期",
- "datakey-value-type-time": "时间",
- "datakey-value-type-select": "选择",
- "datakey-value-type-color": "颜色",
- "value-is-required": "值必填",
- "ability-to-edit-attribute": "编辑属性的能力",
- "ability-to-edit-attribute-editable": "可编辑(默认)",
- "ability-to-edit-attribute-disabled": "禁用",
- "ability-to-edit-attribute-readonly": "只读",
- "disable-on-datakey-name": "在另一个数据键的值为假时禁用(指定数据键名称)",
- "field-appearance": "字段外观",
- "appearance-fill": "填充",
- "appearance-outline": "轮廓",
- "subscript-sizing": "下标大小",
- "subscript-sizing-fixed": "固定",
- "subscript-sizing-dynamic": "动态",
- "slide-toggle-settings": "滑动开关设置",
- "slide-toggle-label-position": "滑动开关标签位置",
- "slide-toggle-label-position-after": "之后",
- "slide-toggle-label-position-before": "之前",
- "select-options": "选择选项",
- "no-select-options": "没有配置选择选项",
- "add-select-option": "添加选择选项",
- "numeric-field-settings": "数值字段设置",
- "step-interval": "值之间的步长间隔",
- "error-messages": "错误消息",
- "min-value-error-message": "'最小值'错误消息",
- "max-value-error-message": "'最大值'错误消息",
- "invalid-date-error-message": "'无效日期'错误消息",
- "invalid-JSON-error-message": "'无效JSON'错误消息",
- "icon-settings": "图标设置",
- "dialog-editor-settings": "对话框编辑器设置",
- "use-custom-icon": "使用自定义图标",
- "input-cell-icon": "输入单元格前显示的图标",
- "value-conversion-settings": "值转换设置",
- "get-value-settings": "获取值设置",
- "use-get-value-function": "使用getValue函数",
- "get-value-function": "getValue函数",
- "set-value-settings": "设置值设置",
- "use-set-value-function": "使用setValue函数",
- "set-value-function": "setValue函数",
- "json-invalid": "JSON值格式无效",
- "title": "标题",
- "cancel-button-label": "'取消'按钮标签"
- },
- "invalid-qr-code-text": "无效的二维码输入文本,输入应为字符串类型。",
- "qr-code": {
- "use-qr-code-text-function": "使用二维码文本函数",
- "qr-code-text-pattern": "二维码文本模式(例如'${entityName} | ${keyName} - some text.')",
- "qr-code-text-pattern-hint": "二维码文本模式将使用实体别名中的实体中找到的第一个键的值。",
- "qr-code-text-pattern-required": "必须提供二维码文本模式。",
- "qr-code-text-function": "二维码文本函数"
- },
- "label-widget": {
- "label-pattern": "模式",
- "label-pattern-hint": "提示:例如文本${keyName}单位或${#<key index>}单位'",
- "label-pattern-required": "必须提供模式",
- "label-position": "位置(相对于背景的百分比)",
- "x-pos": "X",
- "y-pos": "Y",
- "background-color": "背景颜色",
- "font-settings": "字体设置",
- "background-image": "背景图像",
- "labels": "标签",
- "no-labels": "无配置的标签",
- "add-label": "添加标签"
- },
- "navigation": {
- "title": "标题",
- "navigation-path": "导航路径",
- "filter-type": "筛选类型",
- "filter-type-all": "所有项目",
- "filter-type-include": "包含项目",
- "filter-type-exclude": "排除项目",
- "items": "项目",
- "enter-urls-to-filter": "输入要筛选的URL..."
- },
- "persistent-table": {
- "rpc-id": "RPC ID",
- "message-type": "消息类型",
- "method": "方法",
- "params": "参数",
- "created-time": "创建时间",
- "expiration-time": "过期时间",
- "retries": "重试次数",
- "status": "状态",
- "filter": "筛选",
- "refresh": "刷新",
- "add": "添加RPC请求",
- "details": "详情",
- "delete": "删除",
- "delete-request-title": "删除持久化RPC请求",
- "delete-request-text": "确定要删除请求吗?",
- "details-title": "详情 RPC ID: ",
- "additional-info": "附加信息",
- "response": "响应",
- "any-status": "任何状态",
- "rpc-status-list": "RPC状态列表",
- "no-request-prompt": "没有要显示的请求",
- "send-request": "发送请求",
- "add-title": "创建持久化RPC请求",
- "method-error": "必须提供方法。",
- "timeout-error": "最小超时值为5000(5秒)。",
- "white-space-error": "不允许使用空格。",
- "rpc-status": {
- "QUEUED": "已排队",
- "SENT": "已发送",
- "DELIVERED": "已送达",
- "SUCCESSFUL": "成功",
- "TIMEOUT": "超时",
- "EXPIRED": "已过期",
- "FAILED": "失败"
- },
- "rpc-search-status-all": "所有",
- "message-types": {
- "false": "双向",
- "true": "单向"
- },
- "general-settings": "常规设置",
- "enable-filter": "启用筛选",
- "enable-sticky-header": "滚动时显示标题栏",
- "enable-sticky-action": "滚动时显示操作列",
- "display-request-details": "显示请求详情",
- "allow-send-request": "允许发送RPC请求",
- "allow-delete-request": "允许删除请求",
- "columns-settings": "列设置",
- "display-columns": "要显示的列",
- "column": "列",
- "no-columns-found": "找不到列",
- "no-columns-matching": "未找到'{{column}}'。"
+ "action": "操作",
+ "add-button": "添加按钮",
+ "no-action-buttons-configured": "未配置操作按钮",
+ "remove-action-button": "移除操作按钮",
+ "map-action-button": "地图操作按钮",
+ "button-requires": "按钮需要标签或图标"
+ },
+ "common": {
+ "common-map-settings": "通用地图设置",
+ "fit-map-bounds": "调整地图范围以覆盖所有标记",
+ "default-map-center-position": "默认地图中心位置",
+ "default-map-zoom-level": "默认地图缩放级别",
+ "entities-limit": "加载实体数量限制"
+ },
+ "layer": {
+ "label": "标签",
+ "layer": "图层",
+ "layers": "图层",
+ "map-layers": "地图图层",
+ "add-layer": "添加图层",
+ "layer-settings": "图层设置",
+ "remove-layer": "移除图层",
+ "no-layers": "未配置图层",
+ "roadmap": "路线图",
+ "satellite": "卫星图",
+ "hybrid": "混合图",
+ "reference": {
+ "reference-layer": "参考图层",
+ "no-layer": "无图层",
+ "openstreetmap-hybrid": "OpenStreetMap 混合",
+ "world-edition-hybrid": "World Edition 混合",
+ "enhanced-contrast-hybrid": "增强对比度混合"
},
- "range-chart": {
- "chart": "图表",
- "data-zoom": "数据缩放",
- "range-chart-appearance": "图表范围外观",
- "range-colors": "范围颜色",
- "out-of-range-color": "超出范围颜色",
- "show-range-thresholds": "显示范围阈值",
- "range-thresholds-settings": "范围阈值设置",
- "fill-area": "填充区域",
- "fill-area-opacity": "填充区域透明度",
- "range-chart-style": "范围图样式"
+ "provider": {
+ "provider": "提供商",
+ "openstreet": {
+ "title": "OpenStreet",
+ "mapnik": "Mapnik",
+ "hot": "HOT",
+ "esri-street": "WorldStreetMap",
+ "esri-topo": "WorldTopoMap",
+ "esri-imagery": "WorldImagery",
+ "cartodb-positron": "Positron",
+ "cartodb-dark-matter": "DarkMatter"
+ },
+ "google": {
+ "title": "Google",
+ "roadmap": "路线图",
+ "satellite": "卫星图",
+ "hybrid": "混合图",
+ "terrain": "地形图"
+ },
+ "here": {
+ "title": "HERE",
+ "normal-day": "日间标准",
+ "normal-night": "夜间标准",
+ "hybrid-day": "日间混合",
+ "terrain-day": "日间地形"
+ },
+ "tencent": {
+ "title": "腾讯",
+ "normal": "标准",
+ "satellite": "卫星图",
+ "terrain": "地形图"
+ },
+ "custom": {
+ "title": "自定义",
+ "tile-url": "瓦片 URL"
+ }
},
- "rpc": {
- "value-settings": "值设置",
- "initial-value": "初始值",
- "retrieve-value-settings": "获取开/关值设置",
- "retrieve-value-method": "使用方法获取值",
- "retrieve-value-method-none": "不获取",
- "retrieve-value-method-rpc": "调用RPC获取值方法",
- "retrieve-value-method-attribute": "订阅属性获取值",
- "retrieve-value-method-timeseries": "订阅时间序列获取值",
- "attribute-value-key": "属性键",
- "timeseries-value-key": "时间序列键",
- "get-value-method": "RPC获取值方法",
- "parse-value-function": "解析值的函数",
- "update-value-settings": "更新值设置",
- "set-value-method": "RPC设置值方法",
- "convert-value-function": "转换值的函数",
- "rpc-settings": "RPC设置",
- "request-timeout": "RPC请求超时时间(毫秒)",
- "persistent-rpc-settings": "持久化RPC设置",
- "request-persistent": "持久化RPC请求",
- "persistent-polling-interval": "持久化RPC命令响应的轮询间隔(毫秒)",
- "common-settings": "常见设置",
- "switch-title": "开关标题",
- "show-on-off-labels": "显示开/关标签",
- "slide-toggle-label": "滑动开关标签",
- "label-position": "标签位置",
- "label-position-before": "之前",
- "label-position-after": "之后",
- "slider-color": "滑块颜色",
- "slider-color-primary": "主要",
- "slider-color-accent": "强调",
- "slider-color-warn": "警告",
- "button-style": "按钮样式",
- "button-raised": "凸起按钮",
- "button-primary": "主要颜色",
- "button-background-color": "按钮背景颜色",
- "button-text-color": "按钮文字颜色",
- "widget-title": "部件标题",
- "button-label": "按钮标签",
- "device-attribute-scope": "设备属性范围",
- "server-attribute": "服务器属性",
- "shared-attribute": "共享属性",
- "device-attribute-parameters": "设备属性参数",
- "is-one-way-command": "是单向命令",
- "rpc-method": "RPC方法",
- "rpc-method-params": "RPC方法参数",
- "show-rpc-error": "显示RPC命令执行错误",
- "led-title": "LED标题",
- "led-color": "LED颜色",
- "check-status-settings": "检查状态设置",
- "perform-rpc-status-check": "执行RPC设备状态检查",
- "retrieve-led-status-value-method": "使用方法获取LED状态值",
- "led-status-value-attribute": "包含LED状态值的设备属性",
- "led-status-value-timeseries": "包含LED状态值的设备时间序列",
- "check-status-method": "RPC检查设备状态方法",
- "parse-led-status-value-function": "解析LED状态值的函数",
- "knob-title": "旋钮标题",
- "min-value": "最小值",
- "max-value": "最大值"
+ "credentials": {
+ "credentials": "凭据",
+ "api-key": "API 密钥"
+ }
+ },
+ "overlays": {
+ "overlays": "覆盖层",
+ "overlays-hint": "配置地图实体的数据源、外观、行为、编辑选项和分组",
+ "trips": "行程",
+ "markers": "标记",
+ "polygons": "多边形",
+ "circles": "圆形",
+ "polylines": "折线"
+ },
+ "data-layer": {
+ "source": "来源",
+ "filter": "过滤器",
+ "additional-data-keys": "附加数据键",
+ "additional-datasources": "附加数据源",
+ "additional-datasources-hint": "用于访问地图上未显示的实体的属性或遥测的数据源,可在地图覆盖层函数中使用。",
+ "more-datasources": "更多数据源",
+ "data-keys": "数据键",
+ "add-datasource": "添加数据源",
+ "no-datasources": "未配置数据源",
+ "remove-datasource": "移除数据源",
+ "behavior": "行为",
+ "on-click": "点击时",
+ "on-click-hint": "用户点击地图项目时触发的操作。",
+ "groups": "分组",
+ "groups-hint": "分配给覆盖层的分组名称列表,用于切换其在地图上的可见性。",
+ "color": "颜色",
+ "color-settings": "颜色设置",
+ "color-type-constant": "常量",
+ "color-type-range": "范围",
+ "color-type-function": "函数",
+ "color-range-source-key": "颜色范围来源键",
+ "color-range-source-key-required": "颜色范围来源键为必填项",
+ "color-range": "颜色范围",
+ "color-function": "颜色函数",
+ "label": "标签",
+ "tooltip": "提示框",
+ "pattern-type-pattern": "模式",
+ "pattern-type-function": "函数",
+ "label-pattern": "标签(模式示例:'${entityName}','${entityName}: (Text ${keyName} units.)')",
+ "label-function": "标签函数",
+ "tooltip-pattern": "提示框(例如 'Text ${keyName} units.' 或 租户是拥有或管理设备和资产的个人或组织。租户可以拥有多个租户管理员用户、客户、设备和资产。
租户管理员可以在租户账户内创建和管理设备、资产、客户和仪表板。
请参考以下文档了解操作方法:
", + "how-to-create-tenant": "如何创建租户和租户管理员" }, - "documentation": { - "title": "文档", - "add-link": "添加链接", - "add-link-title": "添加文档链接", - "name": "名称", - "name-required": "名称是必填项。", - "link": "链接", - "link-required": "链接是必填项。", - "columns": "列" + "step2": { + "title": "配置功能:邮件服务器", + "content": "邮件服务器配置对于用户激活、密码恢复和告警通知发送至关重要。
请参考以下文档了解操作方法:
", + "how-to-configure-mail-server": "如何配置邮件服务器" }, - "quick-links": { - "title": "快速链接", - "add-link": "添加链接", - "add-link-title": "添加快速链接", - "quick-link": "快速链接", - "quick-link-required": "快速链接是必填项。", - "no-links-matching": "找不到与'{{name}}'匹配的链接。", - "columns": "列" + "step3": { + "title": "配置功能:短信提供商", + "content": "配置短信提供商,以便通过短信通知客户有关告警的信息。
请参考以下文档了解操作方法:
", + "how-to-configure-sms-provider": "如何配置短信提供商" }, - "recent-dashboards": { - "title": "仪表盘", - "last": "最近查看", - "starred": "已收藏", - "name": "名称", - "last-viewed": "最近查看", - "no-last-viewed-dashboards": "暂无最近查看的仪表盘" + "step4": { + "title": "配置功能:白标", + "content": "无需编写代码,无需重启服务,即可轻松自定义您公司或产品的徽标和配色方案。
请参考以下文档了解操作方法:
" }, - "configured-features": { - "title": "配置的功能", - "info": "需要配置的功能状态", - "email-feature": "电子邮件", - "sms-feature": "短信", - "slack-feature": "Slack", - "oauth2-feature": "OAuth2.0", - "2fa-feature": "两步验证", - "feature-configured": "功能已配置", - "feature-not-configured": "功能未配置" + "step5": { + "title": "配置功能:双因素认证", + "content": "通过双因素认证提高平台账户的安全性。
请参考以下文档了解操作方法:
" }, - "version-info": { - "title": "版本", - "contact-us": "联系我们", - "current-version": "当前版本", - "current": "当前", - "available-version": "可用版本", - "available": "可用", - "upgrade": "升级", - "version-is-up-to-date": "已经是最新版本" + "step6": { + "title": "配置功能:OAuth 2", + "content": "通过 OAuth 2.0 单点登录功能简化租户和客户用户的登录流程。
请参考以下文档了解操作方法:
" + } + }, + "tenant-admin": { + "step1": { + "title": "创建设备", + "content": "让我们通过界面将您的第一个设备接入平台。请参考以下文档了解操作方法:
", + "how-to-create-device": "如何创建设备" }, - "usage-info": { - "title": "使用情况", - "entities": "实体", - "api-calls": "API调用" + "step2": { + "title": "连接设备", + "content-before": "要连接设备,您需要获取设备凭据。本指南建议使用默认自动生成的凭据,即访问令牌。
使用简单命令通过 HTTP 发布数据。请将 $ACCESS_TOKEN 替换为您的设备访问令牌:
", + "ubuntu": { + "install-curl": "为 Ubuntu 安装 cURL:" + }, + "macos": { + "install-curl": "为 MacOS 安装 cURL:" + }, + "windows": { + "install-curl": "从 Windows 10 b17063 开始,cURL 已默认可用。" + }, + "replace-access-token": "将 $ACCESS_TOKEN 替换为您的设备令牌:", + "content-after": "您也可以使用其他协议,例如 MQTT、CoAP 等。
请参考以下文档了解操作方法:
", + "how-to-connect-device": "如何连接设备" }, - "functions": { - "title": "功能", - "pe-feature-tooltip": "仅适用于ThingsBoard专业版", - "switch-to-pe": "切换专业版", - "alarms": "告警", - "dashboards": "仪表盘", - "entities-and-relations": "实体和关系", - "profiles": "配置", - "advanced-features": "高级功能", - "notification-center": "通知中心", - "api-usage": "API使用情况", - "customers": "客户", - "customers-hierarchy": "客户层级", - "roles-and-permissions": "角色和权限", - "groups": "群组", - "integrations": "集成", - "solution-templates": "解决方案模板", - "scheduler": "调度器", - "white-labeling": "白标" + "step3": { + "title": "创建仪表板", + "content": "创建仪表板以可视化来自资产、设备等实体的数据。
请参考以下文档了解操作方法:
", + "how-to-create-dashboard": "如何创建仪表板" }, - "devices": { - "view-docs": "查看文档", - "inactive": "非活动", - "active": "活动", - "total": "总数" + "step4": { + "title": "配置告警规则", + "alarm-rules": "告警规则", + "content": "让我们在温度达到 25°C 时触发告警。请参考以下文档了解操作方法:
", + "how-to-configure-alarm-rules": "如何配置告警规则" }, - "alarms": { - "critical": "严重", - "assigned-to-me": "分配给我", - "total": "总数" + "step5": { + "title": "创建告警", + "content-before": "要触发告警,请发送 26°C 或更高的遥测值。
", + "replace-access-token": "将 $ACCESS_TOKEN 替换为您的设备令牌:", + "content-after": "请参考以下文档了解操作方法:
", + "how-to-create-alarm": "如何创建告警" }, - "getting-started": { - "get-started": "开始", - "finish": "完成", - "done-welcome-title": "欢迎加入我们", - "done-welcome-text": "你做得很好!", - "sys-admin": { - "step1": { - "title": "创建租户和租户管理员", - "content": "租户是拥有或生产设备和资产的个人或组织,租户可以有多个租户管理员用户、客户、设备和资产。
租户管理员可以在租户账户中创建和管理设备、资产、客户和仪表板。
请按照文档进行操作:
", - "how-to-create-tenant": "如何创建租户和租户管理员" - }, - "step2": { - "title": "配置功能:邮件服务", - "content": "邮件服务配置对于用户激活、密码恢复和报警通知的发送非常重要。
请按照文档进行操作:
", - "how-to-configure-mail-server": "如何配置邮件服务器" - }, - "step3": { - "title": "配置功能:短信提供商", - "content": "配置短信提供商,通过短信向客户发送报警通知。
请按照文档进行操作:
", - "how-to-configure-sms-provider": "如何配置短信提供商" - }, - "step4": { - "title": "配置功能:双因素认证", - "content": "通过双因素认证提高平台账户的安全性。
请按照文档进行操作:
", - "how-to-configure-2fa": "如何配置双因素认证" - }, - "step5": { - "title": "配置功能:OAuth 2", - "content": "通过OAuth 2.0的单点登录功能,简化租户和客户用户的登录过程。
请按照文档进行操作:
", - "how-to-configure-oauth2": "如何配置OAuth 2" - }, - "step6": { - "title": "配置功能:Slack", - "content": "根据设置的通知规则,通过Slack向租户和客户用户发送通知。
请按照文档进行操作:
", - "how-to-configure-notifications": "如何配置Slack" - } - }, - "tenant-admin": { - "step1": { - "title": "创建设备", - "content": "让我们通过用户界面将您的第一个设备添加到平台。请按照文档进行操作:
", - "how-to-create-device": "如何创建设备" - }, - "step2": { - "title": "连接设备", - "content-before": "要连接设备,您需要获取设备凭据。我们建议在本指南中使用默认生成的凭据,即访问令牌。
使用简单的命令通过HTTP发布数据。不要忘记将$ACCESS_TOKEN替换为您的设备访问令牌:
", - "ubuntu": { - "install-curl": "Ubuntu上安装cURL:" - }, - "macos": { - "install-curl": "MacOS上安装cURL:" - }, - "windows": { - "install-curl": "从Windows 10 b17063开始,cURL已默认可用。" - }, - "replace-access-token": "将$ACCESS_TOKEN替换为您的设备令牌:", - "content-after": "您还可以使用其他协议如MQTT、CoAP等。
请按照文档进行操作:
", - "how-to-connect-device": "如何连接设备" - }, - "step3": { - "title": "创建仪表板", - "content": "创建一个仪表板,用于可视化来自实体(如资产、设备等)的数据。
请按照文档进行操作:
", - "how-to-create-dashboard": "如何创建仪表板" - }, - "step4": { - "title": "配置报警规则", - "alarm-rules": "报警规则", - "content": "当温度达到25°C时,让我们触发一个报警。请按照文档进行操作:
", - "how-to-configure-alarm-rules": "如何配置报警规则" - }, - "step5": { - "title": "创建报警", - "content-before": "要触发报警,请发送一个新的温度值,该值为26℃或更高。
", - "replace-access-token": "将$ACCESS_TOKEN替换为您的设备令牌:", - "content-after": "请按照文档进行操作:
", - "how-to-create-alarm": "如何创建报警" - }, - "step6": { - "title": "创建客户并分配仪表板", - "content": "通过创建终端用户仪表板,客户用户只能查看自己的设备,另一个客户的数据将被隐藏。
请按照文档进行操作:
", - "how-to-create-customer-and-assign-dashboard": "如何创建客户并分配仪表板" - } - } + "step6": { + "title": "创建客户并共享仪表板", + "content": "通过创建终端用户仪表板,客户用户只能查看自己的设备,其他客户的数据将被隐藏。
请参考以下文档了解操作方法:
" } + } }, - "color": { - "color": "颜色" - }, - "icon": { - "icon": "图标", - "icons": "图标", - "select-icon": "选择图标", - "material-icons": "素材图标", - "show-all": "显示所有图标", - "search-icon": "搜索图标", - "no-icons-found": "没有找到符合'{{iconSearch}}'的图标" - }, - "phone-input": { - "phone-input-label": "手机号码", - "phone-input-required": "手机号码必填", - "phone-input-validation": "手机号码无效或不存在", - "phone-input-pattern": "无效的手机号码应为E.164格式例如:{{phoneNumber}}", - "phone-input-hint": "E.164格式手机号码例如:{{phoneNumber}}" - }, - "custom": { - "widget-action": { - "action-cell-button": "动作单元格按钮", - "row-click": "点击行时", - "cell-click": "点击单元格时", - "polygon-click": "点击多边形时", - "marker-click": "点击标记时", - "circle-click": "点击圆圈时", - "tooltip-tag-action": "文字提示标签操作", - "node-selected": "选择节点时", - "element-click": "点击HTML元素时", - "pie-slice-click": "点击切片时", - "row-double-click": "双击行时", - "cell-double-click": "双击单元格时", - "card-click": "点击卡片时", - "click": "点击时" - } - }, - "paginator": { - "items-per-page": "每页数量:", - "first-page-label": "首页", - "last-page-label": "尾页", - "next-page-label": "下一页", - "previous-page-label": "上一页", - "items-per-page-separator": "至" - }, - "language": { - "language": "语言" + "api-usage": { + "api-usage": "API 使用情况", + "label": "标签", + "state-name": "状态名称", + "status": "状态", + "status-required": "状态为必填项。", + "limit": "最大限制", + "limit-required": "最大限制为必填项。", + "current-number": "当前数量", + "current-number-required": "当前数量为必填项。", + "add-key": "添加键", + "no-key": "无键", + "delete-key": "删除键", + "target-dashboard-state": "目标仪表板状态", + "go-to-main-state": "前往默认视图" + } + }, + "icon": { + "icon": "图标", + "icons": "图标", + "custom": "自定义", + "select-icon": "选择图标", + "material-icons": "Material 图标", + "show-all": "显示全部图标", + "search-icon": "搜索图标", + "no-icons-found": "未找到与“{{iconSearch}}”匹配的图标" + }, + "phone-input": { + "phone-input-label": "电话号码", + "phone-input-required": "电话号码为必填项", + "phone-input-validation": "电话号码无效或不存在", + "phone-input-pattern": "电话号码无效。应为 E.164 格式,例如 {{phoneNumber}}", + "phone-input-hint": "E.164 格式的电话号码,例如 {{phoneNumber}}" + }, + "custom": { + "widget-action": { + "action-cell-button": "操作单元格按钮", + "row-click": "单击行时", + "cell-click": "单击单元格时", + "polygon-click": "单击多边形时", + "marker-click": "单击标记时", + "circle-click": "单击圆形时", + "tooltip-tag-action": "提示标签操作", + "node-selected": "选中节点时", + "element-click": "单击 HTML 元素时", + "pie-slice-click": "单击扇区时", + "row-double-click": "双击行时", + "cell-double-click": "双击单元格时", + "card-click": "单击卡片时", + "click": "单击时" } -} + }, + "paginator": { + "items-per-page": "每页条目数:", + "first-page-label": "第一页", + "last-page-label": "最后一页", + "next-page-label": "下一页", + "previous-page-label": "上一页", + "items-per-page-separator": "/" + }, + "language": { + "auto": "自动", + "language": "语言" + } +} \ No newline at end of file