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 Texto do link)", + "tooltip-function": "Função de tooltip", + "tooltip-trigger": "Acionador do tooltip", + "tooltip-trigger-click": "Exibir tooltip ao clicar", + "tooltip-trigger-hover": "Exibir tooltip ao passar o mouse", + "auto-close-tooltips": "Fechar tooltips automaticamente", + "tooltip-offset": "Deslocamento do tooltip", + "tooltip-offset-horizontal": "Horizontal", + "tooltip-offset-vertical": "Vertical", + "tooltip-tag-actions": "Ações de tag", + "add-tooltip-tag-action": "Adicionar ação de tag", + "edit-tooltip-tag-action": "Editar ação de tag", + "remove-tooltip-tag-action": "Remover ação de tag", + "action-add": "Adicionar", + "action-edit": "Editar", + "action-move": "Mover", + "action-remove": "Remover", + "edit-instruments": "Instrumentos", + "persist-location-attribute-scope": "Escopo do atributo para persistir localização", + "enable-snapping": "Ativar ajuste a outros vértices para desenho preciso", + "enable-snapping-hint": "Alinha automaticamente novos pontos com formas existentes para facilitar e tornar o desenho mais preciso.", + "drag-drop-mode": "Modo arrastar e soltar", + "trip": { + "no-trips": "Nenhuma viagem configurada", + "add-trip": "Adicionar viagem", + "trip-configuration": "Configuração de viagem", + "remove-trip": "Remover viagem" + }, + "marker": { + "marker": "Marcador", + "latitude-key": "Chave de latitude", + "longitude-key": "Chave de longitude", + "x-pos-key": "Chave de posição X", + "y-pos-key": "Chave de posição Y", + "latitude-key-required": "Chave de latitude obrigatória", + "longitude-key-required": "Chave de longitude obrigatória", + "x-pos-key-required": "Chave de posição X obrigatória", + "y-pos-key-required": "Chave de posição Y obrigatória", + "no-markers": "Nenhum marcador configurado", + "add-marker": "Adicionar marcador", + "marker-configuration": "Configuração de marcador", + "remove-marker": "Remover marcador", + "marker-type": "Tipo de marcador", + "marker-type-shape": "Forma", + "marker-type-icon": "Ícone", + "marker-type-image": "Imagem", + "shape": "Forma", + "icon": "Ícone", + "image": "Imagem", + "marker-shapes": "Formas de marcador", + "marker-icon": "Ícone do marcador", + "marker-appearance": "Aparência do marcador", + "marker-image": "Imagem do marcador", + "marker-image-type-image": "Imagem", + "marker-image-type-function": "Função", + "custom-marker-image-size": "Tamanho personalizado da imagem do marcador", + "marker-image-function": "Função de imagem do marcador", + "marker-images": "Imagens do marcador", + "marker-offset": "Deslocamento do marcador", + "offset-horizontal": "Horizontal", + "offset-vertical": "Vertical", + "rotate-marker": "Girar marcador", + "offset-angle": "Ângulo de deslocamento", + "position-conversion": "Conversão de posição", + "position-conversion-function": "Função de conversão de posição, deve retornar coordenadas x,y como double de 0 a 1 cada", + "clustering": { + "use-map-markers-clustering": "Usar agrupamento de marcadores do mapa", + "zoom-on-cluster-click": "Aplicar zoom ao clicar em um cluster", + "max-zoom": "O nível máximo de zoom em que um marcador pode fazer parte de um cluster (0 - 18)", + "max-radius": "Raio máximo que um cluster cobrirá", + "zoom-animation": "Animação nos marcadores ao aplicar zoom", + "bounds-on-cluster-mouse-over": "Limites dos marcadores ao passar o mouse sobre um cluster", + "spiderfy-max-zoom-level": "Spiderfy no nível máximo de zoom (para ver todos os marcadores do cluster)", + "load-optimization": "Otimização de carregamento", + "chunked-load": "Usar blocos para adicionar marcadores de forma que a página não congele", + "lazy-load": "Usar carregamento lazy para adicionar marcadores", + "use-cluster-marker-color-function": "Usar função de cor dos marcadores do cluster", + "marker-color-function": "Função de cor do marcador" + }, + "edit": "Editar marcador", + "remove-marker-for": "Remover marcador para '{{entityName}}'", + "place-marker": "Posicionar marcador", + "place-marker-hint": "Clique para posicionar o marcador", + "place-marker-hint-with-entity": "Clique para posicionar a entidade '{{entityName}}'" + }, + "path": { + "path": "Caminho", + "path-decorator": "Decorador de caminho", + "decorator-symbol": "Símbolo do decorador", + "decorator-symbol-arrow-head": "Seta", + "decorator-symbol-dash": "Traço", + "decorator-arrangement": "Disposição do decorador", + "decorator-offset": "Início", + "decorator-end-offset": "Fim", + "decorator-repeat": "Repetir" + }, + "points": { + "points": "Pontos", + "point-tooltip": "Tooltip do ponto" + }, + "shape": { + "fill": "Preenchimento", + "fill-type-color": "Cor", + "fill-type-stripe": "Listras", + "fill-type-image": "Imagem", + "color": "Cor", + "stripe": "Listras", + "image": "Imagem", + "stroke": "Contorno", + "fill-image": "Imagem de preenchimento", + "fill-image-type-image": "Imagem", + "fill-image-type-function": "Função", + "preserve-aspect-ratio": "Preservar proporção", + "opacity": "Opacidade", + "angle": "Ângulo de rotação", + "scale": "Escala", + "fill-image-function": "Função de imagem de preenchimento da forma", + "fill-images": "Imagens de preenchimento da forma", + "stripe-pattern": "Padrão de listras", + "first-stripe": "Primeira listra", + "second-stripe": "Segunda listra" + }, + "polygon": { + "polygon-key": "Chave do polígono", + "polygon-key-required": "Chave do polígono obrigatória", + "no-polygons": "Nenhum polígono configurado", + "add-polygon": "Adicionar polígono", + "polygon-configuration": "Configuração de polígono", + "remove-polygon": "Remover polígono", + "edit": "Editar polígono", + "remove-polygon-for": "Remover polígono para '{{entityName}}'", + "cut": "Recortar área do polígono", + "rotate": "Girar polígono", + "draw-rectangle": "Desenhar retângulo", + "draw-polygon": "Desenhar polígono", + "polygon-place-first-point-cut-hint": "Clique para posicionar o primeiro ponto", + "continue-polygon-cut-hint": "Clique para continuar desenhando", + "finish-polygon-cut-hint": "Clique no primeiro marcador para concluir e salvar", + "polygon-place-first-point-hint": "Polígono: clique para posicionar o primeiro ponto", + "polygon-place-first-point-hint-with-entity": "Polígono para '{{entityName}}': clique para posicionar o primeiro ponto", + "continue-polygon-hint": "Polígono: clique para continuar desenhando", + "continue-polygon-hint-with-entity": "Polígono para '{{entityName}}': clique para continuar desenhando", + "finish-polygon-hint": "Polígono: clique no primeiro marcador para concluir o desenho", + "finish-polygon-hint-with-entity": "Polígono para '{{entityName}}': clique no primeiro marcador para concluir e salvar", + "rectangle-place-first-point-hint": "Retângulo: clique para posicionar o primeiro ponto", + "rectangle-place-first-point-hint-with-entity": "Retângulo para '{{entityName}}': clique para posicionar o primeiro ponto", + "finish-rectangle-hint": "Retângulo: clique para concluir o desenho", + "finish-rectangle-hint-with-entity": "Retângulo para '{{entityName}}': clique para concluir e salvar" + }, + "circle": { + "circle-key": "Chave do círculo", + "circle-key-required": "Chave do círculo obrigatória", + "no-circles": "Nenhum círculo configurado", + "add-circle": "Adicionar círculo", + "circle-configuration": "Configuração de círculo", + "remove-circle": "Remover círculo", + "edit": "Editar círculo", + "remove-circle-for": "Remover círculo para '{{entityName}}'", + "draw-circle": "Desenhar círculo", + "place-circle-center-hint-with-entity": "Círculo para '{{entityName}}': clique para posicionar o centro do círculo", + "place-circle-center-hint": "Círculo: clique para posicionar o centro do círculo", + "finish-circle-hint-with-entity": "Círculo para '{{entityName}}': clique para concluir e salvar o círculo", + "finish-circle-hint": "Círculo: clique para concluir o desenho" + }, + "polyline": { + "polyline-key": "Chave da polilinha", + "polyline-key-required": "Chave da polilinha obrigatória", + "no-polylines": "Nenhuma polilinha configurada", + "add-polylines": "Adicionar polilinha", + "polyline-configuration": "Configuração de polilinha", + "remove-polyline": "Remover polilinha", + "edit": "Editar polilinha", + "cut": "Recortar área da polilinha", + "rotate": "Girar polilinha", + "remove-polyline-for": "Remover polilinha para '{{entityName}}'", + "draw-polyline": "Desenhar polilinha", + "polyline-place-first-point-hint-with-entity": "Polilinha para '{{entityName}}': clique para posicionar o primeiro ponto", + "polyline-place-first-point-hint": "Polilinha: clique para posicionar o primeiro ponto", + "finish-polyline-hint-with-entity": "Polilinha para '{{entityName}}': clique para concluir o desenho", + "finish-polyline-hint": "Polilinha: clique para concluir o desenho", + "polyline-place-first-point-cut-hint": "Clique para posicionar o primeiro ponto", + "finish-polyline-cut-hint": "Clique no primeiro marcador para concluir e salvar" + }, + "select-entity": "Selecionar entidade", + "select-entity-hint": "Dica: após a seleção, clique no mapa para definir a posição" + }, + "select-entity": "Selecionar entidade", + "select-entity-hint": "Dica: após a seleção, clique no mapa para definir a posição", + "tooltips": { + "placeMarker": "Clique para posicionar a entidade '{{entityName}}'", + "firstVertex": "Polígono para '{{entityName}}': clique para posicionar o primeiro ponto", + "firstVertex-cut": "Clique para posicionar o primeiro ponto", + "continueLine": "Polígono para '{{entityName}}': clique para continuar desenhando", + "continueLine-cut": "Clique para continuar desenhando", + "finishLine": "Clique em qualquer marcador existente para concluir", + "finishPoly": "Polígono para '{{entityName}}': clique no primeiro marcador para concluir e salvar", + "finishPoly-cut": "Clique no primeiro marcador para concluir e salvar", + "finishRect": "Polígono para '{{entityName}}': clique para concluir e salvar", + "startCircle": "Círculo para '{{entityName}}': clique para posicionar o centro do círculo", + "finishCircle": "Círculo para '{{entityName}}': clique para concluir o círculo", + "placeCircleMarker": "Clique para posicionar o marcador de círculo" + }, + "actions": { + "finish": "Concluir", + "cancel": "Cancelar", + "removeLastVertex": "Remover último ponto" + }, + "buttonTitles": { + "drawMarkerButton": "Posicionar entidade", + "drawPolyButton": "Criar polígono", + "drawLineButton": "Criar polilinha", + "drawCircleButton": "Criar círculo", + "drawRectButton": "Criar retângulo", + "editButton": "Modo de edição", + "dragButton": "Modo arrastar e soltar", + "cutButton": "Recortar área do polígono", + "deleteButton": "Remover", + "drawCircleMarkerButton": "Criar marcador de círculo", + "rotateButton": "Girar polígono" + }, + "map-provider-settings": "Configurações do provedor de mapa", + "map-provider": "Provedor de mapa", + "map-provider-google": "Google Maps", + "map-provider-openstreet": "OpenStreet Maps", + "map-provider-here": "HERE Maps", + "map-provider-image": "Mapa de imagem", + "map-provider-tencent": "Tencent Maps", + "openstreet-provider": "Provedor de mapa OpenStreet", + "openstreet-provider-mapnik": "OpenStreetMap.Mapnik (Padrão)", + "openstreet-provider-hot": "OpenStreetMap.HOT", + "openstreet-provider-esri-street": "Esri.WorldStreetMap", + "openstreet-provider-esri-topo": "Esri.WorldTopoMap", + "openstreet-provider-esri-imagery": "Esri.WorldImagery", + "openstreet-provider-cartodb-positron": "CartoDB.Positron", + "openstreet-provider-cartodb-dark-matter": "CartoDB.DarkMatter", + "use-custom-provider": "Usar provedor personalizado", + "custom-provider-tile-url": "URL de tile do provedor personalizado", + "google-maps-api-key": "Chave de API do Google Maps", + "default-map-type": "Tipo de mapa padrão", + "google-map-type-roadmap": "Mapa de ruas", + "google-map-type-satelite": "Satélite", + "google-map-type-hybrid": "Híbrido", + "google-map-type-terrain": "Terreno", + "map-layer": "Camada do mapa", + "here-map-normal-day": "HERE.normalDay (Padrão)", + "here-map-normal-night": "HERE.normalNight", + "here-map-hybrid-day": "HERE.hybridDay", + "here-map-terrain-day": "HERE.terrainDay", + "credentials": "Credenciais", + "here-app-id": "ID do app HERE", + "here-app-code": "Código do app HERE", + "here-api-key": "Chave de API HERE", + "here-use-new-version-api-3": "Usar versão 3 da API", + "tencent-maps-api-key": "Chave de API do Tencent Maps", + "tencent-map-type-roadmap": "Mapa de ruas", + "tencent-map-type-satelite": "Satélite", + "tencent-map-type-hybrid": "Híbrido", + "image-map-background": "Fundo do mapa de imagem", + "image-map-background-from-entity-attribute": "Obter fundo do mapa de imagem do atributo de entidade", + "image-url-source-entity-alias": "Alias de entidade de origem da URL da imagem", + "image-url-source-entity-attribute": "Atributo de entidade de origem da URL da imagem", + "common-map-settings": "Configurações comuns do mapa", + "x-pos-key-name": "Nome da chave de posição X", + "y-pos-key-name": "Nome da chave de posição Y", + "latitude-key-name": "Nome da chave de latitude", + "longitude-key-name": "Nome da chave de longitude", + "default-map-zoom-level": "Nível de zoom padrão do mapa (0 - 20)", + "default-map-center-position": "Posição central padrão do mapa (0,0)", + "disable-scroll-zooming": "Desativar zoom por rolagem", + "disable-double-click-zooming": "Desativar zoom por duplo clique", + "disable-zoom-control-buttons": "Desativar botões de controle de zoom", + "fit-map-bounds": "Ajustar limites do mapa para cobrir todos os marcadores", + "use-default-map-center-position": "Usar posição central padrão do mapa", + "entities-limit": "Limite de entidades a carregar", + "markers-settings": "Configurações de marcadores", + "marker-offset-x": "Deslocamento X do marcador relativo à posição multiplicado pela largura do marcador", + "marker-offset-y": "Deslocamento Y do marcador relativo à posição multiplicado pela altura do marcador", + "position-function": "Função de conversão de posição, deve retornar coordenadas x,y como double de 0 a 1 cada", + "draggable-marker": "Marcador arrastável", + "label": "Rótulo", + "show-label": "Exibir rótulo", + "use-label-function": "Usar função de rótulo", + "label-pattern": "Rótulo (exemplos de padrão: '${entityName}', '${entityName}: (Texto ${keyName} unidades.)' )", + "label-function": "Função de rótulo", + "tooltip": "Tooltip", + "show-tooltip": "Exibir tooltip", + "show-tooltip-action": "Ação para exibir o tooltip", + "show-tooltip-action-click": "Exibir tooltip ao clicar (Padrão)", + "show-tooltip-action-hover": "Exibir tooltip ao passar o mouse", + "auto-close-tooltips": "Fechar tooltips automaticamente", + "use-tooltip-function": "Usar função de tooltip", + "tooltip-pattern": "Tooltip (ex.: 'Texto ${keyName} unidades.' ou Texto do link')", + "tooltip-function": "Função de tooltip", + "tooltip-offset-x": "Deslocamento X do tooltip relativo à âncora do marcador multiplicado pela largura do marcador", + "tooltip-offset-y": "Deslocamento Y do tooltip relativo à âncora do marcador multiplicado pela altura do marcador", + "color": "Cor", + "use-color-function": "Usar função de cor", + "color-function": "Função de cor", + "marker-image": "Imagem do marcador", + "use-marker-image-function": "Usar função de imagem do marcador", + "custom-marker-image": "Imagem personalizada do marcador", + "custom-marker-image-size": "Tamanho da imagem personalizada do marcador (px)", + "marker-image-function": "Função de imagem do marcador", + "marker-images": "Imagens do marcador", + "polygon-settings": "Configurações de polígono", + "show-polygon": "Exibir polígono", + "polygon-key-name": "Nome da chave do polígono", + "enable-polygon-edit": "Ativar edição de polígono", + "polygon-label": "Rótulo do polígono", + "show-polygon-label": "Exibir rótulo do polígono", + "use-polygon-label-function": "Usar função de rótulo do polígono", + "polygon-label-pattern": "Rótulo do polígono (exemplos de padrão: '${entityName}', '${entityName}: (Texto ${keyName} unidades.)' )", + "polygon-label-function": "Função de rótulo do polígono", + "polygon-tooltip": "Tooltip do polígono", + "show-polygon-tooltip": "Exibir tooltip do polígono", + "auto-close-polygon-tooltips": "Fechar tooltips do polígono automaticamente", + "use-polygon-tooltip-function": "Usar função de tooltip do polígono", + "polygon-tooltip-pattern": "Tooltip (ex.: 'Texto ${keyName} unidades.' ou Texto do link')", + "polygon-tooltip-function": "Função de tooltip do polígono", + "polygon-color": "Cor do polígono", + "polygon-opacity": "Opacidade do polígono", + "use-polygon-color-function": "Usar função de cor do polígono", + "polygon-color-function": "Função de cor do polígono", + "polygon-stroke": "Contorno do polígono", + "stroke-color": "Cor do contorno", + "stroke-opacity": "Opacidade do contorno", + "stroke-weight": "Espessura do contorno", + "use-polygon-stroke-color-function": "Usar função de cor do contorno do polígono", + "polygon-stroke-color-function": "Função de cor do contorno do polígono", + "circle-settings": "Configurações de círculo", + "show-circle": "Exibir círculo", + "circle-key-name": "Nome da chave do círculo", + "enable-circle-edit": "Ativar edição de círculo", + "circle-label": "Rótulo do círculo", + "show-circle-label": "Exibir rótulo do círculo", + "use-circle-label-function": "Usar função de rótulo do círculo", + "circle-label-pattern": "Rótulo do círculo (exemplos de padrão: '${entityName}', '${entityName}: (Texto ${keyName} unidades.)' )", + "circle-label-function": "Função de rótulo do círculo", + "circle-tooltip": "Tooltip do círculo", + "show-circle-tooltip": "Exibir tooltip do círculo", + "auto-close-circle-tooltips": "Fechar tooltips do círculo automaticamente", + "use-circle-tooltip-function": "Usar função de tooltip do círculo", + "circle-tooltip-pattern": "Tooltip (ex.: 'Texto ${keyName} unidades.' ou Texto do link')", + "circle-tooltip-function": "Função de tooltip do círculo", + "circle-fill-color": "Cor de preenchimento do círculo", + "circle-fill-color-opacity": "Opacidade da cor de preenchimento do círculo", + "use-circle-fill-color-function": "Usar função de cor de preenchimento do círculo", + "circle-fill-color-function": "Função de cor de preenchimento do círculo", + "circle-stroke": "Contorno do círculo", + "use-circle-stroke-color-function": "Usar função de cor do contorno do círculo", + "circle-stroke-color-function": "Função de cor do contorno do círculo", + "markers-clustering-settings": "Configurações de agrupamento de marcadores", + "use-map-markers-clustering": "Usar agrupamento de marcadores do mapa", + "zoom-on-cluster-click": "Aplicar zoom ao clicar em um cluster", + "max-cluster-zoom": "O nível máximo de zoom em que um marcador pode fazer parte de um cluster (0 - 18)", + "max-cluster-radius-pixels": "Raio máximo que um cluster cobrirá em pixels", + "cluster-zoom-animation": "Exibir animação nos marcadores ao aplicar zoom", + "show-markers-bounds-on-cluster-mouse-over": "Exibir os limites dos marcadores ao passar o mouse sobre um cluster", + "spiderfy-max-zoom-level": "Spiderfy no nível máximo de zoom (para ver todos os marcadores do cluster)", + "load-optimization": "Otimização de carregamento", + "cluster-chunked-loading": "Usar blocos para adicionar marcadores de forma que a página não congele", + "cluster-markers-lazy-load": "Usar carregamento lazy para adicionar marcadores", + "editor-settings": "Configurações do editor", + "enable-snapping": "Ativar ajuste a outros vértices para desenho preciso", + "init-draggable-mode": "Inicializar o mapa em modo arrastável", + "hide-all-edit-buttons": "Ocultar todos os botões de controle de edição", + "hide-draw-buttons": "Ocultar botões de desenho", + "hide-edit-buttons": "Ocultar botões de edição", + "hide-remove-button": "Ocultar botão de remoção", + "route-map-settings": "Configurações do mapa de rotas", + "trip-animation-settings": "Configurações de animação de viagem", + "normalization-step": "Passo de normalização de dados (ms)", + "tooltip-background-color": "Cor de fundo do tooltip", + "tooltip-font-color": "Cor da fonte do tooltip", + "tooltip-opacity": "Opacidade do tooltip (0-1)", + "auto-close-tooltip": "Fechar tooltip automaticamente", + "rotation-angle": "Definir ângulo de rotação adicional para o marcador (graus)", + "path-settings": "Configurações de caminho", + "path-color": "Cor do caminho", + "use-path-color-function": "Usar função de cor do caminho", + "path-color-function": "Função de cor do caminho", + "path-decorator": "Decorador de caminho", + "use-path-decorator": "Usar decorador de caminho", + "decorator-symbol": "Símbolo do decorador", + "decorator-symbol-arrow-head": "Seta", + "decorator-symbol-dash": "Traço", + "decorator-symbol-size": "Tamanho do símbolo do decorador (px)", + "use-path-decorator-custom-color": "Usar cor personalizada do decorador de caminho", + "decorator-custom-color": "Cor personalizada do decorador", + "decorator-offset": "Deslocamento do decorador", + "end-decorator-offset": "Deslocamento final do decorador", + "decorator-repeat": "Repetição do decorador", + "points-settings": "Configurações de pontos", + "show-points": "Exibir pontos", + "point-color": "Cor do ponto", + "point-size": "Tamanho do ponto (px)", + "use-point-color-function": "Usar função de cor do ponto", + "point-color-function": "Função de cor do ponto", + "use-point-as-anchor": "Usar ponto como âncora", + "point-as-anchor-function": "Função de ponto como âncora", + "independent-point-tooltip": "Tooltip de ponto independente", + "clustering-markers": "Agrupamento de marcadores", + "use-icon-create-function": "Usar função de cor dos marcadores", + "marker-color-function": "Função de cor do marcador" + }, + "markdown": { + "use-markdown-text-function": "Usar função de valor Markdown/HTML", + "markdown-text-function": "Função de valor Markdown/HTML", + "markdown-text-pattern": "Padrão Markdown/HTML (markdown ou HTML com variáveis, ex.: '${entityName} ou ${keyName} - algum texto.')", + "apply-default-markdown-style": "Aplicar estilo Markdown padrão", + "markdown-css": "CSS Markdown/HTML" + }, + "simple-card": { + "label": "Rótulo", + "label-position": "Posição do rótulo", + "label-position-left": "Esquerda", + "label-position-top": "Superior" + }, + "single-switch": { + "behavior": "Comportamento", + "layout": "Layout", + "layout-right": "Direita", + "layout-left": "Esquerda", + "layout-centered": "Centralizado", + "auto-scale": "Escala automática", + "label": "Rótulo", + "icon": "Ícone", + "switch-color": "Cor do switch", + "on": "On", + "off": "Off", + "disabled": "Desabilitado", + "tumbler-color": "Cor do botão", + "on-label": "Rótulo ligado", + "off-label": "Rótulo desligado", + "switch": "Switch" + }, + "slider": { + "behavior": "Comportamento", + "initial-value": "Valor inicial", + "initial-value-hint": "Ação para obter o valor inicial do slider.", + "on-value-change": "Ao alterar o valor", + "on-value-change-hint": "Ação acionada quando o valor do slider é alterado.", + "layout": "Layout", + "layout-default": "Padrão", + "layout-extended": "Estendido", + "layout-simplified": "Simplificado", + "auto-scale": "Escala automática", + "icon": "Ícone", + "value": "Valor", + "range": "Intervalo", + "min": "mín", + "max": "máx", + "range-ticks": "Marcações do intervalo", + "tick-marks": "Marcas de graduação", + "colors": "Cores", + "main": "Principal", + "background": "Plano de fundo", + "left-icon": "Ícone esquerdo", + "right-icon": "Ícone direito", + "slider": "Slider" + }, + "value-card": { + "layout": "Layout", + "layout-square": "Quadrado", + "layout-vertical": "Vertical", + "layout-centered": "Centralizado", + "layout-simplified": "Simplificado", + "layout-horizontal": "Horizontal", + "layout-horizontal-reversed": "Horizontal invertido", + "label": "Rótulo", + "icon": "Ícone", + "value": "Valor", + "date": "Data", + "value-card-style": "Estilo do cartão de valor", + "auto-scale": "Escala automática" + }, + "label-card": { + "auto-scale": "Escala automática", + "label": "Rótulo", + "icon": "Ícone", + "label-card-style": "Estilo do cartão de rótulo" + }, + "label-value-card": { + "value": "Valor", + "label-value-card-style": "Estilo do cartão de rótulo e valor" + }, + "liquid-level-card": { + "layout-simple": "Simples", + "layout-percentage": "Porcentagem", + "layout-absolute": "Absoluto", + "layout": "Layout", + "background-overlay": "Sobreposição de fundo do valor", + "total-volume": "Volume total", + "total-volume-units": "Unidades de volume total", + "tank": "Tanque", + "shape": "Forma", + "datasource-units": "Unidades da fonte", + "widget-units": "Unidades do widget", + "decimals": "Casas decimais", + "liquid": "Líquido", + "liquid-color": "Cor do líquido", + "value": "Valor", + "value-font": "Fonte do valor", + "level": "Nível", + "last-update": "Última atualização", + "shape-by-attribute": "Definir forma do tanque por nome de atributo", + "tooltip-background": "Cor de fundo", + "background-blur": "Desfoque de fundo", + "tank-color": "Cor do tanque", + "static": "Estático", + "see-examples": "Ver exemplos", + "attribute": "Atributo", + "shape-type": "Tipo", + "v-oval": "Oval vertical", + "v-cylinder": "Cilindro vertical", + "v-capsule": "Cápsula vertical", + "rectangle": "Retângulo", + "h-oval": "Oval horizontal", + "h-ellipse": "Elipse horizontal", + "h-dish-ends": "Extremidades de prato horizontal", + "h-cylinder": "Cilindro horizontal", + "h-capsule": "Cápsula horizontal", + "h-elliptical_2_1": "Elíptico horizontal 2:1", + "icon": "Ícone do card", + "title": "Título do card", + "units": "Unidades", + "color-and-font": "Cor e fonte", + "shape-attribute-name": "Nome do atributo", + "total-volume-required": "O volume total é obrigatório.", + "attribute-name-required": "O nome do atributo é obrigatório.", + "attribute-key-not-set": "Chave do atributo '{{attributeName}}' não definida", + "attribute-key-invalid": "Chave do atributo '{{attributeName}}' é inválida" + }, + "aggregated-value-card": { + "subtitle": "Subtítulo", + "chart": "Gráfico", + "values": "Valores", + "value-appearance": "Aparência do valor", + "position": "Posição", + "position-center": "Centro", + "position-right-top": "Direito superior", + "position-right-bottom": "Direito inferior", + "position-left-top": "Esquerdo superior", + "position-left-bottom": "Esquerdo inferior", + "font": "Fonte", + "color": "Cor", + "arrow": "Seta", + "display-up-down-arrow": "Exibir seta para cima/baixo", + "add-value": "Adicionar valor", + "remove-value": "Remover valor", + "no-values": "Nenhum valor configurado", + "aggregation": "Agregação", + "aggregated-value-card-style": "Estilo do cartão de valor agregado", + "auto-scale": "Escala automática" + }, + "value-chart-card": { + "layout": "Layout", + "layout-left": "Esquerda", + "layout-right": "Direita", + "auto-scale": "Escala automática", + "icon": "Ícone", + "value": "Valor", + "chart": "Gráfico", + "value-chart-card-style": "Estilo do cartão de gráfico de valor" + }, + "progress-bar": { + "layout": "Layout", + "layout-default": "Padrão", + "layout-simplified": "Simplificado", + "auto-scale": "Escala automática", + "icon": "Ícone", + "value": "Valor", + "range": "Intervalo", + "min": "mín", + "max": "máx", + "range-ticks": "Marcações do intervalo", + "bar": "Barra", + "bar-color": "Cor da barra", + "bar-background": "Fundo da barra", + "progress-bar-card-style": "Estilo do cartão de barra de progresso" + }, + "notification": { + "max-notification-display": "Máximo de notificações a exibir", + "counter": "Contador", + "counter-hint": "O contador será exibido se \"Título do widget\" estiver ativado", + "icon": "Ícone", + "counter-value": "Valor", + "counter-color": "Cor", + "notification-button": "Botões de notificação", + "button-view-all": "Ver todos", + "button-filter": "Filtro", + "type-filter": "Filtro de tipo", + "button-mark-read": "Marcar todos como lidos", + "notification-types": "Tipos de notificação", + "notification-type": "Tipo de notificação", + "search-type": "Tipo de pesquisa", + "any-type": "Qualquer tipo" + }, + "alarm-count": { + "alarm-count-card-style": "Estilo do cartão de contagem de alarmes" + }, + "entity-count": { + "entity-count-card-style": "Estilo do cartão de contagem de entidades" + }, + "count": { + "layout": "Layout", + "layout-column": "Coluna", + "layout-row": "Linha", + "label": "Rótulo", + "icon": "Ícone", + "icon-background": "Fundo do ícone", + "value": "Valor", + "chevron": "Divisa", + "auto-scale": "Escala automática" + }, + "table": { + "common-table-settings": "Configurações comuns da tabela", + "enable-search": "Ativar pesquisa", + "enable-sticky-header": "Sempre exibir cabeçalho", + "enable-sticky-action": "Sempre exibir coluna de ações", + "hidden-cell-button-display-mode": "Modo de exibição das ações de botão de célula oculta", + "show-empty-space-hidden-action": "Exibir espaço vazio em vez da ação de botão de célula oculta", + "dont-reserve-space-hidden-action": "Não reservar espaço para botões de ação ocultos", + "display-timestamp": "Timestamp", + "timestamp-column-name": "Timestamp", + "display-pagination": "Exibir paginação", + "default-page-size": "Tamanho padrão da página", + "page-step-settings": "Configurações de passo de página", + "page-step-count": "Número de passos", + "page-step-increment": "Incremento do passo", + "page-step-count-format-message": "Deve ser um valor inteiro no intervalo de 1 a 100.", + "page-step-increment-format-message": "Deve ser um valor inteiro maior ou igual a 1.", + "use-entity-label-tab-name": "Usar rótulo de entidade no nome da aba", + "hide-empty-lines": "Ocultar linhas vazias", + "row-style": "Estilo da linha", + "use-row-style-function": "Usar função de estilo de linha", + "row-style-function": "Função de estilo de linha", + "cell-style": "Estilo da célula", + "use-cell-style-function": "Usar função de estilo de célula", + "cell-style-function": "Função de estilo de célula", + "cell-content": "Conteúdo da célula", + "use-cell-content-function": "Usar função de conteúdo de célula", + "cell-content-function": "Função de conteúdo de célula", + "show-latest-data-column": "Exibir coluna de dados mais recentes", + "latest-data-column-order": "Ordem da coluna de dados mais recentes", + "entities-table-title": "Título da tabela de entidades", + "enable-select-column-display": "Ativar seleção de colunas a exibir", + "display-entity-name": "Exibir coluna de nome da entidade", + "entity-name-column-title": "Título da coluna de nome da entidade", + "display-entity-label": "Exibir coluna de rótulo da entidade", + "entity-label-column-title": "Título da coluna de rótulo da entidade", + "display-entity-type": "Exibir coluna de tipo de entidade", + "default-sort-order": "Ordem de classificação padrão", + "custom-title": "Título personalizado do cabeçalho", + "column-width": "Largura da coluna (px ou %)", + "default-column-visibility": "Visibilidade padrão da coluna", + "column-visibility-visible": "Visível", + "column-visibility-hidden": "Oculto", + "column-visibility-hidden-mobile": "Oculto no modo móvel", + "column-selection-to-display": "Seleção de coluna em 'Colunas para exibir'", + "column-selection-to-display-enabled": "Ativado", + "column-selection-to-display-disabled": "Desativado", + "alarms-table-title": "Título da tabela de alarmes", + "enable-alarms-selection": "Ativar seleção de alarmes", + "enable-alarms-search": "Ativar pesquisa de alarmes", + "enable-alarm-filter": "Ativar filtro de alarme", + "display-alarm-details": "Exibir detalhes do alarme", + "allow-alarms-ack": "Permitir confirmação de alarmes", + "allow-alarms-clear": "Permitir limpar alarmes", + "display-alarm-activity": "Exibir atividade do alarme", + "allow-alarms-assign": "Permitir atribuição de alarmes", + "columns": "Colunas", + "column-settings": "Configurações da coluna", + "remove-column": "Remover coluna", + "add-column": "Adicionar coluna", + "no-columns": "Nenhuma coluna configurada", + "columns-to-display": "Colunas para exibir", + "table-header": "Cabeçalho da tabela", + "header-buttons": "Botões do cabeçalho", + "table-buttons": "Botões da tabela", + "pagination": "Paginação", + "rows": "Linhas", + "timeseries-column-error": "Pelo menos uma coluna de série temporal deve ser especificada", + "alarm-column-error": "Pelo menos uma coluna de alarme deve ser especificada", + "table-tabs": "Abas da tabela", + "show-cell-actions-menu-mobile": "Exibir menu suspenso de ações de célula no modo móvel", + "disable-sorting": "Desativar classificação", + "sort-by": "Classificar abas por", + "sort-timestamp-option": "Hora de criação" + }, + "latest-chart": { + "total": "Total", + "auto-scale": "Escala automática", + "clockwise-layout": "Layout no sentido horário", + "sort-series": "Ordenar séries por rótulo", + "tooltip-value-type-absolute": "Absoluto", + "tooltip-value-type-percentage": "Porcentagem" + }, + "pie-chart": { + "pie-chart-appearance": "Aparência do gráfico de pizza", + "label": "Rótulo", + "border": "Borda", + "radius": "Raio", + "pie-chart-card-style": "Estilo do cartão de gráfico de pizza" + }, + "radar-chart": { + "radar-appearance": "Aparência do radar", + "shape": "Forma", + "shape-polygon": "Polígono", + "shape-circle": "Círculo", + "color": "Cor", + "line": "Linha", + "points": "Pontos", + "points-label": "Rótulo dos pontos", + "radar-axis": "Eixo do radar", + "axis-label": "Rótulo do eixo", + "ticks-label": "Rótulo das marcações", + "radar-chart-style": "Estilo do gráfico de radar", + "max-axes-scaling": "Escala máxima dos eixos", + "max-axes-scaling-hint": "Escolha se cada eixo do radar tem seu próprio valor máximo (Separado) ou compartilha o maior valor entre todos os eixos com base no conjunto de dados do widget (Comum).", + "separate": "Separado", + "common": "Comum" + }, + "time-series-chart": { + "chart": "Gráfico", + "chart-style": "Estilo do gráfico", + "data-zoom": "Zoom de dados", + "stack-mode": "Modo de empilhamento", + "stack-mode-hint": "Empilha séries no gráfico. As séries com a mesma unidade serão sobrepostas.", + "axes": "Eixos", + "y-axes": "Eixos Y", + "line-type": "Tipo de linha", + "line-width": "Largura da linha", + "type-line": "Linha", + "type-bar": "Barra", + "type-point": "Ponto", + "no-aggregation-bar-width-strategy": "Estratégia de largura de barra para dados não agregados", + "no-aggregation-bar-width-strategy-group": "Grupo", + "no-aggregation-bar-width-strategy-separate": "Separado", + "bar-group-width": "Largura do grupo de barras", + "bar-width": "Largura da barra", + "bar-width-relative": "Percentual da janela de tempo", + "bar-width-absolute": "Absoluto (ms)", + "comparison": { + "comparison": "Comparação", + "comparison-hint": "A comparação funciona apenas com dados históricos!", + "show": "Exibir", + "settings": "Configurações de comparação", + "show-values-for-comparison": "Exibir dados históricos para comparação", + "comparison-values-label": "Rótulo da chave de comparação", + "comparison-values-label-auto": "Automático", + "comparison-data-color": "Cor dos dados de comparação" + }, + "threshold": { + "thresholds": "Limites", + "source": "Fonte", + "key-value": "Chave / Valor", + "no-thresholds": "Nenhum limite configurado", + "add-threshold": "Adicionar limite", + "type-constant": "Constante", + "type-latest-key": "Chave", + "type-entity": "Entidade", + "threshold-settings": "Configurações de limite", + "remove-threshold": "Remover limite", + "threshold-value-required": "O valor do limite é obrigatório.", + "key-required": "A chave é obrigatória.", + "entity-key-required": "A chave da entidade é obrigatória.", + "line-appearance": "Aparência da linha", + "line-color": "Cor da linha", + "start-symbol": "Símbolo inicial", + "end-symbol": "Símbolo final", + "symbol-size": "tamanho", + "label": "Rótulo", + "label-position-start": "Início", + "label-position-middle": "Meio", + "label-position-end": "Fim", + "label-position-inside-start": "Início interno", + "label-position-inside-start-top": "Início interno superior", + "label-position-inside-start-bottom": "Início interno inferior", + "label-position-inside-middle": "Meio interno", + "label-position-inside-middle-top": "Meio interno superior", + "label-position-inside-middle-bottom": "Meio interno inferior", + "label-position-inside-end": "Fim interno", + "label-position-inside-end-top": "Fim interno superior", + "label-position-inside-end-bottom": "Fim interno inferior", + "label-background": "Plano de fundo do rótulo" + }, + "state": { + "states": "Estados", + "label": "Rótulo", + "ticks-value": "Valor das marcações", + "source": "Fonte", + "value-range": "Valor / Intervalo", + "no-states": "Nenhum estado configurado", + "add-state": "Adicionar estado", + "type-constant": "Constante", + "type-range": "Intervalo", + "from": "De", + "to": "Até", + "remove-state": "Remover estado" + }, + "grid": { + "grid": "Grade", + "background-color": "Cor do plano de fundo", + "border": "Borda" + }, + "axis": { + "axes": "Eixos", + "x-axis": "Eixo X", + "y-axis": "Eixo Y", + "y-axis-settings": "Configurações do eixo Y", + "comparison-x-axis-settings": "Configurações do eixo X de comparação", + "remove-y-axis": "Remover eixo Y", + "id": "Id", + "label": "Rótulo", + "position": "Posição", + "position-left": "Esquerda", + "position-right": "Direita", + "position-top": "Superior", + "position-bottom": "Inferior", + "tick-labels": "Rótulos das marcações", + "ticks-formatter-function": "Função de formatação de marcações", + "ticks-generator-function": "Função geradora de marcações", + "show-ticks": "Exibir marcações", + "show-line": "Exibir linha", + "show-split-lines": "Exibir linhas de divisão", + "show-split-lines-x-axis-hint": "Se habilitado, as linhas verticais no gráfico serão exibidas.", + "show-split-lines-y-axis-hint": "Se habilitado, as linhas horizontais no gráfico serão exibidas.", + "ticks-interval": "Intervalo das marcações", + "ticks-interval-hint": "Define obrigatoriamente o intervalo de segmentação para o eixo.", + "split-number": "Número de divisões", + "split-number-hint": "Número de segmentos em que o eixo é dividido.", + "min": "Mín", + "max": "Máx", + "show": "Exibir", + "add-y-axis": "Adicionar eixo Y" + }, + "series": { + "legend-settings": "Configurações da legenda", + "show-in-legend": "Exibir na legenda", + "show-in-legend-hint": "Exibe o nome da série e os dados na legenda.", + "hidden-by-default": "Oculto por padrão", + "hidden-by-default-hint": "Oculta a série na legenda por padrão.", + "series-type": "Tipo de série", + "type": "Tipo", + "type-line": "Linha", + "type-bar": "Barra", + "line": { + "line": "Linha", + "show-line": "Exibir linha", + "step-line": "Linha em degrau", + "step-type-start": "Início", + "step-type-middle": "Meio", + "step-type-end": "Fim", + "smooth-line": "Linha suavizada" + }, + "point": { + "points": "Pontos", + "show-points": "Exibir pontos", + "point-label": "Rótulo do ponto", + "point-label-hint": "Exibe rótulo com valor sobre o ponto da série.", + "point-label-background": "Plano de fundo do rótulo do ponto", + "point-shape": "Forma do ponto", + "point-size": "Tamanho do ponto" + } + } + }, + "wind-speed-direction": { + "layout": "Layout", + "layout-default": "Padrão", + "layout-advanced": "Avançado", + "layout-simplified": "Simplificado", + "values": "Valores", + "wind-direction": "Direção do vento", + "center-value": "Valor central", + "icon": "Ícone", + "arrow": "Seta", + "ticks": "Marcações", + "labels-type": "Tipo de rótulos", + "directional-names": "Nomes direcionais", + "degrees": "Graus", + "major-ticks": "Marcações principais", + "minor-ticks": "Marcações secundárias", + "wind-speed-direction-card-style": "Estilo do cartão de velocidade e direção do vento", + "ticks-color": "Cor das marcações", + "ticks-labels-type": "Tipo de rótulos das marcações", + "arrow-color": "Cor da seta" + }, + "value-source": { + "value-source": "Fonte do valor", + "predefined-value": "Constante", + "entity-attribute": "Atributo da entidade", + "value": "Valor", + "value-required": "O valor é obrigatório.", + "key-required": "A chave é obrigatória.", + "entity-key-required": "A chave da entidade é obrigatória.", + "source-entity-alias": "Alias da entidade de origem", + "source-entity-attribute": "Atributo da entidade de origem", + "type-constant": "Constante", + "type-latest-key": "Chave", + "type-entity": "Entidade" + }, + "rpc-state": { + "initial-state": "Estado inicial", + "initial-state-hint": "Ação para obter o estado inicial (Ligado/Desligado) do componente.", + "disabled-state": "Estado desabilitado", + "disabled-state-hint": "Configura a condição sob a qual o componente é desabilitado.", + "turn-on": "Ligar 'On'", + "turn-on-hint": "Ação acionada quando o controle deslizante é alternado para 'On'", + "turn-off": "Desligar 'Off'", + "turn-off-hint": "Ação acionada quando o controle deslizante é alternado para 'Off'", + "on": "On", + "off": "Off", + "disabled": "Desabilitado" + }, + "value-action": { + "do-nothing": "Não fazer nada", + "execute-rpc": "Executar RPC", + "get-attribute": "Obter atributo", + "set-attribute": "Definir atributo", + "get-time-series": "Obter série temporal", + "get-alarm-status": "Obter status do alarme", + "get-dashboard-state": "Obter id do estado do Dashboard", + "get-dashboard-state-object": "Obter objeto de estado do Dashboard", + "add-time-series": "Adicionar série temporal", + "execute-rpc-text": "Executar método RPC '{{methodName}}'", + "get-time-series-text": "Usar série temporal '{{key}}'", + "get-attribute-text": "Usar atributo '{{key}}'", + "get-alarm-status-text": "Usar status do alarme", + "get-dashboard-state-text": "Usar estado do Dashboard", + "get-dashboard-state-object-text": "Usar objeto de estado do Dashboard", + "when-dashboard-state-is-text": "Quando o id do estado do Dashboard for '{{state}}'", + "when-dashboard-state-function-is-text": "Quando f(id do estado do Dashboard) for '{{state}}'", + "when-dashboard-state-object-function-is-text": "Quando f(objeto de estado do Dashboard) for '{{state}}'", + "set-attribute-to-value-text": "Definir atributo '{{key}}' como: {{value}}", + "add-time-series-value-text": "Adicionar valor da série temporal '{{key}}': {{value}}", + "set-attribute-text": "Definir atributo '{{key}}'", + "add-time-series-text": "Adicionar série temporal '{{key}}'", + "action": "Ação", + "value": "Valor", + "init-value-hint": "Valor que será definido até que o dispositivo envie dados.", + "method": "Método", + "method-name-required": "O nome do método é obrigatório.", + "request-timeout-ms": "Tempo Limite da requisição RPC (ms)", + "request-timeout-required": "O tempo limite da requisição é obrigatório.", + "min-request-timeout-error": "O valor do tempo limite da requisição deve ser maior ou igual a 5000 ms (5 segundos).", + "request-persistent": "Requisição RPC persistente", + "persistent-polling-interval": "Intervalo de polling persistente (ms)", + "persistent-polling-interval-hint": "Intervalo de polling (ms) para obter a resposta do comando RPC persistente", + "persistent-polling-interval-required": "O intervalo de polling persistente é obrigatório.", + "min-persistent-polling-interval-error": "O valor do intervalo de polling persistente deve ser maior ou igual a 1000 ms (1 segundo).", + "attribute-scope": "Escopo do atributo", + "attribute-key": "Chave do atributo", + "attribute-key-required": "A chave do atributo é obrigatória.", + "time-series-key": "Chave da série temporal", + "time-series-key-required": "A chave da série temporal é obrigatória.", + "action-result-converter": "Conversor de resultado de ação", + "converter-none": "Nenhum", + "converter-function": "Função", + "converter-constant": "Constante", + "converter-value": "Valor", + "parse-value-function": "Função de análise de valor", + "state-when-result-is": "'{{state}}' quando o resultado for", + "parameters": "Parâmetros", + "convert-value-function": "Função de conversão de valor", + "error": { + "target-entity-is-not-set": "A entidade de destino não está definida!", + "failed-to-perform-action": "Falha ao executar a ação {{ actionLabel }}.", + "invalid-attribute-scope": "O escopo de atributo {{scope}} não é suportado pela entidade {{entityType}}." + } + }, + "widget-font": { + "font-settings": "Configurações de fonte", + "font-family": "Família da fonte", + "size": "Tamanho", + "relative-font-size": "Tamanho de fonte relativo (porcentagem)", + "font-style": "Estilo", + "font-style-normal": "Normal", + "font-style-italic": "Itálico", + "font-style-oblique": "Oblíquo", + "font-weight": "Peso", + "font-weight-normal": "Normal", + "font-weight-bold": "Negrito", + "font-weight-bolder": "Mais negrito", + "font-weight-lighter": "Mais leve", + "color": "Cor", + "shadow-color": "Cor da sombra", + "preview": "Visualização", + "line-height": "Altura da linha", + "auto": "Automático" + }, + "home": { + "no-data-available": "Nenhum dado disponível" + }, + "system-info": { + "cpu": "CPU", + "ram": "RAM", + "disk": "Disco", + "cpu-warning-text": "Uso elevado de CPU. Para evitar falha no sistema, otimize o desempenho do sistema.", + "cpu-critical-text": "Uso de CPU criticamente alto. Para evitar falha no sistema, otimize o desempenho do sistema.", + "ram-warning-text": "Reserva de RAM baixa. Para evitar falha no sistema, otimize o desempenho do sistema ou aumente o tamanho da RAM.", + "ram-critical-text": "Reserva de RAM criticamente baixa. Para evitar falha no sistema, otimize o desempenho do sistema ou aumente o tamanho da RAM.", + "disk-warning-text": "Pouco espaço em disco. Para evitar perda de dados, libere ou expanda o espaço em disco.", + "disk-critical-text": "Espaço em disco criticamente baixo. Para evitar perda de dados, libere ou expanda o espaço em disco." + }, + "cluster-info": { + "service-id": "Id do serviço", + "service-type": "Tipo de serviço", + "no-data": "Sem dados" + }, + "transport-messages": { + "title": "Mensagens de transporte", + "info": "Todas as mensagens recebidas dos dispositivos" + }, + "activity": { + "title": "Atividade" + }, + "documentation": { + "title": "Documentação", + "add-link": "Adicionar link", + "add-link-title": "Adicionar link de documentação", + "name": "Nome", + "name-required": "O nome é obrigatório.", + "link": "Link", + "link-required": "O link é obrigatório.", + "columns": "Colunas" + }, + "quick-links": { + "title": "Links rápidos", + "add-link": "Adicionar link", + "add-link-title": "Adicionar link rápido", + "quick-link": "Link rápido", + "quick-link-required": "O link rápido é obrigatório.", + "no-links-matching": "Nenhum link correspondente a '{{name}}' foi encontrado.", + "columns": "Colunas" + }, + "recent-dashboards": { + "title": "Dashboards", + "last": "Últimos visualizados", + "starred": "Marcados com estrela", + "name": "Nome", + "last-viewed": "Último visualizado", + "no-last-viewed-dashboards": "Nenhum Dashboard visualizado recentemente" + }, + "configured-features": { + "title": "Recursos configurados", + "info": "Status dos recursos que requerem configuração", + "email-feature": "Email", + "sms-feature": "SMS", + "slack-feature": "Slack", + "oauth2-feature": "OAuth 2", + "2fa-feature": "2FA", + "feature-configured": "Recurso está configurado.\nClique para configurar", + "feature-not-configured": "Recurso não está configurado.\nClique para configurar" + }, + "version-info": { + "title": "Versão", + "contact-us": "Fale conosco", + "current-version": "Versão atual", + "current": "Atual", + "available-version": "Versão disponível", + "available": "Disponível", + "upgrade": "Atualizar", + "version-is-up-to-date": "Versão está atualizada" + }, + "usage-info": { + "title": "Uso", + "entities": "Entidades", + "api-calls": "Chamadas de API" + }, + "functions": { + "title": "Funções", + "pe-feature-tooltip": "Disponível apenas no ThingsBoard\nProfessional Edition", + "switch-to-pe": "Migrar para PE", + "alarms": "Alarmes", + "dashboards": "Dashboards", + "entities-and-relations": "Entidades & Relações", + "profiles": "Perfis", + "advanced-features": "Recursos avançados", + "notification-center": "Central de notificações", + "api-usage": "Uso de API", + "customers": "Clientes", + "customers-hierarchy": "Hierarquia de clientes", + "roles-and-permissions": "Funções & Permissões", + "groups": "Grupos", + "integrations": "Integrações", + "solution-templates": "Modelos de solução", + "scheduler": "Agendador", + "white-labeling": "Personalização de marca" + }, + "devices": { + "view-docs": "Ver documentação", + "inactive": "Inativo", + "active": "Ativo", + "total": "Total" + }, + "alarms": { + "critical": "Crítico", + "assigned-to-me": "Atribuído a mim", + "total": "Total" + }, + "getting-started": { + "get-started": "Começar", + "finish": "Concluir", + "done-welcome-title": "Bem-vindo a bordo", + "done-welcome-text": "Você se saiu muito bem!", + "sys-admin": { + "step1": { + "title": "Criar Tenant e Administrador do Tenant", + "content": "

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": "您没有访问此位置的权限
如果您仍希望访问此位置,请尝试使用其他用户登录。", - "refresh-token-expired": "会话已过期", - "refresh-token-failed": "无法刷新会话", - "permission-denied": "权限被拒绝", - "permission-denied-text": "您没有执行此操作的权限!" - }, - "account": { - "account": "账号", - "notification-settings": "通知设置" - }, - "action": { - "activate": "激活", - "suspend": "暂停", - "save": "保存", - "saveAs": "另存为", - "move": "移动", - "cancel": "取消", - "ok": "确定", - "delete": "删除", - "add": "添加", - "yes": "是", - "no": "否", - "update": "更新", - "remove": "移除", - "select": "选择", - "search": "查询", - "clear-search": "清除查询", - "assign": "分配", - "unassign": "取消分配", - "share": "分享", - "make-private": "私有", - "apply": "应用", - "apply-changes": "应用更改", - "edit-mode": "编辑模式", - "enter-edit-mode": "进入编辑模式", - "decline-changes": "撤销更改", - "decline": "撤销", - "close": "关闭", - "back": "后退", - "run": "运行", - "sign-in": "登录!", - "edit": "编辑", - "view": "查看", - "create": "创建", - "drag": "拖拽", - "refresh": "刷新", - "undo": "撤销", - "copy": "复制", - "paste": "粘贴", - "copy-reference": "复制引用", - "paste-reference": "粘贴引用", - "import": "导入", - "export": "导出", - "share-via": "通过{{provider}}分享", - "continue": "继续", - "discard-changes": "放弃更改", - "download": "下载", - "next": "下一个", - "next-with-label": "下一个:{{label}}", - "read-more": "阅读更多", - "hide": "隐藏", - "done": "完成", - "print": "打印", - "restore": "恢复", - "confirm": "确定", - "more": "更多", - "less": "更少", - "skip": "跳过", - "send": "发送", - "reset": "重置", - "show-more": "显示更多", - "dont-show-again": "不再显示", - "see-documentation": "查看文档", - "clear": "清除", - "upload": "上传", - "delete-anyway": "仍要删除", - "delete-selected": "删除所选", - "set": "设置" - }, - "aggregation": { - "aggregation": "聚合", - "function": "聚合功能", - "limit": "限制数", - "group-interval": "间隔", + "access": { + "unauthorized": "未授权", + "unauthorized-access": "未授权访问", + "unauthorized-access-text": "您需要登录才能访问此资源!", + "access-forbidden": "禁止访问", + "access-forbidden-text": "您没有权限访问此位置!
如果您仍希望访问此位置,请尝试使用其他用户登录。", + "refresh-token-expired": "会话已过期", + "refresh-token-failed": "无法刷新会话", + "permission-denied": "权限被拒绝", + "permission-denied-text": "您没有权限执行此操作!" + }, + "account": { + "account": "账户", + "notification-settings": "通知设置" + }, + "action": { + "activate": "激活", + "suspend": "停用", + "save": "保存", + "saveAs": "另存为", + "move": "移动", + "cancel": "取消", + "ok": "确定", + "delete": "删除", + "add": "添加", + "yes": "是", + "no": "否", + "update": "更新", + "remove": "移除", + "search": "搜索", + "clear-search": "清除搜索", + "assign": "分配", + "unassign": "取消分配", + "share": "共享", + "make-private": "设为私有", + "apply": "应用", + "apply-changes": "应用更改", + "edit-mode": "编辑模式", + "enter-edit-mode": "进入编辑模式", + "decline-changes": "放弃更改", + "decline": "拒绝", + "close": "关闭", + "back": "返回", + "run": "运行", + "sign-in": "登录!", + "edit": "编辑", + "view": "查看", + "create": "创建", + "drag": "拖拽", + "refresh": "刷新", + "undo": "撤销", + "copy": "复制", + "paste": "粘贴", + "copy-reference": "复制引用", + "paste-reference": "粘贴引用", + "import": "导入", + "export": "导出", + "share-via": "通过 {{provider}} 共享", + "select": "选择", + "continue": "继续", + "discard-changes": "放弃更改", + "download": "下载", + "next": "下一步", + "next-with-label": "下一步:{{label}}", + "read-more": "阅读更多", + "hide": "隐藏", + "test": "测试", + "done": "完成", + "print": "打印", + "restore": "恢复", + "confirm": "确认", + "more": "更多", + "less": "收起", + "skip": "跳过", + "send": "发送", + "reset": "重置", + "show-more": "显示更多", + "dont-show-again": "不再显示", + "see-documentation": "查看文档", + "see-debug-events": "查看调试事件", + "clear": "清除", + "upload": "上传", + "delete-anyway": "仍然删除", + "delete-selected": "删除所选", + "set": "设置" + }, + "aggregation": { + "aggregation": "聚合", + "function": "数据聚合函数", + "limit": "最大值数量", + "group-interval": "分组间隔", + "min": "最小值", + "max": "最大值", + "avg": "平均值", + "sum": "总和", + "count": "计数", + "none": "无" + }, + "admin": { + "settings": "设置", + "general": "常规", + "general-settings": "常规设置", + "home-settings": "首页设置", + "home": "首页", + "outgoing-mail": "邮件服务器", + "outgoing-mail-settings": "发件邮件服务器设置", + "system-settings": "系统设置", + "test-mail-sent": "测试邮件发送成功!", + "base-url": "基础 URL", + "base-url-required": "基础 URL 为必填项。", + "prohibit-different-url": "禁止使用来自客户端请求头的主机名", + "prohibit-different-url-hint": "此设置应在生产环境中启用。禁用时可能导致安全问题", + "device-connectivity": { + "device-connectivity": "设备连接", + "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": "如果主机或端口字段为空,将使用默认协议值。", + "host": "主机", + "port": "端口", + "port-pattern": "端口必须为正整数。", + "port-range": "端口应在 1 到 65535 的范围内。" + }, + "mail-from": "发件人", + "mail-from-required": "发件人为必填项。", + "smtp-protocol": "SMTP 协议", + "smtp-host": "SMTP 主机", + "smtp-host-required": "SMTP 主机为必填项。", + "smtp-port": "SMTP 端口", + "smtp-port-required": "SMTP 端口为必填项。", + "smtp-port-invalid": "SMTP 端口格式无效。", + "timeout-msec": "超时(毫秒)", + "timeout-required": "超时为必填项。", + "timeout-invalid": "超时格式无效。", + "enable-tls": "启用 TLS", + "tls-version": "TLS 版本", + "enable-proxy": "启用代理", + "proxy-host": "代理主机", + "proxy-host-required": "代理主机为必填项。", + "proxy-port": "代理端口", + "proxy-port-required": "代理端口为必填项。", + "proxy-port-range": "代理端口应在 1 到 65535 的范围内。", + "proxy-user": "代理用户", + "proxy-password": "代理密码", + "change-password": "修改密码", + "send-test-mail": "发送测试邮件", + "sms-provider": "短信提供商", + "sms-provider-settings": "短信提供商设置", + "sms-provider-type": "短信提供商类型", + "sms-provider-type-required": "短信提供商类型为必填项。", + "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 为必填项", + "aws-secret-access-key": "AWS Secret Access Key", + "aws-secret-access-key-required": "AWS Secret Access Key 为必填项", + "aws-region": "AWS Region", + "aws-region-required": "AWS Region 为必填项", + "number-from": "发送方电话号码", + "number-from-required": "发送方电话号码为必填项。", + "number-to": "接收方电话号码", + "number-to-required": "接收方电话号码为必填项。", + "phone-number-hint": "电话号码需使用 E.164 格式,例如 +19995550123", + "phone-number-hint-twilio": "电话号码需使用 E.164 格式/Phone Number's SID/Messaging Service SID,例如 +19995550123/PNXXX/MGXXX", + "phone-number-pattern": "电话号码无效。应使用 E.164 格式,例如 +19995550123。", + "phone-number-pattern-twilio": "电话号码无效。应使用 E.164 格式/Phone Number's SID/Messaging Service SID,例如 +19995550123/PNXXX/MGXXX。", + "sms-message": "短信消息", + "sms-message-required": "短信消息为必填项。", + "sms-message-max-length": "短信消息不能超过 1600 个字符", + "twilio-account-sid": "Twilio Account SID", + "twilio-account-sid-required": "Twilio Account SID 为必填项", + "twilio-account-token": "Twilio Account Token", + "twilio-account-token-required": "Twilio Account Token 为必填项", + "send-test-sms": "发送测试短信", + "test-sms-sent": "测试短信发送成功!", + "security-settings": "安全设置", + "password-policy": "密码策略", + "minimum-password-length": "最小密码长度", + "minimum-password-length-required": "最小密码长度为必填项", + "minimum-password-length-range": "最小密码长度应在 6 到 50 的范围内", + "maximum-password-length": "最大密码长度", + "maximum-password-length-min": "最大密码长度至少为 6", + "maximum-password-length-less-min": "最大密码长度应大于最小长度", + "minimum-uppercase-letters": "最少大写字母数量", + "minimum-uppercase-letters-range": "最少大写字母数量不能为负数", + "minimum-lowercase-letters": "最少小写字母数量", + "minimum-lowercase-letters-range": "最少小写字母数量不能为负数", + "minimum-digits": "最少数字数量", + "minimum-digits-range": "最少数字数量不能为负数", + "minimum-special-characters": "最少特殊字符数量", + "minimum-special-characters-range": "最少特殊字符数量不能为负数", + "password-expiration-period-days": "密码过期周期(天)", + "password-expiration-period-days-range": "密码过期周期(天)不能为负数", + "password-reuse-frequency-days": "密码重用频率(天)", + "password-reuse-frequency-days-range": "密码重用频率(天)不能为负数", + "allow-whitespace": "允许空格", + "force-reset-password-if-no-valid": "密码无效时强制重置", + "force-reset-password-if-no-valid-hint": "启用此功能时请谨慎:这将要求密码无效的用户通过 email 重置密码。", + "general-policy": "通用策略", + "max-failed-login-attempts": "账户锁定前允许的最大登录失败次数", + "minimum-max-failed-login-attempts-range": "最大登录失败次数不能为负数", + "user-lockout-notification-email": "用户账户锁定时,发送通知到 email", + "user-activation-token-ttl": "用户激活链接 TTL(小时)", + "user-activation-token-ttl-range": "用户激活链接 TTL 必须在 1 到 24 小时范围内", + "password-reset-token-ttl": "密码重置链接 TTL(小时)", + "password-reset-token-ttl-range": "密码重置链接 TTL 必须在 1 到 24 小时范围内", + "mobile-secret-key-length": "移动端密钥长度", + "mobile-secret-key-length-range": "移动端密钥长度必须为正数", + "domain-name": "域名", + "domain-name-unique": "域名和协议需要唯一。", + "domain-name-max-length": "域名应少于 256 个字符", + "error-verification-url": "域名不应包含符号“/”和“:”。例如:thingsboard.io", + "connection-settings": "连接设置", + "oauth2": { + "access-token-uri": "Access token URI", + "access-token-uri-required": "Access token URI 为必填项。", + "activate-user": "激活用户", + "add-domain": "添加域名", + "delete-domain": "删除域名", + "add-provider": "添加提供商", + "delete-provider": "删除提供商", + "allow-user-creation": "允许创建用户", + "always-fullscreen": "始终全屏", + "authorization-uri": "Authorization URI", + "authorization-uri-required": "Authorization URI 为必填项。", + "add-client": "添加 OAuth 2.0 客户端", + "client-details": "OAuth 2.0 客户端详情", + "client": "OAuth 2.0 客户端", + "clients": "OAuth 2.0 客户端", + "no-oauth2-clients": "未找到 OAuth 2.0 客户端", + "search-oauth2-clients": "搜索 OAuth 2.0 客户端", + "delete-client-title": "确定要删除 OAuth 2.0 客户端“{{clientName}}”吗?", + "delete-client-text": "请注意,确认后该客户端及所有相关数据将无法恢复。", + "delete-mobile-app-title": "确定要删除移动应用“{{applicationName}}”吗?", + "delete-mobile-app-text": "请注意,确认后该移动应用及所有相关数据将无法恢复。", + "title": "标题", + "client-title-required": "标题为必填项", + "client-title-max-length": "标题应少于 100 个字符", + "advanced-settings": "高级设置", + "domain-details": "域名详情", + "no-domains": "未找到域名", + "search-domains": "搜索域名", + "mobile-app-details": "移动应用详情", + "add-mobile-app": "添加移动应用", + "no-mobile-apps": "未找到移动应用", + "search-mobile-apps": "搜索移动应用", + "send-token": "发送 Token", + "create-new": "新建", + "client-authentication-method": "客户端认证方法", + "client-id": "Client ID", + "client-id-required": "Client ID 为必填项。", + "client-id-max-length": "Client ID 应少于 256 个字符", + "client-secret": "Client secret", + "client-secret-required": "Client secret 为必填项。", + "client-secret-max-length": "Client secret 应少于 2049 个字符", + "custom-setting": "自定义设置", + "customer-name-pattern": "客户名称模式", + "customer-name-pattern-max-length": "客户名称模式应少于 256 个字符", + "default-dashboard-name": "默认仪表板名称", + "default-dashboard-name-max-length": "默认仪表板名称应少于 256 个字符", + "delete-domain-text": "请注意,确认后该域名及所有提供商数据将不可用。", + "delete-domain-title": "确定要删除域名“{{domainName}}”吗?", + "delete-registration-text": "请注意,确认后提供商数据将不可用。", + "delete-registration-title": "确定要删除提供商“{{name}}”吗?", + "email-attribute-key": "Email 属性键", + "email-attribute-key-required": "Email 属性键为必填项。", + "email-attribute-key-max-length": "Email 属性键应少于 32 个字符", + "first-name-attribute-key": "名字属性键", + "first-name-attribute-key-max-length": "名字属性键应少于 32 个字符", + "general": "常规", + "jwk-set-uri": "JSON Web Key URI", + "last-name-attribute-key": "姓氏属性键", + "last-name-attribute-key-max-length": "姓氏属性键应少于 32 个字符", + "login-button-icon": "登录按钮图标", + "login-button-label": "提供商标签", + "login-button-label-placeholder": "Login with $(Provider label)", + "login-button-label-required": "标签为必填项。", + "login-provider": "登录提供商", + "mapper": "映射器", + "new-domain": "新域名", + "oauth2": "OAuth 2.0", + "password-max-length": "密码应少于 256 个字符", + "redirect-uri-template": "Redirect URI 模板", + "copy-redirect-uri": "复制 Redirect URI", + "registration-id": "注册 ID", + "registration-id-required": "注册 ID 为必填项。", + "registration-id-unique": "注册 ID 在系统中必须唯一。", + "scope": "Scope", + "scope-required": "Scope 为必填项。", + "tenant-name-pattern": "租户名称模式", + "tenant-name-pattern-required": "租户名称模式为必填项。", + "tenant-name-pattern-max-length": "租户名称模式应少于 256 个字符", + "tenant-name-strategy": "租户名称策略", + "type": "映射器类型", + "uri-pattern-error": "URI 格式无效。", + "url": "URL", + "url-pattern": "URL 格式无效。", + "url-required": "URL 为必填项。", + "url-max-length": "URL 应少于 256 个字符", + "user-info-uri": "User info URI", + "user-info-uri-required": "User info URI 为必填项。", + "username-max-length": "用户名应少于 256 个字符", + "user-name-attribute-name": "用户名属性键", + "user-name-attribute-name-required": "用户名属性键为必填项", + "protocol": "协议", + "domain-schema-http": "HTTP", + "domain-schema-https": "HTTPS", + "domain-schema-mixed": "HTTP+HTTPS", + "enable": "启用 OAuth 2.0 设置", + "disable": "禁用 OAuth 2.0 设置", + "edge": "传播到 Edge", + "edge-enable": "启用传播到 Edge", + "edge-disable": "禁用传播到 Edge", + "domains": "域名", + "mobile-apps": "移动应用", + "mobile-package": "应用包", + "mobile-package-placeholder": "例如:my.example.app", + "mobile-package-hint": "Android:您自己的唯一 Application ID。iOS:Product bundle identifier。", + "mobile-package-unique": "应用包必须唯一。", + "mobile-package-required": "应用包为必填项。", + "mobile-package-max-length": "应用包应少于 256 个字符", + "mobile-package-spaces": "应用包不应包含空格", + "mobile-app-secret": "Application secret", + "mobile-app-secret-hint": "Base64 编码的字符串,至少表示 512 位数据。", + "mobile-app-secret-required": "Application secret 为必填项。", + "mobile-app-secret-min-length": "Application secret 必须至少为 512 位数据。", + "mobile-app-secret-base64": "Application secret 必须为 base64 格式。", + "invalid-mobile-app-secret": "Application secret 只能包含字母和数字字符,长度必须在 16 到 2048 个字符之间。", + "copy-mobile-app-secret": "复制 Application secret", + "delete-mobile-app": "删除应用信息", + "providers": "提供商", + "platform-web": "Web", + "platform-android": "Android", + "platform-ios": "iOS", + "all-platforms": "所有平台", + "smtp-provider": "SMTP 提供商", + "allowed-platforms": "允许的平台", + "authentication": "认证", + "basic": "基本", + "provider": "提供商", + "redirect-url": "Redirect URI", + "domain-name": "域名", + "domain-name-required": "域名为必填项", + "redirect-url-template": "Redirect URI 模板", + "microsoft-tenant-id": "Directory (tenant) Id", + "microsoft-tenant-id-required": "Directory (tenant) Id 为必填项", + "token-uri": "Token URI", + "token-uri-required": "Token URI 为必填项", + "redirect-uri": "Redirect URI", + "google-provider": "Google", + "microsoft-provider": "Office 365", + "sendgrid-provider": "Sendgrid", + "custom-provider": "自定义", + "generate-access-token": "生成访问 Token", + "update-access-token": "更新访问 Token", + "access-token-status": "访问 Token 状态:", + "token-status-generated": "已生成", + "token-status-not-generated": "未生成" + }, + "smpp-provider": { + "smpp-version": "SMPP 版本", + "smpp-host": "SMPP 主机", + "smpp-host-required": "SMPP 主机为必填项", + "smpp-port": "SMPP 端口", + "smpp-port-required": "SMPP 端口为必填项", + "system-id": "System ID", + "system-id-required": "System ID 为必填项", + "password": "密码", + "password-required": "密码为必填项", + "type-settings": "类型设置", + "source-settings": "源设置", + "destination-settings": "目标设置", + "additional-settings": "附加设置", + "system-type": "系统类型", + "bind-type": "绑定类型", + "service-type": "服务类型", + "source-address": "源地址", + "source-ton": "源 TON", + "source-npi": "源 NPI", + "destination-ton": "目标 TON(号码类型)", + "destination-npi": "目标 NPI(编号计划标识)", + "address-range": "地址范围", + "coding-scheme": "编码方案", + "bind-type-tx": "发送器", + "bind-type-rx": "接收器", + "bind-type-trx": "收发器", + "ton-unknown": "未知", + "ton-international": "国际", + "ton-national": "国内", + "ton-network-specific": "特定网络", + "ton-subscriber-number": "用户号码", + "ton-alphanumeric": "字母数字", + "ton-abbreviated": "缩写", + "npi-unknown": "0 - 未知", + "npi-isdn": "1 - ISDN/电话编号计划 (E163/E164)", + "npi-data-numbering-plan": "3 - 数据编号计划 (X.121)", + "npi-telex-numbering-plan": "4 - 电传编号计划 (F.69)", + "npi-land-mobile": "6 - 陆地移动 (E.212)", + "npi-national-numbering-plan": "8 - 国家编号计划", + "npi-private-numbering-plan": "9 - 专用编号计划", + "npi-ermes-numbering-plan": "10 - ERMES 编号计划 (ETSI DE/PS 3 01-3)", + "npi-internet": "13 - 互联网 (IP)", + "npi-wap-client-id": "18 - WAP Client Id(由 WAP Forum 定义)", + "scheme-smsc": "0 - SMSC 默认字母表(短代码和长代码为 ASCII,免费号码为 GSM)", + "scheme-ia5": "1 - IA5(短代码和长代码为 ASCII,免费号码为 Latin 9 (ISO-8859-9))", + "scheme-octet-unspecified-2": "2 - 未指定八位字节(8 位二进制)", + "scheme-latin-1": "3 - Latin 1 (ISO-8859-1)", + "scheme-octet-unspecified-4": "4 - 未指定八位字节(8 位二进制)", + "scheme-jis": "5 - JIS (X 0208-1990)", + "scheme-cyrillic": "6 - 西里尔文 (ISO-8859-5)", + "scheme-latin-hebrew": "7 - Latin/Hebrew (ISO-8859-8)", + "scheme-ucs-utf": "8 - UCS2/UTF-16 (ISO/IEC-10646)", + "scheme-pictogram-encoding": "9 - 象形文字编码", + "scheme-music-codes": "10 - 音乐代码 (ISO-2022-JP)", + "scheme-extended-kanji-jis": "13 - 扩展汉字 JIS (X 0212-1990)", + "scheme-korean-graphic-character-set": "14 - 韩文图形字符集 (KS C 5601/KS X 1001)" + }, + "queue-select-name": "选择队列名称", + "queue-name": "名称", + "queue-name-required": "队列名称为必填项!", + "queues": "队列", + "queue-partitions": "分区", + "queue-submit-strategy": "提交策略", + "queue-processing-strategy": "处理策略", + "queue-configuration": "队列配置", + "repository-settings": "仓库设置", + "repository": "仓库", + "repository-url": "仓库 URL", + "repository-url-required": "仓库 URL 为必填项。", + "default-branch": "默认分支名称", + "repository-read-only": "只读", + "show-merge-commits": "显示合并提交", + "authentication-settings": "认证设置", + "auth-method": "认证方法", + "auth-method-username-password": "密码/访问 Token", + "auth-method-username-password-hint": "GitHub 用户必须使用具有仓库写权限的访问 Token。", + "auth-method-private-key": "私钥", + "password-access-token": "密码/访问 Token", + "change-password-access-token": "修改密码/访问 Token", + "private-key": "私钥", + "drop-private-key-file-or": "拖放私钥文件或", + "passphrase": "密码短语", + "enter-passphrase": "输入密码短语", + "change-passphrase": "修改密码短语", + "check-access": "检查访问权限", + "check-repository-access-success": "仓库访问验证成功!", + "delete-repository-settings-title": "确定要删除仓库设置吗?", + "delete-repository-settings-text": "请注意,确认后仓库设置将被移除,版本控制功能将不可用。", + "auto-commit-settings": "自动提交设置", + "auto-commit": "自动提交", + "auto-commit-entities": "自动提交实体", + "no-auto-commit-entities-prompt": "未配置自动提交的实体", + "delete-auto-commit-settings-title": "确定要删除自动提交设置吗?", + "delete-auto-commit-settings-text": "请注意,确认后自动提交设置将被移除,所有实体的自动提交将被禁用。", + "mobile-app": { + "mobile-app": "移动应用", + "mobile-app-qr-code-widget-settings": "移动应用二维码部件设置", + "applications": "应用", + "default": "默认", + "custom": "自定义", + "android": "Android", + "ios": "iOS", + "appearance": "外观", + "appearance-on-home-page": "首页外观", + "enabled": "已启用", + "disabled": "已禁用", + "badges": "徽章", + "label": "标签", + "label-required": "标签为必填项", + "label-max-length": "标签应不超过 50 个字符", + "right": "右", + "left": "左", + "set": "设置", + "preview": "预览", + "connect-mobile-app": "连接移动应用", + "use-system-settings": "使用系统设置" + }, + "2fa": { + "2fa": "双因素认证", + "available-providers": "可用提供商", + "available-providers-required": "至少需要配置一个双因素认证提供商。", + "issuer-name": "签发者名称", + "issuer-name-required": "签发者名称为必填项。", + "max-verification-failures-before-user-lockout": "用户锁定前最大验证失败次数", + "max-verification-failures-before-user-lockout-pattern": "最大验证失败次数必须为正整数。", + "number-of-checking-attempts": "检查尝试次数", + "number-of-checking-attempts-pattern": "检查尝试次数必须为正整数。", + "number-of-checking-attempts-required": "检查尝试次数为必填项。", + "number-of-codes": "验证码数量", + "number-of-codes-pattern": "验证码数量必须为正整数。", + "number-of-codes-required": "验证码数量为必填项。", + "provider": "提供商", + "retry-verification-code-period": "重试验证码周期", + "retry-verification-code-period-pattern": "最小周期时间为 5 秒", + "retry-verification-code-period-required": "重试验证码周期为必填项。", + "total-allowed-time-for-verification": "验证允许的总时间", + "total-allowed-time-for-verification-pattern": "最小允许总时间为 60 秒", + "total-allowed-time-for-verification-required": "允许的总时间为必填项。", + "use-system-two-factor-auth-settings": "使用系统双因素认证设置", + "verification-code-check-rate-limit": "验证码检查频率限制", + "verification-code-lifetime": "验证码有效期", + "verification-code-lifetime-pattern": "验证码有效期必须为正整数。", + "verification-code-lifetime-required": "验证码有效期为必填项。", + "verification-message-template": "验证消息模板", + "verification-limitations": "验证限制", + "verification-message-template-pattern": "验证消息需要包含模式:${code}", + "verification-message-template-required": "验证消息模板为必填项。", + "within-time": "时间范围", + "within-time-pattern": "时间必须为正整数。", + "within-time-required": "时间为必填项。", + "force-2fa": "强制双因素认证", + "enforce-for": "强制对象" + }, + "jwt": { + "security-settings": "JWT 安全设置", + "issuer-name": "签发者名称", + "issuer-name-required": "签发者名称为必填项。", + "signings-key": "签名密钥", + "signings-key-hint": "Base64 编码的字符串,至少表示 512 位数据。", + "signings-key-required": "签名密钥为必填项。", + "signings-key-min-length": "签名密钥必须至少为 512 位数据。", + "signings-key-base64": "签名密钥必须为 base64 格式。", + "expiration-time": "Token 过期时间(秒)", + "expiration-time-required": "Token 过期时间为必填项。", + "expiration-time-max": "最大允许时间为 2147483647 秒(68 年)。", + "expiration-time-min": "最小时间为 60 秒(1 分钟)。", + "refresh-expiration-time": "刷新 Token 过期时间(秒)", + "refresh-expiration-time-required": "刷新 Token 过期时间为必填项。", + "refresh-expiration-time-max": "最大允许时间为 2147483647 秒(68 年)。", + "refresh-expiration-time-min": "最小时间为 900 秒(15 分钟)。", + "refresh-expiration-time-less-token": "刷新 Token 时间必须大于 Token 时间。", + "generate-key": "生成密钥", + "info-header": "所有用户将需要重新登录", + "info-message": "更改 JWT 签名密钥将导致所有已签发的 Token 失效。所有用户都需要重新登录。这也将影响使用 Rest API/Websockets 的脚本。" + }, + "resources": "资源", + "notifications": "通知", + "notifications-settings": "通知设置", + "slack-api-token": "Slack API Token", + "slack": "Slack", + "slack-settings": "Slack 设置", + "mobile-settings": "移动端设置", + "firebase-service-account-file": "Firebase 服务账户凭证 JSON 文件", + "select-firebase-service-account-file": "拖放您的 Firebase 服务账户凭证文件或" + }, + "alarm": { + "alarm": "告警", + "alarm-list": "告警列表", + "alarms": "告警", + "all-alarms": "所有告警", + "select-alarm": "选择告警", + "no-alarms-matching": "未找到匹配“{{entity}}”的告警。", + "alarm-required": "告警为必填项", + "alarm-filter": "告警过滤器", + "filter": "过滤器", + "alarm-status": "告警状态", + "alarm-status-list": "告警状态列表", + "any-status": "任意状态", + "search-status": { + "ANY": "任意", + "ACTIVE": "活动", + "CLEARED": "已清除", + "ACK": "已确认", + "UNACK": "未确认" + }, + "display-status": { + "ACTIVE_UNACK": "活动未确认", + "ACTIVE_ACK": "活动已确认", + "CLEARED_UNACK": "已清除未确认", + "CLEARED_ACK": "已清除已确认" + }, + "no-alarms-prompt": "未找到告警", + "created-time": "创建时间", + "type": "类型", + "severity": "严重程度", + "originator": "发起者", + "originator-type": "发起者类型", + "details": "详情", + "originator-label": "发起者标签", + "assign": "分配", + "assignments": "分配记录", + "assignee": "受理人", + "assignee-id": "受理人 ID", + "assignee-first-name": "受理人名字", + "assignee-last-name": "受理人姓氏", + "assignee-email": "受理人 email", + "unassigned": "未分配", + "user-deleted": "用户已删除", + "assignee-not-set": "全部", + "status": "状态", + "alarm-details": "告警详情", + "start-time": "开始时间", + "assign-time": "分配时间", + "end-time": "结束时间", + "ack-time": "确认时间", + "clear-time": "清除时间", + "duration": "持续时间", + "alarm-severity": "告警严重程度", + "alarm-severity-list": "告警严重程度列表", + "any-severity": "任意严重程度", + "severity-critical": "严重", + "severity-major": "重要", + "severity-minor": "次要", + "severity-warning": "警告", + "severity-indeterminate": "不确定", + "acknowledge": "确认", + "clear": "清除", + "delete": "删除", + "search": "搜索告警", + "selected-alarms": "{ count, plural, =1 {1 个告警} other {# 个告警} }已选择", + "no-data": "无数据可显示", + "polling-interval": "告警轮询间隔(秒)", + "polling-interval-required": "告警轮询间隔为必填项。", + "min-polling-interval-message": "允许的最小轮询间隔为 1 秒。", + "aknowledge-alarms-title": "确认 { count, plural, =1 {1 个告警} other {# 个告警} }", + "aknowledge-alarms-text": "确定要确认 { count, plural, =1 {1 个告警} other {# 个告警} }吗?", + "aknowledge-alarm-title": "确认告警", + "aknowledge-alarm-text": "确定要确认告警吗?", + "selected-alarms-are-acknowledged": "所选告警已被确认", + "clear-alarms-title": "清除 { count, plural, =1 {1 个告警} other {# 个告警} }", + "clear-alarms-text": "确定要清除 { count, plural, =1 {1 个告警} other {# 个告警} }吗?", + "clear-alarm-title": "清除告警", + "clear-alarm-text": "确定要清除告警吗?", + "delete-alarms-title": "删除 { count, plural, =1 {1 个告警} other {# 个告警} }", + "delete-alarms-text": "确定要删除 { count, plural, =1 {1 个告警} other {# 个告警} }吗?", + "selected-alarms-are-cleared": "所选告警已被清除", + "alarm-status-filter": "告警状态过滤器", + "alarm-filter-title": "告警过滤器", + "assigned": "已分配", + "filter-title": "过滤器", + "max-count-load": "最大加载告警数量(0 表示无限制)", + "max-count-load-required": "最大加载告警数量为必填项。", + "max-count-load-error-min": "最小值为 0。", + "fetch-size": "获取数量", + "fetch-size-required": "获取数量为必填项。", + "fetch-size-error-min": "最小值为 10。", + "alarm-types": "告警类型", + "alarm-type-list": "告警类型列表", + "any-type": "任意类型", + "assigned-to-current-user": "已分配给当前用户", + "assigned-to-me": "分配给我", + "search-propagated-alarms": "搜索传播的告警", + "comments": "告警评论", + "show-more": "显示更多", + "additional-info": "附加信息", + "alarm-type": "告警类型", + "enter-alarm-type": "输入告警类型", + "no-alarm-types-matching": "未找到匹配“{{entitySubtype}}”的告警类型。", + "alarm-type-list-empty": "未选择告警类型。", + "system-comments": { + "acked-by-user": "告警已由用户 {{userName}} 确认", + "cleared-by-user": "告警已由用户 {{userName}} 清除", + "assigned-to-user": "告警已由用户 {{userName}} 分配给用户 {{assigneeName}}", + "unassigned-to-user": "告警已由用户 {{userName}} 取消分配", + "unassigned-from-deleted-user": "告警已取消分配,因为用户 {{userName}} 已被删除", + "comment-deleted": "用户 {{userName}} 删除了评论", + "severity-changed": "告警严重程度已从 {{oldSeverity}} 更新为 {{newSeverity}}" + } + }, + "alarm-activity": { + "add": "添加评论...", + "alarm-comment": "告警评论", + "comments": "评论", + "delete-alarm-comment": "确定要删除此评论吗?", + "refresh": "刷新", + "oldest-first": "最早优先", + "newest-first": "最新优先", + "activity": "活动", + "export": "导出为 CSV", + "author": "作者", + "created-date": "创建日期", + "edited-date": "编辑日期", + "text": "文本", + "system": "系统" + }, + "alias": { + "add": "添加别名", + "edit": "编辑别名", + "name": "别名名称", + "name-required": "别名名称为必填项", + "duplicate-alias": "同名别名已存在。", + "filter-type-single-entity": "单个实体", + "filter-type-entity-list": "实体列表", + "filter-type-entity-name": "实体名称", + "filter-type-entity-type": "实体类型", + "filter-type-state-entity": "来自仪表板状态的实体", + "filter-type-state-entity-description": "从仪表板状态参数获取的实体", + "filter-type-asset-type": "资产类型", + "filter-type-asset-type-description": "类型为“{{assetTypes}}”的资产", + "filter-type-asset-type-and-name-description": "类型为“{{assetTypes}}”且名称以“{{prefix}}”开头的资产", + "filter-type-device-type": "设备类型", + "filter-type-device-type-description": "类型为“{{deviceTypes}}”的设备", + "filter-type-device-type-and-name-description": "类型为“{{deviceTypes}}”且名称以“{{prefix}}”开头的设备", + "filter-type-entity-view-type": "实体视图类型", + "filter-type-entity-view-type-description": "类型为“{{entityViewTypes}}”的实体视图", + "filter-type-entity-view-type-and-name-description": "类型为“{{entityViewTypes}}”且名称以“{{prefix}}”开头的实体视图", + "filter-type-edge-type": "Edge 类型", + "filter-type-edge-type-description": "类型为“{{edgeTypes}}”的 Edge", + "filter-type-edge-type-and-name-description": "类型为“{{edgeTypes}}”且名称以“{{prefix}}”开头的 Edge", + "filter-type-relations-query": "关联查询", + "filter-type-relations-query-description": "与 {{rootEntity}} 具有 {{relationType}} 关联(方向:{{direction}})的 {{entities}}", + "filter-type-edge-search-query": "Edge 搜索查询", + "filter-type-edge-search-query-description": "类型为 {{edgeTypes}} 且与 {{rootEntity}} 具有 {{relationType}} 关联(方向:{{direction}})的 Edge", + "filter-type-asset-search-query": "资产搜索查询", + "filter-type-asset-search-query-description": "类型为 {{assetTypes}} 且与 {{rootEntity}} 具有 {{relationType}} 关联(方向:{{direction}})的资产", + "filter-type-device-search-query": "设备搜索查询", + "filter-type-device-search-query-description": "类型为 {{deviceTypes}} 且与 {{rootEntity}} 具有 {{relationType}} 关联(方向:{{direction}})的设备", + "filter-type-entity-view-search-query": "实体视图搜索查询", + "filter-type-entity-view-search-query-description": "类型为 {{entityViewTypes}} 且与 {{rootEntity}} 具有 {{relationType}} 关联(方向:{{direction}})的实体视图", + "filter-type-apiUsageState": "API 使用状态", + "entity-filter": "实体过滤器", + "resolve-multiple": "解析为多个实体", + "resolve-multiple-hint": "启用后可同时显示所有过滤实体的数据。\n禁用后,部件仅显示所选实体的数据。", + "filter-type": "过滤器类型", + "filter-type-required": "过滤器类型为必填项。", + "entity-filter-no-entity-matched": "未找到匹配指定过滤器的实体。", + "no-entity-filter-specified": "未指定实体过滤器", + "root-state-entity": "使用仪表板状态实体作为根", + "last-level-relation": "仅获取最后一级关联", + "root-entity": "根实体", + "state-entity-parameter-name": "状态实体参数名称", + "default-state-entity": "默认状态实体", + "default-entity-parameter-name": "默认", + "query-options": "查询选项", + "max-relation-level": "最大关联层级", + "unlimited-level": "无限层级", + "state-entity": "仪表板状态实体", + "all-entities": "所有实体", + "any-relation": "任意" + }, + "asset": { + "asset": "资产", + "assets": "资产", + "management": "资产管理", + "view-assets": "查看资产", + "add": "添加资产", + "asset-type-max-length": "资产类型应少于 256 个字符", + "assign-to-customer": "分配给客户", + "assign-asset-to-customer": "将资产分配给客户", + "assign-asset-to-customer-text": "请选择要分配给客户的资产", + "no-assets-text": "未找到资产", + "assign-to-customer-text": "请选择要分配资产的客户", + "public": "公开", + "assignedToCustomer": "已分配给客户", + "make-public": "将资产设为公开", + "make-private": "将资产设为私有", + "unassign-from-customer": "从客户取消分配", + "delete": "删除资产", + "asset-public": "资产为公开状态", + "asset-type": "资产类型", + "asset-type-required": "资产类型为必填项。", + "select-asset-type": "选择资产类型", + "enter-asset-type": "输入资产配置", + "any-asset": "任意资产", + "no-asset-types-matching": "未找到匹配“{{entitySubtype}}”的资产类型。", + "asset-type-list-empty": "未选择资产类型。", + "asset-types": "资产类型", + "name": "名称", + "name-required": "名称为必填项。", + "name-max-length": "名称应少于 256 个字符", + "label-max-length": "标签应少于 256 个字符", + "description": "描述", + "description-required": "描述为必填项。", + "type": "类型", + "type-required": "类型为必填项。", + "details": "详情", + "events": "事件", + "add-asset-text": "添加新资产", + "asset-details": "资产详情", + "assign-assets": "分配资产", + "assign-assets-text": "将 { count, plural, =1 {1 个资产} other {# 个资产} }分配给客户", + "assign-asset-to-edge-title": "将资产分配给 Edge", + "assign-asset-to-edge-text": "请选择要分配给 Edge 的资产", + "delete-assets": "删除资产", + "unassign-assets": "取消分配资产", + "unassign-assets-action-title": "从客户取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }", + "assign-new-asset": "分配新资产", + "delete-asset-title": "确定要删除资产“{{assetName}}”吗?", + "delete-asset-text": "请注意,确认后该资产及所有相关数据将无法恢复。", + "delete-assets-title": "确定要删除 { count, plural, =1 {1 个资产} other {# 个资产} }吗?", + "delete-assets-action-title": "删除 { count, plural, =1 {1 个资产} other {# 个资产} }", + "delete-assets-text": "请注意,确认后所有选中的资产将被移除,所有相关数据将无法恢复。", + "make-public-asset-title": "确定要将资产“{{assetName}}”设为公开吗?", + "make-public-asset-text": "确认后,该资产及其所有数据将被设为公开,可被其他人访问。", + "make-private-asset-title": "确定要将资产“{{assetName}}”设为私有吗?", + "make-private-asset-text": "确认后,该资产及其所有数据将被设为私有,其他人将无法访问。", + "unassign-asset-title": "确定要取消分配资产“{{assetName}}”吗?", + "unassign-asset-text": "确认后,该资产将被取消分配,客户将无法访问。", + "unassign-asset": "取消分配资产", + "unassign-assets-title": "确定要取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }吗?", + "unassign-assets-text": "确认后,所有选中的资产将被取消分配,客户将无法访问。", + "copyId": "复制资产 ID", + "idCopiedMessage": "资产 ID 已复制到剪贴板", + "select-asset": "选择资产", + "no-assets-matching": "未找到匹配“{{entity}}”的资产。", + "asset-required": "资产为必填项。", + "name-starts-with": "资产名称表达式", + "help-text": "根据需要使用“%”:“%asset_name_contains%”、“%asset_name_ends”、“asset_starts_with%”。", + "search": "搜索资产", + "import": "导入资产", + "asset-file": "资产文件", + "label": "标签", + "assign-asset-to-edge": "将资产分配给 Edge", + "unassign-asset-from-edge": "取消分配资产", + "unassign-asset-from-edge-title": "确定要取消分配资产“{{assetName}}”吗?", + "unassign-asset-from-edge-text": "确认后,该资产将被取消分配,Edge 将无法访问。", + "unassign-assets-from-edge-title": "确定要取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }吗?", + "unassign-assets-from-edge-text": "确认后,所有选中的资产将被取消分配,Edge 将无法访问。", + "selected-assets": "{ count, plural, =1 {1 个资产} other {# 个资产} }已选择" + }, + "attribute": { + "attributes": "属性", + "latest-telemetry": "最新遥测", + "no-latest-telemetry": "无最新遥测", + "attributes-scope": "实体属性范围", + "scope-telemetry": "遥测", + "scope-latest-telemetry": "最新遥测", + "scope-client": "客户端属性", + "scope-server": "服务端属性", + "scope-shared": "共享属性", + "scope-client-short": "客户端", + "scope-server-short": "服务端", + "scope-shared-short": "共享", + "scope-latest-short": "最新", + "scope-any": "任意", + "add": "添加属性", + "key": "键", + "key-max-length": "键应少于 256 个字符", + "last-update-time": "最后更新时间", + "key-required": "属性键为必填项。", + "value": "值", + "value-required": "属性值为必填项。", + "telemetry-key-required": "遥测键为必填项", + "telemetry-value-required": "遥测值为必填项", + "delete-attributes-title": "确定要删除 { count, plural, =1 {1 个属性} other {# 个属性} }吗?", + "delete-attributes-text": "请注意,确认后所有选中的属性将被移除。", + "delete-attributes": "删除属性", + "enter-attribute-value": "输入属性值", + "show-on-widget": "在部件中显示", + "widget-mode": "部件模式", + "next-widget": "下一个部件", + "prev-widget": "上一个部件", + "add-to-dashboard": "添加到仪表板", + "add-widget-to-dashboard": "将部件添加到仪表板", + "selected-attributes": "{ count, plural, =1 {1 个属性} other {# 个属性} }已选择", + "selected-telemetry": "{ count, plural, =1 {1 个遥测单元} other {# 个遥测单元} }已选择", + "no-attributes-text": "未找到属性", + "no-telemetry-text": "未找到遥测", + "copy-key": "复制键", + "add-telemetry": "添加遥测", + "copy-value": "复制值", + "delete-timeseries": { + "start-time": "开始时间", + "ends-on": "结束于", + "strategy": "策略", + "delete-strategy": "删除策略", + "all-data": "删除所有数据", + "all-data-except-latest-value": "删除除最新值外的所有数据", + "latest-value": "删除最新值", + "all-data-for-time-period": "删除指定时间段的所有数据", + "rewrite-latest-value": "重写最新值" + } + }, + "api-usage": { + "api-features": "API 功能", + "api-usage": "API 使用量", + "alarm": "告警", + "alarms-created": "已创建的告警", + "queue-stats": "队列统计", + "processing-failures-and-timeouts": "处理失败和超时", + "exceptions": "异常", + "alarms-created-daily-activity": "已创建告警每日活动", + "alarms-created-hourly-activity": "已创建告警每小时活动", + "alarms-created-monthly-activity": "已创建告警每月活动", + "data-points": "数据点", + "data-points-storage-days": "数据点存储天数", + "data-points-storage-days-hourly-activity": "数据点存储天数每小时活动", + "data-points-storage-days-daily-activity": "数据点存储天数每日活动", + "data-points-storage-days-monthly-activity": "数据点存储天数每月活动", + "device-api": "设备 API", + "email": "Email", + "email-messages": "Email 消息", + "email-messages-daily-activity": "Email 消息每日活动", + "email-messages-monthly-activity": "Email 消息每月活动", + "executions": "执行次数", + "scripts": "脚本", + "scripts-hourly-activity": "脚本每小时活动", + "scripts-daily-activity": "脚本每日活动", + "scripts-monthly-activity": "脚本每月活动", + "javascript": "JavaScript", + "javascript-executions": "JavaScript 执行次数", + "tbel": "TBEL", + "tbel-executions": "TBEL 执行次数", + "latest-error": "最新错误", + "messages": "消息", + "notifications": "通知", + "notifications-email-sms": "通知(Email/SMS)", + "notifications-hourly-activity": "通知每小时活动", + "permanent-failures": "${entityName} 永久失败", + "permanent-timeouts": "${entityName} 永久超时", + "processing-failures": "${entityName} 处理失败", + "processing-timeouts": "${entityName} 处理超时", + "rule-chain": "规则链", + "rule-engine": "规则引擎", + "rule-engine-executions": "规则引擎执行次数", + "rule-engine-hourly-activity": "规则引擎每小时活动", + "rule-engine-daily-activity": "规则引擎每日活动", + "rule-engine-monthly-activity": "规则引擎每月活动", + "rule-engine-statistics": "规则引擎统计", + "rule-node": "规则节点", + "sms": "SMS", + "sms-messages": "SMS 消息", + "sms-messages-hourly-activity": "SMS 消息每小时活动", + "sms-messages-daily-activity": "SMS 消息每日活动", + "sms-messages-monthly-activity": "SMS 消息每月活动", + "successful": "${entityName} 成功", + "telemetry": "遥测", + "telemetry-persistence": "遥测持久化", + "telemetry-persistence-daily-activity": "遥测持久化每日活动", + "telemetry-persistence-hourly-activity": "遥测持久化每小时活动", + "telemetry-persistence-monthly-activity": "遥测持久化每月活动", + "transport": "传输", + "transport-msg-hourly-activity": "传输消息每小时活动", + "transport-msg-daily-activity": "传输消息每日活动", + "transport-msg-monthly-activity": "传输消息每月活动", + "transport-daily-activity": "传输每日活动", + "transport-data-points": "传输数据点", + "transport-data-points-hourly-activity": "传输数据点每小时活动", + "transport-data-points-daily-activity": "传输数据点每日活动", + "transport-data-points-monthly-activity": "传输数据点每月活动", + "view-details": "查看详情", + "view-statistics": "查看统计", + "transport-messages": "传输消息", + "transport-messages-hourly-activity": "传输消息每小时活动", + "transport-data-point-hourly-activity": "传输数据点每小时活动", + "javascript-function-executions": "JavaScript 函数执行次数", + "javascript-function-executions-hourly-activity": "JavaScript 函数执行每小时活动", + "javascript-function-executions-daily-activity": "JavaScript 函数执行每日活动", + "javascript-function-executions-monthly-activity": "JavaScript 函数执行每月活动", + "tbel-function-executions": "TBEL 函数执行次数", + "tbel-function-executions-hourly-activity": "TBEL 函数执行每小时活动", + "tbel-function-executions-daily-activity": "TBEL 函数执行每日活动", + "tbel-function-executions-monthly-activity": "TBEL 函数执行每月活动", + "created-reports": "已创建的报表", + "created-reports-hourly-activity": "已创建报表每小时活动", + "created-reports-daily-activity": "已创建报表每日活动", + "created-reports-monthly-activity": "已创建报表每月活动", + "emails": "Emails", + "emails-hourly-activity": "Emails 每小时活动", + "emails-daily-activity": "Emails 每日活动", + "emails-monthly-activity": "Emails 每月活动", + "status": { + "enabled": "已启用", + "disabled": "已禁用", + "warning": "警告" + } + }, + "api-limit": { + "cassandra-write-queries-core": "Rest API Cassandra 写入查询", + "cassandra-read-queries-core": "Rest API 和 WS 遥测 Cassandra 读取查询", + "cassandra-write-queries-rule-engine": "规则引擎遥测 Cassandra 写入查询", + "cassandra-read-queries-rule-engine": "规则引擎遥测 Cassandra 读取查询", + "cassandra-write-queries-monolith": "单体遥测 Cassandra 写入查询", + "cassandra-read-queries-monolith": "单体遥测 Cassandra 读取查询", + "entity-version-creation": "实体版本创建", + "entity-version-load": "实体版本加载", + "notification-requests": "通知请求", + "notification-requests-per-rule": "每规则通知请求", + "rest-api-requests": "REST API 请求", + "rest-api-requests-per-customer": "每客户 REST API 请求", + "transport-messages": "传输消息", + "transport-messages-per-device": "每设备传输消息", + "transport-messages-per-gateway": "每 Gateway 传输消息", + "transport-messages-per-gateway-device": "每 Gateway 设备传输消息", + "ws-updates-per-session": "每会话 WS 更新", + "edge-events": "Edge 事件", + "edge-events-per-edge": "每 Edge 事件", + "edge-uplink-messages": "Edge 上行消息", + "edge-uplink-messages-per-edge": "每 Edge 上行消息" + }, + "api-key": { + "api-key": "API 密钥", + "api-keys": "API 密钥", + "delete-api-key-title": "确定要删除 API 密钥“{{name}}”吗?", + "delete-api-key-text": "请注意,确认后密钥将无法恢复。", + "delete-api-keys-title": "确定要删除 { count, plural, =1 {1 个 API 密钥} other {# 个 API 密钥} }吗?", + "delete-api-keys-text": "请注意,确认后所有选中的密钥将无法恢复。", + "expiration-date": "过期日期", + "date": "日期", + "description": "描述", + "disable": "禁用", + "edit-description": "编辑描述", + "enable": "启用 API 密钥 ", + "expiration-time": "过期时间", + "expiration-time-never": "永不", + "expiration-time-custom": "自定义", + "generate": "生成", + "generate-title": "生成 API 密钥", + "generate-text": "注意:API 密钥继承创建它的用户的权限。", + "generated-api-key-title": "API 密钥已生成。请检查连接!", + "generated-api-key-copy": "请确保立即复制并保存您的 API 密钥,因为之后将无法再次查看。", + "generated-api-key-command": "使用以下说明检查连接。结果应返回当前用户信息:", + "generated-api-key-insecure-url": "通过不安全的 HTTP 连接执行命令将以未加密的方式发送您的 API 密钥,使其容易被拦截。", + "list": "{ count, plural, =1 {一个 API 密钥} other {# 个 API 密钥列表} }", + "manage": "管理", + "manage-api-keys": "管理 API 密钥", + "no-found": "未找到 API 密钥", + "selected-api-keys": "{ count, plural, =1 {1 个 API 密钥} other {# 个 API 密钥} }已选择", + "search": "搜索 API 密钥", + "status": "状态", + "status-active": "活动", + "status-inactive": "未激活", + "status-expired": "已过期" + }, + "audit-log": { + "audit": "审计", + "audit-logs": "审计日志", + "timestamp": "时间戳", + "entity-type": "实体类型", + "entity-name": "实体名称", + "user": "用户", + "type": "类型", + "status": "状态", + "details": "详情", + "type-added": "已添加", + "type-deleted": "已删除", + "type-updated": "已更新", + "type-attributes-updated": "属性已更新", + "type-attributes-deleted": "属性已删除", + "type-rpc-call": "RPC 调用", + "type-credentials-updated": "凭证已更新", + "type-assigned-to-customer": "已分配给客户", + "type-unassigned-from-customer": "已从客户取消分配", + "type-assigned-to-edge": "已分配给 Edge", + "type-unassigned-from-edge": "已从 Edge 取消分配", + "type-activated": "已激活", + "type-suspended": "已停用", + "type-credentials-read": "凭证已读取", + "type-attributes-read": "属性已读取", + "type-relation-add-or-update": "关联已更新", + "type-relation-delete": "关联已删除", + "type-relations-delete": "所有关联已删除", + "type-alarm-ack": "告警已确认", + "type-alarm-clear": "告警已清除", + "type-alarm-delete": "告警已删除", + "type-alarm-assign": "告警已分配", + "type-alarm-unassign": "告警已取消分配", + "type-added-comment": "已添加评论", + "type-updated-comment": "已更新评论", + "type-deleted-comment": "已删除评论", + "type-login": "登录", + "type-logout": "登出", + "type-lockout": "锁定", + "status-success": "成功", + "status-failure": "失败", + "audit-log-details": "审计日志详情", + "no-audit-logs-prompt": "未找到日志", + "action-data": "操作数据", + "failure-details": "失败详情", + "search": "搜索审计日志", + "clear-search": "清除搜索", + "type-assigned-from-tenant": "已从租户分配", + "type-assigned-to-tenant": "已分配给租户", + "type-provision-success": "设备已配置", + "type-provision-failure": "设备配置失败", + "type-timeseries-updated": "遥测已更新", + "type-timeseries-deleted": "遥测已删除", + "type-sms-sent": "SMS 已发送", + "any-type": "任意类型", + "audit-log-filter-title": "审计日志过滤器", + "filter-title": "过滤器", + "filter-types": "审计日志类型" + }, + "debug-settings": { + "label": "调试配置", + "on-failure": "仅失败(24/7)", + "all-messages": "所有消息({{time}})", + "failures": "失败", + "entity": "实体", + "hint": { + "main-limited": "每 {{time}} 将记录不超过 {{msg}} 条{{entity}}调试消息。", + "on-failure": "仅记录错误消息。", + "all-messages": "记录所有调试消息。" + } + }, + "calculated-fields": { + "expression": "表达式", + "no-found": "未找到计算字段", + "list": "{ count, plural, =1 {一个计算字段} other {# 个计算字段列表} }", + "selected-fields": "{ count, plural, =1 {1 个计算字段} other {# 个计算字段} }已选择", + "type": { + "simple": "简单", + "simple-hint": "基于输入参数的简单算术计算。", + "script": "脚本", + "script-hint": "使用 TBEL 脚本对定义的参数进行计算。", + "geofencing": "地理围栏", + "geofencing-hint": "评估实体 GPS 位置以及与配置的地理围栏区域组的转换关系。", + "propagation": "传播", + "propagation-hint": "根据关联方向和类型将数据传播到父级或子级实体。", + "related-entities-aggregation": "关联实体聚合", + "related-entities-aggregation-hint": "聚合来自关联实体的最新数据。", + "time-series-data-aggregation": "时间序列数据聚合", + "time-series-data-aggregation-hint": "聚合来自当前实体的历史数据。" + }, + "preview": "预览", + "arguments": "参数", + "decimals-by-default": "默认小数位数", + "debugging": "计算字段调试", + "calculated-field-details": "计算字段详情", + "argument-name": "参数名称", + "name": "名称", + "datasource": "数据源", + "add-argument": "添加参数", + "test-script-function": "测试脚本函数", + "no-arguments": "至少需要一个参数。", + "argument-settings": "参数设置", + "argument-current": "当前实体", + "argument-current-tenant": "当前租户", + "argument-device": "设备", + "argument-asset": "资产", + "argument-customer": "客户", + "argument-tenant": "当前租户", + "argument-owner": "当前所有者", + "argument-relation-query": "关联实体", + "argument-type": "参数类型", + "attribute": "属性", + "copy-argument-name": "复制参数名称", + "timeseries-key": "时间序列键", + "device-name": "设备名称", + "latest-telemetry": "最新遥测", + "rolling": "时间序列滚动", + "attribute-scope": "属性范围", + "server-attributes": "服务端属性", + "client-attributes": "客户端属性", + "shared-attributes": "共享属性", + "attribute-key": "属性键", + "default-value": "默认值", + "default-value-required": "默认值为必填项。", + "limit": "最大值数量", + "time-window": "时间窗口", + "customer-name": "客户名称", + "asset-name": "资产名称", + "timeseries": "时间序列", + "output": "输出", + "output-hint": "定义输出的处理方式。", + "create": "创建新的计算字段", + "file": "计算字段文件", + "invalid-file-error": "文件格式无效。请确保文件为有效的 JSON 文件。", + "import": "导入计算字段", + "export": "导出计算字段", + "export-failed-error": "无法导出计算字段:{{error}}", + "output-type": "输出类型", + "delete-title": "确定要删除计算字段“{{title}}”吗?", + "delete-text": "请注意,确认后该计算字段及所有相关数据将无法恢复。", + "delete-multiple-title": "确定要删除 { count, plural, =1 {1 个计算字段} other {# 个计算字段} }吗?", + "delete-multiple-text": "请注意,确认后所有选中的计算字段将被移除,所有相关数据将无法恢复。", + "test-with-this-message": "使用此消息测试", + "use-latest-timestamp": "使用最新时间戳", + "entity-coordinates": "实体坐标", + "latitude-time-series-key": "纬度时间序列键", + "latitude-time-series-key-required": "纬度时间序列键为必填项。", + "longitude-time-series-key": "经度时间序列键", + "longitude-time-series-key-required": "经度时间序列键为必填项。", + "geofencing-zone-groups": "地理围栏区域组", + "geofencing-zone-groups-settings": "地理围栏区域组设置", + "target-zone": "目标区域", + "perimeter-key": "周界键", + "report-strategy": "报告策略", + "no-zone-configured": "至少需要一个区域。", + "no-zone-configured-required": "至少需要配置一个区域组。", + "add-zone-group": "添加区域组", + "report-transition-event-only": "仅转换事件", + "report-presence-status-only": "仅存在状态", + "report-transition-event-and-presence": "存在状态和转换事件", + "perimeter-attribute-key": "周界属性键", + "perimeter-attribute-key-required": "周界属性键为必填项。", + "perimeter-attribute-key-pattern": "周界属性键无效。", + "entity-zone-relationship": "从实体到区域的路径", + "direction": "关联方向", + "direction-from": "从实体到区域", + "direction-to": "从区域到实体", + "relation-type": "关联类型", + "create-relation-with-matched-zones": "为源实体与匹配的区域创建关联", + "relation-level": "关联层级", + "fetch-last-available-level": "仅获取最后可用层级", + "zone-group-refresh-interval": "区域组刷新间隔", + "copy-zone-group-name": "复制区域组名称", + "open-details-page": "打开实体详情页", + "level": "层级", + "direction-level": "方向", + "direction-up": "向上", + "direction-up-parent": "向上到父级", + "direction-down": "向下", + "direction-down-child": "向下到子级", + "add-level": "添加层级", + "delete-level": "删除层级", + "no-level": "未配置层级", + "levels-required": "至少需要配置一个层级。", + "max-allowed-levels-error": "关联层级超过允许的最大值。", + "propagation-path-related-entities": "到关联实体的传播路径", + "propagate-type": { + "arguments-only": "仅参数", + "expression-result": "计算结果" + }, + "script": "脚本", + "data-propagate": "要传播的数据", + "output-key": "输出键", + "copy-output-key": "复制输出键", + "aggregation-path-related-entities": "到关联实体的聚合路径", + "deduplication-interval": "去重间隔", + "deduplication-interval-min": "去重间隔至少应为 {{ sec }} 秒。", + "deduplication-interval-hint": "遥测聚合之间的最小时间。", + "deduplication-interval-required": "去重间隔为必填项。", + "calculated-field-filter-title": "计算字段过滤器", + "filter-title": "过滤器", + "calculated-field-types": "计算字段类型", + "events": "事件", + "any-type": "任意类型", + "metrics": { + "metrics": "指标", + "metrics-empty": "至少需要配置一个指标。", + "metric-name": "指标名称", + "metric-name-required": "指标名称为必填项。", + "metric-name-pattern": "指标名称无效。", + "metric-name-duplicate": "同名指标已存在。", + "metric-name-max-length": "指标名称应少于 256 个字符。", + "metric-name-forbidden": "指标名称为保留名称,无法使用。", + "copy-metric-name": "复制指标名称", + "argument-name": "参数名称", + "aggregation": "聚合", + "aggregation-type": { + "avg": "平均值", "min": "最小值", "max": "最大值", - "avg": "平均值", - "sum": "求和", + "sum": "总和", "count": "计数", - "none": "无" - }, - "admin": { - "settings": "设置", - "general": "基本设置", - "general-settings": "基本设置", - "home-settings": "首页设置", - "home": "首页", - "outgoing-mail": "发送邮件", - "outgoing-mail-settings": "发送邮件设置", - "system-settings": "系统设置", - "test-mail-sent": "测试邮件发送成功!", - "base-url": "基本URL", - "base-url-required": "基本URL必填。", - "prohibit-different-url": "禁止从客户端请求头中使用主机名", - "prohibit-different-url-hint": "应为生产环境启用此设置。禁用时可能会导致安全问题", - "device-connectivity": { - "device-connectivity": "设备连接", - "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": "如果主机或端口字段为空,将使用默认的协议值。", - "host": "主机", - "port": "端口", - "port-pattern": "端口必须是正整数。", - "port-range": "端口应在1到65535的范围内。" - }, - "mail-from": "邮件来自", - "mail-from-required": "邮件发件人必填。", - "smtp-protocol": "SMTP协议", - "smtp-host": "SMTP主机", - "smtp-host-required": "SMTP主机必填。", - "smtp-port": "SMTP端口", - "smtp-port-required": "您必须提供一个smtp端口。", - "smtp-port-invalid": "这看起来不是有效的smtp端口。", - "timeout-msec": "超时时间(毫秒)", - "timeout-required": "超时必填。", - "timeout-invalid": "这看起来不像有效的超时值。", - "enable-tls": "启用TLS", - "tls-version": "TLS版本", - "enable-proxy": "启用代理", - "proxy-host": "代理主机", - "proxy-host-required": "代理主机必填。", - "proxy-port": "代理端口", - "proxy-port-required": "代理端口必填。", - "proxy-port-range": "代理端口应在1到65535之间。", - "proxy-user": "代理用户", - "proxy-password": "代理密码", - "change-password": "修改密码", - "send-test-mail": "发送测试邮件", - "sms-provider": "SMS 服务商", - "sms-provider-settings": "SMS 服务商设置", - "sms-provider-type": "SMS 服务商类型", - "sms-provider-type-required": "SMS 服务商类型必填。", - "sms-provider-type-aws-sns": "亚马逊社交网站", - "sms-provider-type-twilio": "Twilio", - "sms-provider-type-smpp": "SMPP", - "aws-access-key-id": "AWS访问密钥ID", - "aws-access-key-id-required": "需要访问AWS密钥ID", - "aws-secret-access-key": "AWS秘密访问密钥", - "aws-secret-access-key-required": "AWS 访问密钥必填", - "aws-region": "AWS地区", - "aws-region-required": "AWS 区域必填", - "number-from": "发送方电话号码", - "number-from-required": "发送方电话号码必填。", - "number-to": "电话号码至", - "number-to-required": "电话号码必填。", - "phone-number-hint": "E.164格式的手机号码,例如 +19995550123", - "phone-number-hint-twilio": "E.164格式电话号码/电话号码的SID/消息服务的SID,例如 +19995550123/PNXXX/MGXXX", - "phone-number-pattern": "手机号码无效。应为E.164格式,例如 +19995550123。", - "phone-number-pattern-twilio": "无效的电话号码,应该使用E.164格式电话号码/电话号码的SID/消息服务的SID,例如+19995550123/PNXXX/MGXXX。", - "sms-message": "短信", - "sms-message-required": "短消息内容必填。", - "sms-message-max-length": "短信长度不能超过1600个字符", - "twilio-account-sid": "Twilio帐户SID", - "twilio-account-sid-required": "Twilio 帐户的 SID 必填", - "twilio-account-token": "Twilio帐户令牌", - "twilio-account-token-required": "Twilio 帐户令牌必填", - "send-test-sms": "发送测试短信", - "test-sms-sent": "测试短信发送成功!", - "security-settings": "安全设置", - "password-policy": "密码策略", - "minimum-password-length": "最小密码长度", - "minimum-password-length-required": "最小密码长度必填", - "minimum-password-length-range": "最小密码长度应在5到50之间", - "maximum-password-length": "密码最大长度", - "maximum-password-length-min": "密码最大长度应至少为6个字符", - "maximum-password-length-less-min": "密码最大长度应大于最小长度", - "minimum-uppercase-letters": "最少大写字母位数", - "minimum-uppercase-letters-range": "最少大写字母位数不能为负数", - "minimum-lowercase-letters": "最少小写字母位数", - "minimum-lowercase-letters-range": "最少小写字母位数不能为负数", - "minimum-digits": "最少数字位数", - "minimum-digits-range": "最少数字位数不能为负数", - "minimum-special-characters": "最少特殊字符位数", - "minimum-special-characters-range": "最少特殊字符位数不能为负数", - "password-expiration-period-days": "密码有效期(天)", - "password-expiration-period-days-range": "密码过期期限(天)不能为负", - "password-reuse-frequency-days": "密码重用频率(天)", - "password-reuse-frequency-days-range": "天内密码重用频率不能为负", - "allow-whitespace": "允许空格", - "force-reset-password-if-no-valid": "如果密码不可用则强制重置密码", - "force-reset-password-if-no-valid-hint": "启用此功能时请小心:它会要求使用不可用密码的用户通过电子邮件重置其密码。", - "general-policy": "基本策略", - "max-failed-login-attempts": "登录失败之前的最大登录尝试次数", - "minimum-max-failed-login-attempts-range": "登录失败次数不能为负数", - "user-lockout-notification-email": "如果用户帐户锁定,请发送通知到电子邮件", - "user-activation-token-ttl": "用户激活链接在1小时内", - "user-activation-token-ttl-range": "用户激活链接必须在1到24小时范围内", - "password-reset-token-ttl": "密码重置链接1小时内", - "password-reset-token-ttl-range": "密码重置链接必须在1到24小时内", - "mobile-secret-key-length": "移动端密钥长度", - "mobile-secret-key-length-range": "移动端密钥长度范围", - "domain-name": "域名", - "domain-name-unique": "域名和协议必须是唯一的。", - "domain-name-max-length": "域名应该小于256个字符。", - "error-verification-url": "域名不应包含符号 “/” 和 “:”。例:thingsboard.io", - "connection-settings": "连接设置", - "oauth2": { - "access-token-uri": "访问令牌URI", - "access-token-uri-required": "访问令牌URI必填。", - "activate-user": "激活用户", - "add-domain": "添加域", - "delete-domain": "删除域", - "add-provider": "添加Provider", - "delete-provider": "删除Provider", - "allow-user-creation": "允许用户创建", - "always-fullscreen": "始终全屏", - "authorization-uri": "授权URI", - "authorization-uri-required": "授权URI必填。", - "add-client": "添加OAuth2.0客户端", - "client-details": "OAuth2.0客户端详情", - "client": "OAuth2.0客户端", - "clients": "OAuth2.0客户端", - "no-oauth2-clients": "未找到OAuth2.0客户端", - "search-oauth2-clients": "搜索OAuth2.0客户端", - "delete-client-title": "您确定要删除OAuth2.0客户端'{{clientName}}'?", - "delete-client-text": "请注意,确认后客户端和所有相关数据将无法恢复。", - "delete-mobile-app-title": "您确定要删除移动应用程序'{{applicationName}}'?", - "delete-mobile-app-text": "请小心,确认后移动应用程序和所有相关数据将变得无法恢复。", - "title": "标题", - "client-title-required": "标题是必填项。", - "client-title-max-length": "标题长度应该小于100个字符。", - "advanced-settings": "高级设置", - "domain-details": "域名详情", - "no-domains": "未找到域名", - "search-domains": "搜索域名", - "mobile-app-details": "移动端详细信息", - "add-mobile-app": "添加应用程序", - "no-mobile-apps": "未配置应用程序", - "search-mobile-apps": "搜索移动端", - "send-token": "发送令牌", - "create-new": "创建", - "client-authentication-method": "客户端身份验证方法", - "client-id": "客户端ID", - "client-id-required": "客户端 ID 必填。", - "client-id-max-length": "客户端ID应该小于256个字符。", - "client-secret": "客户机密", - "client-secret-required": "需要客户端密码。", - "client-secret-max-length": "客户端密钥应该小于2049个字符。", - "custom-setting": "自定义设置", - "customer-name-pattern": "客户名称模式", - "customer-name-pattern-max-length": "客户名称模式应该小于256个字符。", - "default-dashboard-name": "默认仪表板名称", - "default-dashboard-name-max-length": "默认仪表板名称应该小于256个字符。", - "delete-domain-text": "请注意:确认后域名和所有提供商数据将不可恢复。", - "delete-domain-title": "确定要删除域'{{domainName}}'的设置吗?", - "delete-registration-text": "请注意:确认后提供商数据将不可恢复。", - "delete-registration-title": "确定要删除'{{name}}'提供商吗?", - "email-attribute-key": "电子邮件属性键", - "email-attribute-key-required": "电子邮件属性键必填。", - "email-attribute-key-max-length": "电子邮件属性键应该小于32个字符。", - "first-name-attribute-key": "First属性名称", - "first-name-attribute-key-max-length": "First属性名称应该小于32个字符。", - "general": "基本设置", - "jwk-set-uri": "JSON Web地址", - "last-name-attribute-key": "Last属性名称", - "last-name-attribute-key-max-length": "Last属性名称应该小于32个字符。", - "login-button-icon": "登录按钮图标", - "login-button-label": "标签", - "login-button-label-placeholder": "使用$(Provider label)登录", - "login-button-label-required": "标签必填。", - "login-provider": "登录提供商", - "mapper": "映射", - "new-domain": "新建", - "oauth2": "OAuth2.0", - "password-max-length": "密码应该小于256个字符。", - "redirect-uri-template": "重定向URI模板", - "copy-redirect-uri": "复制重定向URI", - "registration-id": "注册ID", - "registration-id-required": "注册ID必填。", - "registration-id-unique": "系统的注册ID必须是唯一的。", - "scope": "范围", - "scope-required": "范围必填。", - "tenant-name-pattern": "租户名称模式", - "tenant-name-pattern-required": "租户名称模式必填。", - "tenant-name-pattern-max-length": "租户名称模式应该小于256个字符。", - "tenant-name-strategy": "租户名称策略", - "type": "映射器类型", - "uri-pattern-error": "无效的URI格式。", - "url": "统一资源定位地址", - "url-pattern": "无效的URL格式。", - "url-required": "URL必填。", - "url-max-length": "URL应该小于256个字符。", - "user-info-uri": "用户信息URI", - "user-info-uri-required": "用户信息URI必填。", - "username-max-length": "用户名应该小于256个字符。", - "user-name-attribute-name": "用户名属性键", - "user-name-attribute-name-required": "用户名属性密钥必填", - "protocol": "协议", - "domain-schema-http": "HTTP", - "domain-schema-https": "HTTPS", - "domain-schema-mixed": "HTTP+HTTPS", - "enable": "启用OAuth2.0设置", - "disable": "禁用OAuth2.0设置", - "edge": "传播到Edge", - "edge-enable": "启用Edge", - "edge-disable": "禁用Edge", - "domains": "域名", - "mobile-apps": "移动端应用", - "mobile-package": "应用程序包", - "mobile-package-placeholder": "例如: my.example.app", - "mobile-package-hint": "Android:应用程序ID或iOS:产品标识符", - "mobile-package-unique": "应用程序包必须是唯一的。", - "mobile-package-required": "应用程序包必填。", - "mobile-package-max-length": "应用程序包应小于256。", - "mobile-package-spaces": "应用程序包不应包含空间。", - "mobile-app-secret": "应用程序密钥", - "mobile-app-secret-hint": "BASE64编码字符串不少于512位数据。", - "mobile-app-secret-required": "应用程序密钥必填。", - "mobile-app-secret-min-length": "应用程序密钥不少于512位数据。", - "mobile-app-secret-base64": "应用程序密钥必须为base64格式。", - "invalid-mobile-app-secret": "应用程序密钥必须只包含字母和数字字符,并且长度必须介于16到2048个字符之间。", - "copy-mobile-app-secret": "复制应用程序密钥", - "delete-mobile-app": "删除应用程序信息", - "providers": "供应商", - "platform-web": "Web", - "platform-android": "Android", - "platform-ios": "iOS", - "all-platforms": "所有平台", - "smtp-provider": "SMTP提供商", - "allowed-platforms": "允许的平台", - "authentication": "身份验证", - "basic": "基本", - "provider": "提供商", - "redirect-url": "重定向URL", - "domain-name": "域名", - "domain-name-required": "域名必填", - "redirect-url-template": "重定向URL模板", - "microsoft-tenant-id": "目录(租户)ID", - "microsoft-tenant-id-required": "需要目录(租户)ID", - "token-uri": "令牌URI", - "token-uri-required": "需要令牌URI", - "redirect-uri": "重定向URI", - "google-provider": "谷歌", - "microsoft-provider": "Office 365", - "sendgrid-provider": "Sendgrid", - "custom-provider": "自定义", - "generate-access-token": "生成访问令牌", - "update-access-token": "更新访问令牌", - "access-token-status": "访问令牌状态:", - "token-status-generated": "已生成", - "token-status-not-generated": "未生成" - }, - "smpp-provider": { - "smpp-version": "SMPP版本", - "smpp-host": "SMPP主机", - "smpp-host-required": "SMPP主机必填。", - "smpp-port": "SMPP端口", - "smpp-port-required": "SMPP端口必填。", - "system-id": "系统ID", - "system-id-required": "系统ID必填。", - "password": "密码", - "password-required": "密码必填。", - "type-settings": "类型设置", - "source-settings": "源设置", - "destination-settings": "目标设置", - "additional-settings": "其他设置", - "system-type": "系统类型", - "bind-type": "绑定类型", - "service-type": "服务类型", - "source-address": "源地址", - "source-ton": "源 TON (号码类型)", - "source-npi": "源 NPI (编号方案标识)", - "destination-ton": "目标 TON (号码类型)", - "destination-npi": "目标 NPI (编号方案标识)", - "address-range": "地址范围", - "coding-scheme": "编码方案", - "bind-type-tx": "发送端", - "bind-type-rx": "接收端", - "bind-type-trx": "发送/接收", - "ton-unknown": "未知", - "ton-international": "国际", - "ton-national": "国内", - "ton-network-specific": "网络特定", - "ton-subscriber-number": "用户号码", - "ton-alphanumeric": "字母数字", - "ton-abbreviated": "简写", - "npi-unknown": "0 - 未知", - "npi-isdn": "1 - ISDN/电话编号方案 (E163/E164)", - "npi-data-numbering-plan": "3 - 数据编号方案 (X.121)", - "npi-telex-numbering-plan": "4 - 电报编号方案 (F.69)", - "npi-land-mobile": "6 - 移动设备编号方案 (E.212)", - "npi-national-numbering-plan": "8 - 国家编号方案", - "npi-private-numbering-plan": "9 - 私有编号方案", - "npi-ermes-numbering-plan": "10 - ERMES 编号方案 (ETSI DE/PS 3 01-3)", - "npi-internet": "13 - 互联网 (IP)", - "npi-wap-client-id": "18 - WAP 客户端标识 (由 WAP 论坛定义)", - "scheme-smsc": "0 - SMSC 默认字母表 (ASCII 码用于短码和长码,GSM 编码用于免费电话)", - "scheme-ia5": "1 - IA5 码 (ASCII 码用于短码和长码,Latin 9 用于免费电话 (ISO-8859-9))", - "scheme-octet-unspecified-2": "2 - 八进制未指定 (8 位二进制)", - "scheme-latin-1": "3 - Latin 1 (ISO-8859-1)", - "scheme-octet-unspecified-4": "4 - 八进制未指定 (8 位二进制)", - "scheme-jis": "5 - JIS (X 0208-1990)", - "scheme-cyrillic": "6 - Cyrillic (ISO-8859-5)", - "scheme-latin-hebrew": "7 - Latin/Hebrew (ISO-8859-8)", - "scheme-ucs-utf": "8 - UCS2/UTF-16 (ISO/IEC-10646)", - "scheme-pictogram-encoding": "9 - 图标编码", - "scheme-music-codes": "10 - 音乐编码 (ISO-2022-JP)", - "scheme-extended-kanji-jis": "13 - 扩展汉字 JIS (X 0212-1990)", - "scheme-korean-graphic-character-set": "14 - 韩文图形字符集 (KS C 5601/KS X 1001)" - }, - "queue-select-name": "选择队列名称", - "queue-name": "名称", - "queue-name-required": "队列名称必填。", - "queues": "队列", - "queue-partitions": "分区", - "queue-submit-strategy": "提交策略", - "queue-processing-strategy": "处理策略", - "queue-configuration": "队列配置", - "repository-settings": "仓库设置", - "repository": "仓库", - "repository-url": "仓库 URL", - "repository-url-required": "仓库 URL 必填。", - "default-branch": "默认分支名称", - "repository-read-only": "只读", - "show-merge-commits": "显示合并提交", - "authentication-settings": "身份验证设置", - "auth-method": "身份验证方法", - "auth-method-username-password": "密码/访问令牌", - "auth-method-username-password-hint": "GitHub用户必须使用能够对仓库进行写入权限的访问令牌。", - "auth-method-private-key": "私钥", - "password-access-token": "密码/访问令牌", - "change-password-access-token": "更改密码/访问令牌", - "private-key": "私钥", - "drop-private-key-file-or": "拖放私钥文件或", - "passphrase": "口令", - "enter-passphrase": "输入口令", - "change-passphrase": "更改口令", - "check-access": "检查访问权限", - "check-repository-access-success": "已成功验证仓库访问!", - "delete-repository-settings-title": "确定要删除仓库设置吗?", - "delete-repository-settings-text": "请注意:确认后,仓库设置将被删除,版本控制功能将不可用。", - "auto-commit-settings": "自动提交设置", - "auto-commit": "自动提交", - "auto-commit-entities": "自动提交实体", - "no-auto-commit-entities-prompt": "没有设置自动提交的实体", - "delete-auto-commit-settings-title": "确定要删除自动提交设置吗?", - "delete-auto-commit-settings-text": "请注意:确认后,自动提交设置将被删除,所有实体的自动提交将被禁用。", - "mobile-app": { - "mobile-app": "移动应用", - "mobile-app-qr-code-widget-settings": "移动应用二维码部件设置", - "applications": "应用程序", - "default": "默认", - "custom": "自定义", - "android": "Android", - "ios": "iOS", - "appearance": "外观", - "appearance-on-home-page": "外观显示在首页", - "enabled": "启用", - "disabled": "禁用", - "badges": "徽章", - "label": "标签", - "label-required": "标签必填。", - "label-max-length": "标签应小于或等于50个字符", - "right": "右侧", - "left": "左侧", - "set": "设置", - "preview": "预览", - "connect-mobile-app": "连接移动端", - "use-system-settings": "使用系统设置" - }, - "2fa": { - "2fa": "双因素认证", - "available-providers": "可用选项", - "issuer-name": "发行者名称", - "issuer-name-required": "发行者名称必填。", - "max-verification-failures-before-user-lockout": "用户锁定前最大验证失败次数", - "max-verification-failures-before-user-lockout-pattern": "最大验证失败次数必须为正整数。", - "number-of-checking-attempts": "检查尝试次数", - "number-of-checking-attempts-pattern": "检查尝试次数必须为正整数。", - "number-of-checking-attempts-required": "检查尝试次数必填。", - "number-of-codes": "验证码数量", - "number-of-codes-pattern": "验证码数量必须为正整数。", - "number-of-codes-required": "验证码数量必填。", - "provider": "Provider", - "retry-verification-code-period": "重试验证码周期(秒)", - "retry-verification-code-period-pattern": "最短时间为5秒", - "retry-verification-code-period-required": "重试验证代码周期必填。", - "total-allowed-time-for-verification": "总允许验证时间(秒)", - "total-allowed-time-for-verification-pattern": "总允许验证最小时间为60秒", - "total-allowed-time-for-verification-required": "总允许验证时间必填。", - "use-system-two-factor-auth-settings": "使用系统双因素认证设置", - "verification-code-check-rate-limit": "验证码检查速率限制", - "verification-code-lifetime": "验证码生存期(秒)", - "verification-code-lifetime-pattern": "验证码生存期必须为正整数。", - "verification-code-lifetime-required": "验证码生存期必填。", - "verification-message-template": "验证消息模板", - "verification-limitations": "验证限制", - "verification-message-template-pattern": "验证消息需要包含模板:${code}", - "verification-message-template-required": "验证消息模板必填。", - "within-time": "在时间内 (秒)", - "within-time-pattern": "时间必须是正整数。", - "within-time-required": "时间必填。" - }, - "jwt": { - "security-settings": "JWT 安全设置", - "issuer-name": "发行者名称", - "issuer-name-required": "发行者名称必填。", - "signings-key": "签名密钥", - "signings-key-hint": "Base64编码的字符串至少512位数据。", - "signings-key-required": "签名密钥必填。", - "signings-key-min-length": "签名密钥必须至少为512位的数据。", - "signings-key-base64": "签名密钥必须是Base64格式。", - "expiration-time": "令牌过期时间(秒)", - "expiration-time-required": "令牌过期时间是必填。", - "expiration-time-max": "最大允许时间为2147483647秒(68年)。", - "expiration-time-min": "最小时间为60秒(1分钟)。", - "refresh-expiration-time": "刷新令牌过期时间(秒)", - "refresh-expiration-time-required": "刷新令牌过期时间必填。", - "refresh-expiration-time-max": "最大允许时间为2147483647秒(68年)。", - "refresh-expiration-time-min": "最小时间为900秒(15分钟)。", - "refresh-expiration-time-less-token": "刷新令牌时间必须大于令牌过期时间。", - "generate-key": "生成密钥", - "info-header": "所有用户将需要重新登录。", - "info-message": "更改JWT签名密钥将导致所有已发行的令牌无效,所有用户将需要重新登录,这也会影响使用Rest API/Websockets的脚本。" - }, - "resources": "资源", - "notifications": "通知", - "notifications-settings": "通知设置", - "slack-api-token": "Slack API令牌", - "slack": "Slack", - "slack-settings": "Slack设置", - "mobile-settings": "移动设置", - "firebase-service-account-file": "Firebase服务帐户JSON凭据文件", - "select-firebase-service-account-file": "拖放Firebase服务帐户凭据文件" - }, - "alarm": { - "alarm": "告警", - "alarms": "告警", - "all-alarms": "所有告警", - "select-alarm": "选择告警", - "no-alarms-matching": "未找到匹配'{{entity}}'的告警", - "alarm-required": "告警必填", - "alarm-filter": "告警筛选器", - "filter": "筛选器", - "alarm-status": "告警状态", - "alarm-status-list": "告警状态列表", - "any-status": "任何状态", - "search-status": { - "ANY": "所有", - "ACTIVE": "激活", - "CLEARED": "已清除", - "ACK": "已确认", - "UNACK": "未确认" - }, - "display-status": { - "ACTIVE_UNACK": "激活未确认", - "ACTIVE_ACK": "激活已确认", - "CLEARED_UNACK": "清除未确认", - "CLEARED_ACK": "清除已确认" - }, - "no-alarms-prompt": "未发现告警", - "created-time": "创建时间", - "type": "类型", - "severity": "严重程度", - "originator": "发起者", - "originator-type": "发起者类型", - "details": "详情", - "originator-label": "发起者标签", - "assign": "分配", - "assignments": "任务分配", - "assignee": "受托人", - "assignee-id": "受托人ID", - "assignee-first-name": "受托人姓氏", - "assignee-last-name": "受托人名字", - "assignee-email": "受托人邮箱", - "unassigned": "未分配", - "user-deleted": "用户已删除", - "assignee-not-set": "所有", - "status": "状态", - "alarm-details": "告警详细信息", - "start-time": "开始时间", - "assign-time": "分配时间", - "end-time": "结束时间", - "ack-time": "确认时间", - "clear-time": "清除时间", - "duration": "持续时间", - "alarm-severity": "警报严重程度", - "alarm-severity-list": "警报严重程度列表", - "any-severity": "任何严重程度", - "severity-critical": "危险", - "severity-major": "重要", - "severity-minor": "次要", - "severity-warning": "警告", - "severity-indeterminate": "不确定", - "acknowledge": "应答", - "clear": "清除", - "delete": "删除", - "search": "查找告警", - "selected-alarms": "已选择 { count, plural, =1 {1 个告警} other {# 个告警} }", - "no-data": "无数据显示", - "polling-interval": "告警轮询间隔(秒)", - "polling-interval-required": "告警轮询间隔必填。", - "min-polling-interval-message": "轮询间隔至少是1秒。", - "aknowledge-alarms-title": "确认 { count, plural, =1 {1 个告警} other {# 个告警} }", - "aknowledge-alarms-text": "确定要确认 { count, plural, =1 {1 个告警} other {# 个告警} }吗?", - "aknowledge-alarm-title": "确认告警", - "aknowledge-alarm-text": "确定要确认告警吗?", - "selected-alarms-are-acknowledged": "所选的告警已经被确认", - "clear-alarms-title": "清除 { count, plural, =1 {1 个告警} other {# 个告警} }", - "clear-alarms-text": "确定要清除 { count, plural, =1 {1 个告警} other {# 个告警} }?", - "clear-alarm-title": "清除告警", - "clear-alarm-text": "确定要清除告警吗?", - "delete-alarms-title": "删除 { count, plural, =1 {1 个告警} other {# 个告警} }", - "delete-alarms-text": "您确定要删除 { count, plural, =1 {1 个告警} other {# 个告警} } 吗?", - "selected-alarms-are-cleared": "所选的告警已清除", - "alarm-status-filter": "告警状态筛选器", - "alarm-filter-title": "告警筛选器", - "assigned": "已分配", - "filter-title": "筛选器", - "max-count-load": "要加载的最大告警数(0-无限制)", - "max-count-load-required": "加载的最大告警数必填。", - "max-count-load-error-min": "最小值为0。", - "fetch-size": "获取大小", - "fetch-size-required": "获取大小必填。", - "fetch-size-error-min": "最小值为10。", - "alarm-types": "告警类型", - "alarm-type-list": "告警类型列表", - "any-type": "任何类型", - "assigned-to-current-user": "分配给当前用户", - "assigned-to-me": "分配给我", - "search-propagated-alarms": "检索已传递的警报", - "comments": "告警评论", - "show-more": "显示更多", - "additional-info": "附加信息", - "alarm-type": "告警类型", - "enter-alarm-type": "输入告警类型", - "no-alarm-types-matching": "找不到与 '{{entitySubtype}}' 相匹配的告警类型。", - "alarm-type-list-empty": "未选择告警类型。" - }, - "alarm-activity": { - "add": "添加评论", - "alarm-comment": "告警评论", - "comments": "评论", - "delete-alarm-comment": "你想删除这条评论吗?", - "refresh": "刷新", - "oldest-first": "最早优先", - "newest-first": "最新优先", - "activity": "活动", - "export": "导出 CSV", - "author": "作者", - "created-date": "创建时间", - "edited-date": "编辑时间", - "text": "文本", - "system": "系统" - }, - "alias": { - "add": "添加别名", - "edit": "编辑别名", - "name": "别名", - "name-required": "别名必填", - "duplicate-alias": "别名已经存在。", - "filter-type-single-entity": "单个实体", - "filter-type-entity-list": "实体列表", - "filter-type-entity-name": "实体名称", - "filter-type-entity-type": "实体类型", - "filter-type-state-entity": "仪表板状态实体", - "filter-type-state-entity-description": "仪表板实体令牌状态参数", - "filter-type-asset-type": "资产类型", - "filter-type-asset-type-description": "类型为 '{{assetTypes}}' 的资产", - "filter-type-asset-type-and-name-description": "类型为 '{{assetTypes}}' 且以 '{{prefix}}' 开头的资产", - "filter-type-device-type": "设备类型", - "filter-type-device-type-description": "类型为 '{{deviceTypes}}' 的设备", - "filter-type-device-type-and-name-description": "类型为 '{{deviceTypes}}' 且以 '{{prefix}}' 开头的设备", - "filter-type-entity-view-type": "实体视图类型", - "filter-type-entity-view-type-description": "类型为 '{{entityViews}}' 的实体视图", - "filter-type-entity-view-type-and-name-description": "类型为 {{entityViews}}' 且以 '{{prefix}}' 开头的实体视图", - "filter-type-edge-type": "边缘类型", - "filter-type-edge-type-description": "类型为 '{{edgeTypes}}' 的边缘", - "filter-type-edge-type-and-name-description": "类型为 '{{edgeTypes}}' 且以 '{{prefix}}' 开头的边缘", - "filter-type-relations-query": "关联查询", - "filter-type-relations-query-description": "具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的 {{entities}} ", - "filter-type-asset-search-query": "资产搜索查询", - "filter-type-asset-search-query-description": "类型为 {{assetTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的资产", - "filter-type-device-search-query": "设备搜索查询", - "filter-type-device-search-query-description": "类型为 {{deviceTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的设备", - "filter-type-entity-view-search-query": "实体视图搜索查询", - "filter-type-entity-view-search-query-description": "类型为 {{entityViewTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的实体视图", - "filter-type-apiUsageState": "Api使用状态", - "filter-type-edge-search-query": "边缘搜索查询", - "filter-type-edge-search-query-description": "类型为 {{edgeTypes}} 且具有 {{relationType}} 关联 {{direction}} {{rootEntity}} 的边缘", - "entity-filter": "实体筛选器", - "resolve-multiple": "解析为多实体", - "resolve-multiple-hint": "启用所有过滤实体的数据同时渲染,\n如果禁用部件仅显示来自选定实体的数据。", - "filter-type": "筛选器类型", - "filter-type-required": "筛选器类型必填。", - "entity-filter-no-entity-matched": "未找到匹配指定筛选条件的实体。", - "no-entity-filter-specified": "没有指定实体筛选器", - "root-state-entity": "使用仪表板状态实体作为根实体", - "last-level-relation": "仅获取最后一级关联", - "root-entity": "根实体", - "state-entity-parameter-name": "状态实体参数名称", - "default-state-entity": "默认状态实体", - "default-entity-parameter-name": "默认", - "max-relation-level": "最大关联层级", - "unlimited-level": "不限层级", - "state-entity": "仪表板状态实体", - "all-entities": "所有实体", - "any-relation": "不限" - }, - "asset": { - "asset": "资产", - "assets": "资产", - "management": "资产管理", - "view-assets": "查看资产", - "add": "添加资产", - "asset-type-max-length": "资产类型应该小于256个字符", - "assign-to-customer": "分配给客户", - "assign-asset-to-customer": "将资产分配给客户", - "assign-asset-to-customer-text": "请选择要分配给客户的资产", - "no-assets-text": "未找到资产", - "assign-to-customer-text": "请选择客户以分配资产", - "public": "公开", - "assignedToCustomer": "分配客户", - "make-public": "资产设为公开", - "make-private": "资产设为私有", - "unassign-from-customer": "取消分配客户", - "delete": "删除资产", - "asset-public": "资产公开", - "asset-type": "资产类型", - "asset-type-required": "资产类型必填。", - "select-asset-type": "选择资产类型", - "enter-asset-type": "输入资产类型", - "any-asset": "任何资产", - "no-asset-types-matching": "未找到匹配'{{entitySubtype}}'的资产类型。", - "asset-type-list-empty": "资产类型未选择。", - "asset-types": "资产类型", - "name": "名称", - "name-required": "名称必填。", - "name-max-length": "名称应该小于256个字符。", - "label-max-length": "标签应该小于256个字符。", - "description": "说明", - "type": "类型", - "type-required": "类型必填。", - "details": "详情", - "events": "事件", - "add-asset-text": "添加资产", - "asset-details": "资产详情", - "assign-assets": "分配资产", - "assign-assets-text": "分配 { count, plural, =1 {1 个资产} other {# 个资产} } 给客户", - "assign-asset-to-edge-title": "将资产分配给边缘", - "assign-asset-to-edge-text": "请选择要分配给边缘的资产", - "delete-assets": "删除资产", - "unassign-assets": "取消分配资产", - "unassign-assets-action-title": "从客户处取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }", - "assign-new-asset": "分配新资产", - "delete-asset-title": "确定要删除资产 '{{assetName}}'吗?", - "delete-asset-text": "请注意:确认后,资产及其所有相关数据将不可恢复。", - "delete-assets-title": "确定要删除 { count, plural, =1 {1 个资产} other {# 个资产} }吗?", - "delete-assets-action-title": "删除 { count, plural, =1 {1 个资产} other {# 个资产} }", - "delete-assets-text": "请注意:确认后,所有选定的资产将被删除,所有相关的数据将不可恢复。", - "make-public-asset-title": "确定要将资产 '{{assetName}}' 设为公开吗?", - "make-public-asset-text": "确认后,资产及其所有数据将被公开并被他人访问。", - "make-private-asset-title": "确定要将资产 '{{assetName}}' 设为私有吗?", - "make-private-asset-text": "确认后,资产及其所有数据将被私有化,无法被他人访问。", - "unassign-asset-title": "确定要取消对'{{assetName}}'资产的分配吗?", - "unassign-asset-text": "确认后,资产将未分配,客户无法访问。", - "unassign-asset": "未分配资产", - "unassign-assets-title": "确定要取消分配 { count, plural, =1 {1 个资产} other {# 个资产} }吗?", - "unassign-assets-text": "确认后,所有选定的资产将被分配,客户无法访问。", - "unassign-assets-from-edge": "取消分配边缘", - "copyId": "复制资产ID", - "idCopiedMessage": "资产ID已经复制到粘贴板", - "select-asset": "选择资产", - "no-assets-matching": "未找到匹配 '{{entity}}' 的资产。", - "asset-required": "资产必填", - "name-starts-with": "资产名称以此开头", - "help-text": "根据需要可以使用'%'进行匹配,例如:'%asset_name_contains%', '%asset_name_ends', 'asset_starts_with'。", - "import": "导入资产", - "asset-file": "资产档案", - "label": "标签", - "search": "查找资产", - "assign-asset-to-edge": "将资产分配给边缘", - "unassign-asset-from-edge": "取消分配边缘", - "unassign-asset-from-edge-title": "确定要取消对'{{assetName}}'资产的分配吗?", - "unassign-asset-from-edge-text": "确认后,所有选定的资产将被分配,边缘无法访问。", - "unassign-assets-from-edge-title": "确定要取消分配 { count, plural, =1 {1 资产} other {# 个资产} }吗?", - "unassign-assets-from-edge-text": "确认后,所有选定的资产将被分配,边缘无法访问。", - "selected-assets": "已选择 { count, plural, =1 {1 个资产} other {# 个资产} }" - }, - "attribute": { - "attributes": "属性", - "latest-telemetry": "最新遥测数据", - "no-latest-telemetry": "没有最新的遥测数据", - "attributes-scope": "设备属性范围", - "scope-telemetry": "遥测", - "scope-latest-telemetry": "最新遥测数据", - "scope-client": "客户端属性", - "scope-server": "服务端属性", - "scope-shared": "共享属性", - "scope-client-short": "客户端", - "scope-server-short": "服务端", - "scope-shared-short": "共享", - "scope-latest-short": "最新", - "scope-any": "任意", - "add": "添加属性", - "key": "键名", - "key-max-length": "键应该小于256个字符。", - "last-update-time": "最后更新时间", - "key-required": "属性键必填。", - "value": "数值", - "value-required": "属性值必填。", - "telemetry-key-required": "需要遥测键", - "telemetry-value-required": "需要遥测数值", - "delete-attributes-title": "确定要删除 { count, plural, =1 {1 个属性} other {# 个属性} }吗?", - "delete-attributes-text": "注意,确认后所有选中的属性都会被删除。", - "delete-attributes": "删除属性", - "enter-attribute-value": "输入属性值", - "show-on-widget": "在部件上显示", - "widget-mode": "部件模式", - "next-widget": "下一个部件", - "prev-widget": "上一个部件", - "add-to-dashboard": "添加到仪表板", - "add-widget-to-dashboard": "将部件添加到仪表板", - "selected-attributes": "已选择 { count, plural, =1 {1 个属性} other {# 个属性} }", - "selected-telemetry": "已选择 { count, plural, =1 {1 遥测装置} other {# 遥测装置} }", - "no-attributes-text": "未找到属性", - "no-telemetry-text": "未找到遥测数据", - "copy-key": "复制键", - "add-telemetry": "添加遥测数据", - "copy-value": "复制数值", - "delete-timeseries": { - "start-time": "开始时间", - "ends-on": "结束时间", - "strategy": "策略", - "delete-strategy": "删除策略", - "all-data": "删除所有数据", - "all-data-except-latest-value": "删除除最新值外的所有数据", - "latest-value": "删除最新值", - "all-data-for-time-period": "删除指定时间段的所有数据", - "rewrite-latest-value": "重写最新值" - } + "count-unique": "唯一计数" + }, + "filtered": "已过滤", + "value-source": "值来源", + "value-source-hint": "定义聚合值的获取方式。", + "value-source-type": { + "key": "键", + "function": "函数" + }, + "no-metrics-configured": "至少需要一个指标。", + "add-metric": "添加指标", + "max-metrics": "已达到最大指标数量。", + "metric-settings": "指标设置", + "filter": "过滤器", + "filter-hint": "启用聚合期间的实体过滤。过滤函数必须返回布尔值,并且可以使用所有已配置的参数。" }, - "api-usage": { - "api-features": "Api统计", - "api-usage": "Api 使用统计", - "alarm": "告警", - "alarms-created": "创建告警数", - "queue-stats": "队列统计信息", - "processing-failures-and-timeouts": "处理失败和超时", - "exceptions": "异常", - "alarms-created-daily-activity": "每天产生的告警", - "alarms-created-hourly-activity": "每小时产生的告警", - "alarms-created-monthly-activity": "每月产生的告警", - "data-points": "数据点", - "data-points-storage-days": "存储点天", - "device-api": "设备 API", - "email": "邮件", - "email-messages": "邮件消息", - "email-messages-daily-activity": "每天产生的邮件消息", - "email-messages-monthly-activity": "每月产生的邮件消息", - "executions": "执行数", - "scripts": "脚本", - "scripts-hourly-activity": "脚本每小时活动", - "scripts-daily-activity": "脚本每日活动", - "scripts-monthly-activity": "脚本每月活动", - "javascript": "JavaScript", - "javascript-executions": "JavaScript执行数", - "tbel": "TBEL", - "tbel-executions": "TBEL执行数", - "latest-error": "最新错误", - "messages": "消息", - "notifications": "通知", - "notifications-email-sms": "通知(Email/SMS)", - "notifications-hourly-activity": "每小时的通知", - "permanent-failures": "${entityName}永久性故障", - "permanent-timeouts": "${entityName}永久超时", - "processing-failures": "${entityName}处理失败", - "processing-timeouts": "${entityName}处理超时", - "rule-chain": "规则链", - "rule-engine": "规则引擎", - "rule-engine-daily-activity": "每天的规则引擎活动", - "rule-engine-executions": "规则引擎执行", - "rule-engine-hourly-activity": "每小时的规则引擎活动", - "rule-engine-monthly-activity": "每月的规则引擎活动", - "rule-engine-statistics": "规则引擎统计信息", - "rule-node": "规则节点", - "sms": "短信", - "sms-messages": "短信消息", - "sms-messages-daily-activity": "每天的短信息", - "sms-messages-monthly-activity": "每小时的短信息", - "successful": "${entityName} 成功", - "telemetry": "遥测数据", - "telemetry-persistence": "遥测持久化", - "telemetry-persistence-daily-activity": "每天的遥测持久化", - "telemetry-persistence-hourly-activity": "每小时的遥测持久化", - "telemetry-persistence-monthly-activity": "每月的遥测持久化", - "transport": "传输", - "transport-daily-activity": "每天传输数据量", - "transport-data-points": "传输数据点", - "transport-hourly-activity": "每小时传输数据量", - "transport-messages": "传输消息", - "transport-monthly-activity": "每月传输数据量", - "view-details": "查看详细信息", - "view-statistics": "查看统计信息" - }, - "api-limit": { - "cassandra-queries": "Cassandra查询", - "entity-version-creation": "实体版本创建", - "entity-version-load": "实体版本加载", - "notification-requests": "通知请求", - "notification-requests-per-rule": "每个规则的通知请求", - "rest-api-requests": "REST API请求次数", - "rest-api-requests-per-customer": "每个客户的REST API请求", - "transport-messages": "传输消息次数", - "transport-messages-per-device": "每个设备的传输消息", - "transport-messages-per-gateway": "每个网关的传输消息", - "transport-messages-per-gateway-device": "每个网关设备传输消息", - "ws-updates-per-session": "每个会话的WS更新", - "edge-events": "Edge事件", - "edge-events-per-edge": "Edge事件", - "edge-uplink-messages": "Edge上行", - "edge-uplink-messages-per-edge": "Edge下行" - }, - "audit-log": { - "audit": "审计", - "audit-logs": "审计日志", - "timestamp": "时间戳", - "entity-type": "实体类型", - "entity-name": "实体名称", - "user": "用户", - "type": "类型", - "status": "状态", - "details": "详情", - "type-added": "添加", - "type-deleted": "删除", - "type-updated": "更新", - "type-attributes-updated": "更新属性", - "type-attributes-deleted": "删除属性", - "type-rpc-call": "RPC调用", - "type-credentials-updated": "更新凭据", - "type-assigned-to-customer": "分配给客户", - "type-unassigned-from-customer": "未分配给客户", - "type-assigned-to-edge": "分配给边缘", - "type-unassigned-from-edge": "未分配给边缘", - "type-activated": "激活", - "type-suspended": "暂停", - "type-credentials-read": "读取凭据", - "type-attributes-read": "读取属性", - "type-relation-add-or-update": "关联已更新", - "type-relation-delete": "关联已删除", - "type-relations-delete": "删除所有关联", - "type-alarm-ack": "已确认", - "type-alarm-clear": "已清除", - "type-alarm-delete": "Alarm deleted", - "type-alarm-assign": "已分配", - "type-alarm-unassign": "未分配", - "type-added-comment": "添加评论", - "type-updated-comment": "更新评论", - "type-deleted-comment": "删除评论", - "type-login": "登录", - "type-logout": "注销", - "type-lockout": "锁定", - "status-success": "成功", - "status-failure": "失败", - "audit-log-details": "审计日志详情", - "no-audit-logs-prompt": "未找到日志", - "action-data": "活动数据", - "failure-details": "失败详情", - "search": "查找审计日志", - "clear-search": "清空查找", - "type-assigned-from-tenant": "从租户分配", - "type-assigned-to-tenant": "分配给租户", - "type-provision-success": "设备已预配置", - "type-provision-failure": "设备预配置失败", - "type-timeseries-updated": "遥测数据已更新", - "type-timeseries-deleted": "遥测数据已删除", - "type-sms-sent": "短信发送" - }, - "debug-settings": { - "label": "调试配置", - "on-failure": "仅失败(24/7)", - "all-messages": "所有消息({{time}})", - "failures": "失败", - "entity": "实体", - "rule-node": "规则节点", - "hint": { - "main": "所有节点调试消息将被限速,限制为:", - "main-limited": "所有{{entity}}的调试消息将受到速率限制,每{{time}}允许最多{{msg}}条消息。", - "on-failure": "保存所有失败调试事件,无时间限制。", - "all-messages": "在时间限制内保存所有调试事件。" - } + "output-strategy": { + "strategy": "策略", + "process-right-away": "立即处理", + "process-rule-chains": "通过规则链处理", + "save-time-series": "保存到时间序列", + "save-database": "保存到数据库", + "save-latest-values": "保存到最新值", + "send-web-sockets": "发送到 WebSockets", + "save-calculated-fields": "发送到计算字段", + "update-attribute-only-on-value-change": "仅在值变更时更新属性", + "send-attributes-updated-notification": "发送属性更新通知", + "ttl": "自定义 TTL", + "ttl-required": "TTL 为必填项", + "ttl-min": "最小 TTL 仅允许为 0", + "processing-parameters": "处理参数", + "hint": { + "strategy": "控制结果是立即处理还是发送到规则链进行额外处理。", + "processing-options": "处理选项", + "update-attribute-only-on-value-change": "在每条传入消息上更新属性,无论值是否已更改。这会增加 API 使用量并降低性能。", + "update-attribute-only-on-value-change-enabled": "仅在值更改时更新属性。如果值未更改,则不更新时间戳且不发送通知。", + "send-attributes-updated-notification": "向默认规则链发送属性更新事件。", + "save-time-series": "将时间序列数据保存到数据库的 ts_kv 表中。", + "save-database": "将属性数据保存到数据库。", + "save-latest-values": "如果新值更新,则更新数据库 ts_kv_latest 表中的时间序列数据。", + "send-web-sockets-attribute": "通知 WebSocket 订阅有关属性数据的更新。", + "send-web-sockets-time-series": "通知 WebSocket 订阅有关时间序列数据的更新。", + "save-calculated-fields-attribute": "通知计算字段有关属性数据的更新。", + "save-calculated-fields-time-series": "通知计算字段有关时间序列数据的更新。", + "ttl": "定义时间序列数据的保留期限。如果禁用,则使用租户配置的 TTL。" + } }, - "confirm-on-exit": { - "message": "有未保存的更改,确定要离开此页吗?", - "html-message": "有未保存的更改。
确定要离开此页面吗?", - "title": "未保存的更改" - }, - "contact": { - "country": "国家", - "country-required": "国家必填。", - "city": "城市", - "state": "省份", - "postal-code": "邮政编码", - "postal-code-invalid": "只允许数字。", - "address": "地址", - "address2": "地址二", - "phone": "手机号码", - "email": "电子邮件", - "no-address": "无地址", - "no-country-found": "未找不到国家。", - "no-country-matching": "未匹配到'{{country}}'。", - "state-max-length": "省份长度应该小于256个字符", - "phone-max-length": "手机号码长度应该小于256个字符", - "city-max-length": "城市应该小于256个字符" - }, - "common": { - "username": "用户名", - "password": "密码", - "enter-username": "输入用户名", - "enter-password": "输入密码", - "enter-search": "输入检索条件", - "created-time": "创建时间", - "disabled": "已禁用", - "loading": "正在加载中...", - "proceed": "继续", - "open-details-page": "打开详情页", - "not-found": "未找到", - "documentation": "文档", - "time-left": "剩余{{time}}" - }, - "content-type": { - "json": "Json", - "text": "文本", - "binary": "二进制(Base64)" - }, - "customer": { - "customer": "客户", - "customers": "客户", - "management": "客户管理", - "dashboard": "客户仪表板", - "dashboards": "客户仪表板", - "devices": "客户设备", - "entity-views": "客户实体视图", - "assets": "客户资产", - "public-dashboards": "公共仪表板", - "public-devices": "公共设备", - "public-assets": "公共资产", - "public-edges": "公共边缘", - "public-entity-views": "公共实体视图", - "add": "添加客户", - "delete": "删除此客户", - "manage-customer-users": "管理客户用户", - "manage-customer-devices": "管理客户设备", - "manage-customer-dashboards": "管理客户仪表板", - "manage-public-devices": "管理公共设备", - "manage-public-dashboards": "管理公共仪表板", - "manage-customer-assets": "管理客户资产", - "manage-public-assets": "管理公共资产", - "manage-customer-edges": "管理客户边缘", - "manage-public-edges": "管理公共边缘", - "add-customer-text": "添加客户", - "no-customers-text": "未找到客户", - "customer-details": "客户详情", - "delete-customer-title": "确定要删除客户'{{customerTitle}}'吗?", - "delete-customer-text": "请注意:确认后,客户及其所有相关数据将不可恢复。", - "delete-customers-title": "确定要删除 { count, plural, =1 {1 个客户} other {# 个客户} }吗?", - "delete-customers-action-title": "删除 { count, plural, =1 {1 个客户} other {# 个客户} }", - "delete-customers-text": "请注意:确认后,所有选定的客户将被删除,所有相关数据将不可恢复。", - "manage-users": "管理用户", - "manage-assets": "管理资产", - "manage-devices": "管理设备", - "manage-dashboards": "管理仪表板", - "title": "标题", - "title-required": "标题必填。", - "title-max-length": "标题应该小于256个字符", - "description": "说明", - "details": "详情", - "events": "事件", - "copyId": "复制客户ID", - "idCopiedMessage": "客户ID已复制到粘贴板", - "select-customer": "选择客户", - "no-customers-matching": "未找到匹配'{{entity}}'的客户。", - "customer-required": "客户必填", - "select-default-customer": "选择默认的客户", - "default-customer": "默认客户", - "default-customer-required": "为了调试租户级别上的仪表板,需要默认客户。", - "search": "查找客户", - "selected-customers": "已选择 { count, plural, =1 {1 个客户} other {# 个客户} }", - "edges": "客户边缘实例", - "manage-edges": "管理边缘" - }, - "css-size": { - "size-value-required": "尺寸值必填。", - "invalid-size-value": "尺寸值无效" - }, - "date": { - "last-update-n-ago": "N分钟前的最后更新", - "last-update-n-ago-text": "最后更新{{ agoText }}", - "custom-date": "自定义日期", - "format": "格式", - "preview": "预览", - "auto": "自动", - "time-granularity-formats": "时间格式", - "unit-year": "年", - "unit-month": "月", - "unit-day": "日", - "unit-hour": "时", - "unit-minute": "分", - "unit-second": "秒", - "unit-millisecond": "毫秒" - }, - "datetime": { - "date-from": "开始日期", - "time-from": "开始时间", - "date-to": "结束日期", - "time-to": "结束时间", - "from": "从", - "to": "到" - }, - "dashboard": { - "dashboard": "仪表板", - "dashboards": "仪表板", - "management": "仪表板管理", - "view-dashboards": "查看仪表板", - "add": "添加仪表板", - "assign-dashboard-to-customer": "将仪表板分配给客户", - "assign-dashboard-to-customer-text": "请选择要分配给客户的仪表板", - "assign-dashboard-to-edge-title": "将仪表板分配给边缘", - "assign-to-customer-text": "请选择客户分配仪表板", - "assign-to-customer": "分配给客户", - "unassign-from-customer": "取消分配客户", - "make-public": "仪表板设为公开", - "make-private": "仪表板设为私有", - "manage-assigned-customers": "管理已分配的客户", - "assigned-customers": "已分配的客户", - "assign-to-customers": "将仪表板分配给客户", - "assign-to-customers-text": "请选择客户指定仪表板", - "unassign-from-customers": "客户未分配仪表板", - "unassign-from-customers-text": "请选择从仪表板中取消分配的客户", - "no-dashboards-text": "未找到仪表板", - "no-widgets": "没有配置部件", - "add-widget": "添加部件", - "add-widget-button-text": "添加部件", - "title": "标题", - "image": "仪表板图片", - "mobile-app-settings": "移动端应用设置", - "mobile-order": "移动端应用中的仪表板排序", - "mobile-hide": "在移动端应用中隐藏仪表板", - "update-image": "更新仪表板图片", - "take-screenshot": "截图", - "select-widget-title": "选择部件", - "select-widget-value": "{{title}}: 选择部件", - "select-widget-subtitle": "可用的部件类型列表", - "delete": "删除仪表板", - "title-required": "标题必填。", - "title-max-length": "标题应该小于256个字符。", - "description": "说明", - "details": "详情", - "dashboard-details": "仪表板详情", - "add-dashboard-text": "添加仪表板", - "assign-dashboards": "分配仪表板", - "assign-new-dashboard": "分配新的仪表板", - "assign-dashboards-text": "分配 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 给客户", - "unassign-dashboards-action-text": "取消分配 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 给客户", - "delete-dashboards": "删除仪表板", - "unassign-dashboards": "取消分配仪表板", - "unassign-dashboards-action-title": "取消分配此客户 { count, plural, =1 {1 个仪表板} other {# 个仪表板} }", - "delete-dashboard-title": "确定要删除仪表板 '{{dashboardTitle}}'吗?", - "delete-dashboard-text": "请注意:确认后,仪表板及其所有相关数据将不可恢复。", - "delete-dashboards-title": "确定要删除 { count, plural, =1 {1 个仪表板} other {# 个仪表板} }吗?", - "delete-dashboards-action-title": "删除 { count, plural, =1 {1 个仪表板} other {# 个仪表板} }", - "delete-dashboards-text": "请注意:确认后,所有选定的仪表板将被删除,所有相关数据将不可恢复。", - "unassign-dashboard-title": "确定要取消分配仪表板 '{{dashboardTitle}}'吗?", - "unassign-dashboard-text": "确认后,面板将被取消分配,客户将无法访问。", - "unassign-dashboard": "取消分配仪表板", - "unassign-dashboards-title": "确定要取消分配仪表板 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 吗?", - "unassign-dashboards-text": "确认后,所有选定的仪表板将被取消分配,客户将无法访问。", - "public-dashboard-title": "仪表板现已公开", - "public-dashboard-text": "仪表板 {{dashboardTitle}} 已被公开,可通过如下 链接访问:", - "public-dashboard-notice": "提示: 不要忘记将相关设备公开以访问其数据。", - "make-private-dashboard-title": "确定要将仪表板 '{{dashboardTitle}}' 设为私有吗?", - "make-private-dashboard-text": "确认后,仪表板将被设为私有,不能被其他人访问。", - "make-private-dashboard": "仪表板设为私有", - "socialshare-text": "'{{dashboardTitle}}' 由Thingsboard提供支持", - "socialshare-title": "'{{dashboardTitle}}' 由Thingsboard提供支持", - "select-dashboard": "选择仪表板", - "no-dashboards-matching": "未找到匹配 '{{entity}}' 的仪表板。", - "dashboard-required": "仪表板必填。", - "select-existing": "选择现有仪表板", - "create-new": "创建仪表板", - "new-dashboard-title": "新仪表板标题", - "open-dashboard": "打开仪表板", - "set-background": "设置背景", - "background-color": "背景颜色", - "background-image": "背景图片", - "background-size-mode": "背景大小模式", - "no-image": "无图像选择", - "empty-image": "No image", - "drop-image": "拖拽图像或单击以选择要上传的文件。", - "maximum-upload-file-size": "最大上传文件大小: {{ size }}", - "cannot-upload-file": "无法上传文件", - "settings": "设置", - "move-all-widgets": "移动所有部件", - "move-by": "移动", - "cols": "列", - "rows": "行", - "layout": "布局", - "layout-type-default": "默认", - "layout-type-scada": "SCADA", - "layout-type-divider": "分隔线", - "layout-settings-type": "布局设置:{{ type }}", - "columns-count": "列数", - "columns-count-required": "需要列数。", - "min-columns-count-message": "只允许最少10列", - "max-columns-count-message": "只允许最多1000列", - "min-layout-width": "最小布局宽度", - "columns-suffix": "列", - "widgets-margins": "部件间边距", - "margin-required": "边距值必填。", - "min-margin-message": "最小边距值只允许为0。", - "max-margin-message": "仅允许50作为最大边距值。", - "horizontal-margin": "水平边距", - "horizontal-margin-required": "需要水平边距值。", - "min-horizontal-margin-message": "只允许0作为最小水平边距值。", - "max-horizontal-margin-message": "只允许50作为最大水平边距值。", - "vertical-margin": "垂直边距", - "vertical-margin-required": "需要垂直边距值。", - "min-vertical-margin-message": "只允许0作为最小垂直边距值。", - "max-vertical-margin-message": "只允许50作为最大垂直边距值。", - "apply-outer-margin": "为布局的两侧设置边距", - "autofill-height": "自动填充布局高度", - "mobile-layout": "移动端布局设置", - "mobile-row-height": "移动端行高距(px)", - "mobile-row-height-required": "移动端行高距必填。", - "min-mobile-row-height-message": "移动端行高距至少5px。", - "max-mobile-row-height-message": "移动端行高距最多200px。", - "row-height": "行高", - "row-height-required": "行高必填。", - "min-row-height-message": "仅允许5个像素作为最小行高值。", - "max-row-height-message": "仅允许200个像素作为最大行高值。", - "display-first-in-mobile-view": "优先在移动视图中显示", - "title-settings": "标题设置", - "display-title": "显示仪表板标题", - "title-color": "标题颜色", - "toolbar-settings": "工具栏设置", - "hide-toolbar": "隐藏工具栏", - "toolbar-always-open": "工具栏常驻", - "display-dashboards-selection": "显示仪表板选项", - "display-entities-selection": "显示实体选项", - "display-filters": "显示筛选器", - "display-dashboard-timewindow": "显示时间窗口", - "display-dashboard-export": "显示导出", - "display-update-dashboard-image": "显示更新仪表板图像", - "dashboard-logo-settings": "Logo设置", - "display-dashboard-logo": "在仪表板全屏模式下显示 Logo", - "dashboard-logo-image": "仪表板 Logo 图片", - "advanced-settings": "高级设置", - "dashboard-css": "仪表板样式", - "import": "导入仪表板", - "export": "导出仪表板", - "export-failed-error": "无法导出仪表板: {{error}}", - "export-prompt": "嵌入仪表板图像和资源", - "create-new-dashboard": "创建仪表板", - "dashboard-file": "仪表板文件", - "invalid-dashboard-file-error": "无法导入仪表板: 仪表板数据结构无效。", - "dashboard-import-missing-aliases-title": "配置导入仪表板使用的别名", - "create-new-widget": "创建部件", - "import-widget": "导入部件", - "widget-file": "部件文件", - "invalid-widget-file-error": "无法导入窗口部件: 窗口部件数据结构无效。", - "widget-import-missing-aliases-title": "配置导入的窗口部件使用的别名", - "open-toolbar": "显示工具栏", - "close-toolbar": "收起工具栏", - "configuration-error": "配置错误", - "alias-resolution-error-title": "仪表板别名配置错误", - "invalid-aliases-config": "无法找到与某些别名筛选器匹配的任何设备。
请联系您的管理员以解决此问题。", - "select-devices": "选择设备", - "assignedToCustomer": "分配给客户", - "assignedToCustomers": "分配给客户", - "public": "公开", - "copyId": "复制仪表板ID", - "idCopiedMessage": "仪表板ID已复制到剪贴板", - "public-link": "公共链接", - "copy-public-link": "复制公共链接", - "public-link-copied-message": "仪表板的公共链接已被复制到剪贴板", - "manage-states": "仪表板状态管理", - "states": "仪表板状态", - "states-short": "状态", - "search-states": "仪表板状态检索", - "selected-states": "已选择 { count, plural, =1 {1 个仪表板状态} other {# 个仪表板状态} }", - "edit-state": "仪表板状态编辑", - "delete-state": "删除仪表板状态", - "add-state": "添加仪表板状态", - "no-states-text": "未找到状态", - "state": "仪表板状态", - "state-name": "名称", - "state-name-required": "仪表板状态名必填。", - "state-id": "状态ID", - "state-id-required": "仪表板状态ID必填。", - "state-id-exists": "仪表板状态ID已经存在。", - "is-root-state": "根状态", - "delete-state-title": "删除仪表板状态", - "delete-state-text": "确定要删除仪表板状态 '{{stateName}}' 吗?", - "show-details": "显示详情", - "hide-details": "隐藏详情", - "select-state": "选择目标状态", - "state-controller": "状态控制", - "state-controller-default": "静态(已弃用)", - "search": "查找仪表板", - "selected-dashboards": "已选择 { count, plural, =1 {1 个仪表盘} other {# 个仪表盘} }", - "home-dashboard": "首页仪表板", - "home-dashboard-hide-toolbar": "隐藏首页仪表板工具栏", - "unassign-dashboard-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。", - "unassign-dashboards-from-edge-title": "确定要取消分配仪表板 { count, plural, =1 {1 个仪表板} other {# 个仪表板} } 吗?", - "unassign-dashboards-from-edge-text": "确认后,所有选定的仪表板将被取消分配,边缘将无法访问。", - "assign-dashboard-to-edge": "将仪表板分配给边缘", - "assign-dashboard-to-edge-text": "请选择要分配给边缘的仪表板", - "non-existent-dashboard-state-error": "找不到ID为 '{{ stateId }}' 的仪表板状态。", - "edit-mode": "编辑模式", - "duplicate-state-action": "复制状态", - "breakpoint-value": "断点({{ value }})", - "breakpoints-id": { - "default": "默认", - "xs": "xs", - "sm": "sm", - "md": "md", - "lg": "lg", - "xl": "xl" - }, - "view-format-type-grid": "网格", - "view-format-type-list": "列表", - "view-format": "类型" - }, - "datakey": { - "settings": "设置", - "general": "常规", - "advanced": "高级", - "key": "键", - "label": "标签", - "color": "颜色", - "units": "单位符号", - "decimals": "小数位数", - "data-generation-func": "数据生成功能", - "use-data-post-processing-func": "使用数据后处理功能", - "configuration": "数据键配置", - "timeseries": "时间序列", - "attributes": "属性", - "entity-field": "实体字段", - "alarm": "告警字段", - "timeseries-required": "实体时间序列必填。", - "timeseries-or-attributes-required": "实体时间序列/属性必填。", - "alarm-fields-timeseries-or-attributes-required": "告警字段或实体时间序列/属性必填。", - "maximum-timeseries-or-attributes": "最多允许 { count, plural, =1 {1 个 timeseries/属性。} other {# 个 timeseries/属性。} }", - "alarm-fields-required": "告警字段必填。", - "function-types": "函数类型", - "function-type": "函数类型", - "function-types-required": "函数类型必填。", - "data-keys": "数据键", - "data-key": "数据键", - "data-keys-required": "数据键是必须的。", - "data-key-required": "数据键是必须的。", - "alarm-keys": "告警数据键", - "alarm-key": "告警数据键", - "alarm-key-functions": "告警数据键函数", - "alarm-key-function": "告警数据键函数", - "latest-keys": "最新值数据键", - "latest-key": "最新值数据键", - "latest-key-functions": "最新值数据键函数", - "latest-key-function": "最新值数据键函数", - "timeseries-keys": "时间序列数据键", - "timeseries-key": "时间序列数据键", - "timeseries-key-functions": "时间序列数据键函数", - "timeseries-key-function": "时间序列数据键函数", - "maximum-function-types": "最多允许 { count, plural, =1 {1 个函数类型} other {# 个函数类型} }", - "time-description": "当前值的时间戳;", - "value-description": "当前值;", - "prev-value-description": "上一次函数调用的结果;", - "time-prev-description": "上一个值的时间戳;", - "prev-orig-value-description": "先前的原始值;", - "aggregation": "聚合", - "aggregation-type-hint-common": "出于性能原因,聚合值的计算仅适用于固定的时间间隔,如“当前天”,“当前月”等,而不适用于滑动窗口间隔,例如“过去30分钟”或“过去24小时”。", - "aggregation-type-none-hint": "获取最新值。", - "aggregation-type-min-hint": "在所选时间窗口内找出数据点中的最小值。", - "aggregation-type-max-hint": "在所选时间窗口内找出数据点中的最大值。", - "aggregation-type-avg-hint": "在所选时间窗口内计算数据点的平均值。", - "aggregation-type-sum-hint": "在所选时间窗口内计算数据点所有值的总和。", - "aggregation-type-count-hint": "在所选时间窗口内计算数据点的总数。", - "delta-calculation": "增量计算", - "enable-delta-calculation": "启用增量计算", - "enable-delta-calculation-hint": "启用后将根据选定时间窗口和指定比较时段的聚合值计算数据键值。出于性能原因,增量计算仅适用于历史时间窗口,而不适用于实时值。例如,您可以计算昨天的能耗与前天的能耗之间的差值。", - "delta-calculation-result": "增量计算结果", - "delta-calculation-result-previous-value": "上个值", - "delta-calculation-result-delta-absolute": "绝对值", - "delta-calculation-result-delta-percent": "百分比", - "source": "来源", - "latest": "最新", - "latest-value": "最新值", - "delta": "增量", - "percent": "百分比", - "absolute": "绝对值" - }, - "datasource": { - "type": "数据源类型", - "name": "名称", - "label": "标签", - "add-datasource-prompt": "请添加数据源" - }, - "details": { - "details": "详情", - "edit-mode": "编辑模式", - "edit-json": "编辑JSON", - "toggle-edit-mode": "切换编辑模式" - }, - "device": { - "device": "设备", - "device-required": "设备必填", - "devices": "设备", - "management": "设备管理", - "view-devices": "查看设备", - "device-alias": "设备别名", - "device-type-max-length": "设备类型应该小于256个字符", - "aliases": "设备别名", - "no-alias-matching": "'{{alias}}' 未找到。", - "no-aliases-found": "未找到别名。", - "no-key-matching": "'{{key}}' 未找到。", - "no-keys-found": "未找到密钥。", - "create-new-alias": "创建别名", - "create-new-key": "创建键", - "duplicate-alias-error": "找到重复别名 '{{alias}}'。
设备别名必须是唯一的。", - "configure-alias": "配置 '{{alias}}' 别名", - "no-devices-matching": "未找到与 '{{entity}}' 匹配的设备。", - "alias": "别名", - "alias-required": "设备别名必填。", - "remove-alias": "删除设备别名", - "add-alias": "添加设备别名", - "name-starts-with": "名称前缀", - "help-text": "根据需要可以使用'%'进行匹配,例如:'%device_name_contains%','%device_name_ends','device_starts_with'。", - "device-list": "设备列表", - "use-device-name-filter": "使用筛选器", - "device-list-empty": "没有被选中的设备", - "device-name-filter-required": "设备名称筛选器必填。", - "device-name-filter-no-device-matched": "未找到以'{{device}}' 开头的设备。", - "add": "添加设备", - "assign-to-customer": "分配给客户", - "assign-device-to-customer": "将设备分配给客户", - "assign-device-to-customer-text": "请选择要分配给客户的设备", - "assign-device-to-edge-title": "将设备分配给边缘", - "assign-device-to-edge-text": "请选择要分配给边缘的设备", - "make-public": "公开", - "make-private": "私有", - "no-devices-text": "未找到设备", - "assign-to-customer-text": "请选择客户分配设备", - "device-details": "设备详细信息", - "add-device-text": "添加设备", - "credentials": "凭据", - "manage-credentials": "管理凭据", - "delete": "删除设备", - "assign-devices": "分配设备", - "assign-devices-text": "将 {count,plural,=1 {1 个设备} other {# 个设备} }分配给客户", - "delete-devices": "删除设备", - "unassign-from-customer": "取消分配客户", - "unassign-devices": "取消分配设备", - "unassign-devices-action-title": "取消分配此客户 {count,plural,=1 {1 个设备} other {# 个设备} }", - "unassign-device-from-edge-title": "确定要取消分配设备 '{{deviceName}}' 吗?", - "unassign-device-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。", - "unassign-devices-from-edge": "取消分配边缘", - "assign-new-device": "分配新设备", - "make-public-device-title": "确定要将设备 '{{deviceName}}' 设为公开吗?", - "make-public-device-text": "确认后,设备及其所有数据将被设为公开并可被其他人访问。", - "make-private-device-title": "确定要将设备 '{{deviceName}}' 设为私有吗?", - "make-private-device-text": "确认后,设备及其所有数据将被设为私有,不被其他人访问。", - "view-credentials": "查看凭据", - "delete-device-title": "确定要删除设备的{{deviceName}}吗?", - "delete-device-text": "请注意:确认后,设备及其所有相关数据将不可恢复。", - "delete-devices-title": "确定要删除{count,plural,=1 {1 个设备} other {# 个设备} } 吗?", - "delete-devices-action-title": "删除 {count,plural,=1 {1 个设备} other {# 个设备} }", - "delete-devices-text": "请注意:确认后,所有选定的设备将被删除,所有相关数据将不可恢复。", - "unassign-device-title": "确定要取消分配设备 '{{deviceName}}' 吗?", - "unassign-device-text": "确认后,设备将被取消分配,客户将无法访问。", - "unassign-device": "取消分配设备", - "unassign-devices-title": "确定要取消分配 {count,plural,=1 {1 个设备} other {# 个设备} } 吗?", - "unassign-devices-text": "确认后,所有选定的设备将被取消分配,并且客户将无法访问。", - "device-credentials": "设备凭据", - "loading-device-credentials": "加载设备凭据...", - "credentials-type": "凭据类型", - "access-token": "访问令牌", - "access-token-required": "访问令牌必填", - "access-token-invalid": "访问令牌长度必须为1到32个字符。", - "certificate-pem-format": "PEM 格式的证书", - "certificate-pem-format-required": "需要提供证书。", - "copy-access-token": "复制访问令牌", - "copy-certificate": "复制证书", - "copy-client-id": "复制客户端ID", - "copy-user-name": "复制用户名", - "copy-password": "复制密码", - "generate-client-id": "生成客户端ID", - "generate-user-name": "生成用户名", - "generate-password": "生成密码", - "generate-access-token": "生成访问令牌", - "lwm2m-security-config": { - "identity": "客户端身份", - "identity-required": "需要提供客户端身份。", - "identity-tooltip": "PSK 标识符是一个任意的 PSK 标识符,最多可以为 128 字节,如标准 [RFC7925] 中所述。", - "client-key": "客户端密钥", - "client-key-required": "需要提供客户端密钥。", - "client-key-tooltip-prk": "RPK 公钥或 ID 必须符合标准 [RFC7250] 并编码为 Base64 格式!", - "client-key-tooltip-psk": "PSK 密钥必须符合标准 [RFC4279],使用十六进制表示:32、64、128 个字符!", - "endpoint": "终端客户端名称", - "endpoint-required": "需要提供终端客户端名称。", - "client-public-key": "客户端公钥", - "client-public-key-hint": "如果客户端公钥为空,则将使用可信证书", - "client-public-key-tooltip": "X509 公钥必须采用 DER 编码的 X509v3 格式,并且仅支持 EC 算法,然后编码为 Base64 格式!", - "mode": "安全配置模式", - "client-tab": "客户端安全配置", - "client-certificate": "客户端证书", - "bootstrap-tab": "启动客户端", - "bootstrap-server": "启动服务器", - "lwm2m-server": "LwM2M服务器", - "client-publicKey-or-id": "客户端公钥或ID", - "client-publicKey-or-id-required": "客户端公钥或ID必填。", - "client-publicKey-or-id-tooltip-psk": "SK标识符是最多128字节,如标准[RFC7925]所述。", - "client-publicKey-or-id-tooltip-rpk": "RPK必须满足标准[RFC7250]而且编码为 Base64!", - "client-publicKey-or-id-tooltip-x509": "X509公钥必须是X509v3格式而且支持EC算法", - "client-secret-key": "客户端密钥", - "client-secret-key-required": "客户端密钥必填。", - "client-secret-key-tooltip-psk": "PSK键必须是[RFC4279]标准和HexDec格式: 32, 64, 128i字符!", - "client-secret-key-tooltip-prk": "RPK密钥必须是PKCS_8格式(DER编码, 标准[RFC5958]) 并编码为Base64!", - "client-secret-key-tooltip-x509": "X509密钥必须是PKCS_8格式(DER编码, 标准[RFC5958])!" - }, - "client-id": "客户端ID", - "client-id-pattern": "包含无效字符。", - "user-name": "用户名", - "user-name-required": "用户名必填。", - "client-id-or-user-name-necessary": "客户端ID或用户名是必需的", - "password": "密码", - "secret": "密钥", - "secret-required": "密钥必填", - "device-type": "设备类型", - "device-type-required": "设备类型必填。", - "select-device-type": "选择设备类型", - "enter-device-type": "输入设备类型", - "any-device": "任意设备", - "no-device-types-matching": "未找到匹配 '{{entitySubtype}}' 的设备类型。", - "device-type-list-empty": "未选择设备类型", - "device-profile-type-list-empty": "至少应选择一个设备配置。", - "device-types": "设备类型", - "name": "名称", - "name-required": "名称必填。", - "name-max-length": "名称应该小于256个字符。", - "label-max-length": "标签应该小于256个字符。", - "description": "说明", - "label": "标签", - "events": "事件", - "details": "详情", - "copyId": "复制设备ID", - "copyAccessToken": "复制访问令牌", - "copy-mqtt-authentication": "复制MQTT凭据", - "idCopiedMessage": "设备ID已复制到剪贴板", - "accessTokenCopiedMessage": "设备访问令牌已复制到剪贴板", - "mqtt-authentication-copied-message": "设备MQTT身份验证已复制到剪贴板", - "assignedToCustomer": "分配给客户", - "unable-delete-device-alias-title": "无法删除设备别名", - "unable-delete-device-alias-text": "设备别名 '{{deviceAlias}}' 不能够被删除,因为它被下列部件所使用:
{{widgetsList}}", - "is-gateway": "是否网关", - "overwrite-activity-time": "覆盖已连接设备的活动时间", - "device-filter": "设备筛选器", - "device-filter-title": "设备筛选器", - "filter-title": "筛选器", - "device-state": "设备状态", - "state": "状态", - "any": "所有", - "active": "活动", - "inactive": "非活动", - "public": "公开", - "device-public": "设备公开", - "select-device": "选择设备", - "import": "导入设备", - "device-file": "设备文件", - "search": "查找设备", - "selected-devices": "已选择 { count, plural, =1 {1 个设备} other {# 个设备} }", - "device-configuration": "设备配置", - "transport-configuration": "传输配置", - "wizard": { - "device-details": "设备详细信息" - }, - "unassign-devices-from-edge-title": "确定要取消分配 { count, plural, =1 {1 个设备} other {# 个设备} } 吗?", - "unassign-devices-from-edge-text": "确认后,设备将被取消分配,边缘将无法访问。", - "time": "时间", - "connectivity": { - "check-connectivity": "检查连通性", - "device-created-check-connectivity": "设备已创建,检查连通性!", - "loading-check-connectivity-command": "正在加载检查连通性命令...", - "use-following-instructions": "请使用以下说明代表设备发送遥测数据", - "execute-following-command": "执行以下命令", - "install-curl-windows": "从 Windows 10 b17063 开始,cURL 已默认安装", - "install-curl-macos": "从 Mac OS X 10.2 6C115(Jaguar)开始,cURL 已默认安装", - "install-mqtt-windows": "使用说明下载、安装、设置和运行 mosquitto_pub", - "install-coap-client": "使用说明下载、安装、设置和运行 coap-client", - "install-necessary-client-tools": "安装必要的客户端工具", - "mqtts-x509-command": "使用以下文档通过 MQTT 连接带有 X509 授权的设备", - "coaps-x509-command": "使用以下文档通过基于 DTLS 的 CoAP 连接带有 X509 授权的设备", - "snmp-command": "使用以下文档通过 SNMP 连接设备。", - "sparkplug-command": "使用以下文档通过 MQTT Sparkplug 连接设备。", - "lwm2m-command": "使用以下文档通过 LWM2M 连接设备。" - } + "aggregate-interval-type": "聚合间隔类型", + "aggregate-interval-value": "聚合间隔值", + "aggregate-interval-value-required": "聚合间隔值为必填项。", + "aggregate-interval-value-min": "聚合间隔值至少应为 { sec, plural, =0 {0 秒} =1 {1 秒} other {# 秒} }。", + "aggregate-interval-value-step-multiple-of": "聚合间隔值必须是 1 天的因子或倍数。", + "aggregate-period": { + "hour": "小时", + "day": "天", + "week": "周(周一至周日)", + "week-sun-sat": "周(周日至周六)", + "month": "月", + "quarter": "季度", + "year": "年", + "custom": "自定义" }, - "dynamic-form": { - "property": { - "properties": "属性", - "property": "属性", - "id": "ID", - "name": "名称", - "type": "类型", - "type-text": "文本", - "type-password": "密码", - "type-textarea": "文本区域", - "type-number": "数字", - "type-switch": "开关", - "type-select": "选择框", - "type-radios": "单选按钮", - "type-datetime": "日期/时间", - "type-image": "图片", - "type-javascript": "JavaScript", - "type-json": "JSON", - "type-html": "HTML", - "type-css": "CSS", - "type-markdown": "Markdown", - "type-color": "颜色", - "type-color-settings": "颜色设置", - "type-font": "字体", - "type-units": "单位", - "type-icon": "图标", - "type-fieldset": "字段集", - "type-array": "数组", - "type-html-section": "HTML区域", - "group-title": "分组标题", - "no-properties": "没有配置属性", - "add-property": "添加属性", - "property-settings": "属性设置", - "remove-property": "移除属性", - "default-value": "默认值", - "value-required": "值是必需的", - "number-settings": "数字设置", - "min": "最小值", - "max": "最大值", - "step": "步长", - "selected-options-limit": "选项限制", - "advanced-ui-settings": "高级UI设置", - "disable-on-property": "基于属性禁用", - "display-condition-function": "显示条件函数", - "sub-label": "子标签", - "vertical-divider-after": "垂直分隔符后", - "input-field-suffix": "输入框后缀", - "property-row-classes": "属性行类", - "property-field-classes": "属性字段类", - "not-unique-property-ids-error": "属性ID必须唯一!", - "enable-multiple-select": "启用多选", - "allow-empty-select-option": "允许空选项", - "select-options": "选择项", - "not-unique-select-option-value-error": "选择项值必须唯一!", - "value": "值", - "label": "标签", - "add-option": "添加选项", - "no-options": "没有配置选项", - "remove-option": "移除选项", - "textarea-rows": "文本区行数", - "help-id": "帮助ID", - "buttons-direction": "按钮方向", - "direction-row": "行", - "direction-column": "列", - "radio-button-options": "单选按钮选项", - "datetime-type": "日期/时间字段类型", - "datetime-type-date": "日期", - "datetime-type-time": "时间", - "datetime-type-datetime": "日期/时间", - "enable-clear-button": "启用清除按钮", - "html-section-settings": "HTML区域设置", - "html-section-classes": "HTML区域类", - "html-section-content": "HTML区域内容", - "array-item": "数组项", - "item-type": "项类型", - "item-name": "项名称", - "no-items": "没有项" - }, - "clear-form": "清除表单", - "clear-form-prompt": "确定要移除所有表单属性吗?", - "import-form": "从JSON导入表单", - "export-form": "导出表单为JSON", - "json-file": "JSON文件", - "json-content": "JSON内容", - "invalid-form-json-file-error": "无法从JSON导入表单:无效的表单JSON数据结构。" - }, - "asset-profile": { - "asset-profile": "资产配置", - "asset-profiles": "资产配置", - "all-asset-profiles": "全部", - "add": "添加资产配置", - "edit": "编辑资产配置", - "asset-profile-details": "资产配置详情", - "no-asset-profiles-text": "未找到资产配置", - "search": "搜索资产配置", - "selected-asset-profiles": "已选择 { count, plural, =1 {1 个资产配置} other {# 个资产配置} }", - "no-asset-profiles-matching": "未找到与 '{{entity}}' 匹配的资产配置。", - "asset-profile-required": "资产配置必填", - "idCopiedMessage": "资产配置ID已复制到剪贴板", - "set-default": "设为默认资产配置", - "delete": "删除资产配置", - "copyId": "复制资产配置ID", - "name-max-length": "名称长度必须小于256个字符", - "new-device-profile-name": "资产配置名称", - "new-device-profile-name-required": "资产配置名称必填。", - "name": "名称", - "name-required": "名称必填。", - "image": "资产配置图片", - "description": "说明", - "default": "默认", - "default-rule-chain": "默认规则链", - "default-edge-rule-chain": "默认边缘规则链", - "default-edge-rule-chain-hint": "作为规则链,用于在边缘上处理属于此资产配置中资产的传入数据。", - "mobile-dashboard": "移动端仪表板", - "mobile-dashboard-hint": "被移动端应用用作资产详情仪表板", - "select-queue-hint": "从下拉列表中选择。", - "delete-asset-profile-title": "确定要删除 '{{assetProfileName}}' 资产配置吗?", - "delete-asset-profile-text": "请注意:确认后,资产配置和所有相关数据将不可恢复。", - "delete-asset-profiles-title": "确定要删除 { count, plural, =1 {1 个资产配置} other {# 个资产配置} }吗?", - "delete-asset-profiles-text": "请注意:确认后,所有选定的资产配置将被删除,所有相关数据将不可恢复。", - "set-default-asset-profile-title": "确定要将 '{{assetProfileName}}' 设为默认资产配置吗?", - "set-default-asset-profile-text": "确认后,资产配置将被标记为默认,并将用于未指定配置的新资产。", - "no-asset-profiles-found": "未不到资产配置。", - "create-new-asset-profile": "创建资产配置", - "create-asset-profile": "创建资产配置", - "import": "导入资产配置", - "export": "导出资产配置", - "export-failed-error": "无法导出资产配置: {{error}}", - "asset-profile-file": "资产配置", - "invalid-asset-profile-file-error": "无法导入资产配置:无效的资产配置数据结构。" - }, - "device-profile": { - "device-profile": "设备配置", - "device-profiles": "设备配置", - "all-device-profiles": "全部", - "add": "添加设备配置", - "edit": "编辑设备配置", - "device-profile-details": "设备配置详情", - "no-device-profiles-text": "未找到设备配置", - "search": "查找设备配置", - "selected-device-profiles": "已选择 { count, plural, =1 {1 个设备配置} other {# 个设备配置} }", - "no-device-profiles-matching": "未找到与 '{{entity}}' 匹配的设备配置。", - "device-profile-required": "设备配置必填", - "idCopiedMessage": "设备配置 ID 已复制到剪贴板", - "set-default": "设为默认设备配置", - "delete": "删除设备配置", - "copyId": "复制设备配置 ID", - "name-max-length": "名称长度必须小于256个字符", - "name": "名称", - "name-required": "名称是必需的。", - "type": "配置类型", - "type-required": "配置类型必填。", - "type-default": "默认", - "image": "设备配置图片", - "transport-type": "传输方式", - "transport-type-required": "传输方式必填。", - "transport-type-default": "默认", - "transport-type-default-hint": "支持基本MQTT、HTTP和CoAP传输", - "transport-type-mqtt": "MQTT", - "transport-type-mqtt-hint": "启用高级MQTT传输设置", - "transport-type-coap": "CoAP", - "transport-type-coap-hint": "启用高级 CoAP 传输设置", - "transport-type-lwm2m": "LWM2M", - "transport-type-lwm2m-hint": "LWM2M传输类型", - "transport-type-snmp": "SNMP", - "transport-type-snmp-hint": "指定 SNMP 传输配置", - "transport-type-http": "HTTP", - "description": "说明", - "default": "默认", - "profile-configuration": "配置", - "transport-configuration": "传输配置", - "default-rule-chain": "默认规则链", - "default-edge-rule-chain": "默认边缘规则链", - "default-edge-rule-chain-hint": "作为规则链,用于在边缘上处理属于此设备配置中设备的传入数据。", - "mobile-dashboard": "移动端仪表板", - "mobile-dashboard-hint": "被移动端应用用作设备详情仪表板", - "select-queue-hint": "从下拉列表中选择或添加自定义名称。", - "delete-device-profile-title": "确定要删除'{{deviceProfileName}}'设备配置吗?", - "delete-device-profile-text": "请注意:确认后,设备配置和所有相关数据将不可恢复。", - "delete-device-profiles-title": "确定要删除 { count, plural, =1 {1 个设备配置} other {# 个设备配置} }吗?", - "delete-device-profiles-text": "请注意:确认后,所有选定的设备配置将被删除,所有相关数据将不可恢复。", - "set-default-device-profile-title": "确定要将设备配置'{{deviceProfileName}}'设为默认值吗?", - "set-default-device-profile-text": "确认后,设备配置将被标记为默认,并将用于未指定配置的新设备。", - "no-device-profiles-found": "未找到设备配置。", - "create-new-device-profile": "创建设备配置", - "mqtt-device-topic-filters": "MQTT设备主题筛选器", - "mqtt-device-topic-filters-unique": "MQTT设备主题筛选器必须唯一。", - "mqtt-device-topic-filters-spark-plug": "MQTT Sparkplug B边缘网络(EoN)节点", - "mqtt-device-topic-filters-spark-plug-hint": "允许来自具备Sparkplug B负载和主题格式的边缘网络(EoN)节点的连接。", - "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "将SparkPlug指标存储为属性。", - "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "将作为设备属性存储的SparkPlug指标的名称。其他指标将作为设备遥测数据进行存储。", - "mqtt-device-payload-type": "MQTT设备Payload", - "mqtt-device-payload-type-json": "JSON", - "mqtt-device-payload-type-proto": "Protobuf", - "mqtt-enable-compatibility-with-json-payload-format": "启用与其他Payload格式兼容。", - "mqtt-enable-compatibility-with-json-payload-format-hint": "启用后平台将默认使用Protobuf的Payload格式,如果解析失败平台将尝试使用JSON的Payload格式。对于固件更新期间的向后兼容性很有用,例如固件的初始版本使用Json而新版本使用Protobuf在设备队列的固件更新过程中,需要同时支持Protobuf和JSON。兼容模式会导致一点的性能下降,因此建议在所有设备更新后禁用此模式。", - "mqtt-use-json-format-for-default-downlink-topics": "缺省下行主题采用Json格式", - "mqtt-use-json-format-for-default-downlink-topics-hint": "启用后平台将使用Json的Playload格式通过以下主题推送属性和RPC:v1/devices/me/attributes/response/$request_idv1/devices/me/attributes v1/devices/me/rpc/request/$request_idv1/devices/me/rpc/response/$request_id。此设置不会影响使用新(v2)主题发送的属性和rpc订阅:v2/a/res/$request_idv2/av2/r /req/$request_idv2/r/res/$request_id。其中$request_id是一个整数请求标识符。", - "mqtt-send-ack-on-validation-exception": "发布消息验证失败时发送PUBACK", - "mqtt-send-ack-on-validation-exception-hint": "默认情况下平台将关闭相关消息验证失败的MQTT会话,启用后平台将发布确认而不是关闭会话。", - "snmp-add-mapping": "添加SNMP映射", - "snmp-mapping-not-configured": "OID到时间序列/遥测的映射未配置", - "snmp-timseries-or-attribute-name": "用于映射的时间序列/属性名称", - "snmp-timseries-or-attribute-type": "用于映射的时间序列/属性类型", - "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": "Payload类型必填。", - "coap-device-type": "CoAP设备类型", - "coap-device-payload-type": "CoAP设备消息Payload", - "coap-device-type-required": "CoAP设备类型必填。", - "coap-device-type-default": "默认", - "coap-device-type-efento": "Efento NB-IoT", - "support-level-wildcards": "支持单[+]和多级[#]通配符。", - "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": "分配给边缘的规则链使用规则节点将消息转发给未分配给当前边缘的规则链。

缺少的规则链列表:
{{missingRuleChains}}", - "upgrade-instructions": "升级说明", - "widget-datasource-error": "组件只支持边缘实体数据源", - "connected": "已连接", - "disconnected": "已断开连接" - }, - "edge-event": { - "type-dashboard": "仪表板", - "type-asset": "资产", - "type-device": "设备", - "type-device-profile": "设备概要", - "type-asset-profile": "资产配置", - "type-entity-view": "实体视图", - "type-alarm": "告警", - "type-rule-chain": "规则链", - "type-rule-chain-metadata": "规则链元数据", - "type-edge": "边缘", - "type-user": "用户", - "type-tenant": "租户", - "type-tenant-profile": "租户配置", - "type-customer": "客户", - "type-relation": "关联", - "type-widgets-bundle": "部件包", - "type-widgets-type": "部件类型", - "type-admin-settings": "管理员设置", - "type-ota-package": "OTA包", - "type-queue": "队列", - "action-type-added": "增加", - "action-type-deleted": "删除", - "action-type-updated": "更新", - "action-type-post-attributes": "推送属性", - "action-type-attributes-updated": "属性更新", - "action-type-attributes-deleted": "属性删除", - "action-type-timeseries-updated": "时间序列更新", - "action-type-credentials-updated": "认证更新", - "action-type-assigned-to-customer": "分配给客户", - "action-type-unassigned-from-customer": "取消分配客户", - "action-type-relation-add-or-update": "关联增加或更新", - "action-type-relation-deleted": "关联删除", - "action-type-rpc-call": "RPC调用", - "action-type-alarm-ack": "告警确认", - "action-type-alarm-clear": "告警清除", - "action-type-alarm-assigned": "告警已分配", - "action-type-alarm-unassigned": "告警未分配", - "action-type-assigned-to-edge": "分配给边缘", - "action-type-unassigned-from-edge": "取消分配边缘", - "action-type-credentials-request": "认证请求", - "action-type-entity-merge-request": "实体合并请求" + "schedule-day": { + "monday": "星期一", + "tuesday": "星期二", + "wednesday": "星期三", + "thursday": "星期四", + "friday": "星期五", + "saturday": "星期六", + "sunday": "星期日" }, - "error": { - "unable-to-connect": "无法连接到服务器!请检查您的互联网连接。", - "unhandled-error-code": "未处理的错误代码: {{errorCode}}", - "unknown-error": "未知错误" - }, - "entity": { - "entity": "实体", - "entities": "实体", - "entities-count": "实体数量", - "alarms-count": "告警数量", - "aliases": "别名", - "aliases-short": "别名", - "entity-alias": "别名", - "unable-delete-entity-alias-title": "无法删除实体别名", - "unable-delete-entity-alias-text": "实体别名'{{entityAlias}}'被以下部件使用不能删除:
{{widgetsList}}", - "duplicate-alias-error": "别名'{{alias}}'重复,同一仪表板别名必须唯一。", - "missing-entity-filter-error": "别名'{{alias}}'缺少筛选器", - "configure-alias": "别名'{{alias}}'配置", - "alias": "别名", - "alias-required": "实体别名必填。", - "remove-alias": "移除实体别名", - "add-alias": "添加实体别名", - "entity-list": "实体列表", - "entity-type": "实体类型", - "entity-types": "实体类型", - "entity-type-list": "实体类型列表", - "any-entity": "任意实体", - "add-entity-type": "添加实体类型", - "enter-entity-type": "输入实体类型", - "no-entities-matching": "未找到匹配'{{entity}}'的实体。", - "no-entities-text": "找不到实体", - "no-entity-types-matching": "未找到匹配'{{entityType}}'类型的实体。", - "name-starts-with": "名称开始于", - "help-text": "根据需要可以使用'%'进行匹配例如:'%entity_name_contains%', '%entity_name_ends', 'entity_starts_with'。", - "use-entity-name-filter": "用户筛选器", - "entity-list-empty": "没有选择实体。", - "entity-type-list-required": "至少应选择一个实体类型。", - "entity-name-filter-required": "实体名筛选器必填。", - "entity-name-filter-no-entity-matched": "未找到以'{{entity}}'开头的实体", - "all-subtypes": "全部", - "select-entities": "选择实体", - "no-aliases-found": "未找到别名", - "no-alias-matching": "未找到'{{alias}}'", - "create-new-alias": "创建别名", - "create-new": "创建", - "key": "键名", - "key-name": "键名", - "no-keys-found": "未找到键名", - "no-key-matching": "未找到键名'{{key}}'", - "create-new-key": "创建键", - "type": "类型", - "type-required": "实体类型必填。", - "type-device": "设备", - "type-devices": "设备", - "list-of-devices": "{ count, plural, =1 {1 个设备} other {# 个设备} }", - "device-name-starts-with": "以 '{{prefix}}' 开头的设备", - "type-device-profile": "设备配置", - "type-device-profiles": "设备配置", - "clear-selected-profiles": "清除已选择的配置", - "list-of-device-profiles": "{ count, plural, =1 {1 个设备配置} other {# 个设备配置} }", - "device-profile-name-starts-with": "名称以 '{{prefix}}' 开头的设备配置", - "type-asset-profile": "资产配置", - "type-asset-profiles": "资产配置", - "list-of-asset-profiles": "{ count, plural, =1 {1 个资产配置} other {# 个资产配置} }", - "asset-profile-name-starts-with": "名称以 '{{prefix}}' 开头的资产配置", - "type-asset": "资产", - "type-assets": "资产", - "list-of-assets": "{ count, plural, =1 {1 个资产} other {# 个资产} }", - "asset-name-starts-with": "以 '{{prefix}}' 开头的资产", - "type-entity-view": "实体视图", - "type-entity-views": "实体视图", - "list-of-entity-views": "{ count, plural, =1 {1 个实体视图} other {# 个实体视图} }", - "entity-view-name-starts-with": "以 '{{prefix}}' 开头的实体视图", - "type-rule": "规则", - "type-rules": "规则", - "list-of-rules": "{ count, plural, =1 {1 个规则} other {# 个规则} }", - "rule-name-starts-with": "以 '{{prefix}}' 开头的规则", - "type-plugin": "插件", - "type-plugins": "插件", - "list-of-plugins": "{ count, plural, =1 {1 个插件} other {# 个插件} }", - "plugin-name-starts-with": "以 '{{prefix}}' 开头的插件", - "type-tenant": "租户", - "type-tenants": "租户", - "list-of-tenants": "{ count, plural, =1 {1 个租户} other {# 个租户} }", - "tenant-name-starts-with": "以 '{{prefix}}' 开头的租户", - "type-tenant-profile": "租户简介", - "type-tenant-profiles": "租户配置", - "list-of-tenant-profiles": "{ count, plural, =1 {1 个租户配置} other {# 个租户配置} }", - "tenant-profile-name-starts-with": "名称以 '{{prefix}}' 开头的租户配置", - "type-customer": "客户", - "type-customers": "客户", - "list-of-customers": "{ count, plural, =1 {1 个客户} other {# 个客户} }", - "customer-name-starts-with": "以 '{{prefix}}' 开头的客户", - "type-user": "用户", - "type-users": "用户", - "list-of-users": "{ count, plural, =1 {1 个用户} other {# 个用户} }", - "user-name-starts-with": "以 '{{prefix}}' 开头的用户", - "type-dashboard": "仪表板", - "type-dashboards": "仪表板", - "list-of-dashboards": "{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }", - "dashboard-name-starts-with": "以 '{{prefix}}' 开头的仪表板", - "type-alarm": "告警", - "type-alarms": "告警", - "list-of-alarms": "{ count, plural, =1 {1 个告警} other {# 个告警} }", - "alarm-name-starts-with": "以 '{{prefix}}' 开头的告警", - "type-rulechain": "规则链", - "type-rulechains": "规则链库", - "list-of-rulechains": "{ count, plural, =1 {1 个规则链} other {# 个规则链} }", - "rulechain-name-starts-with": "规则链前缀名称 '{{prefix}}'", - "type-rulenode": "规则节点", - "type-rulenodes": "规则节点", - "list-of-rulenodes": "{ count, plural, =1 {1 个规则节点} other {# 个规则节点} }", - "rulenode-name-starts-with": "名称以 '{{prefix}}' 开头的规则节点", - "type-current-customer": "当前客户", - "type-current-tenant": "当前租户", - "type-current-user": "当前用户", - "type-current-user-owner": "当前用户所有者", - "type-widgets-bundle": "部件包", - "type-widgets-bundles": "部件包", - "list-of-widgets-bundles": "{ count, plural, =1 {1 个部件包} other {# 个部件包} }", - "type-widget": "部件", - "type-widgets": "部件", - "list-of-widgets": "{ count, plural, =1 {1 个部件} other {# 个部件} }", - "search": "实体检索", - "selected-entities": "已选择 { count, plural, =1 {1 个实体} other {# 个实体} }", - "entity-name": "实体名", - "entity-label": "实体标签", - "details": "实体详情", - "no-entities-prompt": "未找到实体", - "no-data": "无数据", - "columns-to-display": "要显示的列", - "type-api-usage-state": "Api使用状态", - "type-edge": "边缘", - "type-edges": "边缘", - "list-of-edges": "{ count, plural, =1 {1 个边缘} other {列表 # 个边缘} }", - "edge-name-starts-with": "以'{{prefix}}'开头的边缘", - "version-conflict": { - "message": "您要覆盖现有版本还是丢弃更改并加载最新版本?", - "link": "您可以使用此下载的{{entityType}}版本", - "overwrite": "覆盖", - "discard": "丢弃" - }, - "type-tb-resource": "资源", - "type-tb-resources": "资源", - "list-of-tb-resources": "{ count, plural, =1 {1 个资源} other {# 个资源} }", - "type-ota-package": "OTA包", - "type-rpc": "RPC", - "type-queue": "队列", - "type-queue-stats": "队列统计", - "type-queues-stats": "队列统计", - "type-notification": "通知", - "type-notification-rule": "通知规则", - "type-notification-rules": "通知规则", - "list-of-notification-rules": "{ count, plural, =1 {1 个通知规则} other {# 个通知规则} }", - "type-notification-target": "通知收件人", - "type-notification-targets": "通知接收者", - "list-of-notification-targets": "{ count, plural, =1 {1 个通知接收者} other {# 个通知接收者} }", - "type-notification-request": "通知请求", - "type-notification-template": "通知模板", - "type-notification-templates": "通知模板", - "list-of-notification-templates": "{ count, plural, =1 {1 个通知模板} other {# 个通知模板} }", - "link": "连接", - "type-oauth2-client": "OAuth2.0客户端", - "type-oauth2-clients": "OAuth2.0客户端", - "list-of-oauth2-clients": "{ count, plural, =1 {一个 OAuth2.0客户端} other {# 个 OAuth2.0客户端列表} }", - "type-domain": "域名", - "type-domains": "域名", - "list-of-domains": "{ count, plural, =1 {一个域名} other {# 个域名列表} }", - "type-mobile-app": "移劝端", - "type-mobile-apps": "移动端", - "list-of-mobile-apps": "{ count, plural, =1 {一个移动应用} other {# 个移动应用列表} }", - "type-mobile-app-bundle": "移动应用包", - "type-mobile-app-bundles": "移动应用包", - "list-of-mobile-app-bundles": "{ count, plural, =1 {一个移动应用包} other {# 个移动应用包列表} }" - }, - "entity-field": { - "created-time": "创建时间", - "name": "名称", - "type": "类型", - "first-name": "名字", - "last-name": "姓氏", - "email": "电子邮件", - "title": "标题", - "country": "国家", - "state": "省/州", - "city": "城市", - "address": "地址", - "address2": "地址二", - "zip": "邮政编码", - "phone": "电话", - "label": "标签", - "queue-name": "对列名称", - "service-id": "服务Id", - "owner-name": "所有者名称", - "owner-type": "所有者类型" - }, - "entity-view": { - "entity-view": "实体视图", - "entity-view-required": "实体视图必填。", - "entity-views": "实体视图", - "management": "实体视图管理", - "view-entity-views": "查看实体视图", - "entity-view-alias": "实体视图别名", - "aliases": "实体视图别名", - "no-alias-matching": "未找到匹配'{{alias}}'的别名。", - "no-aliases-found": "未找到别名。", - "no-key-matching": "'{{key}}' 未找到。", - "no-keys-found": "未找到密钥。", - "create-new-alias": "创建别名", - "create-new-key": "创建键", - "duplicate-alias-error": "找到重复别名'{{alias}}'。
实体视图别名必须是唯一的。", - "configure-alias": "配置 '{{alias}}' 别名", - "no-entity-views-matching": "未找到与'{{entity}}'匹配的实体视图。", - "public": "公开", - "alias": "别名", - "alias-required": "实体视图别名必填。", - "remove-alias": "删除实体视图别名", - "add-alias": "添加实体视图别名", - "name-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": "没有被选中的实体视图", - "entity-view-name-filter-required": "实体视图名称筛选器必填。", - "entity-view-name-filter-no-entity-view-matched": "未找到以'{{entityView}}' 开头的实体视图。", - "add": "添加实体视图", - "entity-view-public": "实体视图是公共的", - "assign-to-customer": "分配给客户", - "assign-entity-view-to-customer": "将实体视图分配给客户", - "assign-entity-view-to-customer-text": "请选择要分配给客户的实体视图", - "assign-entity-view-to-edge-title": "将实体视图分配给边缘", - "no-entity-views-text": "未找到实体视图", - "assign-to-customer-text": "请选择客户分配实体视图", - "entity-view-details": "实体视图详细信息", - "add-entity-view-text": "添加实体视图", - "delete": "删除实体视图", - "assign-entity-views": "分配实体视图", - "assign-entity-views-text": "分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 给客户", - "delete-entity-views": "删除实体视图", - "unassign-from-customer": "取消分配客户", - "unassign-entity-views": "取消分配实体视图", - "unassign-entity-views-action-title": "从客户处取消分配{count,plural,=1 {1 实体视图} other {# 实体视图} }", - "assign-new-entity-view": "分配新实体视图", - "delete-entity-view-title": "确定要删除实体视图 '{{entityViewName}}'吗?", - "delete-entity-view-text": "请注意:确认后实体视图及其所有相关数据将不可恢复。", - "delete-entity-views-title": "确定要删除 { count, plural, =1 {1 实体视图} other {# 实体视图} }吗?", - "delete-entity-views-action-title": "删除 { count, plural, =1 {1 个实体视图} other {# 个实体视图} }", - "delete-entity-views-text": "请注意:确认后,所有选定的实体视图将被删除,所有相关的数据将不可恢复。", - "unassign-entity-view-title": "确定要取消对 '{{entityViewName}}' 实体视图的分配吗?", - "unassign-entity-view-text": "确认后,实体视图将未分配,客户无法访问。", - "unassign-entity-view": "未分配实体视图", - "unassign-entity-views-title": "确定要取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?", - "unassign-entity-views-text": "确认后,所有选定的实体视图将被分配,客户无法访问。", - "entity-view-type": "实体视图类型", - "entity-view-type-required": "实体视图类型必填。", - "select-entity-view-type": "选择实体视图类型", - "enter-entity-view-type": "输入实体视图类型", - "any-entity-view": "任何实体视图", - "no-entity-view-types-matching": "未找到匹配 '{{entitySubtype}}' 的实体视图类型。", - "entity-view-type-list-empty": "实体视图类型未选择。", - "entity-view-types": "实体视图类型", - "created-time": "创建时间", - "name": "名称", - "name-required": "名称必填。", - "name-max-length": "名称应该小于256个字符。", - "type-max-length": "实体视图类型应该小于256个字符。", - "description": "说明", - "events": "事件", - "details": "详情", - "copyId": "复制实体视图ID", - "idCopiedMessage": "实体视图ID已复制到剪贴板", - "assignedToCustomer": "分配给客户", - "unable-entity-view-device-alias-title": "无法删除实体视图别名", - "unable-entity-view-device-alias-text": "实体视图别名 '{{entityViewAlias}}' 不能够被删除,因为它被下列部件所使用:
{{widgetsList}}", - "select-entity-view": "选择实体视图", - "make-public": "实体视图设为公开", - "make-private": "实体视图设为私有", - "start-ts": "开始时间", - "end-ts": "结束时间", - "date-limits": "日期限制", - "client-attributes": "客户端属性", - "shared-attributes": "共享属性", - "server-attributes": "服务端属性", - "timeseries": "时间序列", - "client-attributes-placeholder": "客户端属性", - "shared-attributes-placeholder": "共享属性", - "server-attributes-placeholder": "服务端属性", - "timeseries-placeholder": "时间序列", - "target-entity": "目标实体", - "attributes-propagation": "属性传播", - "attributes-propagation-hint": "每次保存或更新这个实体视图时,实体视图将自动从目标实体复制指定的属性。由于性能原因,目标实体属性不会在每次属性更改时传递到实体视图。您可以通过配置\"copy to view\"规则链中的规则节点,并将\"Post attributes\"和\"attributes Updated\"消息链接到新规则节点,从而启用自动传递。", - "timeseries-data": "时间序列数据", - "timeseries-data-hint": "配置目标实体的时间序列数据键,以便实体视图可以访问这些键。此时间序列数据是只读的。", - "search": "查找实体视图", - "selected-entity-views": "已选择 { count, plural, =1 {1 个实体视图} other {# 个实体视图} }", - "make-public-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为公开吗?", - "make-public-entity-view-text": "确认后,实体视图及其所有数据将被公开并被他人访问。", - "make-private-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为私有吗?", - "make-private-entity-view-text": "确认后,实体视图及其所有数据将被私有化,无法被他人访问。", - "assign-entity-view-to-edge": "将实体视图分配给边缘", - "assign-entity-view-to-edge-text": "请选择要分配给边缘的实体视图", - "unassign-entity-view-from-edge-title": "确定要取消对 '{{entityViewName}}' 实体视图的分配吗?", - "unassign-entity-view-from-edge-text": "确认后,实体视图将未分配,边缘无法访问。", - "unassign-entity-views-from-edge-action-title": "从边缘处取消分配{count,plural,=1 {1 实体视图} other {# 实体视图} }", - "unassign-entity-view-from-edge": "未分配实体视图", - "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?", - "unassign-entity-views-from-edge-text": "确认后,所有选定的实体视图将被分配,边缘无法访问。" - }, - "event": { - "event-type": "事件类型", - "events-filter": "事件筛选器", - "clean-events": "清除事件", - "type-error": "错误", - "type-lc-event": "生命周期事件", - "type-stats": "类型统计", - "type-debug-rule-node": "调试", - "type-debug-rule-chain": "调试", - "no-events-prompt": "未找到事件", - "error": "错误", - "alarm": "告警", - "event-time": "事件时间", - "server": "服务器", - "body": "整体", - "method": "方法", - "type": "类型", - "message": "消息", - "message-id": "消息ID", - "copy-message-id": "复制消息ID", - "message-type": "消息类型", - "data-type": "数据类型", - "relation-type": "关联类型", - "metadata": "元数据", - "data": "数据", - "event": "事件", - "status": "状态", - "success": "成功", - "failed": "失败", - "messages-processed": "消息处理", - "max-messages-processed": "最大处理消息数", - "min-messages-processed": "最少处理消息数", - "errors-occurred": "错误发生", - "max-errors-occurred": "最大发生错误数", - "min-errors-occurred": "最少发生错误数", - "min-value": "最小值为 0。", - "all-events": "全部", - "has-error": "有错误", - "entity-id": "实体ID", - "copy-entity-id": "复制实体ID", - "entity-type": "实体类型", - "clear-filter": "清除筛选器", - "clear-request-title": "清除所有事件", - "clear-request-text": "你确定要清除所有事件吗?", - "started": "已开始", - "updated": "已更新", - "stopped": "已停止" - }, - "extension": { - "extensions": "扩展", - "selected-extensions": "已选择 { count, plural, =1 {1 个扩展} other {# 个扩展} }", - "type": "类型", - "key": "键名", - "value": "价值", - "id": "ID", - "extension-id": "扩展ID", - "extension-type": "扩展类型", - "transformer-json": "JSON *", - "unique-id-required": "当前扩展ID已经存在。", - "delete": "删除扩展", - "add": "添加扩展", - "edit": "编辑扩展", - "delete-extension-title": "确定要删除扩展 '{{extensionId}}'吗?", - "delete-extension-text": "请注意:确认后,扩展和所有相关数据将不可恢复。", - "delete-extensions-title": "确定要删除 { count, plural, =1 {1 个扩展} other {# 个扩展} }吗?", - "delete-extensions-text": "请注意:确认后,所有选定的扩展将被删除,所有相关数据将不可恢复。", - "converters": "转换器", - "converter-id": "转换器序号", - "configuration": "配置", - "converter-configurations": "转换器的配置", - "token": "安全令牌", - "add-converter": "添加转换器", - "add-config": "添加转换器配置", - "device-name-expression": "设备名称表达式", - "device-type-expression": "设备类型表达式", - "custom": "定制", - "to-double": "加倍", - "transformer": "转换器", - "json-required": "转换器JSON必填。", - "json-parse": "无法解析转换器JSON。", - "attributes": "属性", - "add-attribute": "添加属性", - "add-map": "添加映射元素", - "timeseries": "时间序列", - "add-timeseries": "添加时间序列", - "field-required": "必填字段", - "brokers": "代理服务器组", - "add-broker": "添加代理服务器", - "host": "主机", - "port": "端口", - "port-range": "端口应该在1到65535的范围内。", - "ssl": "SSL", - "credentials": "证书", - "username": "用户名", - "password": "密码", - "retry-interval": "重试间隔(毫秒)", - "anonymous": "匿名", - "basic": "基本", - "pem": "PEM", - "ca-cert": "CA证书文件*", - "private-key": "私钥文件*", - "cert": "证书文件*", - "no-file": "没有选择文件。", - "drop-file": "删除文件或单击以选择要上载的文件。", - "mapping": "映射", - "topic-filter": "主题筛选器", - "converter-type": "转换类型", - "converter-json": "Json", - "json-name-expression": "设备名称JSON表达式", - "topic-name-expression": "设备名称主题表达式", - "json-type-expression": "设备类型JSON表达式", - "topic-type-expression": "设备类型主题表达式", - "attribute-key-expression": "属性键名表达式", - "attr-json-key-expression": "属性键JSON表达式", - "attr-topic-key-expression": "属性键名主题表达式", - "request-id-expression": "请求ID表达式", - "request-id-json-expression": "请求ID JSON表达式", - "request-id-topic-expression": "请求ID主题表达式", - "response-topic-expression": "响应主题表达式", - "value-expression": "值表达式", - "topic": "主题", - "timeout": "超时时间(毫秒)", - "converter-json-required": "转换JSON必填。", - "converter-json-parse": "无法解析转换JSON。", - "filter-expression": "筛选条件表达式", - "connect-requests": "连接请求", - "add-connect-request": "添加连接请求", - "disconnect-requests": "断开请求", - "add-disconnect-request": "添加断开请求", - "attribute-requests": "属性请求", - "add-attribute-request": "添加属性请求", - "attribute-updates": "属性更新", - "add-attribute-update": "添加属性更新", - "server-side-rpc": "服务端RPC", - "add-server-side-rpc-request": "添加服务端RPC请求", - "device-name-filter": "设备名称筛选器", - "attribute-filter": "属性筛选器", - "method-filter": "方法筛选器", - "request-topic-expression": "请求主题表达式", - "response-timeout": "响应超时(毫秒)", - "topic-expression": "主题表达", - "client-scope": "客户范围", - "add-device": "添加服务器", - "opc-server": "服务器组", - "opc-add-server": "添加服务器", - "opc-add-server-prompt": "请添加服务器", - "opc-application-name": "应用名称", - "opc-application-uri": "应用URI", - "opc-scan-period-in-seconds": "秒级扫描周期", - "opc-security": "安全性", - "opc-identity": "身份", - "opc-keystore": "密钥库", - "opc-type": "类型", - "opc-keystore-type": "类型", - "opc-keystore-location": "Location *", - "opc-keystore-password": "密码", - "opc-keystore-alias": "别名", - "opc-keystore-key-password": "密钥密码", - "opc-device-node-pattern": "设备节点模式", - "opc-device-name-pattern": "设备名称模式", - "modbus-server": "Servers/slaves", - "modbus-add-server": "添加 server/slave", - "modbus-add-server-prompt": "请添加 server/slave", - "modbus-transport": "Transport", - "modbus-tcp-reconnect": "自动重新连接", - "modbus-rtu-over-tcp": "RTU over TCP", - "modbus-port-name": "串口名称", - "modbus-encoding": "编码", - "modbus-parity": "奇偶性", - "modbus-baudrate": "波特率", - "modbus-databits": "数据位", - "modbus-stopbits": "停止位", - "modbus-databits-range": "数据位应该在7到8的范围内。", - "modbus-stopbits-range": "停止位应该在1到2的范围内。", - "modbus-unit-id": "单位编号", - "modbus-unit-id-range": "单位ID应该在1到247的范围内", - "modbus-device-name": "设备名称", - "modbus-poll-period": "轮询周期 (毫秒)", - "modbus-attributes-poll-period": "轮询属性周期 (毫秒)", - "modbus-timeseries-poll-period": "时间序列数据轮询周期 (毫秒)", - "modbus-poll-period-range": "轮询周期应为正值。", - "modbus-tag": "标签", - "modbus-function": "函数", - "modbus-register-address": "寄存器地址", - "modbus-register-address-range": "寄存器地址应该在0到65535的范围内。", - "modbus-register-bit-index": "位索引", - "modbus-register-bit-index-range": "位索引应该在0到15的范围内。", - "modbus-register-count": "寄存器计数", - "modbus-register-count-range": "寄存器计数应该是一个正值。", - "modbus-byte-order": "字节顺序", - "sync": { - "status": "状态", - "sync": "同步", - "not-sync": "不同步", - "last-sync-time": "最后同步时间", - "not-available": "无法使用" - }, - "export-extensions-configuration": "导出扩展配置", - "import-extensions-configuration": "导入扩展配置", - "import-extensions": "导入扩展", - "import-extension": "导入扩展", - "export-extension": "导出扩展", - "file": "扩展文件", - "invalid-file-error": "无效的扩展文件" - }, - "feature": { - "advanced-features": "高级功能" - }, - "filter": { - "add": "添加筛选器", - "edit": "编辑筛选器", - "name": "筛选器名称", - "name-required": "筛选器名称必填。", - "duplicate-filter": "同名筛选器已存在。", - "filters": "筛选器", - "unable-delete-filter-title": "无法删除筛选器", - "unable-delete-filter-text": "无法删除筛选器 '{{filter}}' ,因为它由以下部件使用:
{{widgetsList}}", - "duplicate-filter-error": "找到重复的筛选器 '{{filter}}'。
筛选器在仪表板中必须是唯一的。", - "missing-key-filters-error": "筛选器 '{{filter}}' 的键名筛选条件缺失。", - "filter": "筛选器", - "editable": "可编辑", - "no-filters-found": "未找到筛选器。", - "no-filter-text": "未指定筛选器", - "add-filter-prompt": "请添加筛选器", - "no-filter-matching": "未找到 '{{filter}}' 。", - "create-new-filter": "请新增!", - "create-new": "创建", - "filter-required": "筛选器必填。", - "operation": { - "operation": "操作", - "equal": "等于", - "not-equal": "不等于", - "starts-with": "开始于", - "ends-with": "结束于", - "contains": "包含", - "not-contains": "不包含", - "greater": "大于", - "less": "小于", - "greater-or-equal": "大于或等于", - "less-or-equal": "小于或等于", - "and": "和", - "or": "或", - "in": "存在", - "not-in": "不存在" - }, - "ignore-case": "忽略大小写", - "value": "数值", - "remove-filter": "删除筛选器", - "duplicate-filter-action": "重复过滤器", - "preview": "筛选器预览", - "no-filters": "未配置筛选器", - "add-filter": "添加筛选器", - "add-complex-filter": "添加复合筛选器", - "add-complex": "添加复合", - "complex-filter": "复合筛选器", - "edit-complex-filter": "编辑复合筛选器", - "edit-filter-user-params": "编辑筛选器谓词用户参数", - "filter-user-params": "过滤谓词用户参数", - "user-parameters": "用户参数", - "display-label": "要显示的标签", - "order-priority": "字段顺序优先级", - "key-filter": "键名筛选器", - "key-filters": "键名筛选器", - "key-name": "键名", - "key-name-required": "键名必填。", - "key-type": { - "key-type": "键类型", - "attribute": "属性", - "timeseries": "时间序列", - "entity-field": "实体", - "constant": "常量", - "client-attribute": "客户端属性", - "server-attribute": "服务端属性", - "shared-attribute": "共享属性" - }, - "value-type": { - "value-type": "值类型", - "string": "字符串", - "numeric": "数字", - "boolean": "布尔值", - "date-time": "日期时间" - }, - "value-type-required": "键值类型是必需的。", - "key-value-type-change-title": "确定要更改键值类型吗?", - "key-value-type-change-message": "如果您确认新的值类型,所有输入的键过滤器将被删除。", - "no-key-filters": "未配置键名筛选器", - "add-key-filter": "添加键名筛选器", - "remove-key-filter": "删除键名筛选器", - "edit-key-filter": "编辑键名筛选器", - "date": "日期", - "time": "时间", - "current-tenant": "当前租户", - "current-customer": "当前客户", - "current-user": "当前用户", - "current-device": "当前设备", - "default-value": "默认值", - "default-comma-separated-values": "默认用逗号分隔", - "dynamic-source-type": "动态源类型", - "dynamic-value": "动态值", - "no-dynamic-value": "无动态值", - "source-attribute": "源属性", - "switch-to-dynamic-value": "切换到动态值", - "switch-to-default-value": "切换到默认值", - "inherit-owner": "从所有者继承", - "source-attribute-not-set": "如果未设置源属性" - }, - "fullscreen": { - "expand": "展开到全屏", - "exit": "退出全屏", - "toggle": "切换全屏模式", - "fullscreen": "全屏" - }, - "function": { - "function": "函数" + "schedule-days": "天数", + "schedule-time": "时间", + "schedule-time-from": "从", + "schedule-time-to": "到", + "schedule-days-of-week-required": "至少应选择一个星期中的某天。", + "tbel": "TBEL", + "expression-type": { + "simple": "简单", + "script": "脚本" }, - "gateway": { - "gateway-name": "网关名称", - "gateway-name-required": "网关名称必填。", - "gateways": "网关", - "create-new-gateway": "创建网关", - "create-new-gateway-text": "确定要创建名为 '{{gatewayName}}' 的新网关?", - "launch-command": "启动命令", - "no-gateway-found": "未找到网关。", - "no-gateway-matching": "未找到 '{{item}}' 。" - }, - "grid": { - "delete-item-title": "确定要删除此项吗?", - "delete-item-text": "请注意,确认后,项目及其所有相关数据将不可恢复。", - "delete-items-title": "确定删除{ count, plural, =1 {1 项} other {# 项} }吗?", - "delete-items-action-title": "删除{ count, plural, =1 {1 个元素} other {# 个元素} }", - "delete-items-text": "请注意确认后所有选择的项目将被删除,所有相关数据将不可恢复。", - "add-item-text": "添加项目", - "no-items-text": "未找到项目", - "item-details": "项目详细信息", - "delete-item": "删除项目", - "delete-items": "删除项目", - "scroll-to-top": "滚动到顶部" - }, - "help": { - "goto-help-page": "查看帮助", - "show-help": "显示帮助" + "operation-type": { + "and": "与", + "or": "或" }, - "home": { - "home": "首页", - "profile": "属性", - "logout": "注销", - "menu": "菜单", - "avatar": "头像", - "open-user-menu": "打开用户菜单" - }, - "file-input": { - "browse-file": "浏览文件", - "browse-files": "浏览文件" - }, - "image": { - "gallery": "图像库", - "search": "搜索图像", - "selected-images": "已选择{ count, plural, =1 {1 个图像} other {# 个图像} }", - "created-time": "创建时间", - "name": "名称", - "name-required": "名称不能为空。", - "resolution": "分辨率", - "size": "尺寸", - "system": "系统", - "download-image": "下载图像", - "export-image": "导出图像为JSON", - "import-image": "从JSON导入图像", - "upload-image": "上传图像", - "edit-image": "编辑图像", - "image-details": "图像详情", - "no-images": "未找到图像", - "delete-image": "删除图像", - "delete-image-title": "确定要删除图像 '{{imageTitle}}' 吗?", - "delete-image-text": "请注意,确认后图像将无法恢复。", - "delete-images-title": "确定要删除{ count, plural, =1 {1 个图像} other {# 个图像} } 吗?", - "delete-images-text": "请注意,确认后所有选定的图像都将被删除,并且所有相关数据将无法恢复。", - "list-mode": "列表视图", - "grid-mode": "网格视图", - "image-preview": "图像预览", - "update-image": "更新图像", - "export-failed-error": "无法导出图像:{{error}}", - "image-json-file": "图像JSON文件", - "invalid-image-json-file-error": "无法从JSON导入图像:无效的图像JSON数据结构。", - "image-is-in-use": "图像被其他实体使用", - "images-are-in-use": "图像被其他实体使用", - "image-is-in-use-text": "无法删除图像'{{title}}',因为它被以下实体使用:", - "images-are-in-use-text": "由于图像被其他实体使用,无法删除所有图像。
您可以通过单击相应图像行上的引用按钮查看引用的实体。
如果仍然要删除这些图像,请在下方的表格中选择它们,然后点击删除所选按钮。", - "delete-image-in-use-text": "如果仍然要删除该图像,请点击无论如何删除按钮。", - "system-entities": "系统实体:", - "entities": "实体:", - "references": "引用", - "include-system-images": "包含系统图像", - "clear-image": "清除图像", - "no-image": "无图像", - "no-image-selected": "未选择图像", - "browse-from-gallery": "从图像库浏览", - "set-link": "设置链接", - "image-link": "图像链接", - "link": "链接", - "copy-image-link": "复制图像链接", - "embed-image": "嵌入图像", - "embed-to-html": "嵌入到HTML", - "embed-to-html-hint": "此功能将使链接对任何未经授权的用户可用。", - "embed-to-html-text": "使用以下代码片段,您可以将图像嵌入到基于纯HTML的组件中。
此类组件包括HTML卡片小部件、单元格内容函数等。", - "embed-to-angular-template": "嵌入到Angular HTML模板", - "embed-to-angular-template-text": "使用以下代码片段,您可以将图像嵌入到Angular HTML模板中。
此类组件包括Markdown小部件、小部件编辑器中的HTML部分、自定义操作等。" - }, - "image-input": { - "drop-images-or": "拖放一张或多张图片", - "drag-and-drop": "拖放", - "or": "或", - "browse": "浏览", - "no-images": "未选择任何图片", - "images": "图片" - }, - "import": { - "no-file": "没有选择文件", - "drop-file": "拖放一个JSON文件或者单击以选择要上传的文件。", - "drop-json-file-or": "拖放一个 JSON 文件或者", - "drop-file-csv": "拖放一个CSV文件或单击以选择要上载的文件。", - "drop-file-csv-or": "拖放一个 CSV 文件或者", - "column-value": "数值", - "column-title": "标题", - "column-example": "示例值数据", - "column-key": "属性/遥测键", - "credentials": "凭据", - "csv-delimiter": "CSV分隔符", - "csv-first-line-header": "第一行包含列名", - "csv-update-data": "更新属性/遥测", - "details": "详情", - "import-csv-number-columns-error": "一个文件至少应该包含两列", - "import-csv-invalid-format-error": "文件格式无效。行: '{{line}}'", - "column-type": { - "name": "名称", - "type": "类型", - "label": "标签", - "column-type": "列类型", - "client-attribute": "客户端属性", - "shared-attribute": "共享属性", - "server-attribute": "服务器属性", - "timeseries": "时间序列", - "entity-field": "实体字段", - "access-token": "访问令牌", - "x509": "X.509", - "mqtt": { - "client-id": "MQTT客户端ID", - "user-name": "MQTT用户名", - "password": "MQTT密码" - }, - "lwm2m": { - "client-endpoint": "客户端终节点名称", - "security-config-mode": "安全配置模式", - "client-identity": "客户标识", - "client-key": "客户端公钥", - "client-cert": "客户端证书", - "bootstrap-server-security-mode": "LwM2M bootstrap server安全模式", - "bootstrap-server-secret-key": "LwM2M bootstrap server密钥", - "bootstrap-server-public-key-id": "LwM2M bootstrap server公钥", - "lwm2m-server-security-mode": "LwM2M server安全模式", - "lwm2m-server-secret-key": "LwM2M server证书密钥", - "lwm2m-server-public-key-id": "LwM2M server公钥" - }, - "snmp": { - "host": "SNMP 主机地址", - "port": "SNMP 端口", - "version": "SNMP 版本 (例如:v1, v2c, 或 v3)", - "community-string": "SNMP 团体字符串" - }, - "isgateway": "是否网关", - "activity-time-from-gateway-device": "来自网关设备的活动时间", - "description": "说明", - "routing-key": "边缘键", - "secret": "边缘密钥" - }, - "stepper-text": { - "select-file": "选择一个文件", - "configuration": "导入配置", - "column-type": "选择列类型", - "creat-entities": "创建实体" - }, - "message": { - "create-entities": "{{count}} 个新实体已成功创建。", - "update-entities": "{{count}} 个实体已成功更新。", - "error-entities": "创建 {{count}} 个实体时出错。" - } + "filter-predicate-type": { + "string": "字符串", + "numeric": "数值", + "boolean": "布尔", + "complex": "复合" }, - "scada": { - "symbols": "组态库", - "search": "搜索组态图形", - "selected-symbols": "选中{ count, plural, =1 {1个图形} other {#个图形} }", - "download-symbol": "下载图形", - "export-symbol": "导出图形", - "import-symbol": "导入图形", - "upload-symbol": "上传图形", - "update-symbol": "更新图形", - "edit-symbol": "编辑图形", - "symbol-details": "图形详情", - "mode-svg": "SVG", - "mode-xml": "XML", - "no-symbols": "未找到图形", - "show-hidden-elements": "显示元素", - "hide-hidden-elements": "隐藏元素", - "delete-symbol": "删除图形", - "delete-symbol-title": "确定要删除'{{imageTitle}}'组态图形吗?", - "delete-symbol-text": "请注意在确认后组态图形将无法恢复。", - "delete-symbols-title": "确定要删除{ count, plural, =1 {1个图形} other {#个图形} }吗?", - "delete-symbols-text": "请注意在确认后所有选择的组态图形将被删除且相关数据将无法恢复。", - "include-system-symbols": "包含系统组态图形", - "symbol-preview": "图形预览", - "general": "常规", - "tags": "标签", - "properties": "属性", - "title": "标题", - "description": "描述", - "search-tags": "标签", - "widget-size": "尺寸", - "cols": "列", - "rows": "行", - "state-render-function": "函数", - "preview": "预览", - "preview-widget-action-text": "部件动作'{{type}}'调用成功!", - "no-symbol": "没有图形", - "no-symbol-selected": "没有选中图形。", - "clear-symbol": "清除图形缓存", - "browse-symbol-from-gallery": "查看图形库中的图形", - "zoom-in": "放大", - "zoom-out": "缩小", - "create-widget": "创建部件", - "create-widget-from-symbol": "根据图形创建部件", - "hidden": "隐藏", - "tag": { - "tag": "标签", - "on-click-action": "事件", - "no-tags": "没有配置标签", - "delete-tag-text": "您确定要从{{elementType}}元素删除{{tag}}标签吗?", - "update-tag": "更新标签", - "enter-tag": "确定标签", - "tag-settings": "标签设置", - "remove-tag": "移除标签", - "add-tag": "添加标签" - }, - "behavior": { - "behavior": "行为", - "id": "序号", - "name": "名称", - "type": "类型", - "no-behaviors": "无任何行为配置", - "add-behavior": "添加行为", - "type-action": "动作", - "type-value": "数值", - "type-widget-action": "部件动作", - "behavior-settings": "行为设置", - "remove-behavior": "移除行为", - "hint": "提示", - "group-title": "分组标题", - "value-type": "数据类型", - "default-value": "默认数据", - "true-label": "True标签", - "false-label": "False标签", - "state-label": "State标签", - "default-payload": "默认payload", - "not-unique-behavior-ids-error": "行为ID必须是唯一的!", - "default-settings": "默认设置" - }, - "symbol": { - "symbol": "图形", - "fluid-presence": "液体", - "fluid-presence-hint": "指示管道中是否显示液体。", - "fluid-present": "液体显示", - "present": "显示", - "absent": "隐藏", - "flow-presence": "流动", - "flow-presence-hint": "指示液体是否在管道中流动。", - "flow-present": "存在流动", - "flow-direction": "方向", - "flow-direction-hint": "指示液体流动方向。", - "forward": "向前", - "reverse": "向后", - "flow-animation-speed": "速度", - "flow-animation-speed-hint": "数值表示流动的动画速度:1正常速度 0无动画 <1动画较慢 >1动画较快。", - "leak": "裂纹", - "leak-hint": "指示管道是否存在裂纹。", - "leak-present": "裂纹存在", - "fluid-color": "液体颜色", - "pipe-color": "管道颜色", - "horizontal-pipe": "水平管", - "vertical-pipe": "垂直管", - "horizontal-fluid-color": "水平液体颜色", - "vertical-fluid-color": "垂直液体颜色", - "left-pipe": "左管", - "right-pipe": "右管", - "top-pipe": "顶管", - "bottom-pipe": "底管", - "left-fluid-color": "左液体颜色", - "right-fluid-color": "正常液体颜色", - "top-fluid-color": "顶液体颜色", - "bottom-fluid-color": "底液体颜色", - "display": "显示", - "value": "数值", - "units": "单位", - "flow-meter-value-hint": "在流量计上显示数值", - "value-hint": "浮点数表示当前值", - "running": "运行", - "running-hint": "指示组件是否处于运行状态。", - "warning-state": "警告状态", - "warning": "警告", - "warning-click": "警告点击", - "warning-state-hint": "指示组件是否处于警告状态。", - "critical-state": "严重状态", - "critical": "严重", - "critical-click": "严重状态点击", - "critical-state-hint": "指示组件是否处于严重状态。", - "critical-state-animation": "状态动画", - "critical-state-animation-hint": "当组件处于严重状态时显示闪烁动画。", - "warning-critical-state-animation": "警告/严重状态动画", - "warning-critical-state-animation-hint": "当组件处于警告或严重状态时,是否启用闪烁动画。", - "animation": "动画", - "broken": "裂纹", - "broken-hint": "指示组件是否存在裂纹。", - "on-display-click": "显示单击", - "on-display-click-hint": "当用户单击时请调用显示操作。", - "pipe": "管道", - "default-border-color": "默认边框颜色", - "active-border-color": "主动边框颜色", - "warning-border-color": "警告边框颜色", - "critical-border-color": "严重边框颜色", - "background-color": "背景颜色", - "rotation-animation-speed": "动画速度", - "rotation-animation-speed-hint": "数值表示旋转动画速度:1正常速度 0无动画 <1动画较慢 >1动画较快。", - "on-click": "单击", - "on-click-hint": "当用户单击组件时调用操作。", - "right-top-connector": "右上连接", - "right-bottom-connector": "右下连接", - "left-top-connector": "左上连接", - "left-bottom-connector": "左下连接", - "top-left-connector": "上左连接", - "top-right-connector": "右左连接", - "running-color": "运行颜色", - "stopped-color": "停止颜色", - "stopped": "已停止", - "warning-color": "警告颜色", - "critical-color": "严重颜色", - "opened": "已经打开", - "opened-hint": "指示组件是否处于打开状态。", - "open": "打开", - "open-hint": "当用户单击打开组件时请调用操作。", - "close": "关闭", - "close-hint": "当用户单击关闭组件时请调用操作。", - "close-state-animation": "关闭状态动画", - "close-state-animation-hint": "当组件处于关闭状态时启用闪烁动画。", - "opened-color": "打开时颜色", - "closed-color": "关闭时颜色", - "opened-rotation-angle": "打开角度", - "closed-rotation-angle": "关闭角度", - "tank-capacity": "容器容量", - "tank-capacity-hint": "双值表示总储罐容量。", - "current-volume": "当前容量", - "current-volume-hint": "双重值表示当前占用的体积。", - "tank-color": "容器颜色", - "value-box": "显示文本框", - "value-text": "单位", - "scale": "显示刻度", - "transparent-mode": "透明模式", - "major-ticks": "数值刻度", - "intervals": "间隔", - "major-ticks-color": "数值颜色", - "normal": "正常", - "minor-ticks": "线条刻度", - "minor-ticks-color": "线条颜色", - "temperature": "温度", - "temperature-hint": "表示当前温度。", - "update-temperature": "温度更新", - "update-temperature-hint": "当用户单击更改当前温度时调用动作。", - "run": "运行", - "run-hint": "当用户单击组件时调用运行操作。", - "stop": "停止", - "stop-hint": "当用户单击组件时调用停止操作。", - "temperature-step": "温度步长", - "heat-pump-color": "背景颜色", - "power-button-background": "按钮颜色", - "value-box-background": "文本框颜色", - "value-units": "显示单位", - "filtration-mode": "过滤模式", - "filtration-mode-hint": "指示当前的过滤模式。", - "filtration-mode-update": "状态更新", - "filtration-mode-update-hint": "当用户单击更改当前过滤模式时调用操作。", - "filter-mode": "过滤", - "waste-mode": "废弃", - "backwash-mode": "清洗", - "recirculate-mode": "循环", - "rinse-mode": "冲洗", - "closed-mode": "关闭", - "sand-filter-color": "沙滤器颜色", - "mode-box-background": "按钮颜色", - "border-color": "状态颜色", - "label-color": "文本颜色", - "water-leak-hint": "指示是否泄漏。", - "default-color": "默认颜色", - "leak-color": "泄漏颜色", - "full-value": "全部数值", - "full-value-hint": "表示全部数值。", - "label": "标签", - "icon": "图标", - "button-color": "按钮颜色", - "on-label": "'开启' 标签文本", - "off-label": "'关闭' 标签文本", - "arrow-presence": "箭头存在", - "arrow-presence-hint": "指示连接器中是否存在箭头。", - "arrow-present": "箭头存在", - "arrow-direction": "箭头方向", - "arrow-direction-hint": "指示流动方向。", - "main-line": "主线", - "line": "线", - "line-color": "线颜色", - "arrow-color": "箭头颜色", - "target-value": "目标值", - "target-value-hint": "指示刻度上的目标点。", - "min-max-value": "最小值和最大值", - "min-value": "最小值", - "max-value": "最大值", - "warning-scale-color": "警告刻度颜色", - "critical-scale-color": "关键刻度颜色", - "scale-color": "刻度颜色", - "target": "目标", - "high-warning-state": "高警告状态", - "show-high-warning-scale": "显示高警告刻度", - "high-warning-scale": "高警告刻度", - "high-warning-state-hint": "双重值表示高警告范围,直到高关键或最大值。", - "low-warning-state": "低警告状态", - "show-low-warning-scale": "显示低警告刻度", - "low-warning-scale": "低警告刻度", - "low-warning-state-hint": "双重值表示低警告范围,直到低关键或最小值。", - "high-critical-state": "高关键状态", - "show-high-critical-scale": "显示高关键刻度", - "high-critical-scale": "高关键刻度", - "high-critical-state-hint": "双重值表示高关键范围,直到最大值刻度。", - "low-critical-state": "低关键状态", - "show-low-critical-scale": "显示低关键刻度", - "low-critical-scale": "低关键刻度", - "low-critical-state-hint": "双重值表示低关键范围,直到最小值刻度。", - "filter-color": "滤色器颜色", - "colors": "颜色", - "alarm-colors": "警报颜色" - } + "alarm-rule-additional-info": "附加信息", + "edit-alarm-rule-additional-info": "编辑附加信息", + "alarm-rule-additional-info-placeholder": "请在此处提供您的备注和调整内容,以便在告警详情的附加信息中显示", + "alarm-rule-additional-info-hint": "提示:使用 ${参数名称} 替换告警规则条件中使用的参数值。", + "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": "您有未保存的更改。
确定要离开此页面吗?", + "title": "未保存的更改" + }, + "contact": { + "country": "国家", + "country-required": "国家为必填项。", + "country-object-required": "请从列表中选择有效的国家。", + "city": "城市", + "state": "州/省", + "postal-code": "邮政编码", + "postal-code-invalid": "邮政编码格式无效。", + "address": "地址", + "address2": "地址 2", + "phone": "电话", + "email": "Email", + "no-address": "无地址", + "no-country-found": "未找到国家。", + "no-country-matching": "未找到匹配“{{country}}”的国家。", + "state-max-length": "州/省长度应少于 256", + "phone-max-length": "电话号码应少于 256", + "city-max-length": "城市名称应少于 256" + }, + "common": { + "name": "名称", + "type": "类型", + "general": "通用", + "username": "用户名", + "password": "密码", + "data": "数据", + "timestamp": "时间戳", + "enter-username": "输入用户名", + "enter-password": "输入密码", + "enter-search": "输入搜索内容", + "created-time": "创建时间", + "disabled": "已禁用", + "loading": "加载中...", + "proceed": "继续", + "open-details-page": "打开详情页", + "not-found": "未找到", + "value": "值", + "documentation": "文档", + "time-left": "剩余 {{time}}", + "output": "输出", + "sort-asc": "升序", + "sort-desc": "降序", + "suffix": { + "s": "s", + "ms": "ms" + }, + "hint": { + "name-required": "名称为必填项。", + "name-pattern": "名称无效。", + "name-max-length": "名称应少于 256 个字符。", + "title-required": "标题为必填项。", + "title-pattern": "标题无效。", + "title-max-length": "标题应少于 256 个字符。", + "key-required": "键为必填项。", + "key-pattern": "键无效。", + "key-max-length": "键应少于 256 个字符。" + }, + "required-fields": "缺少必填字段" + }, + "content-type": { + "json": "Json", + "text": "文本", + "binary": "二进制 (Base64)" + }, + "color": { + "color": "颜色" + }, + "customer": { + "customer": "客户", + "customers": "客户", + "management": "客户管理", + "dashboard": "客户仪表板", + "dashboards": "客户仪表板", + "devices": "客户设备", + "entity-views": "客户实体视图", + "assets": "客户资产", + "public-dashboards": "公开仪表板", + "public-devices": "公开设备", + "public-assets": "公开资产", + "public-entity-views": "公开实体视图", + "add": "添加客户", + "delete": "删除客户", + "manage-customer-users": "管理客户用户", + "manage-customer-devices": "管理客户设备", + "manage-customer-dashboards": "管理客户仪表板", + "manage-public-devices": "管理公开设备", + "manage-public-dashboards": "管理公开仪表板", + "manage-customer-assets": "管理客户资产", + "manage-customer-edges": "管理客户 Edge", + "manage-public-assets": "管理公开资产", + "add-customer-text": "添加新客户", + "no-customers-text": "未找到客户", + "customer-details": "客户详情", + "delete-customer-title": "确定要删除客户“{{customerTitle}}”吗?", + "delete-customer-text": "请注意,确认后客户及所有相关数据将无法恢复。", + "delete-customers-title": "确定要删除{ count, plural, =1 {1 个客户} other {# 个客户} }吗?", + "delete-customers-action-title": "删除{ count, plural, =1 {1 个客户} other {# 个客户} }", + "delete-customers-text": "请注意,确认后所有选中的客户将被移除,所有相关数据将无法恢复。", + "manage-users": "管理用户", + "manage-assets": "管理资产", + "manage-devices": "管理设备", + "manage-dashboards": "管理仪表板", + "title": "标题", + "title-required": "标题为必填项。", + "title-max-length": "标题应少于 256", + "description": "描述", + "details": "详情", + "events": "事件", + "copyId": "复制客户 Id", + "idCopiedMessage": "客户 Id 已复制到剪贴板", + "select-customer": "选择客户", + "no-customers-matching": "未找到匹配“{{entity}}”的客户。", + "customer-required": "客户为必填项。", + "select-default-customer": "选择默认客户", + "default-customer": "默认客户", + "default-customer-required": "在租户级别调试仪表板时需要默认客户", + "search": "搜索客户", + "selected-customers": "已选择{ count, plural, =1 {1 个客户} other {# 个客户} }", + "edges": "客户 Edge 实例", + "manage-edges": "管理 Edge" + }, + "css-size": { + "size-value-required": "尺寸值为必填项", + "invalid-size-value": "尺寸值无效" + }, + "date": { + "last-update-n-ago": "上次更新于 N 前", + "last-update-n-ago-text": "上次更新于 {{ agoText }}", + "custom-date": "自定义日期", + "format": "格式", + "preview": "预览", + "auto": "自动", + "time-granularity-formats": "时间粒度格式", + "unit-year": "年", + "unit-month": "月", + "unit-day": "日", + "unit-hour": "小时", + "unit-minute": "分钟", + "unit-second": "秒", + "unit-millisecond": "毫秒" + }, + "datetime": { + "date-from": "起始日期", + "time-from": "起始时间", + "date-to": "结束日期", + "time-to": "结束时间", + "from": "从", + "to": "到" + }, + "dashboard": { + "dashboard": "仪表板", + "dashboards": "仪表板", + "management": "仪表板管理", + "view-dashboards": "查看仪表板", + "add": "添加仪表板", + "assign-dashboard-to-customer": "将仪表板分配给客户", + "assign-dashboard-to-customer-text": "请选择要分配给客户的仪表板", + "assign-to-customer-text": "请选择要分配仪表板的客户", + "assign-to-customer": "分配给客户", + "unassign-from-customer": "取消分配客户", + "make-public": "公开仪表板", + "make-private": "将仪表板设为私有", + "manage-assigned-customers": "管理已分配的客户", + "assigned-customers": "已分配的客户", + "assign-to-customers": "将仪表板分配给客户", + "assign-to-customers-text": "请选择要分配仪表板的客户", + "unassign-from-customers": "取消分配仪表板的客户", + "unassign-from-customers-text": "请选择要取消分配仪表板的客户", + "no-dashboards-text": "未找到仪表板", + "no-widgets": "未配置部件", + "add-widget": "添加新部件", + "add-widget-button-text": "添加部件", + "title": "标题", + "image": "仪表板图片", + "mobile-app-settings": "移动应用设置", + "mobile-order": "仪表板在移动应用中的排序", + "mobile-hide": "在移动应用中隐藏仪表板", + "update-image": "更新仪表板图片", + "update-new-version": "上传新版本", + "upload-file-to-update": "上传文件以更新", + "take-screenshot": "截图", + "select-widget-title": "选择部件", + "select-widget-value": "{{title}}:选择部件", + "select-widget-subtitle": "可用部件类型列表", + "delete": "删除仪表板", + "title-required": "标题为必填项。", + "title-max-length": "标题应少于 256", + "description": "描述", + "details": "详情", + "dashboard-details": "仪表板详情", + "add-dashboard-text": "添加新仪表板", + "assign-dashboards": "分配仪表板", + "assign-new-dashboard": "分配新仪表板", + "assign-dashboards-text": "将{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }分配给客户", + "unassign-dashboards-action-text": "取消分配客户的{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }", + "delete-dashboards": "删除仪表板", + "unassign-dashboards": "取消分配仪表板", + "unassign-dashboards-action-title": "取消分配客户的{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }", + "delete-dashboard-title": "确定要删除仪表板“{{dashboardTitle}}”吗?", + "delete-dashboard-text": "请注意,确认后仪表板及所有相关数据将无法恢复。", + "delete-dashboards-title": "确定要删除{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }吗?", + "delete-dashboards-action-title": "删除{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }", + "delete-dashboards-text": "请注意,确认后所有选中的仪表板将被移除,所有相关数据将无法恢复。", + "unassign-dashboard-title": "确定要取消分配仪表板“{{dashboardTitle}}”吗?", + "unassign-dashboard-text": "确认后仪表板将被取消分配,客户将无法访问。", + "unassign-dashboard": "取消分配仪表板", + "unassign-dashboards-title": "确定要取消分配{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }吗?", + "unassign-dashboards-text": "确认后所有选中的仪表板将被取消分配,客户将无法访问。", + "public-dashboard-title": "仪表板现已公开", + "public-dashboard-text": "您的仪表板{{dashboardTitle}}现已公开,可通过以下公开链接访问:", + "public-dashboard-notice": "注意:请勿忘记将相关设备设为公开以访问其数据。", + "make-private-dashboard-title": "确定要将仪表板“{{dashboardTitle}}”设为私有吗?", + "make-private-dashboard-text": "确认后仪表板将设为私有,其他人将无法访问。", + "make-private-dashboard": "将仪表板设为私有", + "socialshare-text": "“{{dashboardTitle}}”由 ThingsBoard 提供支持", + "socialshare-title": "“{{dashboardTitle}}”由 ThingsBoard 提供支持", + "select-dashboard": "选择仪表板", + "no-dashboards-matching": "未找到匹配“{{entity}}”的仪表板。", + "dashboard-required": "仪表板为必填项。", + "select-existing": "选择已有仪表板", + "create-new": "创建新仪表板", + "new-dashboard-title": "新仪表板标题", + "open-dashboard": "打开仪表板", + "set-background": "设置背景", + "background-color": "背景颜色", + "background-image": "背景图片", + "background-size-mode": "背景尺寸模式", + "no-image": "未选择图片", + "empty-image": "无图片", + "drop-image": "拖放图片或点击选择要上传的文件。", + "maximum-upload-file-size": "最大上传文件大小:{{ size }}", + "cannot-upload-file": "无法上传文件", + "settings": "设置", + "move-all-widgets": "移动所有部件", + "move-by": "移动", + "cols": "列", + "rows": "行", + "layout": "布局", + "layout-type-default": "默认", + "layout-type-scada": "SCADA", + "layout-type-divider": "分隔线", + "layout-settings-type": "布局设置:{{ type }} 断点", + "columns-count": "列数", + "columns-count-required": "列数为必填项。", + "min-columns-count-message": "最小列数只允许为 10。", + "max-columns-count-message": "最大列数只允许为 1000。", + "min-layout-width": "最小布局宽度", + "columns-suffix": "列", + "widgets-margins": "部件间距", + "margin-required": "间距值为必填项。", + "min-margin-message": "最小间距值只允许为 0。", + "max-margin-message": "最大间距值只允许为 50。", + "horizontal-margin": "水平间距", + "horizontal-margin-required": "水平间距值为必填项。", + "min-horizontal-margin-message": "最小水平间距值只允许为 0。", + "max-horizontal-margin-message": "最大水平间距值只允许为 50。", + "vertical-margin": "垂直间距", + "vertical-margin-required": "垂直间距值为必填项。", + "min-vertical-margin-message": "最小垂直间距值只允许为 0。", + "max-vertical-margin-message": "最大垂直间距值只允许为 50。", + "apply-outer-margin": "将间距应用到布局两侧", + "autofill-height": "自动填充布局高度", + "mobile-layout": "移动端布局设置", + "mobile-row-height": "移动端行高", + "mobile-row-height-required": "移动端行高值为必填项。", + "min-mobile-row-height-message": "移动端最小行高只允许为 5 像素。", + "max-mobile-row-height-message": "移动端最大行高只允许为 200 像素。", + "row-height": "行高", + "row-height-required": "行高值为必填项。", + "min-row-height-message": "最小行高只允许为 5 像素。", + "max-row-height-message": "最大行高只允许为 200 像素。", + "display-first-in-mobile-view": "在移动端视图中优先显示", + "title-settings": "标题设置", + "display-title": "显示仪表板标题", + "title-color": "标题颜色", + "toolbar-settings": "工具栏设置", + "hide-toolbar": "隐藏工具栏", + "toolbar-always-open": "保持工具栏展开", + "display-dashboards-selection": "显示仪表板选择", + "display-entities-selection": "显示实体选择", + "display-filters": "显示过滤器", + "display-dashboard-timewindow": "显示时间窗口", + "display-dashboard-export": "显示导出", + "display-update-dashboard-image": "显示更新仪表板图片", + "dashboard-logo-settings": "仪表板 Logo 设置", + "display-dashboard-logo": "在仪表板全屏模式下显示 Logo", + "dashboard-logo-image": "仪表板 Logo 图片", + "advanced-settings": "高级设置", + "dashboard-css": "仪表板 CSS", + "import": "导入仪表板", + "export": "导出仪表板", + "export-failed-error": "无法导出仪表板:{{error}}", + "export-prompt": "嵌入仪表板图片和资源", + "create-new-dashboard": "创建新仪表板", + "dashboard-file": "仪表板文件", + "invalid-dashboard-file-error": "无法导入仪表板:仪表板数据结构无效。", + "dashboard-import-missing-aliases-title": "配置导入仪表板使用的别名", + "create-new-widget": "创建新部件", + "import-widget": "导入部件", + "widget-file": "部件文件", + "invalid-widget-file-error": "无法导入部件:部件数据结构无效。", + "widget-import-missing-aliases-title": "配置导入部件使用的别名", + "open-toolbar": "打开仪表板工具栏", + "close-toolbar": "关闭工具栏", + "configuration-error": "配置错误", + "alias-resolution-error-title": "仪表板别名配置错误", + "invalid-aliases-config": "无法找到匹配某些别名过滤器的设备。
请联系管理员以解决此问题。", + "select-devices": "选择设备", + "assignedToCustomer": "已分配给客户", + "assignedToCustomers": "已分配给客户", + "public": "公开", + "copyId": "复制仪表板 Id", + "idCopiedMessage": "仪表板 Id 已复制到剪贴板", + "public-link": "公开链接", + "copy-public-link": "复制公开链接", + "public-link-copied-message": "仪表板公开链接已复制到剪贴板", + "manage-states": "管理仪表板状态", + "states": "仪表板状态", + "states-short": "状态", + "search-states": "搜索仪表板状态", + "selected-states": "已选择{ count, plural, =1 {1 个仪表板状态} other {# 个仪表板状态} }", + "edit-state": "编辑仪表板状态", + "delete-state": "删除仪表板状态", + "add-state": "添加仪表板状态", + "no-states-text": "未找到状态", + "state": "仪表板状态", + "state-name": "名称", + "state-name-required": "仪表板状态名称为必填项。", + "state-id": "状态 Id", + "state-id-required": "仪表板状态 Id 为必填项。", + "state-id-exists": "具有相同 Id 的仪表板状态已存在。", + "is-root-state": "根状态", + "delete-state-title": "删除仪表板状态", + "delete-state-text": "确定要删除名为“{{stateName}}”的仪表板状态吗?", + "show-details": "显示详情", + "hide-details": "隐藏详情", + "select-state": "选择目标状态", + "state-controller": "状态控制器", + "state-controller-default": "静态(已弃用)", + "search": "搜索仪表板", + "selected-dashboards": "已选择{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }", + "home-dashboard": "主页仪表板", + "home-dashboard-hide-toolbar": "隐藏主页仪表板工具栏", + "unassign-dashboard-from-edge-text": "确认后仪表板将被取消分配,Edge 将无法访问。", + "unassign-dashboards-from-edge-title": "确定要取消分配{ count, plural, =1 {1 个仪表板} other {# 个仪表板} }吗?", + "unassign-dashboards-from-edge-text": "确认后所有选中的仪表板将被取消分配,Edge 将无法访问。", + "assign-dashboard-to-edge": "将仪表板分配给 Edge", + "assign-dashboard-to-edge-text": "请选择要分配给 Edge 的仪表板", + "non-existent-dashboard-state-error": "未找到 Id 为\"{{ stateId }}\"的仪表板状态", + "edit-mode": "编辑模式", + "duplicate-state-action": "复制状态", + "breakpoint-value": "断点({{ value }})", + "breakpoints-id": { + "default": "默认", + "xs": "手机 (xs)", + "sm": "平板 (sm)", + "md": "笔记本 (md)", + "lg": "桌面 (lg)", + "xl": "桌面 (xl)" + }, + "view-format-type-grid": "网格", + "view-format-type-list": "列表", + "view-format": "视图格式" + }, + "datakey": { + "settings": "设置", + "general": "通用", + "advanced": "高级", + "key": "键", + "keys": "键", + "label": "标签", + "color": "颜色", + "units": "值旁显示的特殊符号", + "decimals": "小数点后位数", + "data-generation-func": "数据生成函数", + "use-data-post-processing-func": "使用数据后处理函数", + "configuration": "数据键配置", + "timeseries": "时间序列", + "attributes": "属性", + "entity-field": "实体字段", + "alarm": "告警字段", + "timeseries-required": "实体时间序列为必填项。", + "timeseries-or-attributes-required": "实体时间序列/属性为必填项。", + "alarm-fields-timeseries-or-attributes-required": "告警字段或实体时间序列/属性为必填项。", + "maximum-timeseries-or-attributes": "最多允许{ count, plural, =1 {1 个时间序列/属性。} other {# 个时间序列/属性} }", + "alarm-fields-required": "告警字段为必填项。", + "function-types": "函数类型", + "function-type": "函数类型", + "function-types-required": "函数类型为必填项。", + "data-keys": "数据键", + "data-key": "数据键", + "data-keys-required": "数据键为必填项。", + "data-key-required": "数据键为必填项。", + "alarm-keys": "告警数据键", + "alarm-key": "告警数据键", + "alarm-key-functions": "告警键函数", + "alarm-key-function": "告警键函数", + "latest-keys": "最新数据键", + "latest-key": "最新数据键", + "latest-key-functions": "最新键函数", + "latest-key-function": "最新键函数", + "timeseries-keys": "时间序列数据键", + "timeseries-key": "时间序列数据键", + "timeseries-key-functions": "时间序列键函数", + "timeseries-key-function": "时间序列键函数", + "maximum-function-types": "最多允许{ count, plural, =1 {1 个函数类型。} other {# 个函数类型} }", + "time-description": "当前值的时间戳;", + "value-description": "当前值;", + "prev-value-description": "上次函数调用的结果;", + "time-prev-description": "上一个值的时间戳;", + "prev-orig-value-description": "原始上一个值;", + "aggregation": "聚合", + "aggregation-type-hint-common": "出于性能考虑,聚合值计算仅适用于固定时间间隔(如“当天”、“当月”等),不适用于滑动窗口间隔(如“最近 30 分钟”或“最近 24 小时”)。", + "aggregation-type-none-hint": "取最新值。", + "aggregation-type-min-hint": "在选定时间窗口内的数据点中找到最小值。", + "aggregation-type-max-hint": "在选定时间窗口内的数据点中找到最大值。", + "aggregation-type-avg-hint": "计算选定时间窗口内数据点的平均值。", + "aggregation-type-sum-hint": "对选定时间窗口内所有数据点的值求和。", + "aggregation-type-count-hint": "选定时间窗口内数据点的总数。", + "delta-calculation": "增量计算", + "enable-delta-calculation": "启用增量计算", + "enable-delta-calculation-hint": "启用后,数据键的值将根据选定时间窗口和指定比较周期的聚合值进行计算。出于性能考虑,增量计算仅适用于历史时间窗口,不适用于实时值。例如,您可以计算昨天的能耗与前天的能耗之间的增量。", + "delta-calculation-result": "增量计算结果", + "delta-calculation-result-previous-value": "前一个值", + "delta-calculation-result-delta-absolute": "增量(绝对值)", + "delta-calculation-result-delta-percent": "增量(百分比)", + "source": "来源", + "latest": "最新", + "latest-value": "最新值", + "delta": "增量", + "percent": "百分比", + "absolute": "绝对值" + }, + "datasource": { + "type": "数据源类型", + "name": "名称", + "label": "标签", + "add-datasource-prompt": "请添加数据源" + }, + "details": { + "details": "详情", + "edit-mode": "编辑模式", + "edit-json": "编辑 JSON", + "toggle-edit-mode": "切换编辑模式" + }, + "device": { + "device": "设备", + "device-required": "设备为必填项。", + "devices": "设备", + "management": "设备管理", + "view-devices": "查看设备", + "device-alias": "设备别名", + "device-type-max-length": "设备类型应少于 256", + "aliases": "设备别名", + "no-alias-matching": "未找到“{{alias}}”。", + "no-aliases-found": "未找到别名。", + "no-key-matching": "未找到“{{key}}”。", + "no-keys-found": "未找到键。", + "create-new-alias": "创建新别名!", + "create-new-key": "创建新键!", + "duplicate-alias-error": "发现重复别名“{{alias}}”。
设备别名在仪表板内必须唯一。", + "configure-alias": "配置“{{alias}}”别名", + "no-devices-matching": "未找到匹配“{{entity}}”的设备。", + "alias": "别名", + "alias-required": "设备别名为必填项。", + "remove-alias": "移除设备别名", + "add-alias": "添加设备别名", + "name-starts-with": "设备名称表达式", + "help-text": "根据需要使用“%”:“%device_name_contains%”、“%device_name_ends”、“device_starts_with%”。", + "device-list": "设备列表", + "use-device-name-filter": "使用过滤器", + "device-list-empty": "未选择设备。", + "device-name-filter-required": "设备名称过滤器为必填项。", + "device-name-filter-no-device-matched": "未找到以“{{device}}”开头的设备。", + "add": "添加设备", + "assign-to-customer": "分配给客户", + "assign-device-to-customer": "将设备分配给客户", + "assign-device-to-customer-text": "请选择要分配给客户的设备", + "make-public": "公开设备", + "make-private": "将设备设为私有", + "no-devices-text": "未找到设备", + "assign-to-customer-text": "请选择要分配设备的客户", + "device-details": "设备详情", + "add-device-text": "添加新设备", + "credentials": "凭证", + "manage-credentials": "管理凭证", + "delete": "删除设备", + "assign-devices": "分配设备", + "assign-devices-text": "将{ count, plural, =1 {1 个设备} other {# 个设备} }分配给客户", + "delete-devices": "删除设备", + "unassign-from-customer": "取消分配客户", + "unassign-devices": "取消分配设备", + "unassign-devices-action-title": "取消分配客户的{ count, plural, =1 {1 个设备} other {# 个设备} }", + "unassign-device-from-edge-title": "确定要取消分配设备“{{deviceName}}”吗?", + "unassign-device-from-edge-text": "确认后设备将被取消分配,Edge 将无法访问。", + "unassign-devices-from-edge": "从 Edge 取消分配设备", + "assign-new-device": "分配新设备", + "make-public-device-title": "确定要将设备“{{deviceName}}”设为公开吗?", + "make-public-device-text": "确认后设备及其所有数据将设为公开,其他人可访问。", + "make-private-device-title": "确定要将设备“{{deviceName}}”设为私有吗?", + "make-private-device-text": "确认后设备及其所有数据将设为私有,其他人将无法访问。", + "view-credentials": "查看凭证", + "delete-device-title": "确定要删除设备“{{deviceName}}”吗?", + "delete-device-text": "请注意,确认后设备及所有相关数据将无法恢复。", + "delete-devices-title": "确定要删除{ count, plural, =1 {1 个设备} other {# 个设备} }吗?", + "delete-devices-action-title": "删除{ count, plural, =1 {1 个设备} other {# 个设备} }", + "delete-devices-text": "请注意,确认后所有选中的设备将被移除,所有相关数据将无法恢复。", + "unassign-device-title": "确定要取消分配设备“{{deviceName}}”吗?", + "unassign-device-text": "确认后设备将被取消分配,客户将无法访问。", + "unassign-device": "取消分配设备", + "unassign-devices-title": "确定要取消分配{ count, plural, =1 {1 个设备} other {# 个设备} }吗?", + "unassign-devices-text": "确认后所有选中的设备将被取消分配,客户将无法访问。", + "device-credentials": "设备凭证", + "loading-device-credentials": "正在加载设备凭证...", + "credentials-type": "凭证类型", + "access-token": "访问 Token", + "access-token-required": "访问 Token 为必填项。", + "access-token-invalid": "访问 Token 长度必须在 1 到 32 个字符之间。", + "certificate-pem-format": "PEM 格式证书", + "certificate-pem-format-required": "证书为必填项。", + "copy-access-token": "复制访问 Token", + "copy-certificate": "复制证书", + "copy-client-id": "复制 Client ID", + "copy-user-name": "复制用户名", + "copy-password": "复制密码", + "generate-client-id": "生成 Client ID", + "generate-user-name": "生成用户名", + "generate-password": "生成密码", + "generate-access-token": "生成访问 Token", + "lwm2m-security-config": { + "identity": "Client Identity", + "identity-required": "Client Identity 为必填项。", + "identity-tooltip": "PSK 标识符是最多 128 字节的任意 PSK 标识符,如标准 [RFC7925] 所述。\nPSK 标识符必须先转换为字符串,然后使用 UTF-8 编码为八位字节。", + "client-key": "Client Key", + "client-key-required": "Client Key 为必填项。", + "client-key-tooltip-prk": "RPK 公钥或 id 必须符合标准 [RFC7250] 并编码为 Base64 格式!", + "client-key-tooltip-psk": "PSK 密钥必须符合标准 [RFC4279] 且为 HexDec 格式:32、64、128 字符!", + "endpoint": "Endpoint Client Name", + "endpoint-required": "Endpoint Client Name 为必填项。", + "client-public-key": "客户端公钥", + "client-public-key-hint": "如果客户端公钥为空,将使用受信任的证书", + "client-public-key-tooltip": "X509 公钥必须为 DER 编码的 X509v3 格式,仅支持 EC 算法,然后编码为 Base64 格式!", + "mode": "安全配置模式", + "client-tab": "客户端安全配置", + "client-certificate": "客户端证书", + "bootstrap-tab": "Bootstrap 客户端", + "bootstrap-server": "Bootstrap 服务器", + "lwm2m-server": "LwM2M 服务器", + "client-reboot": "注册更新触发器", + "bootstrap-reboot": "Bootstrap 请求触发器", + "client-publicKey-or-id": "客户端公钥或 Id", + "client-publicKey-or-id-required": "客户端公钥或 Id 为必填项。", + "client-publicKey-or-id-tooltip-psk": "PSK 标识符是最多 128 字节的任意 PSK 标识符,如标准 [RFC7925] 所述。\nPSK 标识符必须先转换为字符串,然后使用 UTF-8 编码为八位字节。", + "client-publicKey-or-id-tooltip-rpk": "RPK 公钥或 id 必须符合标准 [RFC7250] 并编码为 Base64 格式!", + "client-publicKey-or-id-tooltip-x509": "X509 公钥必须为 DER 编码的 X509v3 格式,仅支持 EC 算法,然后编码为 Base64 格式", + "client-secret-key": "客户端密钥", + "client-secret-key-required": "客户端密钥为必填项。", + "client-secret-key-tooltip-psk": "PSK 密钥必须符合标准 [RFC4279] 且为 HexDec 格式:32、64、128 字符!", + "client-secret-key-tooltip-prk": "RPK 密钥必须为 PKCS_8 格式(DER 编码,标准 [RFC5958]),然后编码为 Base64 格式!", + "client-secret-key-tooltip-x509": "X509 密钥必须为 PKCS_8 格式(DER 编码,标准 [RFC5958]),然后编码为 Base64 格式!" + }, + "client-id": "Client ID", + "client-id-pattern": "包含无效字符。", + "user-name": "用户名", + "user-name-required": "用户名为必填项。", + "client-id-or-user-name-necessary": "Client ID 和/或用户名为必填项", + "password": "密码", + "secret": "密钥", + "secret-required": "密钥为必填项。", + "device-type": "设备配置", + "device-type-required": "设备类型为必填项。", + "select-device-type": "选择设备类型", + "enter-device-type": "输入设备配置", + "any-device": "任意设备", + "no-device-types-matching": "未找到匹配“{{entitySubtype}}”的设备配置。", + "device-type-list-empty": "未选择设备配置!", + "device-profile-type-list-empty": "至少应选择一个设备配置。", + "device-types": "设备类型", + "name": "名称", + "name-required": "名称为必填项。", + "name-max-length": "名称应少于 256", + "label-max-length": "标签应少于 256", + "description": "描述", + "label": "标签", + "events": "事件", + "details": "详情", + "copyId": "复制设备 Id", + "copyAccessToken": "复制访问 Token", + "copy-mqtt-authentication": "复制 MQTT 凭证", + "idCopiedMessage": "设备 Id 已复制到剪贴板", + "accessTokenCopiedMessage": "设备访问 Token 已复制到剪贴板", + "mqtt-authentication-copied-message": "设备 MQTT 认证信息已复制到剪贴板", + "assignedToCustomer": "已分配给客户", + "unable-delete-device-alias-title": "无法删除设备别名", + "unable-delete-device-alias-text": "设备别名“{{deviceAlias}}”无法删除,因为以下部件正在使用它:
{{widgetsList}}", + "is-gateway": "是否为 Gateway", + "overwrite-activity-time": "覆盖已连接设备的活动时间", + "device-filter-title": "设备过滤器", + "filter-title": "过滤器", + "device-state": "设备状态", + "state": "状态", + "any": "任意", + "active": "活跃", + "inactive": "不活跃", + "public": "公开", + "device-public": "设备已公开", + "select-device": "选择设备", + "import": "导入设备", + "device-file": "设备文件", + "search": "搜索设备", + "selected-devices": "已选择{ count, plural, =1 {1 个设备} other {# 个设备} }", + "device-configuration": "设备配置", + "transport-configuration": "传输配置", + "wizard": { + "device-details": "设备详情" + }, + "unassign-devices-from-edge-title": "确定要取消分配{ count, plural, =1 {1 个设备} other {# 个设备} }吗?", + "unassign-devices-from-edge-text": "确认后所有选中的设备将被取消分配,Edge 将无法访问。", + "time": "时间", + "connectivity": { + "check-connectivity": "检查连接", + "device-created-check-connectivity": "设备已创建。让我们检查连接!", + "loading-check-connectivity-command": "正在加载检查连接命令...", + "use-following-instructions": "使用以下说明通过 shell 代表设备发送遥测数据", + "execute-following-command": "执行以下命令", + "install-curl-windows": "从 Windows 10 b17063 开始,cURL 默认可用", + "install-curl-macos": "从 Mac OS X 10.2 6C115 (Jaguar) 开始,cURL 默认可用", + "install-mqtt-windows": "使用说明下载、安装、设置和运行 mosquitto_pub", + "install-coap-client": "使用说明下载、安装、设置和运行 coap-client", + "install-necessary-client-tools": "安装必要的客户端工具", + "mqtts-x509-command": "使用以下文档通过 MQTT 及 X509 授权连接设备", + "coaps-x509-command": "使用以下文档通过 CoAP over DTLS 及 X509 授权连接设备", + "snmp-command": "使用以下文档通过 SNMP 连接设备。", + "sparkplug-command": "使用以下文档通过 MQTT Sparkplug 连接设备。", + "lwm2m-command": "使用以下文档通过 LWM2M 连接设备。" + } + }, + "dynamic-form": { + "property": { + "properties": "属性", + "property": "属性", + "id": "Id", + "name": "名称", + "type": "类型", + "type-text": "文本", + "type-password": "密码", + "type-textarea": "文本区域", + "type-number": "数字", + "type-switch": "开关", + "type-select": "下拉选择", + "type-radios": "单选按钮", + "type-datetime": "日期/时间", + "type-image": "图片", + "type-javascript": "JavaScript", + "type-json": "JSON", + "type-html": "HTML", + "type-css": "CSS", + "type-markdown": "Markdown", + "type-color": "颜色", + "type-color-settings": "颜色设置", + "type-font": "字体", + "type-units": "单位", + "type-icon": "图标", + "type-fieldset": "字段集", + "type-array": "数组", + "type-html-section": "HTML 区段", + "group-title": "分组标题", + "no-properties": "未配置属性", + "add-property": "添加属性", + "property-settings": "属性设置", + "remove-property": "移除属性", + "default-value": "默认值", + "value-required": "值为必填项", + "number-settings": "数字设置", + "min": "最小值", + "max": "最大值", + "step": "步长", + "selected-options-limit": "已选选项限制", + "advanced-ui-settings": "高级 UI 设置", + "disable-on-property": "根据属性禁用", + "disable-on-property-none": "无(字段始终启用)", + "display-condition-function": "显示条件函数", + "sub-label": "子标签", + "vertical-divider-after": "之后的垂直分隔线", + "input-field-suffix": "输入字段后缀", + "property-row-classes": "属性行样式类", + "property-field-classes": "属性字段样式类", + "not-unique-property-ids-error": "属性 Id 必须唯一!", + "enable-multiple-select": "启用多选", + "allow-empty-select-option": "允许空选项", + "select-options": "选择选项", + "not-unique-select-option-value-error": "选择选项值必须唯一!", + "value": "值", + "label": "标签", + "add-option": "添加选项", + "no-options": "未配置选项", + "remove-option": "移除选项", + "textarea-rows": "文本区域行数", + "help-id": "帮助 Id", + "buttons-direction": "按钮方向", + "direction-row": "行", + "direction-column": "列", + "radio-button-options": "单选按钮选项", + "datetime-type": "日期/时间字段类型", + "datetime-type-date": "日期", + "datetime-type-time": "时间", + "datetime-type-datetime": "日期/时间", + "enable-clear-button": "启用清除按钮", + "html-section-settings": "HTML 区段设置", + "html-section-classes": "HTML 区段样式类", + "html-section-content": "HTML 区段内容", + "array-item": "数组项", + "item-type": "项类型", + "item-name": "项名称", + "no-items": "无项目", + "support-unit-conversion": "支持单位转换" }, - "item": { - "selected": "选择" - }, - "js-func": { - "no-return-error": "函数必须返回值!", - "return-type-mismatch": "函数必须返回'{{type}}'类型的值!", - "tidy": "整理", - "mini": "迷你", - "modules": "模块", - "remove-module": "移除模块", - "no-modules": "未配置模块", - "add-module": "添加模块", - "module-alias": "别名", - "module-resource": "JS模块资源", - "not-unique-module-aliases-error": "模块别名必须是唯一的!", - "show-module-info": "显示模块信息", - "show-module-source-code": "显示模块源代码", - "module-members": "模块成员", - "module-no-members": "模块没有导出的成员", - "module-load-error": "模块加载错误", - "source-code": "源代码", - "source-code-load-error": "源代码加载错误", - "no-js-module-text": "未找到JS模块", - "no-js-module-matching": "未找到与 '{{module}}' 匹配的JS模块" + "clear-form": "清除表单", + "clear-form-prompt": "确定要移除所有表单属性吗?", + "import-form": "从 JSON 导入表单", + "export-form": "将表单导出为 JSON", + "json-file": "JSON 文件", + "json-content": "JSON 内容", + "invalid-form-json-file-error": "无法从 JSON 导入表单:表单 JSON 数据结构无效。" + }, + "asset-profile": { + "asset-profile": "资产配置", + "asset-profiles": "资产配置", + "all-asset-profiles": "全部", + "add": "添加资产配置", + "edit": "编辑资产配置", + "asset-profile-details": "资产配置详情", + "no-asset-profiles-text": "未找到资产配置", + "search": "搜索资产配置", + "selected-asset-profiles": "已选择{ count, plural, =1 {1 个资产配置} other {# 个资产配置} }", + "no-asset-profiles-matching": "未找到匹配“{{entity}}”的资产配置。", + "asset-profile-required": "资产配置为必填项", + "idCopiedMessage": "资产配置 Id 已复制到剪贴板", + "set-default": "设为默认资产配置", + "delete": "删除资产配置", + "copyId": "复制资产配置 Id", + "name-max-length": "名称应少于 256", + "new-device-profile-name": "资产配置名称", + "new-device-profile-name-required": "资产配置名称为必填项。", + "name": "名称", + "name-required": "名称为必填项。", + "image": "资产配置图片", + "description": "描述", + "default": "默认", + "default-rule-chain": "默认规则链", + "default-edge-rule-chain": "默认 Edge 规则链", + "default-edge-rule-chain-hint": "在 Edge 上用作处理此资产配置资产传入数据的规则链", + "mobile-dashboard": "移动端仪表板", + "mobile-dashboard-hint": "移动应用程序用作资产详情仪表板", + "select-queue-hint": "从下拉列表中选择。", + "delete-asset-profile-title": "确定要删除资产配置“{{assetProfileName}}”吗?", + "delete-asset-profile-text": "请注意,确认后资产配置及所有相关数据将无法恢复。", + "delete-asset-profiles-title": "确定要删除{ count, plural, =1 {1 个资产配置} other {# 个资产配置} }吗?", + "delete-asset-profiles-text": "请注意,确认后所有选中的资产配置将被移除,所有相关数据将无法恢复。", + "set-default-asset-profile-title": "确定要将资产配置“{{assetProfileName}}”设为默认吗?", + "set-default-asset-profile-text": "确认后资产配置将被标记为默认,并用于未指定配置的新资产。", + "no-asset-profiles-found": "未找到资产配置。", + "create-new-asset-profile": "创建新资产配置!", + "create-asset-profile": "创建新资产配置", + "import": "导入资产配置", + "export": "导出资产配置", + "export-failed-error": "无法导出资产配置:{{error}}", + "asset-profile-file": "资产配置文件", + "invalid-asset-profile-file-error": "无法导入资产配置:资产配置数据结构无效。" + }, + "device-profile": { + "device-profile": "设备配置", + "device-profiles": "设备配置", + "all-device-profiles": "全部", + "add": "添加设备配置", + "edit": "编辑设备配置", + "device-profile-details": "设备配置详情", + "no-device-profiles-text": "未找到设备配置", + "search": "搜索设备配置", + "selected-device-profiles": "{ count, plural, =1 {1 个设备配置} other {# 个设备配置} }已选择", + "no-device-profiles-matching": "未找到与 '{{entity}}' 匹配的设备配置。", + "device-profile-required": "设备配置为必填项", + "idCopiedMessage": "设备配置 Id 已复制到剪贴板", + "set-default": "设为默认设备配置", + "delete": "删除设备配置", + "copyId": "复制设备配置 Id", + "name-max-length": "名称长度不能超过 256", + "name": "名称", + "name-required": "名称为必填项。", + "type": "配置类型", + "type-required": "配置类型为必填项。", + "type-default": "默认", + "image": "设备配置图片", + "transport-type": "传输类型", + "transport-type-required": "传输类型为必填项。", + "transport-type-default": "默认", + "transport-type-default-hint": "支持基本 MQTT、HTTP 和 CoAP 传输", + "transport-type-mqtt": "MQTT", + "transport-type-mqtt-hint": "启用高级 MQTT 传输设置", + "transport-type-coap": "CoAP", + "transport-type-coap-hint": "启用高级 CoAP 传输设置", + "transport-type-lwm2m": "LWM2M", + "transport-type-lwm2m-hint": "LWM2M 传输类型", + "transport-type-snmp": "SNMP", + "transport-type-snmp-hint": "指定 SNMP 传输配置", + "transport-type-http": "HTTP", + "description": "描述", + "default": "默认", + "profile-configuration": "配置设定", + "transport-configuration": "传输配置", + "default-rule-chain": "默认规则链", + "default-edge-rule-chain": "默认 Edge 规则链", + "default-edge-rule-chain-hint": "在 Edge 上用作规则链,处理此设备配置的设备传入数据", + "mobile-dashboard": "移动端仪表板", + "mobile-dashboard-hint": "移动应用使用此仪表板作为设备详情仪表板", + "select-queue-hint": "从下拉列表中选择。", + "delete-device-profile-title": "确定要删除设备配置 '{{deviceProfileName}}' 吗?", + "delete-device-profile-text": "请注意,确认后设备配置及所有相关数据(包括关联的 OTA 更新)将无法恢复。", + "delete-device-profiles-title": "确定要删除 { count, plural, =1 {1 个设备配置} other {# 个设备配置} } 吗?", + "delete-device-profiles-text": "请注意,确认后所有选中的设备配置将被移除,所有相关数据(包括关联的 OTA 更新)将无法恢复。", + "set-default-device-profile-title": "确定要将设备配置 '{{deviceProfileName}}' 设为默认吗?", + "set-default-device-profile-text": "确认后,该设备配置将被标记为默认,并将用于未指定配置的新设备。", + "no-device-profiles-found": "未找到设备配置。", + "create-new-device-profile": "创建新的设备配置!", + "mqtt-device-topic-filters": "MQTT 设备主题过滤器", + "mqtt-device-topic-filters-unique": "MQTT 设备主题过滤器必须唯一。", + "mqtt-device-topic-filters-spark-plug": "MQTT Sparkplug B Edge of Network (EoN) 节点。", + "mqtt-device-topic-filters-spark-plug-hint": "允许来自使用 Sparkplug B 负载和主题格式的 EoN 节点的连接。", + "mqtt-device-topic-filters-spark-plug-attribute-metric-names": "作为属性存储的 SparkPlug 指标。", + "mqtt-device-topic-filters-spark-plug-attribute-metric-names-hint": "将作为设备属性存储的 SparkPlug 指标名称。其他所有指标将作为设备遥测存储。", + "mqtt-device-payload-type": "MQTT 设备负载", + "mqtt-device-payload-type-json": "JSON", + "mqtt-device-payload-type-proto": "Protobuf", + "mqtt-enable-compatibility-with-json-payload-format": "启用与其他负载格式的兼容性。", + "mqtt-enable-compatibility-with-json-payload-format-hint": "启用后,平台将默认使用 Protobuf 负载格式。如果解析失败,平台将尝试使用 JSON 负载格式。适用于固件更新期间的向后兼容性。例如,初始版本的固件使用 Json,而新版本使用 Protobuf。在设备群的固件更新过程中,需要同时支持 Protobuf 和 JSON。兼容模式会引入轻微的性能下降,因此建议在所有设备更新完成后禁用此模式。", + "mqtt-use-json-format-for-default-downlink-topics": "对默认下行主题使用 Json 格式", + "mqtt-use-json-format-for-default-downlink-topics-hint": "启用后,平台将使用 Json 负载格式通过以下主题推送属性和 RPC:v1/devices/me/attributes/response/$request_idv1/devices/me/attributesv1/devices/me/rpc/request/$request_idv1/devices/me/rpc/response/$request_id。此设置不影响使用新 (v2) 主题发送的属性和 RPC 订阅:v2/a/res/$request_idv2/av2/r/req/$request_idv2/r/res/$request_id。其中 $request_id 是整数请求标识符。", + "mqtt-send-ack-on-validation-exception": "在 PUBLISH 消息验证失败时发送 PUBACK", + "mqtt-send-ack-on-validation-exception-hint": "默认情况下,平台在消息验证失败时将关闭 MQTT 会话。启用后,平台将发送发布确认而不是关闭会话。", + "mqtt-protocol-version": "协议版本", + "snmp-add-mapping": "添加 SNMP 映射", + "snmp-mapping-not-configured": "未配置 OID 到时间序列/遥测的映射", + "snmp-timseries-or-attribute-name": "映射的时间序列/属性名称", + "snmp-timseries-or-attribute-type": "映射的时间序列/属性类型", + "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": "负载类型为必填项。", + "coap-device-type": "CoAP 设备类型", + "coap-device-payload-type": "CoAP 设备负载", + "coap-device-type-required": "CoAP 设备类型为必填项。", + "coap-device-type-default": "默认", + "coap-device-type-efento": "Efento NB-IoT", + "support-level-wildcards": "支持单级 [+] 和多级 [#] 通配符。", + "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 的规则链的规则节点。

缺少的规则链列表:
{{missingRuleChains}}", + "widget-datasource-error": "此部件仅支持 Edge 实体数据源", + "upgrade-instructions": "升级说明", + "connected": "已连接", + "disconnected": "已断开" + }, + "edge-event": { + "type-dashboard": "仪表板", + "type-asset": "资产", + "type-device": "设备", + "type-device-profile": "设备配置", + "type-asset-profile": "资产配置", + "type-entity-view": "实体视图", + "type-alarm": "告警", + "type-rule-chain": "规则链", + "type-rule-chain-metadata": "规则链元数据", + "type-edge": "Edge", + "type-user": "用户", + "type-tenant": "租户", + "type-tenant-profile": "租户配置", + "type-customer": "客户", + "type-relation": "关联", + "type-widgets-bundle": "部件包", + "type-widgets-type": "部件类型", + "type-admin-settings": "管理员设置", + "type-ota-package": "OTA 软件包", + "type-queue": "队列", + "action-type-added": "已添加", + "action-type-deleted": "已删除", + "action-type-updated": "已更新", + "action-type-post-attributes": "发布属性", + "action-type-attributes-updated": "属性已更新", + "action-type-attributes-deleted": "属性已删除", + "action-type-timeseries-updated": "时间序列已更新", + "action-type-credentials-updated": "凭据已更新", + "action-type-assigned-to-customer": "已分配给客户", + "action-type-unassigned-from-customer": "已取消分配客户", + "action-type-relation-add-or-update": "关联添加或更新", + "action-type-relation-deleted": "关联已删除", + "action-type-rpc-call": "RPC 调用", + "action-type-alarm-ack": "告警确认", + "action-type-alarm-clear": "告警清除", + "action-type-alarm-assigned": "告警已分配", + "action-type-alarm-unassigned": "告警已取消分配", + "action-type-assigned-to-edge": "已分配到 Edge", + "action-type-unassigned-from-edge": "已取消分配 Edge", + "action-type-credentials-request": "凭据请求", + "action-type-entity-merge-request": "实体合并请求" + }, + "error": { + "unable-to-connect": "无法连接到服务器!请检查您的网络连接。", + "unhandled-error-code": "未处理的错误代码:{{errorCode}}", + "unknown-error": "未知错误" + }, + "entity": { + "entity": "实体", + "entities": "实体", + "entities-count": "实体数量", + "alarms-count": "告警数量", + "aliases": "实体别名", + "aliases-short": "别名", + "entity-alias": "实体别名", + "unable-delete-entity-alias-title": "无法删除实体别名", + "unable-delete-entity-alias-text": "实体别名 '{{entityAlias}}' 无法删除,因为它被以下部件使用:
{{widgetsList}}", + "duplicate-alias-error": "发现重复别名 '{{alias}}'。
实体别名在仪表板中必须唯一。", + "missing-entity-filter-error": "别名 '{{alias}}' 缺少过滤器。", + "configure-alias": "配置 '{{alias}}' 别名", + "alias": "别名", + "alias-required": "实体别名为必填项。", + "remove-alias": "移除实体别名", + "add-alias": "添加实体别名", + "edit-alias": "编辑实体别名", + "entity-list": "实体列表", + "entity-type": "实体类型", + "entity-types": "实体类型", + "entity-type-list": "实体类型列表", + "any-entity": "任意实体", + "add-entity-type": "添加实体类型", + "enter-entity-type": "输入实体类型", + "no-entities-matching": "未找到与 '{{entity}}' 匹配的实体。", + "no-entities-text": "未找到实体", + "no-entity-types-matching": "未找到与 '{{entityType}}' 匹配的实体类型。", + "name-starts-with": "名称表达式", + "help-text": "根据需要使用 '%':'%entity_name_contains%'、'%entity_name_ends'、'entity_starts_with%'。", + "use-entity-name-filter": "使用过滤器", + "entity-list-empty": "未选择实体。", + "entity-type-list-required": "至少应选择一种实体类型。", + "entity-name-filter-required": "实体名称过滤器为必填项。", + "entity-name-filter-no-entity-matched": "未找到以 '{{entity}}' 开头的实体。", + "all-subtypes": "全部", + "select-entities": "选择实体", + "no-aliases-found": "未找到别名。", + "no-alias-matching": "未找到 '{{alias}}'。", + "create-new-alias": "创建新别名!", + "create-new": "创建新的", + "key": "键", + "key-name": "键名称", + "no-keys-found": "未找到键。", + "no-key-matching": "未找到 '{{key}}'。", + "create-new-key": "创建新键!", + "type": "类型", + "type-required": "实体类型为必填项。", + "type-device": "设备", + "type-devices": "设备", + "list-of-devices": "{ count, plural, =1 {1 个设备} other {# 个设备列表} }", + "device-name-starts-with": "名称以 '{{prefix}}' 开头的设备", + "type-device-profile": "设备配置", + "type-device-profiles": "设备配置", + "clear-selected-profiles": "清除已选配置", + "list-of-device-profiles": "{ count, plural, =1 {1 个设备配置} other {# 个设备配置列表} }", + "device-profile-name-starts-with": "名称以 '{{prefix}}' 开头的设备配置", + "type-asset-profile": "资产配置", + "type-asset-profiles": "资产配置", + "list-of-asset-profiles": "{ count, plural, =1 {1 个资产配置} other {# 个资产配置列表} }", + "asset-profile-name-starts-with": "名称以 '{{prefix}}' 开头的资产配置", + "type-asset": "资产", + "type-assets": "资产", + "list-of-assets": "{ count, plural, =1 {1 个资产} other {# 个资产列表} }", + "asset-name-starts-with": "名称以 '{{prefix}}' 开头的资产", + "type-entity-view": "实体视图", + "type-entity-views": "实体视图", + "list-of-entity-views": "{ count, plural, =1 {1 个实体视图} other {# 个实体视图列表} }", + "entity-view-name-starts-with": "名称以 '{{prefix}}' 开头的实体视图", + "type-rule": "规则", + "type-rules": "规则", + "list-of-rules": "{ count, plural, =1 {1 条规则} other {# 条规则列表} }", + "rule-name-starts-with": "名称以 '{{prefix}}' 开头的规则", + "type-plugin": "插件", + "type-plugins": "插件", + "list-of-plugins": "{ count, plural, =1 {1 个插件} other {# 个插件列表} }", + "plugin-name-starts-with": "名称以 '{{prefix}}' 开头的插件", + "type-tenant": "租户", + "type-tenants": "租户", + "list-of-tenants": "{ count, plural, =1 {1 个租户} other {# 个租户列表} }", + "tenant-name-starts-with": "名称以 '{{prefix}}' 开头的租户", + "type-tenant-profile": "租户配置", + "type-tenant-profiles": "租户配置", + "list-of-tenant-profiles": "{ count, plural, =1 {1 个租户配置} other {# 个租户配置列表} }", + "tenant-profile-name-starts-with": "名称以 '{{prefix}}' 开头的租户配置", + "type-customer": "客户", + "type-customers": "客户", + "list-of-customers": "{ count, plural, =1 {1 个客户} other {# 个客户列表} }", + "customer-name-starts-with": "名称以 '{{prefix}}' 开头的客户", + "type-user": "用户", + "type-users": "用户", + "list-of-users": "{ count, plural, =1 {1 个用户} other {# 个用户列表} }", + "user-name-starts-with": "名称以 '{{prefix}}' 开头的用户", + "type-dashboard": "仪表板", + "type-dashboards": "仪表板", + "list-of-dashboards": "{ count, plural, =1 {1 个仪表板} other {# 个仪表板列表} }", + "dashboard-name-starts-with": "名称以 '{{prefix}}' 开头的仪表板", + "type-alarm": "告警", + "type-alarms": "告警", + "list-of-alarms": "{ count, plural, =1 {1 个告警} other {# 个告警列表} }", + "alarm-name-starts-with": "名称以 '{{prefix}}' 开头的告警", + "type-rulechain": "规则链", + "type-rulechains": "规则链", + "list-of-rulechains": "{ count, plural, =1 {1 条规则链} other {# 条规则链列表} }", + "rulechain-name-starts-with": "名称以 '{{prefix}}' 开头的规则链", + "type-rulenode": "规则节点", + "type-rulenodes": "规则节点", + "list-of-rulenodes": "{ count, plural, =1 {1 个规则节点} other {# 个规则节点列表} }", + "rulenode-name-starts-with": "名称以 '{{prefix}}' 开头的规则节点", + "type-api-key": "API 密钥", + "type-api-keys": "API 密钥", + "type-current-customer": "当前客户", + "type-current-tenant": "当前租户", + "type-current-user": "当前用户", + "type-current-user-owner": "当前用户所有者", + "type-calculated-field": "计算字段", + "type-calculated-fields": "计算字段", + "type-ai-model": "AI 模型", + "type-ai-models": "AI 模型", + "type-widgets-bundle": "部件包", + "type-widgets-bundles": "部件包", + "list-of-widgets-bundles": "{ count, plural, =1 {1 个部件包} other {# 个部件包列表} }", + "type-widget": "部件", + "type-widgets": "部件", + "list-of-widgets": "{ count, plural, =1 {1 个部件} other {# 个部件列表} }", + "search": "搜索实体", + "selected-entities": "{ count, plural, =1 {1 个实体} other {# 个实体} }已选择", + "entity-name": "实体名称", + "entity-label": "实体标签", + "details": "实体详情", + "no-entities-prompt": "未找到实体", + "no-data": "无数据可显示", + "show-all-columns": "显示全部", + "columns-to-display": "显示列", + "type-api-usage-state": "API 使用状态", + "type-edge": "Edge", + "type-edges": "Edge", + "list-of-edges": "{ count, plural, =1 {1 个 Edge} other {# 个 Edge 列表} }", + "edge-name-starts-with": "名称以 '{{prefix}}' 开头的 Edge", + "version-conflict": { + "message": "您要覆盖现有版本还是放弃更改并加载最新版本?", + "link": "您可以使用此链接下载您的 {{entityType}} 版本", + "overwrite": "覆盖版本", + "discard": "放弃更改" + }, + "type-tb-resource": "资源", + "type-tb-resources": "资源", + "list-of-tb-resources": "{ count, plural, =1 {1 个资源} other {# 个资源列表} }", + "type-ota-package": "OTA 软件包", + "type-ota-packages": "OTA 软件包", + "list-of-ota-packages": "{ count, plural, =1 {1 个 OTA 软件包} other {# 个 OTA 软件包列表} }", + "type-rpc": "RPC", + "type-queue": "队列", + "type-queue-stats": "队列统计", + "type-queues-stats": "队列统计", + "type-notification": "通知", + "type-notification-rule": "通知规则", + "type-notification-rules": "通知规则", + "list-of-notification-rules": "{ count, plural, =1 {1 个通知规则} other {# 个通知规则列表} }", + "type-notification-target": "通知接收者", + "type-notification-targets": "通知接收者", + "list-of-notification-targets": "{ count, plural, =1 {1 个通知接收者} other {# 个通知接收者列表} }", + "type-notification-request": "通知请求", + "type-notification-template": "通知模板", + "type-notification-templates": "通知模板", + "list-of-notification-templates": "{ count, plural, =1 {1 个通知模板} other {# 个通知模板列表} }", + "link": "链接", + "type-oauth2-client": "OAuth 2.0 客户端", + "type-oauth2-clients": "OAuth 2.0 客户端", + "list-of-oauth2-clients": "{ count, plural, =1 {1 个 OAuth 2.0 客户端} other {# 个 OAuth 2.0 客户端列表} }", + "type-domain": "域名", + "type-domains": "域名", + "list-of-domains": "{ count, plural, =1 {1 个域名} other {# 个域名列表} }", + "type-mobile-app": "移动应用", + "type-mobile-apps": "移动应用", + "list-of-mobile-apps": "{ count, plural, =1 {1 个移动应用} other {# 个移动应用列表} }", + "type-mobile-app-bundle": "移动包", + "type-mobile-app-bundles": "移动包", + "list-of-mobile-app-bundles": "{ count, plural, =1 {1 个移动包} other {# 个移动包列表} }", + "limit-reached": "已达上限", + "limit-reached-text": "您已达到 {{ entities }} 的上限。要添加更多,请联系系统管理员增加您的 {{ entity }} 上限。", + "request-limit-increase": "请求增加上限", + "request-sysadmin-text": "您是系统管理员吗?", + "login-here": "在此登录", + "to-increase-limit": "以增加上限。", + "increase-limit-request-sent-title": "我们已向您的系统管理员发送了自动请求以增加上限", + "increase-limit-request-sent-text": "请等待他们审核请求并更新设置。您可能需要刷新此页面以查看更改。" + }, + "entity-field": { + "created-time": "创建时间", + "name": "名称", + "type": "类型", + "first-name": "名", + "last-name": "姓", + "email": "Email", + "title": "标题", + "country": "国家", + "state": "省/州", + "city": "城市", + "address": "地址", + "address2": "地址 2", + "zip": "邮编", + "phone": "电话", + "label": "标签", + "queue-name": "队列名称", + "service-id": "服务 Id", + "owner-name": "所有者名称", + "owner-type": "所有者类型" + }, + "entity-view": { + "entity-view": "实体视图", + "entity-view-required": "实体视图为必填项。", + "entity-views": "实体视图", + "management": "实体视图管理", + "view-entity-views": "查看实体视图", + "entity-view-alias": "实体视图别名", + "aliases": "实体视图别名", + "no-alias-matching": "未找到 '{{alias}}'。", + "no-aliases-found": "未找到别名。", + "no-key-matching": "未找到 '{{key}}'。", + "no-keys-found": "未找到键。", + "create-new-alias": "创建新别名!", + "create-new-key": "创建新键!", + "duplicate-alias-error": "发现重复别名 '{{alias}}'。
实体视图别名在仪表板中必须唯一。", + "configure-alias": "配置 '{{alias}}' 别名", + "no-entity-views-matching": "未找到与 '{{entity}}' 匹配的实体视图。", + "public": "公开", + "alias": "别名", + "alias-required": "实体视图别名为必填项。", + "remove-alias": "移除实体视图别名", + "add-alias": "添加实体视图别名", + "name-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": "未选择实体视图。", + "entity-view-name-filter-required": "实体视图名称过滤器为必填项。", + "entity-view-name-filter-no-entity-view-matched": "未找到以 '{{entityView}}' 开头的实体视图。", + "add": "添加实体视图", + "entity-view-public": "实体视图为公开", + "assign-to-customer": "分配给客户", + "assign-entity-view-to-customer": "将实体视图分配给客户", + "assign-entity-view-to-customer-text": "请选择要分配给客户的实体视图", + "no-entity-views-text": "未找到实体视图", + "assign-to-customer-text": "请选择要分配实体视图的客户", + "entity-view-details": "实体视图详情", + "add-entity-view-text": "添加新实体视图", + "delete": "删除实体视图", + "assign-entity-views": "分配实体视图", + "assign-entity-views-text": "将 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 分配给客户", + "delete-entity-views": "删除实体视图", + "make-public": "将实体视图设为公开", + "make-private": "将实体视图设为私有", + "unassign-from-customer": "取消分配客户", + "unassign-entity-views": "取消分配实体视图", + "unassign-entity-views-action-title": "取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} }", + "assign-new-entity-view": "分配新实体视图", + "delete-entity-view-title": "确定要删除实体视图 '{{entityViewName}}' 吗?", + "delete-entity-view-text": "请注意,确认后实体视图及所有相关数据将无法恢复。", + "delete-entity-views-title": "确定要删除 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?", + "delete-entity-views-action-title": "删除 { count, plural, =1 {1 个实体视图} other {# 个实体视图} }", + "delete-entity-views-text": "请注意,确认后所有选中的实体视图将被移除,所有相关数据将无法恢复。", + "make-public-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为公开吗?", + "make-public-entity-view-text": "确认后,实体视图及其所有数据将设为公开并可被其他人访问。", + "make-private-entity-view-title": "确定要将实体视图 '{{entityViewName}}' 设为私有吗?", + "make-private-entity-view-text": "确认后,实体视图及其所有数据将设为私有,其他人将无法访问。", + "unassign-entity-view-title": "确定要取消分配实体视图 '{{entityViewName}}' 吗?", + "unassign-entity-view-text": "确认后,实体视图将被取消分配,客户将无法访问。", + "unassign-entity-view": "取消分配实体视图", + "unassign-entity-views-title": "确定要取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?", + "unassign-entity-views-text": "确认后,所有选中的实体视图将被取消分配,客户将无法访问。", + "entity-view-type": "实体视图类型", + "entity-view-type-required": "实体视图类型为必填项。", + "select-entity-view-type": "选择实体视图类型", + "enter-entity-view-type": "输入实体视图类型", + "any-entity-view": "任意实体视图", + "no-entity-view-types-matching": "未找到与 '{{entitySubtype}}' 匹配的实体视图类型。", + "entity-view-type-list-empty": "未选择实体视图类型。", + "entity-view-types": "实体视图类型", + "created-time": "创建时间", + "name": "名称", + "name-required": "名称为必填项。", + "name-max-length": "名称长度不能超过 256", + "type-max-length": "实体视图类型长度不能超过 256", + "description": "描述", + "events": "事件", + "details": "详情", + "copyId": "复制实体视图 Id", + "idCopiedMessage": "实体视图 Id 已复制到剪贴板", + "assignedToCustomer": "已分配给客户", + "unable-entity-view-device-alias-title": "无法删除实体视图别名", + "unable-entity-view-device-alias-text": "设备别名 '{{entityViewAlias}}' 无法删除,因为它被以下部件使用:
{{widgetsList}}", + "select-entity-view": "选择实体视图", + "start-ts": "开始时间", + "end-ts": "结束时间", + "date-limits": "日期限制", + "client-attributes": "客户端属性", + "shared-attributes": "共享属性", + "server-attributes": "服务端属性", + "timeseries": "时间序列", + "client-attributes-placeholder": "客户端属性", + "shared-attributes-placeholder": "共享属性", + "server-attributes-placeholder": "服务端属性", + "timeseries-placeholder": "时间序列", + "target-entity": "目标实体", + "attributes-propagation": "属性传播", + "attributes-propagation-hint": "实体视图将在每次保存或更新此实体视图时自动从目标实体复制指定的属性。出于性能考虑,每次属性更改时不会自动将目标实体属性传播到实体视图。您可以通过在规则链中配置“copy to view”规则节点并将“Post attributes”和“Attributes Updated”消息链接到新规则节点来启用自动传播。", + "timeseries-data": "时间序列数据", + "timeseries-data-hint": "配置实体视图可访问的目标实体时间序列数据键。此时间序列数据为只读。", + "search": "搜索实体视图", + "selected-entity-views": "{ count, plural, =1 {1 个实体视图} other {# 个实体视图} }已选择", + "assign-entity-view-to-edge": "将实体视图分配到 Edge", + "assign-entity-view-to-edge-text": "请选择要分配到 Edge 的实体视图", + "unassign-entity-view-from-edge-title": "确定要取消分配实体视图 '{{entityViewName}}' 吗?", + "unassign-entity-view-from-edge-text": "确认后,实体视图将被取消分配,Edge 将无法访问。", + "unassign-entity-views-from-edge-action-title": "取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} }", + "unassign-entity-view-from-edge": "取消分配实体视图", + "unassign-entity-views-from-edge-title": "确定要取消分配 { count, plural, =1 {1 个实体视图} other {# 个实体视图} } 吗?", + "unassign-entity-views-from-edge-text": "确认后,所有选中的实体视图将被取消分配,Edge 将无法访问。" + }, + "event": { + "event-type": "事件类型", + "events-filter": "事件过滤器", + "clean-events": "清除事件", + "type-error": "错误", + "type-lc-event": "生命周期事件", + "type-stats": "统计", + "type-debug-rule-node": "调试", + "type-debug-rule-chain": "调试", + "type-debug-calculated-field": "调试", + "arguments": "参数", + "result": "结果", + "no-events-prompt": "未找到事件", + "error": "错误", + "alarm": "告警", + "event-time": "事件时间", + "server": "服务器", + "body": "消息体", + "method": "方法", + "type": "类型", + "metadata": "元数据", + "message": "消息", + "message-id": "消息 Id", + "copy-message-id": "复制消息 Id", + "message-type": "消息类型", + "data-type": "数据类型", + "relation-type": "关联类型", + "data": "数据", + "event": "事件", + "status": "状态", + "success": "成功", + "failed": "失败", + "messages-processed": "已处理消息数", + "max-messages-processed": "最大已处理消息数", + "min-messages-processed": "最小已处理消息数", + "errors-occurred": "发生的错误数", + "max-errors-occurred": "最大错误数", + "min-errors-occurred": "最小错误数", + "min-value": "最小值为 0。", + "all-events": "全部", + "has-error": "有错误", + "entity-id": "实体 Id", + "copy-entity-id": "复制实体 Id", + "entity-type": "实体类型", + "clear-filter": "清除过滤器", + "clear-request-title": "清除所有事件", + "clear-request-text": "确定要清除所有事件吗?", + "started": "已启动", + "updated": "已更新", + "stopped": "已停止" + }, + "extension": { + "extensions": "扩展", + "selected-extensions": "{ count, plural, =1 {1 个扩展} other {# 个扩展} }已选择", + "type": "类型", + "key": "键", + "value": "值", + "id": "Id", + "extension-id": "扩展 Id", + "extension-type": "扩展类型", + "transformer-json": "JSON *", + "unique-id-required": "当前扩展 Id 已存在。", + "delete": "删除扩展", + "add": "添加扩展", + "edit": "编辑扩展", + "delete-extension-title": "确定要删除扩展 '{{extensionId}}' 吗?", + "delete-extension-text": "请注意,确认后扩展及所有相关数据将无法恢复。", + "delete-extensions-title": "确定要删除 { count, plural, =1 {1 个扩展} other {# 个扩展} } 吗?", + "delete-extensions-text": "请注意,确认后所有选中的扩展将被移除。", + "converters": "转换器", + "converter-id": "转换器 Id", + "configuration": "配置", + "converter-configurations": "转换器配置", + "token": "安全 Token", + "add-converter": "添加转换器", + "add-config": "添加转换器配置", + "device-name-expression": "设备名称表达式", + "device-type-expression": "设备类型表达式", + "custom": "自定义", + "to-double": "转为 Double", + "transformer": "转换器", + "json-required": "转换器 JSON 为必填项。", + "json-parse": "无法解析转换器 JSON。", + "attributes": "属性", + "add-attribute": "添加属性", + "add-map": "添加映射元素", + "timeseries": "时间序列", + "add-timeseries": "添加时间序列", + "field-required": "字段为必填项", + "brokers": "代理", + "add-broker": "添加代理", + "host": "主机", + "port": "端口", + "port-range": "端口应在 1 到 65535 的范围内。", + "ssl": "SSL", + "credentials": "凭据", + "username": "用户名", + "password": "密码", + "retry-interval": "重试间隔(毫秒)", + "anonymous": "匿名", + "basic": "基本", + "pem": "PEM", + "ca-cert": "CA 证书文件 *", + "private-key": "私钥文件 *", + "cert": "证书文件 *", + "no-file": "未选择文件。", + "drop-file": "拖放文件或点击选择要上传的文件。", + "mapping": "映射", + "topic-filter": "主题过滤器", + "converter-type": "转换器类型", + "converter-json": "Json", + "json-name-expression": "设备名称 JSON 表达式", + "topic-name-expression": "设备名称主题表达式", + "json-type-expression": "设备类型 JSON 表达式", + "topic-type-expression": "设备类型主题表达式", + "attribute-key-expression": "属性键表达式", + "attr-json-key-expression": "属性键 JSON 表达式", + "attr-topic-key-expression": "属性键主题表达式", + "request-id-expression": "请求 ID 表达式", + "request-id-json-expression": "请求 ID JSON 表达式", + "request-id-topic-expression": "请求 ID 主题表达式", + "response-topic-expression": "响应主题表达式", + "value-expression": "值表达式", + "topic": "主题", + "timeout": "超时(毫秒)", + "converter-json-required": "转换器 JSON 为必填项。", + "converter-json-parse": "无法解析转换器 JSON。", + "filter-expression": "过滤器表达式", + "connect-requests": "连接请求", + "add-connect-request": "添加连接请求", + "disconnect-requests": "断开连接请求", + "add-disconnect-request": "添加断开连接请求", + "attribute-requests": "属性请求", + "add-attribute-request": "添加属性请求", + "attribute-updates": "属性更新", + "add-attribute-update": "添加属性更新", + "server-side-rpc": "服务端 RPC", + "add-server-side-rpc-request": "添加服务端 RPC 请求", + "device-name-filter": "设备名称过滤器", + "attribute-filter": "属性过滤器", + "method-filter": "方法过滤器", + "request-topic-expression": "请求主题表达式", + "response-timeout": "响应超时(毫秒)", + "topic-expression": "主题表达式", + "client-scope": "客户端范围", + "add-device": "添加设备", + "opc-server": "服务器", + "opc-add-server": "添加服务器", + "opc-add-server-prompt": "请添加服务器", + "opc-application-name": "应用名称", + "opc-application-uri": "应用 URI", + "opc-scan-period-in-seconds": "扫描周期(秒)", + "opc-security": "安全", + "opc-identity": "身份", + "opc-keystore": "密钥库", + "opc-type": "类型", + "opc-keystore-type": "类型", + "opc-keystore-location": "位置 *", + "opc-keystore-password": "密码", + "opc-keystore-alias": "别名", + "opc-keystore-key-password": "密钥密码", + "opc-device-node-pattern": "设备节点模式", + "opc-device-name-pattern": "设备名称模式", + "modbus-server": "服务器/从机", + "modbus-add-server": "添加服务器/从机", + "modbus-add-server-prompt": "请添加服务器/从机", + "modbus-transport": "传输", + "modbus-tcp-reconnect": "自动重连", + "modbus-rtu-over-tcp": "RTU over TCP", + "modbus-port-name": "串口名称", + "modbus-encoding": "编码", + "modbus-parity": "校验", + "modbus-baudrate": "波特率", + "modbus-databits": "数据位", + "modbus-stopbits": "停止位", + "modbus-databits-range": "数据位应在 7 到 8 的范围内。", + "modbus-stopbits-range": "停止位应在 1 到 2 的范围内。", + "modbus-unit-id": "Unit ID", + "modbus-unit-id-range": "Unit ID 应在 1 到 247 的范围内。", + "modbus-device-name": "设备名称", + "modbus-poll-period": "轮询周期(毫秒)", + "modbus-attributes-poll-period": "属性轮询周期(毫秒)", + "modbus-timeseries-poll-period": "时间序列轮询周期(毫秒)", + "modbus-poll-period-range": "轮询周期应为正数值。", + "modbus-tag": "标签", + "modbus-function": "功能", + "modbus-register-address": "寄存器地址", + "modbus-register-address-range": "寄存器地址应在 0 到 65535 的范围内。", + "modbus-register-bit-index": "位索引", + "modbus-register-bit-index-range": "位索引应在 0 到 15 的范围内。", + "modbus-register-count": "寄存器数量", + "modbus-register-count-range": "寄存器数量应为正数值。", + "modbus-byte-order": "字节序", + "sync": { + "status": "状态", + "sync": "已同步", + "not-sync": "未同步", + "last-sync-time": "最后同步时间", + "not-available": "不可用" + }, + "export-extensions-configuration": "导出扩展配置", + "import-extensions-configuration": "导入扩展配置", + "import-extensions": "导入扩展", + "import-extension": "导入扩展", + "export-extension": "导出扩展", + "file": "扩展文件", + "invalid-file-error": "无效的扩展文件" + }, + "feature": { + "advanced-features": "高级功能" + }, + "filter": { + "add": "添加过滤器", + "edit": "编辑过滤器", + "name": "过滤器名称", + "name-required": "过滤器名称为必填项。", + "duplicate-filter": "已存在同名过滤器。", + "filters": "过滤器", + "unable-delete-filter-title": "无法删除过滤器", + "unable-delete-filter-text": "过滤器“{{filter}}”无法删除,因为它被以下部件使用:
{{widgetsList}}", + "duplicate-filter-error": "发现重复过滤器“{{filter}}”。
过滤器在仪表板中必须唯一。", + "missing-key-filters-error": "过滤器“{{filter}}”缺少键过滤器。", + "filter": "过滤器", + "editable": "可编辑", + "editable-hint": "允许用户在仪表板中更改过滤器值。", + "no-filters-found": "未找到过滤器。", + "no-filter-text": "未指定过滤器", + "add-filter-prompt": "请添加过滤器", + "no-filter-matching": "未找到“{{filter}}”。", + "create-new-filter": "创建新过滤器!", + "create-new": "创建", + "filter-required": "过滤器为必填项。", + "operation": { + "operation": "操作", + "equal": "等于", + "not-equal": "不等于", + "starts-with": "以…开头", + "ends-with": "以…结尾", + "contains": "包含", + "not-contains": "不包含", + "greater": "大于", + "less": "小于", + "greater-or-equal": "大于或等于", + "less-or-equal": "小于或等于", + "and": "且", + "or": "或", + "in": "在…中", + "not-in": "不在…中" + }, + "ignore-case": "忽略大小写", + "value": "值", + "remove-filter": "移除过滤器", + "duplicate-filter-action": "复制过滤器", + "preview": "过滤器预览", + "no-filters": "未配置过滤器", + "add-filter": "添加过滤器", + "add-complex-filter": "添加复合过滤器", + "add-complex": "添加复合", + "complex-filter": "复合过滤器", + "edit-complex-filter": "编辑复合过滤器", + "edit-filter-user-params": "编辑过滤器谓词用户参数", + "filter-user-params": "过滤器谓词用户参数", + "user-parameters": "用户参数", + "display-label": "显示标签", + "custom-label": "自定义标签", + "custom-label-hint": "启用后可设置自定义过滤器标签。禁用时将自动生成标签。", + "order-priority": "显示顺序", + "key-filter": "键过滤器", + "key-filters": "键过滤器", + "key-name": "键名称", + "key-name-required": "键名称为必填项。", + "key-type": { + "key-type": "键类型", + "attribute": "属性", + "timeseries": "时间序列", + "entity-field": "实体字段", + "constant": "常量", + "client-attribute": "客户端属性", + "server-attribute": "服务端属性", + "shared-attribute": "共享属性" + }, + "value-type": { + "value-type": "值类型", + "string": "字符串", + "numeric": "数值", + "boolean": "布尔值", + "date-time": "日期时间" + }, + "value-type-required": "键值类型为必填项。", + "key-value-type-change-title": "确定要更改键值类型吗?", + "key-value-type-change-message": "如果确认新值类型,所有已输入的键过滤器将被移除。", + "no-key-filters": "未配置键过滤器", + "add-key-filter": "添加键过滤器", + "remove-key-filter": "移除键过滤器", + "edit-key-filter": "编辑键过滤器", + "date": "日期", + "time": "时间", + "current-tenant": "当前租户", + "current-customer": "当前客户", + "current-user": "当前用户", + "current-device": "当前设备", + "default-value": "默认值", + "default-comma-separated-values": "默认逗号分隔值", + "dynamic-source-type": "动态源类型", + "dynamic-value": "动态值", + "no-dynamic-value": "无动态值", + "source-attribute": "源属性", + "switch-to-dynamic-value": "切换到动态值", + "switch-to-default-value": "切换到默认值", + "inherit-owner": "从所有者继承", + "source-attribute-not-set": "如果源属性未设置", + "unit": "单位" + }, + "fullscreen": { + "expand": "展开为全屏", + "exit": "退出全屏", + "toggle": "切换全屏模式", + "fullscreen": "全屏" + }, + "function": { + "function": "函数" + }, + "gateway": { + "gateway-name": "Gateway 名称", + "gateway-name-required": "Gateway 名称为必填项。", + "gateways": "Gateways", + "create-new-gateway": "创建新 Gateway", + "create-new-gateway-text": "确定要创建名为“{{gatewayName}}”的新 Gateway 吗?", + "launch-command": "启动命令", + "no-gateway-found": "未找到 Gateway。", + "no-gateway-matching": " 未找到“{{item}}”。" + }, + "grid": { + "delete-item-title": "确定要删除此项目吗?", + "delete-item-text": "请注意,确认后此项目及所有相关数据将无法恢复。", + "delete-items-title": "确定要删除 { count, plural, =1 {1 个项目} other {# 个项目} } 吗?", + "delete-items-action-title": "删除 { count, plural, =1 {1 个项目} other {# 个项目} }", + "delete-items-text": "请注意,确认后所有选中的项目将被移除,且所有相关数据将无法恢复。", + "add-item-text": "添加新项目", + "no-items-text": "未找到项目", + "item-details": "项目详情", + "delete-item": "删除项目", + "delete-items": "删除项目", + "scroll-to-top": "滚动到顶部" + }, + "help": { + "goto-help-page": "前往帮助页面", + "show-help": "显示帮助" + }, + "home": { + "home": "首页", + "profile": "个人资料", + "logout": "退出登录", + "menu": "菜单", + "avatar": "头像", + "open-user-menu": "打开用户菜单" + }, + "file-input": { + "browse-file": "浏览文件", + "browse-files": "浏览文件" + }, + "image": { + "gallery": "图片库", + "search": "搜索图片", + "selected-images": "已选择 { count, plural, =1 {1 张图片} other {# 张图片} }", + "created-time": "创建时间", + "name": "名称", + "name-required": "名称为必填项。", + "resolution": "分辨率", + "size": "大小", + "system": "系统", + "download-image": "下载图片", + "export-image": "导出图片为 JSON", + "import-image": "从 JSON 导入图片", + "upload-image": "上传图片", + "edit-image": "编辑图片", + "image-details": "图片详情", + "no-images": "未找到图片", + "delete-image": "删除图片", + "delete-image-title": "确定要删除图片“{{imageTitle}}”吗?", + "delete-image-text": "请注意,确认后图片将无法恢复。", + "delete-images-title": "确定要删除 { count, plural, =1 {1 张图片} other {# 张图片} } 吗?", + "delete-images-text": "请注意,确认后所有选中的图片将被移除,且所有相关数据将无法恢复。", + "list-mode": "列表视图", + "grid-mode": "网格视图", + "image-preview": "图片预览", + "update-image": "更新图片", + "export-failed-error": "无法导出图片:{{error}}", + "image-json-file": "图片 JSON 文件", + "invalid-image-json-file-error": "无法从 JSON 导入图片:无效的图片 JSON 数据结构。", + "image-is-in-use": "图片被其他实体使用", + "images-are-in-use": "图片被其他实体使用", + "image-is-in-use-text": "图片 “{{title}}” 未被删除,因为它被以下实体使用:", + "images-are-in-use-text": "并非所有图片都已删除,因为它们被其他实体使用。
您可以通过点击对应图片行中的 引用 按钮查看引用实体。
如果仍要删除这些图片,请在下表中选中它们并点击 删除选中 按钮。", + "delete-image-in-use-text": "如果仍要删除该图片,请点击 仍然删除 按钮。", + "system-entities": "系统实体:", + "entities": "实体:", + "references": "引用", + "include-system-images": "包含系统图片", + "clear-image": "清除图片", + "no-image": "无图片", + "no-image-selected": "未选择图片", + "browse-from-gallery": "从图片库浏览", + "set-link": "设置链接", + "image-link": "图片链接", + "link": "链接", + "copy-image-link": "复制图片链接", + "embed-image": "嵌入图片", + "embed-to-html": "嵌入到 HTML", + "embed-to-html-hint": "此功能将使链接对任何未授权用户可用。", + "embed-to-html-text": "使用以下代码片段,您可以将图片嵌入到基于纯 HTML 的组件中。
此类组件包括 HTML 卡片部件、单元格内容函数等。", + "embed-to-angular-template": "嵌入到 Angular HTML 模板", + "embed-to-angular-template-text": "使用以下代码片段,您可以将图片嵌入到用于组件的 Angular HTML 模板中。
此类组件包括 Markdown 部件、部件编辑器中的 HTML 部分、自定义操作等。" + }, + "image-input": { + "drop-images-or": "拖放图片或", + "drag-and-drop": "拖放", + "or": "或", + "browse": "浏览", + "no-images": "未选择图片", + "images": "图片" + }, + "import": { + "no-file": "未选择文件", + "drop-file": "拖放 JSON 文件或点击选择要上传的文件。", + "drop-json-file-or": "拖放 JSON 文件或", + "drop-file-csv": "拖放 CSV 文件或点击选择要上传的文件。", + "drop-file-csv-or": "拖放 CSV 文件或", + "column-value": "值", + "column-title": "标题", + "column-example": "示例值数据", + "column-key": "属性/遥测键", + "credentials": "凭证", + "csv-delimiter": "CSV 分隔符", + "csv-first-line-header": "第一行包含列名", + "csv-update-data": "更新属性/遥测", + "details": "详情", + "import-csv-number-columns-error": "文件应至少包含两列", + "import-csv-invalid-format-error": "无效的文件格式。行:'{{line}}'", + "column-type": { + "name": "名称", + "type": "类型", + "label": "标签", + "column-type": "列类型", + "client-attribute": "客户端属性", + "shared-attribute": "共享属性", + "server-attribute": "服务端属性", + "timeseries": "时间序列", + "entity-field": "实体字段", + "access-token": "访问 Token", + "x509": "X.509", + "mqtt": { + "client-id": "MQTT Client ID", + "user-name": "MQTT 用户名", + "password": "MQTT 密码" + }, + "lwm2m": { + "client-endpoint": "LwM2M endpoint 客户端名称", + "security-config-mode": "LwM2M 安全配置模式", + "client-identity": "LwM2M 客户端标识", + "client-key": "LwM2M 客户端密钥", + "client-cert": "LwM2M 客户端公钥", + "bootstrap-server-security-mode": "LwM2M 引导服务器安全模式", + "bootstrap-server-secret-key": "LwM2M 引导服务器密钥", + "bootstrap-server-public-key-id": "LwM2M 引导服务器公钥或 ID", + "lwm2m-server-security-mode": "LwM2M 服务器安全模式", + "lwm2m-server-secret-key": "LwM2M 服务器密钥", + "lwm2m-server-public-key-id": "LwM2M 服务器公钥或 ID" + }, + "snmp": { + "host": "SNMP 主机", + "port": "SNMP 端口", + "version": "SNMP 版本(v1、v2c 或 v3)", + "community-string": "SNMP 团体字符串" + }, + "isgateway": "是否为 Gateway", + "activity-time-from-gateway-device": "来自 Gateway 设备的活动时间", + "description": "描述", + "routing-key": "Edge 密钥", + "secret": "Edge 密钥" + }, + "stepper-text": { + "select-file": "选择文件", + "configuration": "导入配置", + "column-type": "选择列类型", + "creat-entities": "创建新实体" + }, + "message": { + "create-entities": "已成功创建 {{count}} 个新实体。", + "update-entities": "已成功更新 {{count}} 个实体。", + "error-entities": "创建 {{count}} 个实体时出错。" + } + }, + "scada": { + "symbols": "SCADA 符号", + "search": "搜索符号", + "selected-symbols": "已选择 { count, plural, =1 {1 个符号} other {# 个符号} }", + "download-symbol": "下载 SCADA 符号", + "export-symbol": "导出 SCADA 符号为 JSON", + "import-symbol": "从 JSON 导入 SCADA 符号", + "upload-symbol": "上传 SCADA 符号", + "update-symbol": "更新 SCADA 符号", + "edit-symbol": "编辑 SCADA 符号", + "symbol-details": "SCADA 符号详情", + "mode-svg": "SVG", + "mode-xml": "XML", + "no-symbols": "未找到符号", + "show-hidden-elements": "显示隐藏元素", + "hide-hidden-elements": "隐藏隐藏元素", + "delete-symbol": "删除 SCADA 符号", + "delete-symbol-title": "确定要删除 SCADA 符号“{{imageTitle}}”吗?", + "delete-symbol-text": "请注意,确认后 SCADA 符号将无法恢复。", + "delete-symbols-title": "确定要删除 { count, plural, =1 {1 个 SCADA 符号} other {# 个 SCADA 符号} } 吗?", + "delete-symbols-text": "请注意,确认后所有选中的 SCADA 符号将被移除,且所有相关数据将无法恢复。", + "include-system-symbols": "包含系统符号", + "symbol-preview": "符号预览", + "general": "通用", + "tags": "标签", + "properties": "属性", + "title": "标题", + "description": "描述", + "search-tags": "搜索标签", + "widget-size": "部件大小", + "cols": "列", + "rows": "行", + "state-render-function": "状态渲染函数", + "preview": "预览", + "preview-widget-action-text": "部件操作“{{type}}”已成功调用!", + "no-symbol": "无 SCADA 符号", + "no-symbol-selected": "未选择 SCADA 符号", + "clear-symbol": "清除 SCADA 符号", + "browse-symbol-from-gallery": "从图库浏览 SCADA 符号", + "zoom-in": "放大", + "zoom-out": "缩小", + "create-widget": "创建部件", + "create-widget-from-symbol": "从 SCADA 符号创建部件", + "hidden": "隐藏", + "tag": { + "tag": "标签", + "on-click-action": "点击操作", + "no-tags": "未配置标签", + "delete-tag-text": "确定要从 {{elementType}} 元素中删除标签
{{tag}} 吗?", + "update-tag": "更新标签", + "enter-tag": "输入标签", + "tag-settings": "标签设置", + "remove-tag": "移除标签", + "add-tag": "添加标签" + }, + "behavior": { + "behavior": "行为", + "id": "ID", + "name": "名称", + "type": "类型", + "no-behaviors": "未配置行为", + "add-behavior": "添加行为", + "type-action": "操作", + "type-value": "值", + "type-widget-action": "部件操作", + "behavior-settings": "行为设置", + "remove-behavior": "移除行为", + "hint": "提示", + "group-title": "分组标题", + "value-type": "值类型", + "default-value": "默认值", + "true-label": "True 标签", + "false-label": "False 标签", + "state-label": "状态标签", + "default-payload": "默认有效载荷", + "not-unique-behavior-ids-error": "行为 ID 必须唯一!", + "default-settings": "默认设置" + }, + "symbol": { + "symbol": "SCADA 符号", + "fluid-presence": "流体存在", + "fluid-presence-hint": "指示管道中是否存在流体。", + "fluid-present": "流体存在", + "present": "存在", + "absent": "不存在", + "flow-presence": "流动存在", + "flow-presence-hint": "指示管道中流体是否在流动。", + "flow-present": "流动存在", + "flow-direction": "流动方向", + "flow-direction-hint": "指示流体流动方向。", + "forward": "正向", + "reverse": "反向", + "flow-animation-speed": "流动动画速度", + "flow-animation-speed-hint": "表示流动动画速度的双精度值。1 - 正常速度,0 - 无动画,< 1 - 较慢动画,> 1 - 较快动画。", + "leak": "泄漏", + "leak-hint": "指示管道中是否存在泄漏。", + "leak-present": "存在泄漏", + "fluid-color": "流体颜色", + "pipe-color": "管道颜色", + "horizontal-pipe": "水平管道", + "vertical-pipe": "垂直管道", + "horizontal-fluid-color": "水平流体颜色", + "vertical-fluid-color": "垂直流体颜色", + "left-pipe": "左侧管道", + "right-pipe": "右侧管道", + "top-pipe": "顶部管道", + "bottom-pipe": "底部管道", + "left-fluid-color": "左侧流体颜色", + "right-fluid-color": "右侧流体颜色", + "top-fluid-color": "顶部流体颜色", + "bottom-fluid-color": "底部流体颜色", + "display": "显示", + "display-format": "显示格式", + "value": "值", + "decimals": "小数位数", + "units": "单位", + "flow-meter-value-hint": "流量计显示屏上显示的双精度值", + "value-hint": "表示当前值的双精度值", + "running": "运行中", + "running-hint": "指示组件是否处于运行状态。", + "warning-state": "警告状态", + "warning": "警告", + "warning-click": "警告点击", + "warning-state-hint": "指示组件是否处于警告状态。", + "critical-state": "严重状态", + "critical": "严重", + "critical-click": "严重点击", + "critical-state-hint": "指示组件是否处于严重状态。", + "critical-state-animation": "严重状态动画", + "critical-state-animation-hint": "是否在组件处于严重状态时启用闪烁动画。", + "warning-critical-state-animation": "警告/严重状态动画", + "warning-critical-state-animation-hint": "是否在组件处于警告或严重状态时启用闪烁动画。", + "animation": "动画", + "broken": "损坏", + "broken-hint": "指示组件是否已损坏。", + "on-display-click": "点击显示", + "on-display-click-hint": "用户点击显示时调用的操作。", + "pipe": "管道", + "default-border-color": "默认边框颜色", + "active-border-color": "活跃边框颜色", + "warning-border-color": "警告边框颜色", + "critical-border-color": "严重边框颜色", + "background-color": "背景颜色", + "rotation-animation-speed": "旋转动画速度", + "rotation-animation-speed-hint": "表示旋转动画速度的双精度值。1 - 正常速度,0 - 无动画,< 1 - 较慢动画,> 1 - 较快动画。", + "on-click": "点击", + "on-click-hint": "用户点击组件时调用的操作。", + "connectors-positions": "连接器位置", + "right-connector": "右侧连接器", + "right-top-connector": "右上连接器", + "right-bottom-connector": "右下连接器", + "left-connector": "左侧连接器", + "left-top-connector": "左上连接器", + "left-bottom-connector": "左下连接器", + "top-left-connector": "左上连接器", + "top-right-connector": "右上连接器", + "top-connector": "顶部连接器", + "bottom-connector": "底部连接器", + "running-color": "运行颜色", + "stopped-color": "停止颜色", + "stopped": "已停止", + "warning-color": "警告颜色", + "critical-color": "严重颜色", + "opened": "已打开", + "opened-hint": "指示组件是否处于打开状态。", + "open": "打开", + "open-hint": "用户点击打开组件时调用的操作。", + "close": "关闭", + "close-hint": "用户点击关闭组件时调用的操作。", + "close-state-animation": "关闭状态动画", + "close-state-animation-hint": "是否在组件处于关闭状态时启用闪烁动画。", + "opened-color": "打开颜色", + "closed-color": "关闭颜色", + "opened-rotation-angle": "打开旋转角度", + "closed-rotation-angle": "关闭旋转角度", + "tank-capacity": "储罐容量", + "tank-capacity-hint": "表示储罐总容量的双精度值。", + "current-volume": "当前容积", + "current-volume-hint": "表示当前已占用容积的双精度值。", + "tank-color": "储罐颜色", + "value-box": "值框", + "value-text": "值文本", + "scale": "刻度", + "transparent-mode": "透明模式", + "major-ticks": "主刻度", + "intervals": "间隔", + "major-ticks-color": "主刻度颜色", + "normal": "正常", + "minor-ticks": "次刻度", + "minor-ticks-color": "次刻度颜色", + "temperature": "温度", + "temperature-hint": "表示当前温度的双精度值。", + "update-temperature": "更新温度", + "update-temperature-hint": "用户点击更改当前温度时调用的操作。", + "run": "运行", + "run-hint": "用户点击运行组件时调用的操作。", + "stop": "停止", + "stop-hint": "用户点击停止组件时调用的操作。", + "temperature-step": "温度步进增量", + "heat-pump-color": "热泵颜色", + "power-button-background": "电源按钮背景", + "value-box-background": "值框背景", + "value-units": "值单位", + "enable-units-scale": "在刻度上启用单位", + "filtration-mode": "过滤模式", + "filtration-mode-hint": "表示当前过滤模式的整数值。", + "filtration-mode-update": "过滤模式更新状态", + "filtration-mode-update-hint": "用户点击更改当前过滤模式时调用的操作。", + "filter-mode": "过滤", + "waste-mode": "排废", + "backwash-mode": "反冲洗", + "recirculate-mode": "循环", + "rinse-mode": "冲洗", + "closed-mode": "关闭", + "sand-filter-color": "砂滤器颜色", + "mode-box-background": "模式框背景", + "border-color": "边框颜色", + "label-color": "标签颜色", + "water-leak-hint": "指示是否存在泄漏。", + "default-color": "默认颜色", + "leak-color": "泄漏颜色", + "full-value": "满值", + "full-value-hint": "表示满值的双精度值。", + "label": "标签", + "icon": "图标", + "button-color": "按钮颜色", + "on-label": "“开”标签文本", + "off-label": "“关”标签文本", + "arrow-presence": "箭头存在", + "arrow-presence-hint": "指示连接器中是否存在箭头。", + "arrow-present": "箭头存在", + "arrow-direction": "流动方向", + "arrow-direction-hint": "指示流动方向。", + "flow-animation": "流动存在", + "flow-animation-hint": "指示连接器中流体是否在流动。", + "flow": "流动", + "flow-line": "线条", + "flow-line-style": "线条样式", + "flow-style-hint": "设置虚线和间隔值,使其总和可被 100 整除,以实现完美的动画同步。", + "flow-dash-cap": "虚线端点", + "dash-cap-butt": "平头", + "dash-cap-round": "圆头", + "dash-cap-square": "方头", + "dash": "虚线", + "gap": "间隔", + "main-line": "主线条", + "line": "线条", + "line-color": "线条颜色", + "arrow-color": "箭头颜色", + "target-value": "目标值", + "target-value-hint": "指示刻度上的目标点。", + "min-max-value": "最小值和最大值", + "min-value": "最小值", + "max-value": "最大值", + "progress-bar": "进度条", + "progress-arrow": "进度箭头", + "warning-scale-color": "警告刻度颜色", + "critical-scale-color": "严重刻度颜色", + "scale-color": "刻度颜色", + "target": "目标", + "high-warning-state": "高警告状态", + "show-high-warning-scale": "显示高警告刻度", + "high-warning-scale": "高警告刻度", + "high-warning-state-hint": "表示从高警告范围到高严重或最大值的双精度值。", + "low-warning-state": "低警告状态", + "show-low-warning-scale": "显示低警告刻度", + "low-warning-scale": "低警告刻度", + "low-warning-state-hint": "表示从低警告范围到低严重或最小值的双精度值。", + "high-critical-state": "高严重状态", + "show-high-critical-scale": "显示高严重刻度", + "high-critical-scale": "高严重刻度", + "high-critical-state-hint": "表示从高严重范围到最大刻度值的双精度值。", + "low-critical-state": "低严重状态", + "show-low-critical-scale": "显示低严重状态", + "low-critical-scale": "低严重状态", + "low-critical-state-hint": "表示从低严重范围到最小刻度值的双精度值。", + "filter-color": "过滤器颜色", + "colors": "颜色", + "indicator-colors": "指示器颜色", + "enabled": "已启用", + "disabled": "已禁用", + "on": "开", + "off": "关", + "on-off-state": "开/关状态", + "on-off-state-hint": "指示组件是处于开还是关状态。", + "on-update-state": "开更新状态", + "on-update-state-hint": "用户点击将状态更新为开时调用的操作。", + "off-update-state": "关更新状态", + "off-update-state-hint": "用户点击将状态更新为关时调用的操作。", + "voltage": "电压", + "input-voltage": "输入电压", + "input-voltage-hint": "表示输入电压值的双精度值。", + "output-voltage": "输出电压", + "output-voltage-hint": "表示输出电压值的双精度值。", + "first-phase-voltage": "第一相电压", + "second-phase-voltage": "第二相电压", + "third-phase-voltage": "第三相电压", + "phase-voltage-hint": "表示当前相电压值的双精度值", + "voltage-hint": "表示当前电压的双精度值", + "current-voltage-color": "当前电压颜色", + "phase-indicator-color": "相位指示器颜色", + "measured": "测量值", + "measured-hint": "表示千瓦时能耗的双精度值", + "day-rate": "日间费率", + "night-rate": "夜间费率", + "off-peak-rate": "低谷费率", + "peak-rate": "高峰费率", + "export-rate": "输出费率", + "operating-mode": "运行模式", + "bypass-mode": "旁路", + "operating-mode-hint": "表示当前运行模式的整数值(0 - 关,1 - 开,2 - 旁路)", + "connected": "已连接", + "connected-hint": "指示组件是否处于已连接状态。", + "disconnected": "已断开", + "indicator": "指示器", + "operation-mode": "运行模式", + "operation-mode-hint": "指示逆变器处于市电还是逆变器模式。", + "operation-mode-indicators-color": "运行模式指示器颜色", + "mains-on-mode": "市电开", + "inverter-on-mode": "逆变器开", + "charging-mode": "充电模式", + "charging-mode-hint": "表示当前充电模式的整数值(1 - 恒流,2 - 恒压,3 - 浮充)", + "charging-mode-indicators-color": "充电模式指示器颜色", + "inverter-faults": "故障", + "inverter-fault-indicators-color": "故障指示器颜色", + "overload-fault": "过载", + "overload-fault-hint": "指示逆变器是否处于过载状态。", + "low-battery-fault": "低电量", + "low-battery-fault-hint": "指示电池是否过度放电。", + "temperature-fault": "温度", + "temperature-fault-hint": "指示逆变器中是否存在高温。", + "triangle": "三角形", + "socket": "插座", + "left-button": "左按钮", + "right-button": "右按钮", + "alarm-colors": "告警颜色", + "hook-color": "挂钩颜色" + } + }, + "item": { + "selected": "已选择" + }, + "js-func": { + "no-return-error": "函数必须返回值!", + "return-type-mismatch": "函数必须返回“{{type}}”类型的值!", + "tidy": "整理", + "mini": "压缩", + "modules": "模块", + "remove-module": "移除模块", + "no-modules": "未配置模块", + "add-module": "添加模块", + "module-alias": "别名", + "invalid-module-alias-name": "无效的别名名称", + "module-resource": "JS 模块资源", + "not-unique-module-aliases-error": "模块别名必须唯一!", + "show-module-info": "显示模块信息", + "show-module-source-code": "显示模块源代码", + "module-members": "模块成员", + "module-no-members": "模块没有导出成员", + "module-load-error": "模块加载错误", + "source-code": "源代码", + "source-code-load-error": "源代码加载错误", + "no-js-module-text": "未找到 JS 模块", + "no-js-module-matching": "未找到与“{{module}}”匹配的 JS 模块。" + }, + "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": "再次输入密码", + "sign-in": "登录", + "username": "用户名(Email)", + "remember-me": "记住我", + "forgot-password": "忘记密码?", + "password-reset": "密码重置", + "expired-password-reset-message": "您的密码已过期!\n请输入新密码。", + "new-password": "新密码", + "new-password-again": "确认新密码", + "password-link-sent-message": "重置链接已发送", + "email": "Email", + "invalid-email-format": "无效的 Email 格式。", + "sign-in-with": "使用 {{name}} 登录", + "sign-in-to-your-account": "登录您的账户", + "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": "请输入您的身份验证器应用中的安全码。", + "totp-auth-placeholder": "验证码", + "sms-auth-description": "安全码已发送到您的手机号码 {{contact}}。", + "sms-auth-placeholder": "短信验证码", + "email-auth-description": "安全码已发送到您的 Email 地址 {{contact}}。", + "email-auth-placeholder": "Email 验证码", + "backup-code-auth-description": "请输入您的备用验证码之一。", + "backup-code-auth-placeholder": "备用验证码", + "activation-link-expired": "激活链接已过期", + "activation-link-expired-message": "激活您个人资料的链接已过期。您可以返回登录页面以接收新的 Email。", + "reset-password-link-expired": "密码重置链接已过期", + "reset-password-link-expired-message": "重置密码的链接已过期。您可以返回登录页面以接收新的 Email。", + "two-fa": "双因素认证", + "two-fa-required": "需要双因素认证", + "set-up-verification-method": "设置验证方式以继续", + "set-up-verification-method-login": "设置验证方式或登录", + "enable-authenticator-app": "启用身份验证器应用", + "enable-authenticator-app-description": "请输入您的身份验证器应用中的安全码", + "enable-authenticator-sms": "启用短信验证", + "enable-authenticator-sms-description": "请输入我们刚发送到以下号码的 6 位验证码:", + "enable-authenticator-email": "启用 Email 验证", + "enable-authenticator-email-description": "安全码已发送到您的 Email 地址:", + "enter-key-manually": "或手动输入此 32 位密钥:", + "continue": "继续", + "confirm": "确认", + "authenticator-app-success": "身份验证器应用已成功启用", + "authenticator-app-success-description": "下次登录时,您需要提供双因素认证验证码", + "authenticator-sms-success": "短信验证已成功启用", + "authenticator-sms-success-description": "下次登录时,系统将提示您输入发送到该手机号码的安全码", + "authenticator-email-success": "Email 验证已成功启用", + "authenticator-email-success-description": "下次登录时,系统将提示您输入发送到您 Email 地址的安全码", + "authenticator-backup-code-success": "备用验证码已成功启用", + "authenticator-backup-code-success-description": "下次登录时,系统将提示您输入安全码或使用备用验证码之一。", + "add-verification-method": "添加验证方式", + "get-backup-code": "获取备用验证码", + "copy-key": "复制密钥", + "send-code": "发送验证码", + "email-label": "Email", + "email-description": "输入用于身份验证的 Email。", + "sms-description": "输入用于身份验证的手机号码。", + "backup-code-description": "打印这些验证码,以便在需要登录账户时随时使用。每个备用验证码只能使用一次。", + "backup-code-warn": "离开此页面后,这些验证码将无法再次显示。请使用以下选项安全保存。", + "download-txt": "下载(txt)", + "print": "打印", + "verification-code": "6 位验证码", + "verification-code-invalid": "无效的验证码格式", + "verification-code-incorrect": "验证码不正确", + "verification-code-many-request": "验证码校验请求过多", + "scan-qr-code": "使用您的验证应用扫描此二维码", + "phone-input": { + "phone-input-label": "手机号码", + "phone-input-required": "手机号码为必填项", + "phone-input-validation": "手机号码无效或不可用", + "phone-input-pattern": "无效的手机号码。应为 E.164 格式,例如 {{phoneNumber}}", + "phone-input-hint": "E.164 格式的手机号码,例如 {{phoneNumber}}" + } + }, + "mobile": { + "add-application": "添加应用程序", + "app-id": "App Site Association ID", + "app-id-required": "App Site Association ID 为必填项", + "app-id-pattern": "App Site Association ID 格式无效", + "app-store-link": "App Store 链接", + "app-store-link-required": "App Store 链接为必填项", + "application-details": "应用程序详情", + "application-package": "应用程序包", + "application-secret": "Application Secret", + "application-secret-required": "Application Secret 为必填项", + "application": "应用程序", + "applications": "应用程序", + "copy-app-id": "复制 App ID", + "copy-app-store-link": "复制 App Store 链接", + "copy-application-package": "复制应用程序包", + "copy-application-secret": "复制 Application Secret", + "copy-google-play-link": "复制 Google Play 链接", + "copy-sha256-certificate-fingerprints": "复制 SHA256 证书指纹", + "delete-application": "删除应用程序", + "delete-application-button-text": "我了解后果,删除应用程序", + "delete-application-text": "此操作无法撤销。这将永久删除您的应用程序。
如果不想永久删除,可以暂时 暂停 应用程序。
要删除 应用程序,请输入 \"{{phrase}}\" 以确认。", + "delete-application-title-short": "确定要删除应用程序“{{name}}”吗?", + "delete-application-text-short": "请注意,确认后应用程序及所有相关数据将无法恢复。", + "delete-application-phrase": "delete application", + "delete-applications-bundle-text": "请注意,确认后移动包及所有相关数据将无法恢复。", + "delete-applications-bundle-title": "确定要删除移动包“{{bundleName}}”吗?", + "generate-application-secret": "生成 Application Secret", + "google-play-link": "Google Play 链接", + "google-play-link-required": "Google Play 链接为必填项", + "latest-version": "最新版本", + "min-version": "最低版本", + "invalid-version-pattern": "无效的版本格式。请使用格式:主版本.次版本.修订版本(例如 1.0.0)。", + "mobile-center": "移动中心", + "mobile-package": "应用程序包", + "mobile-package-max-length": "应用程序包应少于 256 个字符", + "mobile-package-required": "应用程序包为必填项。", + "mobile-package-pattern": "应用程序包格式无效", + "mobile-package-title": "应用程序标题", + "mobile-package-title-max-length": "应用程序标题应少于 256 个字符", + "no-application": "未找到应用程序", + "no-bundles": "未找到包", + "platform-type": "平台类型", + "search-application": "搜索应用程序", + "search-bundles": "搜索包", + "set": "设置", + "sha256-certificate-fingerprints": "SHA256 证书指纹", + "sha256-certificate-fingerprints-required": "SHA256 证书指纹为必填项", + "sha256-certificate-fingerprints-pattern": "SHA256 证书指纹格式无效", + "show-hidden-pages": "显示隐藏页面", + "status": "状态", + "status-type": { + "deprecated": "已弃用", + "draft": "草稿", + "published": "已发布", + "suspended": "已暂停" + }, + "store-information": "商店信息", + "version-information": "版本信息", + "min-version-release-notes": "最低版本发布说明", + "latest-version-release-notes": "最新版本发布说明", + "bundle": "包", + "bundles": "包", + "add-bundle": "添加包", + "title": "标题", + "title-required": "标题为必填项", + "title-cannot-contain-only-spaces": "标题不能仅包含空格", + "title-max-length": "标题应少于 256 个字符", + "oauth-clients": "OAuth 2.0 客户端", + "android-app": "Android 应用", + "android-application": "Android 应用程序", + "ios-app": "iOS 应用", + "ios-application": "iOS 应用程序", + "invalid-store-link": "无效的商店链接", + "enable-oauth": "启用 OAuth 2.0", + "enable-self-registration": "启用自助注册", + "edit-bundle": "编辑包", + "description": "描述", + "basic-settings": "基本设置", + "no-application-matching": "未找到与“{{entity}}”匹配的应用程序。", + "no-bundle-matching": "未找到与“{{entity}}”匹配的包。", + "application-required": "应用程序为必填项。", + "bundle-required": "包为必填项。", + "no-application-text": "未找到应用程序", + "no-bundle-text": "未找到包", + "layout": "布局", + "pages": "页面", + "hide-all-pages": "隐藏所有页面", + "reset-to-default-pages": "重置为默认页面", + "add-specific-page": "添加特定页面", + "visible": "可见", + "hidden": "隐藏", + "reset-to-page-default": "将页面重置为默认", + "mobile-599": "手机(最大 599px)", + "tablet-959": "平板电脑(最大 959px)", + "max-element-number": "最大元素数量", + "page-name": "页面名称", + "page-name-required": "页面名称为必填项。", + "page-name-cannot-contain-only-spaces": "页面名称不能仅包含空格。", + "page-name-max-length": "页面名称应少于 256 个字符", + "page-type": "页面类型", + "pages-types": { + "dashboard": "仪表板", + "web-view": "Web 视图", + "custom": "自定义" + }, + "url": "URL", + "invalid-url-format": "无效的 URL 格式", + "path": "路径", + "invalid-path-format": "无效的路径格式", + "custom-page": "自定义页面", + "edit-page": "编辑页面", + "edit-custom-page": "编辑自定义页面", + "delete-page": "删除页面", + "qr-code-widget": "二维码部件", + "type-here": "在此输入", + "configuration-dialog": "配置对话框", + "configuration-app": "配置应用", + "configuration-step": { + "prepare-environment-title": "准备开发环境", + "prepare-environment-text": "Flutter ThingsBoard 移动应用程序需要 Flutter SDK。请按照说明设置 Flutter SDK。", + "get-source-code-title": "获取应用源代码", + "get-source-code-text": "您可以通过从 GitHub 仓库克隆来获取 Flutter ThingsBoard 移动应用程序的源代码:", + "configure-app-settings-title": "配置应用设置", + "configure-app-settings-text": "下载配置文件并将其放置到上一步克隆的项目根目录中。", + "download-file": "下载文件", + "run-app-title": "运行应用", + "run-app-text": "按照 IDE 中的说明运行应用。\n如果使用终端,请使用以下命令运行应用:", + "more-information": "详细信息请参阅我们的入门文档。", + "getting-started": "入门指南" + } + }, + "notification": { + "action-button": "操作按钮", + "action-type": "操作类型", + "active": "活跃", + "add-notification-recipients-group": "添加通知收件人组", + "add-notification-template": "添加通知模板", + "add-recipient": "添加收件人", + "add-recipients": "添加收件人", + "add-rule": "添加规则", + "add-stage": "添加阶段", + "add-template": "添加模板", + "after": "之后", + "alarm-assignment-trigger-settings": "告警分配触发器设置", + "alarm-comment-trigger-settings": "告警评论触发器设置", + "alarm-trigger-settings": "告警触发器设置", + "all": "全部", + "api-feature-hint": "如果该字段为空,触发器将应用于所有 API 功能", + "api-usage-trigger-settings": "API 使用触发器设置", + "new-platform-version-trigger-settings": "新平台版本触发器设置", + "rate-limits-trigger-settings": "超出速率限制触发器设置", + "task-processing-failure-trigger-settings": "任务处理失败触发器设置", + "resources-shortage-trigger-settings": "资源不足触发器设置", + "at-least-one-should-be-selected": "至少需要选择一项", + "basic-settings": "基本设置", + "button-text": "按钮文本", + "button-text-required": "按钮文本为必填项", + "button-text-max-length": "按钮文本长度不得超过 {{ length }} 个字符", + "compose": "编写", + "conversation": "会话", + "conversation-required": "会话为必填项", + "copy-notification-template": "复制通知模板", + "copy-rule": "复制规则", + "copy-template": "复制模板", + "create-new": "新建", + "created": "已创建", + "customize-messages": "自定义消息", + "cpu-threshold": "CPU 阈值", + "delete-notification-text": "请注意,确认后该通知将无法恢复。", + "delete-notification-title": "确定要删除该通知吗?", + "delete-notifications-text": "请注意,确认后通知将无法恢复。", + "delete-notifications-title": "确定要删除 { count, plural, =1 {1 条通知} other {# 条通知} } 吗?", + "delete-recipient-text": "请注意,确认后该收件人将无法恢复。", + "delete-recipient-title": "确定要删除收件人“{{recipientName}}”吗?", + "delete-recipients-text": "请注意,确认后收件人将无法恢复。", + "delete-recipients-title": "确定要删除 { count, plural, =1 {1 个收件人} other {# 个收件人} } 吗?", + "delete-request-text": "请注意,确认后该请求将无法恢复。", + "delete-request-title": "确定要删除该请求吗?", + "delete-requests-text": "请注意,确认后请求将无法恢复。", + "delete-requests-title": "确定要删除 { count, plural, =1 {1 个请求} other {# 个请求} } 吗?", + "delete-rule-text": "请注意,确认后该规则将无法恢复。", + "delete-rule-title": "确定要删除规则“{{ruleName}}”吗?", + "delete-rules-text": "请注意,确认后规则将无法恢复。", + "delete-rules-title": "确定要删除 { count, plural, =1 {1 条规则} other {# 条规则} } 吗?", + "delete-template-text": "请注意,确认后该模板将无法恢复。", + "delete-template-title": "确定要删除模板“{{templateName}}”吗?", + "delete-templates-text": "请注意,确认后模板将无法恢复。", + "delete-templates-title": "确定要删除 { count, plural, =1 {1 个模板} other {# 个模板} } 吗?", + "deleted": "已删除", + "delivery-method": { + "delivery-method": "发送方式", + "email": "Email", + "email-preview": "Email 通知预览", + "slack": "Slack", + "slack-preview": "Slack 通知预览", + "microsoft-teams": "Microsoft Teams", + "microsoft-teams-preview": "Microsoft Teams 通知预览", + "sms": "SMS", + "sms-preview": "SMS 通知预览", + "web": "Web", + "web-preview": "Web 通知预览", + "mobile-app": "移动应用", + "mobile-app-preview": "移动应用通知预览" + }, + "delivery-method-not-configure-click": "发送方式未配置。点击进行设置。", + "delivery-method-not-configure-contact": "发送方式未配置。请联系系统管理员。", + "delivery-methods": "发送方式", + "description": "描述", + "device-activity-trigger-settings": "设备活跃触发器设置", + "device-list-rule-hint": "如果该字段为空,触发器将应用于所有设备", + "device-profiles-list-rule-hint": "如果该字段为空,触发器将应用于所有设备配置", + "disabled": "已禁用", + "edge-trigger-settings": "Edge 触发器设置", + "edge-list-rule-hint": "如果该字段为空,触发器将应用于所有 Edge 实例", + "edit-notification-recipients-group": "编辑通知收件人组", + "edit-notification-template": "编辑通知模板", + "edit-rule": "编辑规则", + "edit-template": "编辑模板", + "enabled": "已启用", + "entities-limit-trigger-settings": "实体限制触发器设置", + "entity-action-trigger-settings": "实体操作触发器设置", + "entity-type": "实体类型", + "escalation-chain": "升级链", + "failed-send": "发送失败", + "fails": "{ count, plural, =1 {1 次失败} other {# 次失败} }", + "filter": "过滤", + "first-recipient": "第一收件人", + "inactive": "不活跃", + "inbox": "收件箱", + "notification-inbox": "通知 / 收件箱", + "input-field-support-templatization": "输入字段支持模板化。", + "input-fields-support-templatization": "输入字段支持模板化。", + "link": "链接", + "link-required": "链接为必填项", + "link-max-length": "链接长度不得超过 {{ length }} 个字符", + "link-type": { + "dashboard": "打开仪表板", + "link": "打开 URL 链接" + }, + "loading-notifications": "正在加载通知...", + "management": "通知管理", + "mark-all-as-read": "全部标记为已读", + "mark-as-read": "标记为已读", + "message": "消息", + "message-required": "消息为必填项", + "message-max-length": "消息长度不得超过 {{ length }} 个字符", + "name": "名称", + "name-required": "名称为必填项", + "new-notification": "新通知", + "no-inbox-notification": "未找到通知", + "no-notification-request": "暂无通知请求", + "no-notification-templates": "未找到通知模板", + "no-notifications-yet": "暂无通知", + "no-recipients-notification": "暂无收件人通知", + "no-recipients-matching": "未找到与“{{entity}}”匹配的收件人。", + "no-recipients-text": "未找到收件人", + "no-rule": "未配置规则", + "no-rules-notification": "暂无规则通知", + "no-severity-found": "未找到严重程度", + "no-severity-matching": "未找到“{{severity}}”。", + "no-template-matching": "未找到与“{{template}}”匹配的资源。", + "create-new-template": "创建一个新模板!", + "not-found-slack-recipient": "未找到 Slack 收件人", + "notification": "通知", + "notification-center": "通知中心", + "notification-tap-action": "通知点击操作", + "notification-tap-action-hint": "如果未启用,将使用默认告警仪表板", + "notify": "通知", + "notify-again": "再次通知", + "notify-alarm-action": { + "acknowledged": "告警已确认", + "assigned": "告警已分配", + "cleared": "告警已清除", + "created": "告警已创建", + "severity-changed": "告警严重程度已变更", + "unassigned": "告警已取消分配" + }, + "notify-on": "通知条件", + "notify-on-comment-update": "评论更新时通知", + "notify-on-required": "通知条件为必填项", + "notify-on-unassign": "取消分配时通知", + "notify-only-user-comments": "仅通知用户评论", + "only-rule-chain-lifecycle-failures": "仅规则链生命周期失败", + "only-rule-node-lifecycle-failures": "仅规则节点生命周期失败", + "platform-users": "平台用户", + "ram-threshold": "RAM 阈值", + "rate-limits": "速率限制", + "rate-limits-hint": "如果该字段为空,触发器将应用于所有速率限制", + "recipient": "收件人", + "recipient-group": "收件人组", + "recipient-type": { + "affected-tenant-administrators": "受影响的租户管理员", + "affected-user": "受影响的用户", + "all-users": "所有用户", + "customer-users": "客户用户", + "system-administrators": "系统管理员", + "tenant-administrators": "租户管理员", + "user-filters": "用户过滤器", + "user-list": "用户列表", + "users-entity-owner": "实体所有者的用户" + }, + "recipients": "收件人", + "notification-recipient": "通知收件人", + "notification-recipient-required": "通知收件人为必填项。", + "notification-recipients": "通知 / 收件人", + "recipients-count": "{ count, plural, =1 {1 个收件人} other {# 个收件人} }", + "recipients-required": "收件人为必填项", + "refresh-allow-delivery-method": "刷新允许的发送方式", + "request-search": "搜索请求", + "request-status": { + "processing": "处理中", + "scheduled": "已计划", + "sent": "已发送" + }, + "review": "审核", + "rule": "规则", + "rule-chain-list-rule-hint": "如果该字段为空,触发器将应用于所有规则链", + "rule-engine-events-trigger-settings": "规则引擎事件触发器设置", + "rule-engine-filter": "规则引擎过滤器", + "rule-name": "规则名称", + "rule-name-required": "名称为必填项", + "rule-disable": "禁用通知规则", + "rule-enable": "启用通知规则", + "rule-node-filter": "规则节点过滤器", + "rules": "规则", + "notification-rules": "通知 / 规则", + "scheduler-later": "计划稍后发送", + "search-notification": "搜索通知", + "search-recipients": "搜索收件人", + "search-rules": "搜索规则", + "search-templates": "搜索模板", + "see-documentation": "查看文档", + "selected-notifications": "已选择 { count, plural, =1 {1 条通知} other {# 条通知} }", + "selected-recipients": "已选择 { count, plural, =1 {1 个收件人} other {# 个收件人} }", + "selected-requests": "已选择 { count, plural, =1 {1 个请求} other {# 个请求} }", + "selected-rules": "已选择 { count, plural, =1 {1 条规则} other {# 条规则} }", + "selected-template": "已选择 { count, plural, =1 {1 个模板} other {# 个模板} }", + "send-notification": "发送通知", + "sent": "已发送", + "setup": "设置", + "notification-sent": "通知 / 已发送", + "set-entity-from-notification": "将通知中的实体设置到仪表板状态", + "slack-chanel-type": "Slack 频道类型", + "slack-chanel-types": { + "direct": "私信", + "private-channel": "私有频道", + "public-channel": "公共频道" + }, + "start-from-scratch": "从头开始", + "status": "状态", + "stop-escalation-alarm-status-become": "当告警状态变为以下时停止升级:", + "storage-threshold": "存储阈值", + "subject": "主题", + "subject-required": "主题为必填项", + "subject-max-length": "主题长度不得超过 {{ length }} 个字符", + "template": "模板", + "template-name": "模板名称", + "template-required": "模板为必填项", + "template-type": { + "alarm": "告警", + "alarm-assignment": "告警分配", + "alarm-comment": "告警评论", + "api-usage-limit": "API 使用限制", + "device-activity": "设备活跃", + "entities-limit": "实体限制", + "entities-limit-increase-request": "实体限制提升请求", + "entity-action": "实体操作", + "general": "通用", + "rule-engine-lifecycle-event": "规则引擎生命周期事件", + "rule-node": "规则节点", + "new-platform-version": "新平台版本", + "rate-limits": "超出速率限制", + "edge-communication-failure": "Edge 通信故障", + "edge-connection": "Edge 连接", + "task-processing-failure": "任务处理失败", + "resources-shortage": "资源不足" + }, + "templates": "模板", + "notification-templates": "通知 / 模板", + "tenant-profiles-list-rule-hint": "如果该字段为空,触发器将应用于所有租户配置", + "tenants-list-rule-hint": "如果该字段为空,触发器将应用于所有租户", + "threshold": "阈值", + "theme-color": "主题颜色", + "time": "时间", + "track-rule-node-events": "跟踪规则节点事件", + "trigger": { + "alarm": "告警", + "alarm-assignment": "告警分配", + "alarm-comment": "告警评论", + "api-usage-limit": "API 使用限制", + "device-activity": "设备活跃", + "entities-limit": "实体限制", + "entity-action": "实体操作", + "rule-engine-lifecycle-event": "规则引擎生命周期事件", + "new-platform-version": "新平台版本", + "rate-limits": "超出速率限制", + "edge-connection": "Edge 连接", + "edge-communication-failure": "Edge 通信故障", + "task-processing-failure": "任务处理失败", + "resources-shortage": "资源不足", + "trigger": "触发器", + "trigger-required": "触发器为必填项" + }, + "type": "类型", + "unread": "未读", + "updated": "已更新", + "use-deprecated-webhook-connectors": "使用已弃用的 Webhook 连接器", + "use-old-api": "使用旧 API", + "use-template": "使用模板", + "view-all": "查看全部", + "warning": "警告", + "webhook-url": "Webhook URL", + "webhook-url-required": "Webhook URL 为必填项", + "workflow-url": "Workflow URL", + "workflow-url-required": "Workflow URL 为必填项", + "channel-name": "频道名称", + "channel-name-required": "频道名称为必填项", + "settings": { + "notification-settings": "通知设置", + "reset-all": "重置所有设置", + "reset-all-title": "确定要重置表单吗?", + "reset-all-text": "确认后,设置表单将重置为默认值并保存。", + "type": "类型", + "enable-all": "全部启用", + "disable-all": "全部禁用", + "delivery-not-configured": "发送方式未配置" + } + }, + "ota-update": { + "add": "添加软件包", + "assign-firmware": "已分配固件", + "assign-firmware-required": "已分配固件为必填项", + "assign-software": "已分配软件", + "assign-software-required": "已分配软件为必填项", + "auto-generate-checksum": "自动生成校验和", + "checksum": "校验和", + "checksum-hint": "如果校验和为空,将自动生成", + "checksum-algorithm": "校验和算法", + "checksum-copied-message": "软件包校验和已复制到剪贴板", + "change-firmware": "更改固件可能导致 { count, plural, =1 {1 个设备} other {# 个设备} } 更新。", + "change-software": "更改软件可能导致 { count, plural, =1 {1 个设备} other {# 个设备} } 更新。", + "change-ota-setting-title": "确定要更改 OTA 设置吗?", + "chose-compatible-device-profile": "上传的软件包仅对具有所选配置的设备可用。", + "chose-firmware-distributed-device": "选择要分发到设备的固件", + "chose-software-distributed-device": "选择要分发到设备的软件", + "content-type": "内容类型", + "copy-checksum": "复制校验和", + "copy-direct-url": "复制直接 URL", + "copyId": "复制软件包 Id", + "copied": "已复制!", + "delete": "删除软件包", + "delete-ota-update-text": "请注意,确认后该 OTA 更新将无法恢复。", + "delete-ota-update-title": "确定要删除 OTA 更新“{{title}}”吗?", + "delete-ota-updates-text": "请注意,确认后所有选中的 OTA 更新将被移除。", + "delete-ota-updates-title": "确定要删除 { count, plural, =1 {1 个 OTA 更新} other {# 个 OTA 更新} } 吗?", + "description": "描述", + "direct-url": "直接 URL", + "direct-url-copied-message": "软件包直接 URL 已复制到剪贴板", + "direct-url-required": "直接 URL 为必填项", + "download": "下载软件包", + "drop-file": "拖放软件包文件或点击选择要上传的文件。", + "drop-package-file-or": "拖放软件包文件或", + "file-name": "文件名", + "file-size": "文件大小", + "file-size-bytes": "文件大小(字节)", + "idCopiedMessage": "软件包 Id 已复制到剪贴板", + "no-firmware-matching": "未找到与“{{entity}}”匹配的兼容固件 OTA 更新软件包。", + "no-firmware-text": "暂无已配置的兼容固件 OTA 更新软件包。", + "no-packages-text": "未找到软件包", + "no-software-matching": "未找到与“{{entity}}”匹配的兼容软件 OTA 更新软件包。", + "no-software-text": "暂无已配置的兼容软件 OTA 更新软件包。", + "ota-update": "OTA 更新", + "ota-update-details": "OTA 更新详情", + "ota-updates": "OTA 更新", + "package-file": "软件包文件", + "package-type": "软件包类型", + "packages-repository": "软件包仓库", + "search": "搜索软件包", + "selected-package": "已选择 { count, plural, =1 {1 个软件包} other {# 个软件包} }", + "title": "标题", + "title-required": "标题为必填项。", + "title-max-length": "标题长度不得超过 256", + "types": { + "firmware": "固件", + "software": "软件" + }, + "upload-binary-file": "上传二进制文件", + "use-external-url": "使用外部 URL", + "version": "版本", + "version-required": "版本为必填项。", + "version-tag": "版本标签", + "version-tag-hint": "自定义标签应与设备上报的软件包版本一致。", + "version-max-length": "版本长度不得超过 256", + "warning-after-save-no-edit": "软件包上传后,将无法修改标题、版本、设备配置和软件包类型。" + }, + "position": { + "top": "顶部", + "bottom": "底部", + "left": "左侧", + "right": "右侧" + }, + "profile": { + "profile": "个人资料", + "last-login-time": "上次登录", + "change-password": "修改密码", + "current-password": "当前密码", + "copy-jwt-token": "复制 JWT Token", + "jwt-token": "JWT Token", + "token-valid-till": "Token 有效期至", + "tokenCopiedSuccessMessage": "JWT Token 已复制到剪贴板", + "tokenCopiedWarnMessage": "JWT Token 已过期!请刷新页面。" + }, + "profiles": { + "profiles": "配置" + }, + "security": { + "security": "安全", + "general-settings": "通用安全设置", + "access-token": "访问 Token", + "access-token-required": "访问 Token 为必填项", + "clientId": "Client ID", + "clientId-required": "Client ID 为必填项", + "username": "用户名", + "username-required": "用户名为必填项", + "ca-cert": "CA 证书", + "2fa": { + "2fa": "双因素认证", + "2fa-description": "双因素认证保护您的账户免受未授权访问。您只需在登录时输入安全码即可。", + "authenticate-with": "您可以通过以下方式进行认证:", + "disable-2fa-provider-text": "禁用 {{name}} 将降低您账户的安全性", + "disable-2fa-provider-title": "确定要禁用 {{name}} 吗?", + "get-new-code": "获取新验证码", + "main-2fa-method": "设为主要双因素认证方式", + "dialog": { + "activation-step-description-email": "下次登录时,系统将提示您输入发送到您 Email 地址的安全码。", + "activation-step-description-sms": "下次登录时,系统将提示您输入发送到该手机号码的安全码。", + "activation-step-description-totp": "下次登录时,您需要提供双因素认证码。", + "activation-step-label": "激活", + "backup-code-description": "请打印这些验证码,以便在需要登录账户时使用。每个备用验证码只能使用一次。", + "backup-code-warn": "离开此页面后,这些验证码将无法再次显示。请使用以下选项安全存储。", + "download-txt": "下载(txt)", + "email-step-description": "输入要用作认证器的 Email 地址。", + "email-step-label": "Email", + "enable-email-title": "启用 Email 认证器", + "enable-sms-title": "启用 SMS 认证器", + "enable-totp-title": "启用认证器应用", + "enter-verification-code": "在此输入 6 位验证码", + "get-backup-code-title": "获取备用验证码", + "next": "下一步", + "scan-qr-code": "使用验证应用扫描此二维码", + "send-code": "发送验证码", + "sms-step-description": "输入要用作认证器的手机号码。", + "sms-step-label": "手机号码", + "success": "成功!", + "totp-step-description-install": "您可以安装 Google Authenticator、Authy 或 Duo 等应用。", + "totp-step-description-open": "在手机上打开认证器应用。", + "totp-step-label": "获取应用", + "verification-code": "6 位验证码", + "verification-code-invalid": "验证码格式无效", + "verification-code-incorrect": "验证码不正确", + "verification-code-many-request": "验证码校验请求过多", + "verification-step-description": "输入我们刚发送到 {{address}} 的 6 位验证码", + "verification-step-label": "验证" + }, + "provider": { + "email": "Email", + "email-description": "使用发送到您 Email 地址的安全码进行认证。", + "email-hint": "认证码通过 Email 发送至 {{ info }}", + "sms": "SMS", + "sms-description": "使用手机进行认证。登录时我们将通过 SMS 短信向您发送安全码。", + "sms-hint": "认证码通过短信发送至 {{ info }}", + "totp": "认证器应用", + "totp-description": "使用手机上的 Google Authenticator、Authy 或 Duo 等应用进行认证。它将生成登录所需的安全码。", + "totp-hint": "认证器应用已为您的账户设置", + "backup_code": "备用验证码", + "backup-code-description": "这些可打印的一次性密码允许您在不方便使用手机时(例如旅行中)登录账户。", + "backup-code-hint": "目前有 {{ info }} 个一次性验证码可用" + } + }, + "password-requirement": { + "at-least": "至少:", + "character": "{ count, plural, =1 {1 个字符} other {# 个字符} }", + "digit": "{ count, plural, =1 {1 个数字} other {# 个数字} }", + "password-tooltip-min-length": "至少 {{minimumLength}} 个字符", + "password-tooltip-max-length": "最多 {{maximumLength}} 个字符", + "password-tooltip-uppercase": "{{minimumUppercaseLetters}} 个大写字符", + "password-tooltip-lowercase": "{{minimumLowercaseLetters}} 个小写字符", + "password-tooltip-digit": "{{minimumDigits}} 个数字", + "password-tooltip-special-characters": "{{minimumSpecialCharacters}} 个特殊字符", + "incorrect-password-try-again": "密码不正确,请重试", + "lowercase-letter": "{ count, plural, =1 {1 个小写字母} other {# 个小写字母} }", + "new-passwords-not-match": "新密码不匹配", + "password-should-not-contain-spaces": "密码不能包含空格", + "password-not-meet-requirements": "密码不符合要求", + "password-requirements": "密码要求", + "password-should-difference": "新密码应与当前密码不同", + "special-character": "{ count, plural, =1 {1 个特殊字符} other {# 个特殊字符} }", + "uppercase-letter": "{ count, plural, =1 {1 个大写字母} other {# 个大写字母} }", + "at-most": "最多:" + } + }, + "relation": { + "relations": "关联", + "direction": "方向", + "clear-relation-type": "清除关联类型", + "search-direction": { + "FROM": "从", + "TO": "到" + }, + "direction-type": { + "FROM": "从", + "TO": "到" + }, + "from-relations": "出站关联", + "to-relations": "入站关联", + "selected-relations": "已选择 { count, plural, =1 {1 条关联} other {# 条关联} }", + "type": "类型", + "to-entity-type": "目标实体类型", + "to-entity-name": "目标实体名称", + "from-entity-type": "源实体类型", + "from-entity-name": "源实体名称", + "to-entity": "目标实体", + "from-entity": "源实体", + "delete": "删除关联", + "relation-type": "关联类型", + "relation-type-required": "关联类型为必填项。", + "relation-type-max-length": "关联类型长度不得超过 256", + "any-relation-type": "任意类型", + "add": "添加关联", + "edit": "编辑关联", + "delete-to-relation-title": "确定要删除与实体“{{entityName}}”的关联吗?", + "delete-to-relation-text": "请注意,确认后实体“{{entityName}}”将与当前实体取消关联。", + "delete-to-relations-title": "确定要删除 { count, plural, =1 {1 条关联} other {# 条关联} } 吗?", + "delete-to-relations-text": "请注意,确认后所有选中的关联将被移除,相应实体将与当前实体取消关联。", + "delete-from-relation-title": "确定要删除来自实体“{{entityName}}”的关联吗?", + "delete-from-relation-text": "请注意,确认后当前实体将与实体“{{entityName}}”取消关联。", + "delete-from-relations-title": "确定要删除 { count, plural, =1 {1 条关联} other {# 条关联} } 吗?", + "delete-from-relations-text": "请注意,确认后所有选中的关联将被移除,当前实体将与相应实体取消关联。", + "remove-relation-filter": "移除关联过滤器", + "remove-filter": "移除过滤器", + "add-relation-filter": "添加关联过滤器", + "any-relation": "任意关联", + "relation-filters": "关联过滤器", + "relation-filter": "关联过滤器", + "additional-info": "附加信息(JSON)", + "invalid-additional-info": "无法解析附加信息 JSON。", + "no-relations-text": "未找到关联", + "not": "非", + "copy-type": "复制类型" + }, + "resource": { + "add": "添加资源", + "all-types": "全部", + "copyId": "复制资源 Id", + "delete": "删除资源", + "delete-resource-text": "请注意,确认后该资源将无法恢复。", + "delete-resource-title": "确定要删除资源“{{resourceTitle}}”吗?", + "delete-resources-action-title": "删除 { count, plural, =1 {1 个资源} other {# 个资源} }", + "delete-resources-text": "请注意,即使选中的资源正在设备配置中使用,也将被删除。", + "delete-resources-title": "确定要删除 { count, plural, =1 {1 个资源} other {# 个资源} } 吗?", + "download": "下载资源", + "drop-file": "拖放资源文件或点击选择要上传的文件。", + "drop-resource-file-or": "拖放资源文件或", + "empty": "资源为空", + "file-name": "文件名", + "idCopiedMessage": "资源 Id 已复制到剪贴板", + "no-resource-matching": "未找到与“{{widgetsBundle}}”匹配的资源。", + "no-resource-text": "未找到资源", + "open-widgets-bundle": "打开部件包", + "resource": "资源", + "resource-file": "资源文件", + "resource-files": "资源文件", + "resource-library-details": "资源详情", + "resource-type": "资源类型", + "resources-library": "资源库", + "search": "搜索资源", + "selected-resources": "已选择 { count, plural, =1 {1 个资源} other {# 个资源} }", + "system": "系统", + "title": "标题", + "title-required": "标题为必填项。", + "title-max-length": "标题长度不得超过 256", + "type": { + "jks": "JKS", + "js-module": "JS 模块", + "lwm2m-model": "LWM2M 模型", + "pkcs-12": "PKCS #12", + "general": "通用" + }, + "resource-sub-type": "子类型", + "sub-type": { + "image": "图片", + "scada-symbol": "Scada 符号", + "extension": "扩展", + "module": "模块" + }, + "resource-is-in-use": "资源正被其他实体使用", + "resources-are-in-use": "资源正被其他实体使用", + "resource-is-in-use-text": "资源 '{{title}}' 未被删除,因为它正被以下实体使用:", + "resources-are-in-use-text": "并非所有资源都已被删除,因为它们正被其他实体使用。
您可以通过点击相应资源行中的引用按钮查看引用的实体。
如果仍要删除这些资源,请在下方表格中选择它们并点击删除所选按钮。", + "delete-resource-in-use-text": "如果仍要删除该资源,请点击仍然删除按钮。" + }, + "javascript": { + "add": "添加 JavaScript 资源", + "delete": "删除 JavaScript 资源", + "delete-javascript-resource-text": "请注意,确认后该 JavaScript 资源将无法恢复。", + "delete-javascript-resource-title": "确定要删除 JavaScript 资源“{{resourceTitle}}”吗?", + "delete-javascript-resources-action-title": "删除 { count, plural, =1 {1 个 JavaScript 资源} other {# 个 JavaScript 资源} }", + "delete-javascript-resources-text": "请注意,即使选中的 JavaScript 资源正在 JavaScript 函数中使用,也将被删除。", + "delete-javascript-resources-title": "确定要删除 { count, plural, =1 {1 个 JavaScript 资源} other {# 个 JavaScript 资源} } 吗?", + "delete-javascript-resource-in-use-text": "如果仍要删除该 JavaScript 资源,请点击仍然删除按钮。", + "download": "下载 JavaScript 资源", + "upload-from-file": "从文件上传 JavaScript", + "resource-file": "JavaScript 资源文件", + "drop-file": "拖放 JavaScript 文件或点击选择要上传的文件。", + "drop-resource-file-or": "拖放 JavaScript 文件或", + "javascript-library": "JavaScript 库", + "javascript-type": "JavaScript 类型", + "javascript-resource-details": "JavaScript 资源详情", + "javascript-resource-is-in-use": "JavaScript 资源正被其他实体使用", + "javascript-resources-are-in-use": "JavaScript 资源正被其他实体使用", + "javascript-resource-is-in-use-text": "JavaScript 资源 '{{title}}' 未被删除,因为它正被以下实体使用:", + "javascript-resources-are-in-use-text": "并非所有 JavaScript 资源都已被删除,因为它们正被其他实体使用。
您可以通过点击相应资源行中的引用按钮查看引用的实体。
如果仍要删除这些 JavaScript 资源,请在下方表格中选择它们并点击删除所选按钮。", + "search": "搜索 JavaScript 资源", + "selected-javascript-resources": "已选择 { count, plural, =1 {1 个 JavaScript 资源} other {# 个 JavaScript 资源} }", + "no-javascript-resource-text": "未找到 JavaScript 资源", + "all-types": "全部", + "module-script": "模块脚本" + }, + "rpc": { + "error": { + "target-device-is-not-set": "目标设备未设置!", + "invalid-target-entity": "{{entityType}} 实体不支持 RPC 命令。", + "failed-to-resolve-target-device": "无法解析目标设备!", + "request-timeout": "请求超时", + "rpc-http-error": "错误:{{status}} - {{statusText}}" + } + }, + "rulechain": { + "rulechain": "规则链", + "rulechain-events": "规则链事件", + "rulechains": "规则链", + "root": "根", + "delete": "删除规则链", + "name": "名称", + "name-required": "名称为必填项。", + "name-max-length": "名称长度不得超过 256", + "description": "描述", + "add": "添加规则链", + "set-root": "设为根规则链", + "set-root-rulechain-title": "确定要将规则链“{{ruleChainName}}”设为根规则链吗?", + "set-root-rulechain-text": "确认后,该规则链将成为根规则链,并处理所有传入的传输消息。", + "delete-rulechain-title": "确定要删除规则链“{{ruleChainName}}”吗?", + "delete-rulechain-text": "请注意,确认后该规则链及所有相关数据将无法恢复。", + "delete-rulechains-title": "确定要删除 { count, plural, =1 {1 条规则链} other {# 条规则链} } 吗?", + "delete-rulechains-action-title": "删除 { count, plural, =1 {1 条规则链} other {# 条规则链} }", + "delete-rulechains-text": "请注意,确认后所有选中的规则链将被移除,所有相关数据将无法恢复。", + "add-rulechain-text": "添加新规则链", + "no-rulechains-text": "未找到规则链", + "rulechain-details": "规则链详情", + "details": "详情", + "events": "事件", + "system": "系统", + "import": "导入规则链", + "export": "导出规则链", + "export-failed-error": "无法导出规则链:{{error}}", + "create-new-rulechain": "创建新规则链", + "rulechain-file": "规则链文件", + "invalid-rulechain-file-error": "无法导入规则链:无效的规则链数据结构。", + "copyId": "复制规则链 Id", + "idCopiedMessage": "规则链 Id 已复制到剪贴板", + "select-rulechain": "选择规则链", + "no-rulechains-matching": "未找到与“{{entity}}”匹配的规则链。", + "rulechain-required": "规则链为必填项", + "management": "规则管理", + "debug-mode": "调试模式", + "search": "搜索规则链", + "selected-rulechains": "已选择 { count, plural, =1 {1 条规则链} other {# 条规则链} }", + "open-rulechain": "打开规则链", + "edge-template-root": "模板根", + "assign-to-edge": "分配到 Edge", + "edge-rulechain": "Edge 规则链", + "unassign-rulechain-from-edge-text": "确认后,该规则链将被取消分配,Edge 将无法访问。", + "unassign-rulechains-from-edge-title": "确定要取消分配 { count, plural, =1 {1 条规则链} other {# 条规则链} } 吗?", + "unassign-rulechains-from-edge-text": "确认后,所有选中的规则链将被取消分配,Edge 将无法访问。", + "assign-rulechain-to-edge-title": "将规则链分配到 Edge", + "assign-rulechain-to-edge-text": "请选择要分配到 Edge 的规则链", + "set-edge-template-root-rulechain": "设为 Edge 模板根规则链", + "set-edge-template-root-rulechain-title": "确定要将规则链“{{ruleChainName}}”设为 Edge 模板根规则链吗?", + "set-edge-template-root-rulechain-text": "确认后,该规则链将成为 Edge 模板根规则链,并作为新创建 Edge 的根规则链。", + "invalid-rulechain-type-error": "无法导入规则链:无效的规则链类型。期望类型为 {{expectedRuleChainType}}。", + "set-auto-assign-to-edge": "创建时自动将规则链分配到 Edge", + "set-auto-assign-to-edge-title": "确定要在创建时将 Edge 规则链“{{ruleChainName}}”分配到 Edge 吗?", + "set-auto-assign-to-edge-text": "确认后,该 Edge 规则链将在创建时自动分配到 Edge。", + "unset-auto-assign-to-edge": "创建时不自动将规则链分配到 Edge", + "unset-auto-assign-to-edge-title": "确定不在创建时将 Edge 规则链“{{ruleChainName}}”分配到 Edge 吗?", + "unset-auto-assign-to-edge-text": "确认后,该 Edge 规则链将不再在创建时自动分配到 Edge。", + "unassign-rulechain-title": "确定要取消分配规则链“{{ruleChainName}}”吗?", + "unassign-rulechains": "取消分配规则链" + }, + "rulenode": { + "rule-node-events": "规则节点事件", + "details": "详情", + "events": "事件", + "search": "搜索节点", + "open-node-library": "打开节点库", + "close-node-library": "关闭节点库", + "add": "添加规则节点", + "name": "名称", + "name-required": "名称为必填项。", + "name-max-length": "名称长度不得超过 256", + "type": "类型", + "rule-node-description": "规则节点描述", + "delete": "删除规则节点", + "select-all-objects": "选择所有节点和连接", + "deselect-all-objects": "取消选择所有节点和连接", + "delete-selected-objects": "删除所选节点和连接", + "delete-selected": "删除所选", + "create-nested-rulechain": "创建嵌套规则链", + "select-all": "全选", + "copy-selected": "复制所选", + "deselect-all": "取消全选", + "rulenode-details": "规则节点详情", + "debug-mode": "调试模式", + "singleton": "单例", + "configuration": "配置", + "link": "链接", + "link-details": "规则节点链接详情", + "add-link": "添加链接", + "link-label": "链接标签", + "link-label-required": "链接标签为必填项。", + "custom-link-label": "自定义链接标签", + "custom-link-label-required": "自定义链接标签为必填项。", + "link-labels": "链接标签", + "link-labels-required": "链接标签为必填项。", + "no-link-labels-found": "未找到链接标签", + "no-link-label-matching": "未找到“{{label}}”。", + "create-new-link-label": "创建一个新标签!", + "type-filter": "过滤", + "type-filter-details": "使用配置的条件过滤传入消息", + "type-enrichment": "数据补充", + "type-enrichment-details": "向消息元数据中添加附加信息", + "type-transformation": "转换", + "type-transformation-details": "更改消息负载和元数据", + "type-action": "操作", + "type-action-details": "执行特殊操作", + "type-external": "外部", + "type-external-details": "与外部系统交互", + "type-rule-chain": "规则链", + "type-rule-chain-details": "将传入消息转发到指定规则链", + "type-flow": "流程", + "type-flow-details": "组织消息流程", + "type-input": "输入", + "type-input-details": "规则链的逻辑输入,将传入消息转发到下一个关联的规则节点", + "type-unknown": "未知", + "type-unknown-details": "无法解析的规则节点", + "directive-is-not-loaded": "定义的配置指令“{{directiveName}}”不可用。", + "ui-resources-load-error": "加载配置 UI 资源失败。", + "invalid-target-rulechain": "无法解析目标规则链!", + "test-script-function": "测试脚本函数", + "script-lang-java-script": "JavaScript", + "script-lang-tbel": "TBEL", + "message": "消息", + "message-type": "消息类型", + "select-message-type": "选择消息类型", + "message-type-required": "消息类型为必填项", + "metadata": "元数据", + "metadata-required": "元数据条目不能为空。", + "output": "输出", + "test": "测试", + "help": "帮助", + "reset-debug-settings": "重置所有节点的调试设置", + "test-with-this-message": "{{test}} 使用此消息", + "queue-hint": "选择要将消息转发到的队列。默认使用“Main”队列。", + "queue-singleton-hint": "选择在多实例环境中用于消息转发的队列。默认使用“Main”队列。" + }, + "rule-node-config": { + "id": "Id", + "additional-info": "附加信息", + "advanced-settings": "高级设置", + "create-entity-if-not-exists": "如果实体不存在则创建新实体", + "create-entity-if-not-exists-hint": "如果启用,将使用指定参数创建新实体(除非该实体已存在)。已有实体将直接用于关联。", + "select-device-connectivity-event": "选择设备连接事件", + "entity-name-pattern": "名称模式", + "device-name-pattern": "设备名称", + "asset-name-pattern": "资产名称", + "entity-view-name-pattern": "实体视图名称", + "customer-title-pattern": "客户标题", + "dashboard-name-pattern": "仪表板标题", + "user-name-pattern": "用户 Email", + "edge-name-pattern": "Edge 名称", + "entity-name-pattern-required": "名称模式为必填项", + "entity-name-pattern-hint": "名称模式字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。", + "copy-message-type": "复制消息类型", + "entity-type-pattern": "类型模式", + "entity-type-pattern-required": "类型模式为必填项", + "message-type-value": "消息类型值", + "message-type-value-required": "消息类型值为必填项", + "message-type-value-max-length": "消息类型值应少于 256 个字符", + "output-message-type": "输出消息类型", + "entity-cache-expiration": "实体缓存过期时间(秒)", + "entity-cache-expiration-hint": "指定存储已找到的实体记录的最大时间间隔。值为 0 表示记录永不过期。", + "entity-cache-expiration-required": "实体缓存过期时间为必填项。", + "entity-cache-expiration-range": "实体缓存过期时间应大于或等于 0。", + "customer-name-pattern": "客户标题", + "customer-name-pattern-required": "客户标题为必填项", + "customer-name-pattern-hint": "使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。", + "create-customer-if-not-exists": "如果客户不存在则创建新客户", + "unassign-from-customer": "如果发起者是仪表板则从指定客户取消分配", + "unassign-from-customer-tooltip": "只有仪表板可以同时分配给多个客户。\n如果消息发起者是仪表板,您需要明确指定要取消分配的客户标题。", + "customer-cache-expiration": "客户缓存过期时间(秒)", + "customer-cache-expiration-hint": "指定存储已找到的客户记录的最大时间间隔。值为 0 表示记录永不过期。", + "customer-cache-expiration-required": "客户缓存过期时间为必填项。", + "customer-cache-expiration-range": "客户缓存过期时间应大于或等于 0。", + "interval-start": "间隔开始", + "interval-end": "间隔结束", + "time-unit": "时间单位", + "fetch-mode": "获取模式", + "order-by-timestamp": "按时间戳排序", + "limit": "限制", + "limit-hint": "最小限制值为 2,最大为 1000。如果您想获取单条记录,请选择获取模式“First”或“Last”。", + "limit-required": "限制为必填项。", + "limit-range": "限制应在 2 到 1000 的范围内。", + "time-unit-milliseconds": "毫秒", + "time-unit-seconds": "秒", + "time-unit-minutes": "分钟", + "time-unit-hours": "小时", + "time-unit-days": "天", + "time-value-range": "允许范围为 1 到 2147483647。", + "start-interval-value-required": "间隔开始为必填项。", + "end-interval-value-required": "间隔结束为必填项。", + "filter": "过滤器", + "switch": "切换", + "math-templatization-tooltip": "此字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。", + "add-message-type": "添加消息类型", + "select-message-types-required": "至少应选择一种消息类型。", + "select-message-types": "选择消息类型", + "no-message-types-found": "未找到消息类型", + "no-message-type-matching": "未找到“{{messageType}}”。", + "create-new-message-type": "创建新的消息类型。", + "message-types-required": "消息类型为必填项。", + "client-attributes": "客户端属性", + "shared-attributes": "共享属性", + "server-attributes": "服务端属性", + "attributes-keys": "属性键", + "attributes-keys-required": "属性键为必填项", + "attributes-scope": "属性范围", + "attributes-scope-value": "属性范围值", + "attributes-scope-value-copy": "复制属性范围值", + "attributes-scope-hint": "使用 'scope' 元数据键为每条消息动态设置属性范围。如果提供了该值,将覆盖配置中设置的范围。", + "notify-device": "强制通知设备", + "send-attributes-updated-notification": "发送属性更新通知", + "send-attributes-updated-notification-hint": "将已更新属性的通知作为单独消息发送到规则引擎队列。", + "send-attributes-deleted-notification": "发送属性删除通知", + "send-attributes-deleted-notification-hint": "将已删除属性的通知作为单独消息发送到规则引擎队列。", + "update-attributes-only-on-value-change": "仅在值更改时保存属性", + "update-attributes-only-on-value-change-hint": "对每条传入消息都更新属性,无论其值是否已更改。这会增加 API 使用量并降低性能。", + "update-attributes-only-on-value-change-hint-enabled": "仅在属性值发生更改时才更新属性。如果值未更改,则不会更新属性时间戳,也不会发送属性更改通知。", + "fetch-credentials-to-metadata": "将凭据获取到元数据", + "notify-device-on-update-hint": "如果启用,将强制向设备发送共享属性更新通知。如果禁用,通知行为由传入消息元数据中的 'notifyDevice' 参数控制。要关闭通知,消息元数据必须包含值为 'false' 的 'notifyDevice' 参数。其他任何情况都将触发向设备发送通知。", + "notify-device-on-delete-hint": "如果启用,将强制向设备发送共享属性移除通知。如果禁用,通知行为由传入消息元数据中的 'notifyDevice' 参数控制。要开启通知,消息元数据必须包含值为 'true' 的 'notifyDevice' 参数。其他任何情况都不会触发向设备发送通知。", + "latest-timeseries": "最新时间序列数据键", + "timeseries-keys": "时间序列键", + "timeseries-keys-required": "至少应选择一个时间序列键。", + "add-timeseries-key": "添加时间序列键", + "add-message-field": "添加消息字段", + "relation-search-parameters": "关联搜索参数", + "relation-parameters": "关联参数", + "add-metadata-field": "添加元数据字段", + "data-keys": "消息字段名称", + "copy-from": "复制来源", + "data-to-metadata": "数据到元数据", + "metadata-to-data": "元数据到数据", + "use-regular-expression-hint": "使用正则表达式按模式复制键。\n\n提示与技巧:\n按“Enter”完成字段名称输入。\n按“Backspace”删除字段名称。支持多个字段名称。", + "interval": "间隔", + "interval-required": "间隔为必填项", + "interval-hint": "去重间隔(秒)。", + "interval-min-error": "最小允许值为 1", + "max-pending-msgs": "最大待处理消息数", + "max-pending-msgs-hint": "为每个唯一去重 ID 存储在内存中的最大消息数。", + "max-pending-msgs-required": "最大待处理消息数为必填项", + "max-pending-msgs-max-error": "最大允许值为 1000", + "max-pending-msgs-min-error": "最小允许值为 1", + "max-retries": "最大重试次数", + "max-retries-required": "最大重试次数为必填项", + "max-retries-hint": "将去重消息推入队列的最大重试次数。重试间隔为 10 秒", + "max-retries-max-error": "最大允许值为 100", + "max-retries-min-error": "最小允许值为 0", + "strategy": "策略", + "strategy-required": "策略为必填项", + "strategy-all-hint": "将去重期间内到达的所有消息作为单个 JSON 数组消息返回。其中每个元素表示包含 msg 和 metadata 内部属性的对象。", + "strategy-first-hint": "返回去重期间内到达的第一条消息。", + "strategy-last-hint": "返回去重期间内到达的最后一条消息。", + "first": "第一条", + "last": "最后一条", + "all": "全部", + "output-msg-type-hint": "去重结果的消息类型。", + "queue-name-hint": "去重结果将发布到的队列名称。", + "keys": "键", + "keys-required": "键为必填项", + "rename-keys-in": "在以下位置重命名键", + "data": "数据", + "message": "消息", + "metadata": "元数据", + "current-key-name": "当前键名称", + "key-name-required": "键名称为必填项", + "new-key-name": "新键名称", + "new-key-name-required": "新键名称为必填项", + "metadata-keys": "元数据字段名称", + "json-path-expression": "JSON 路径表达式", + "json-path-expression-required": "JSON 路径表达式为必填项", + "json-path-expression-hint": "JSONPath 指定 JSON 结构中某个元素或一组元素的路径。'$' 表示根对象或数组。", + "relations-query": "关联查询", + "device-relations-query": "设备关联查询", + "max-relation-level": "最大关联层级", + "max-relation-level-error": "值应大于 0 或不指定。", + "max-relation-level-invalid": "值应为整数。", + "relation-type": "关联类型", + "relation-type-pattern": "关联类型模式", + "relation-type-pattern-required": "关联类型模式为必填项", + "relation-types-list": "要传播的关联类型", + "relation-types-list-hint": "如果未选择传播关联类型,告警将不按关联类型过滤进行传播。", + "unlimited-level": "无限层级", + "latest-telemetry": "最新遥测", + "add-telemetry-key": "添加遥测键", + "delete-from": "删除来源", + "use-regular-expression-delete-hint": "使用正则表达式按模式删除键。\n\n提示与技巧:\n按“Enter”完成字段名称输入。\n按“Backspace”删除字段名称。\n支持多个字段名称。", + "fetch-into": "获取到", + "attr-mapping": "属性映射:", + "source-attribute": "源属性键", + "source-attribute-required": "源属性键为必填项。", + "source-telemetry": "源遥测键", + "source-telemetry-required": "源遥测键为必填项。", + "target-key": "目标键", + "target-key-required": "目标键为必填项。", + "attr-mapping-required": "至少应指定一个映射条目。", + "fields-mapping": "字段映射", + "fields-mapping-hint": "如果消息字段设置为 $entityId,消息发起者的 ID 将保存到指定的表列中。", + "relations-query-config-direction-suffix": "发起者", + "profile-name": "配置名称", + "fetch-circle-parameter-info-from-metadata-hint": "元数据字段 '{{perimeterKeyName}}' 应按以下格式定义:{\"latitude\":48.196, \"longitude\":24.6532, \"radius\":100.0, \"radiusUnit\":\"METER\"}", + "fetch-poligon-parameter-info-from-metadata-hint": "元数据字段 '{{perimeterKeyName}}' 应按以下格式定义:[[48.19736,24.65235],[48.19800,24.65060],...,[48.19849,24.65420]]", + "short-templatization-tooltip": "使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。", + "fields-mapping-required": "至少应指定一个字段映射。", + "at-least-one-field-required": "至少一个输入字段必须提供值。", + "originator-fields-sv-map-hint": "目标键字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。", + "sv-map-hint": "仅目标键字段支持模板化。使用 $[messageKey] 从消息中提取值,使用 ${metadataKey} 从元数据中提取值。", + "source-field": "源字段", + "source-field-required": "源字段为必填项。", + "originator-source": "发起者来源", + "new-originator": "新发起者", + "originator-customer": "客户", + "originator-tenant": "租户", + "originator-related": "关联实体", + "originator-alarm-originator": "告警发起者", + "originator-entity": "按名称模式匹配的实体", + "clone-message": "克隆消息", + "transform": "转换", + "default-ttl": "默认 TTL", + "default-ttl-required": "默认 TTL 为必填项。", + "default-ttl-hint": "规则节点将从消息元数据中获取 Time-to-Live(TTL)值。如果没有值,则使用配置中指定的 TTL。如果值设为 0,则应用租户配置中的 TTL。", + "default-ttl-zero-hint": "如果 TTL 值设为 0,则不会应用 TTL。", + "min-default-ttl-message": "最小 TTL 仅允许为 0。", + "generation-parameters": "生成参数", + "message-count": "生成消息限制(0 - 无限)", + "message-count-required": "生成消息限制为必填项。", + "min-message-count-message": "最小消息数仅允许为 0。", + "period-seconds": "周期(秒)", + "period-seconds-required": "周期为必填项。", + "generation-frequency-seconds": "生成频率(秒)", + "generation-frequency-required": "生成频率为必填项。", + "min-generation-frequency-message": "最小值仅允许为 60 秒。", + "script-lang-tbel": "TBEL", + "script-lang-js": "JS", + "use-metadata-period-in-seconds-patterns": "使用秒周期模式", + "use-metadata-period-in-seconds-patterns-hint": "如果选中,规则节点将使用消息元数据或数据中的秒周期间隔模式(假设间隔以秒为单位)。", + "period-in-seconds-pattern": "秒周期模式", + "period-in-seconds-pattern-required": "秒周期模式为必填项", + "min-period-seconds-message": "最小周期仅允许为 60 秒。", + "originator": "发起者", + "message-body": "消息体", + "message-metadata": "消息元数据", + "generate": "生成", + "current-rule-node": "当前规则节点", + "current-tenant": "当前租户", + "generator-function": "生成器函数", + "test-generator-function": "测试生成器函数", + "generator": "生成器", + "test-filter-function": "测试过滤器函数", + "test-switch-function": "测试切换函数", + "test-transformer-function": "测试转换器函数", + "transformer": "转换器", + "alarm-create-condition": "告警创建条件", + "test-condition-function": "测试条件函数", + "alarm-clear-condition": "告警清除条件", + "alarm-details-builder": "告警详情构建器", + "test-details-function": "测试详情函数", + "alarm-type": "告警类型", + "select-entity-types": "选择实体类型", + "alarm-type-required": "告警类型为必填项。", + "alarm-severity": "告警严重程度", + "alarm-severity-required": "告警严重程度为必填项", + "alarm-severity-pattern": "告警严重程度模式", + "alarm-status-filter": "告警状态过滤器", + "alarm-status-list-empty": "告警状态列表为空", + "no-alarm-status-matching": "未找到匹配的告警状态。", + "propagate": "将告警传播到关联实体", + "propagate-to-owner": "将告警传播到实体所有者(客户或租户)", + "propagate-to-tenant": "将告警传播到租户", + "condition": "条件", + "details": "详情", + "to-string": "转为字符串", + "test-to-string-function": "测试转为字符串函数", + "from-template": "发件人", + "from-template-required": "发件人为必填项", + "message-to-metadata": "消息到元数据", + "metadata-to-message": "元数据到消息", + "from-message": "来自消息", + "from-metadata": "来自元数据", + "to-template": "收件人", + "to-template-required": "收件人模板为必填项", + "mail-address-list-template-hint": "逗号分隔的地址列表,使用 ${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 {已添加 # 个实体} }。
{ modified, plural, =0 {未修改实体} =1 {已修改 1 个实体} other {已修改 # 个实体} }。
{ removed, plural, =0 {未移除实体} =1 {已移除 1 个实体} other {已移除 # 个实体} }。", + "remove-other-entities": "移除其他实体", + "find-existing-entity-by-name": "按名称查找现有实体", + "restore-entities-from-version": "从版本“{{versionName}}”恢复实体", + "restoring-entities-from-version": "正在恢复实体…请稍候", + "no-entities-restored": "未恢复任何实体", + "created": "{{created}} 已创建", + "updated": "{{updated}} 已更新", + "deleted": "{{deleted}} 已删除", + "remove-other-entities-confirm-text": "请注意!此操作将永久删除所有当前
不在您要恢复的版本中的所有实体。

请输入 \"remove other entities\" 以确认。", + "auto-commit-to-branch": "自动提交到 {{ branch }} 分支", + "default-create-entity-version-name": "{{entityName}} 更新", + "sync-strategy-merge-hint": "在仓库中创建或更新选中的实体。所有其他仓库实体不会被修改。", + "sync-strategy-overwrite-hint": "在仓库中创建或更新选中的实体。所有其他仓库实体将被删除。", + "device-credentials-conflict": "无法加载外部 ID 为 {{entityId}} 的设备,
因为数据库中另一个设备已存在相同的凭证。
请考虑在恢复表单中禁用加载凭证设置。", + "missing-referenced-entity": "无法加载外部 ID 为 {{sourceEntityId}}{{sourceEntityTypeName}}
因为它引用了缺失的 ID 为 {{targetEntityId}}{{targetEntityTypeName}}。", + "runtime-failed": "失败:{{message}}", + "auto-commit-settings-read-only-hint": "当仓库设置中启用了只读选项时,自动提交功能不可用。", + "rollback-on-error": "出错时回滚", + "rollback-on-error-hint": "如果您有大量实体需要恢复,请考虑禁用此选项以提高性能。\n 注意,如果在版本加载过程中发生错误,已持久化的实体(包括关联、属性等)将保持原样" + }, + "widget": { + "widget-library": "部件库", + "widget-bundle": "部件包", + "all-bundles": "所有包", + "select-widgets-bundle": "选择部件包", + "widgets": "部件", + "all-widgets": "所有部件", + "widget": "部件", + "select-widget": "选择部件", + "no-widgets-matching": "未找到匹配 '{{entity}}' 的部件。", + "no-widgets": "暂无部件", + "no-widgets-text": "未找到部件", + "management": "部件管理", + "editor": "部件编辑器", + "confirm-to-exit-editor-html": "您有未保存的部件设置。
确定要离开此页面吗?", + "widget-type-not-found": "加载部件配置时出现问题。
关联的\n 部件类型可能已被移除。", + "widget-type-load-error": "部件因以下错误未能加载:", + "remove": "移除部件", + "delete": "删除部件", + "edit": "编辑部件", + "remove-widget-title": "确定要移除部件 '{{widgetTitle}}' 吗?", + "remove-widget-text": "确认后,该部件及所有相关数据将无法恢复。", + "replace-reference-with-widget-copy": "将引用替换为部件副本", + "timeseries": "时间序列", + "search-data": "搜索数据", + "no-data-found": "未找到数据", + "latest": "最新值", + "rpc": "控制部件", + "alarm": "告警部件", + "static": "静态部件", + "timeseries-short": "序列", + "latest-short": "最新", + "rpc-short": "控制", + "alarm-short": "告警", + "static-short": "静态", + "select-widget-type": "选择部件类型", + "missing-widget-title-error": "必须指定部件标题!", + "widget-saved": "部件已保存", + "unable-to-save-widget-error": "无法保存部件!部件存在错误!", + "save": "保存部件", + "saveAs": "部件另存为", + "move": "移动部件", + "save-widget-as": "部件另存为", + "save-widget-as-text": "请输入新的部件标题", + "toggle-fullscreen": "切换全屏", + "run": "运行部件", + "widget-title": "部件标题", + "title": "标题", + "title-required": "部件标题为必填项。", + "title-max-length": "标题不能超过 256 个字符", + "system": "系统", + "type": "部件类型", + "resources": "资源", + "resource-url": "JavaScript/CSS URL", + "resource-is-extension": "是否为扩展", + "remove-resource": "移除资源", + "add-resource": "添加资源", + "html": "HTML", + "tidy": "整理", + "css": "CSS", + "settings-form": "设置表单", + "data-key-settings-form": "数据键设置表单", + "latest-data-key-settings-form": "最新数据键设置表单", + "widget-settings": "部件设置", + "description": "描述", + "tags": "标签", + "image-preview": "图片预览", + "settings-form-selector": "设置表单选择器", + "data-key-settings-form-selector": "数据键设置表单选择器", + "latest-data-key-settings-form-selector": "最新数据键设置表单选择器", + "all": "全部", + "actual": "当前", + "scada": "SCADA 符号", + "deprecated": "已弃用", + "has-basic-mode": "具有基础模式", + "basic-mode-form-selector": "基础模式表单选择器", + "basic-mode": "基础", + "advanced-mode": "高级", + "javascript": "Javascript", + "js": "JS", + "delete-widget-title": "确定要删除部件 '{{widgetName}}' 吗?", + "delete-widget-text": "确认后,该部件及所有相关数据将无法恢复。", + "delete-widgets-title": "确定要删除 { count, plural, =1 {1 个部件} other {# 个部件} } 吗?", + "delete-widgets-text": "请注意,确认后所有选中的部件将被移除,且所有相关数据将无法恢复。", + "delete-widget": "删除部件", + "widget-template-load-failed-error": "加载部件模板失败!", + "details": "详情", + "widget-details": "部件详情", + "add": "添加部件", + "add-existing-widget": "添加现有部件", + "add-new-widget": "添加新部件", + "search-widgets": "搜索部件", + "selected-widgets": "已选择 { count, plural, =1 {1 个部件} other {# 个部件} }", + "undo": "撤销部件更改", + "export": "导出部件", + "export-prompt": "嵌入部件图片和资源", + "export-widgets": "导出部件", + "export-widgets-prompt": "嵌入部件图片和资源", + "import": "导入部件", + "no-data": "部件无数据可显示", + "data-overflow": "部件显示 {{total}} 个实体中的 {{count}} 个", + "alarm-data-overflow": "部件显示 {{totalEntities}} 个实体中 {{allowedEntities}} 个(最大允许数)实体的告警", + "search": "搜索部件", + "filter": "部件过滤器类型", + "loading-widgets": "正在加载部件...", + "widget-template-error": "无效的部件 HTML 模板。", + "reference": "引用" + }, + "widget-action": { + "header-button": "部件标题栏按钮", + "do-nothing": "无操作", + "open-dashboard-state": "导航到新的仪表板状态", + "update-dashboard-state": "更新当前仪表板状态", + "open-dashboard": "导航到其他仪表板", + "custom": "自定义操作", + "custom-pretty": "自定义操作(带 HTML 模板)", + "custom-pretty-error-title": "自定义对话框错误", + "custom-pretty-template-error": "无效的自定义对话框模板。", + "custom-pretty-controller-error": "执行自定义对话框函数时发生错误。", + "mobile-action": "移动端操作", + "target-dashboard-state": "目标仪表板状态", + "target-dashboard-state-required": "目标仪表板状态为必填项", + "set-entity-from-widget": "从部件设置实体", + "target-dashboard": "目标仪表板", + "select-target-dashboard": "选择目标仪表板", + "target-dashboard-required": "目标仪表板为必填项。", + "open-right-layout": "打开右侧仪表板布局(移动端视图)", + "state-display-type": "仪表板状态显示选项", + "open-normal": "正常", + "open-in-separate-dialog": "在单独对话框中打开", + "open-in-popover": "在弹出框中打开", + "dialog-title": "对话框标题", + "dialog-hide-dashboard-toolbar": "在对话框中隐藏仪表板工具栏", + "dialog-width": "对话框宽度(相对于视口宽度的百分比)", + "dialog-height": "对话框高度(相对于视口高度的百分比)", + "dialog-size-range-error": "对话框大小百分比值应在 1 到 100 之间。", + "popover-preferred-placement": "首选弹出框位置", + "popover-placement-top": "顶部", + "popover-placement-topLeft": "左上", + "popover-placement-topRight": "右上", + "popover-placement-right": "右侧", + "popover-placement-rightTop": "右上", + "popover-placement-rightBottom": "右下", + "popover-placement-bottom": "底部", + "popover-placement-bottomLeft": "左下", + "popover-placement-bottomRight": "右下", + "popover-placement-left": "左侧", + "popover-placement-leftTop": "左上", + "popover-placement-leftBottom": "左下", + "popover-hide-on-click-outside": "点击外部时隐藏弹出框", + "popover-hide-dashboard-toolbar": "在弹出框中隐藏仪表板工具栏", + "popover-width": "弹出框宽度", + "popover-height": "弹出框高度", + "popover-style": "弹出框样式", + "open-new-browser-tab": "在新浏览器标签页中打开", + "open-URL": "打开 URL", + "URL": "URL", + "url-required": "URL 为必填项。", "mobile": { - "add-application": "添加应用", - "app-id": "应用ID", - "app-id-required": "应用ID必填", - "app-id-pattern": "应用ID格式无效", - "app-store-link": "应用商店链接", - "app-store-link-required": "应用商店链接必填", - "application-details": "应用详情", - "application-package": "应用包", - "application-secret": "应用密钥", - "application-secret-required": "应用密钥必填", - "application": "应用", - "applications": "应用列表", - "copy-app-id": "复制应用ID", - "copy-app-store-link": "复制应用商店链接", - "copy-application-package": "复制应用包", - "copy-application-secret": "复制应用密钥", - "copy-google-play-link": "复制Google Play链接", - "copy-sha256-certificate-fingerprints": "复制SHA256证书指纹", - "delete-application": "删除应用", - "delete-application-button-text": "我理解后果,删除应用", - "delete-application-text": "此操作无法撤销。删除应用将永久删除应用及其所有相关数据。
如果不想永久删除,可以暂时挂起应用。
若要删除应用,请输入\"{{phrase}}\"进行确认。", - "delete-application-title-short": "确定要删除应用 '{{name}}' 吗?", - "delete-application-text-short": "请注意:确认后应用及所有相关数据将无法恢复。", - "delete-application-phrase": "删除应用", - "delete-applications-bundle-text": "请注意:确认后移动应用包及所有相关数据将无法恢复。", - "delete-applications-bundle-title": "确定要删除移动应用包 '{{bundleName}}' 吗?", - "generate-application-secret": "生成应用密钥", - "google-play-link": "Google Play链接", - "google-play-link-required": "Google Play链接必填", - "latest-version": "最新版本", - "min-version": "最低版本", - "invalid-version-pattern": "版本格式无效。请使用格式:major.minor.patch(例如:1.0.0)。", - "mobile-center": "移动中心", - "mobile-package": "应用包", - "mobile-package-max-length": "应用包长度应少于256个字符", - "mobile-package-required": "应用包是必需的", - "mobile-package-pattern": "应用包格式无效", - "no-application": "未找到应用", - "no-bundles": "未找到移动包", - "platform-type": "平台类型", - "search-application": "搜索应用", - "search-bundles": "搜索移动包", - "set": "设置", - "sha256-certificate-fingerprints": "SHA256证书指纹", - "sha256-certificate-fingerprints-required": "SHA256证书指纹是必需的", - "sha256-certificate-fingerprints-pattern": "SHA256证书指纹格式无效", - "show-hidden-pages": "显示隐藏页面", - "status": "状态", - "status-type": { - "deprecated": "已弃用", - "draft": "草稿", - "published": "已发布", - "suspended": "已暂停" - }, - "store-information": "商店信息", - "version-information": "版本信息", - "min-version-release-notes": "最低版本发布说明", - "latest-version-release-notes": "最新版本发布说明", - "bundle": "捆绑包", - "bundles": "捆绑包列表", - "add-bundle": "添加捆绑包", - "title": "标题", - "title-required": "标题必填", - "oauth-clients": "OAuth2.0客户端", - "android-app": "Android应用", - "android-application": "Android应用程序", - "ios-app": "iOS应用", - "ios-application": "iOS应用程序", - "invalid-store-link": "无效的商店链接", - "enable-oauth": "启用OAuth2.0", - "enable-self-registration": "启用自助注册", - "edit-bundle": "编辑捆绑包", - "description": "描述", - "basic-settings": "基本设置", - "no-application-matching": "未找到与 '{{entity}}' 匹配的应用程序。", - "no-bundle-matching": "未找到与 '{{entity}}' 匹配的捆绑包。", - "application-required": "应用程序必填。", - "bundle-required": "捆绑包必填。", - "no-application-text": "未找到应用程序", - "no-bundle-text": "未找到捆绑包", - "layout": "布局", - "pages": "页面", - "hide-all-pages": "隐藏所有页面", - "reset-to-default-pages": "重置为默认页面", - "add-specific-page": "添加特定页面", - "visible": "可见", - "hidden": "隐藏", - "reset-to-page-default": "重置页面为默认", - "mobile-599": "移动端(最大 599px)", - "tablet-959": "平板(最大 959px)", - "max-element-number": "最大元素数量", - "page-name": "页面名称", - "page-name-required": "页面名称必填。", - "page-name-cannot-contain-only-spaces": "页面名称不能仅包含空格。", - "page-type": "页面类型", - "pages-types": { - "dashboard": "仪表盘", - "web-view": "网页视图", - "custom": "自定义" - }, - "url": "URL", - "invalid-url-format": "URL格式无效", - "path": "路径", - "invalid-path-format": "路径格式无效", - "custom-page": "自定义页面", - "edit-page": "编辑页面", - "edit-custom-page": "编辑自定义页面", - "delete-page": "删除页面", - "qr-code-widget": "二维码小部件", - "type-here": "在此输入", - "configuration-dialog": "配置对话框", - "configuration-app": "配置应用程序", - "configuration-step": { - "prepare-environment-title": "准备开发环境", - "prepare-environment-text": "Flutter ThingsBoard 移动应用程序需要 Flutter SDK。按照说明设置 Flutter SDK。", - "get-source-code-title": "获取应用程序源代码", - "get-source-code-text": "您可以通过从 GitHub 仓库克隆来获取 Flutter ThingsBoard 移动应用程序源代码:", - "configure-api-title": "配置 ThingsBoard API 端点", - "configure-api-text": "在编辑器/IDE 中打开 flutter_thingsboard_app 项目。编辑:", - "configure-api-hint": "将 thingsBoardApiEndpoint 常量的值设置为与您的 ThingsBoard 服务器实例的 API 端点匹配。请勿使用“localhost”或“127.0.0.1”主机名。", - "run-app-title": "运行应用程序", - "run-app-text": "按您的 IDE 中的说明运行应用程序。\n如果使用终端,请使用以下命令运行应用程序:", - "more-information": "详细信息请参阅我们的入门文档。", - "getting-started": "入门", - "configure-package-title": "配置应用程序包", - "configure-package-text": "您可以手动更改应用程序包,也可以使用第三方 CLI 工具。", - "configure-package-text-install": "要安装 Rename CLI 工具,请执行以下命令:", - "configure-package-run-commands": "在您的项目根目录下运行以下命令:" - } + "device-provision": "设备配网", + "action-type": "移动端操作类型", + "select-action-type": "选择移动端操作类型", + "action-type-required": "移动端操作类型为必填项", + "take-picture-from-gallery": "从相册选取图片", + "take-photo": "拍照", + "map-direction": "打开地图导航", + "map-location": "打开地图位置", + "scan-qr-code": "扫描二维码", + "make-phone-call": "拨打电话", + "get-location": "获取手机位置", + "take-screenshot": "截屏", + "handle-provision-success-function": "处理配网成功函数", + "get-location-function": "获取位置函数", + "process-launch-result-function": "处理启动结果函数", + "get-phone-number-function": "获取电话号码函数", + "process-image-function": "处理图片函数", + "process-qr-code-function": "处理二维码函数", + "process-location-function": "处理位置函数", + "handle-empty-result-function": "处理空结果函数", + "handle-error-function": "处理错误函数", + "handle-non-mobile-fallback-function": "处理非移动端回退函数", + "save-to-gallery": "保存到相册", + "provision-type": "配网类型", + "auto": "自动", + "wi-fi": "Wi-Fi", + "ble": "BLE", + "soft-ap": "Soft AP" }, - "notification": { - "action-button": "操作按钮", - "action-type": "操作类型", - "active": "活动", - "add-notification-recipients-group": "添加通知收件人组", - "add-notification-template": "添加通知模板", - "add-recipient": "添加收件人", - "add-recipients": "添加收件人", - "add-rule": "添加规则", - "add-stage": "添加阶段", - "add-template": "添加模板", - "after": "之后", - "alarm-assignment-trigger-settings": "告警分配触发设置", - "alarm-comment-trigger-settings": "告警评论触发设置", - "alarm-trigger-settings": "告警触发设置", - "all": "所有", - "api-feature-hint": "如果字段为空,则触发器将应用于所有API功能", - "api-usage-trigger-settings": "API使用触发设置", - "new-platform-version-trigger-settings": "新平台版本触发设置", - "rate-limits-trigger-settings": "超出速率限制触发设置", - "task-processing-failure-trigger-settings": "任务处理故障触发设置", - "at-least-one-should-be-selected": "至少需要选择一个", - "basic-settings": "基本设置", - "button-text": "按钮文本", - "button-text-required": "按钮文本必填。", - "button-text-max-length": "按钮文本应小于或等于{{ length }}个字符。", - "compose": "组合", - "conversation": "对话", - "conversation-required": "对话必填。", - "copy-notification-template": "复制通知模板", - "copy-rule": "复制规则", - "copy-template": "复制模板", - "create-new": "创建", - "created": "已创建", - "customize-messages": "自定义消息", - "delete-notification-text": "请注意,在确认后,通知将无法恢复。", - "delete-notification-title": "您确定要删除该通知吗?", - "delete-notifications-text": "请注意,在确认后,通知将无法恢复。", - "delete-notifications-title": "确定要删除{ count, plural, =1 {1 个通知} other {# 个通知} }吗?", - "delete-recipient-text": "请注意,在确认后,收件人将无法恢复。", - "delete-recipient-title": "确定要删除收件人'{{recipientName}}' 吗?", - "delete-recipients-text": "请注意,在确认后,收件人将无法恢复。", - "delete-recipients-title": "确定要删除{ count, plural, =1 {1 个收件人} other {# 个收件人} }吗?", - "delete-request-text": "请注意,在确认后,请求将无法恢复。", - "delete-request-title": "确定要删除请求吗?", - "delete-requests-text": "请注意,在确认后,请求将无法恢复。", - "delete-requests-title": "确定要删除{ count, plural, =1 {1 个请求} other {# 个请求} }吗?", - "delete-rule-text": "请注意,在确认后,规则将无法恢复。", - "delete-rule-title": "确定要删除规则'{{ruleName}}' 吗?请注意,确认后无法恢复。", - "delete-rules-text": "请注意,在确认后,规则将无法恢复。", - "delete-rules-title": "确定要删除{ count, plural, =1 {1 条规则} other {# 条规则} }吗?", - "delete-template-text": "请注意,在确认后,模板将无法恢复。", - "delete-template-title": "确定要删除模板'{{templateName}}' 吗?", - "delete-templates-text": "请注意,在确认后,模板将无法恢复。", - "delete-templates-title": "确定要删除{ count, plural, =1 {1 个模板} other {# 个模板} }吗?", - "deleted": "已删除", - "delivery-method": { - "delivery-method": "推送方式", - "email": "Email", - "email-preview": "Email 通知预览", - "slack": "Slack", - "slack-preview": "Slack 通知预览", - "microsoft-teams": "微软Teams", - "microsoft-teams-preview": "微软Teams通知预览", - "sms": "SMS", - "sms-preview": "SMS通知预览", - "web": "Web", - "web-preview": "Web通知预览", - "mobile-app": "移动应用", - "mobile-app-preview": "移动应用通知预览" - }, - "delivery-method-not-configure-click": "单击进行推送方式设置。", - "delivery-method-not-configure-contact": "推送方式未设置,请与系统管理员联系。", - "delivery-methods": "推送方式", - "description": "描述", - "device-activity-trigger-settings": "设备活动触发设置", - "device-list-rule-hint": "如果该字段为空,则触发器将适用于所有设备。", - "device-profiles-list-rule-hint": "如果该字段为空,则触发器将适用于所有设备配置。", - "disabled": "禁用", - "edge-trigger-settings": "Edge触发设置", - "edge-list-rule-hint": "如果字段为空则将触发应用于所有Edge实例", - "edit-notification-recipients-group": "编辑通知收件人群组", - "edit-notification-template": "编辑通知模板", - "edit-rule": "编辑规则", - "edit-template": "编辑模板", - "enabled": "已启用", - "entities-limit-trigger-settings": "实体限制触发器设置", - "entity-action-trigger-settings": "实体动作触发器设置", - "entity-type": "实体类型", - "escalation-chain": "逐步升级链", - "failed-send": "发送失败", - "fails": "{ count, plural, =1 {1 个失败} other {# 个失败} }", - "filter": "筛选器", - "first-recipient": "第一收件人", - "inactive": "非活动", - "inbox": "收件箱", - "notification-inbox": "通知 / 收件箱", - "input-field-support-templatization": "输入字段支持模板化", - "input-fields-support-templatization": "输入字段支持模板化", - "link": "链接", - "link-required": "链接必填。", - "link-type": { - "dashboard": "打开仪表板", - "link": "打开URL链接" - }, - "loading-notifications": "加载通知中…", - "management": "通知管理", - "mark-all-as-read": "全部标记为已读", - "mark-as-read": "标记为已读", - "message": "信息", - "message-required": "信息必填。", - "message-max-length": "提示信息应该小于或等于 {{ length }}个字符", - "name": "名称", - "name-required": "名称必填", - "new-notification": "新通知", - "no-inbox-notification": "未找到通知", - "no-notification-request": "没有通知请求", - "no-notification-templates": "未找到通知模板", - "no-notifications-yet": "目前还没有通知", - "no-recipients-notification": "没有收件人的通知", - "no-recipients-matching": "未找到与 '{{entity}}' 匹配的收件人。", - "no-recipients-text": "未找到收件人", - "no-rule": "未配置规则", - "no-rules-notification": "没有规则通知", - "no-severity-found": "未找到严重性级别", - "no-severity-matching": "未找到'{{severity}}'。", - "no-template-matching": "未找到与'{{template}}' 匹配的资源。", - "not-found-slack-recipient": "未找到Slack的收件人", - "notification": "通知", - "notification-center": "通知中心", - "notification-tap-action": "单击通知操作", - "notification-tap-action-hint": "如果未启用将使用默认警报仪表板", - "notify": "通知", - "notify-again": "再次通知", - "notify-alarm-action": { - "acknowledged": "告警已确认", - "assigned": "告警已分配", - "cleared": "告警已清除", - "created": "告警已确认", - "severity-changed": "告警级别已更改", - "unassigned": "告警未分配" - }, - "notify-on": "通知条件", - "notify-on-comment-update": "在评论更新时通知", - "notify-on-required": "通知条件必填。", - "notify-on-unassign": "在取消分配时通知", - "notify-only-user-comments": "仅在用户评论时通知", - "only-rule-chain-lifecycle-failures": "仅在规则链生命周期故障时通知", - "only-rule-node-lifecycle-failures": "仅在规则节点生命周期故障时通知", - "platform-users": "平台用户", - "rate-limits": "速率限制", - "rate-limits-hint": "如果该字段为空,则触发器将应用于所有速率限制", - "recipient": "收件人", - "recipient-group": "收件人组", - "recipient-type": { - "affected-tenant-administrators": "受影响的租户管理员", - "affected-user": "受影响的用户", - "all-users": "所有用户", - "customer-users": "客户用户", - "system-administrators": "系统管理员", - "tenant-administrators": "租户管理员", - "user-filters": "用户筛选器", - "user-list": "用户列表", - "users-entity-owner": "实体所有者的用户" - }, - "recipients": "收件人", - "notification-recipient": "通知接收者", - "notification-recipient-required": "通知接收者必填。", - "notification-recipients": "通知/收件人", - "recipients-count": "{ count, plural, =1 {1 个收件人} other {# 个收件人} }", - "recipients-required": "收件人必填。", - "refresh-allow-delivery-method": "刷新允许推送方式", - "request-search": "请求搜索", - "request-status": { - "processing": "处理中", - "scheduled": "已安排", - "sent": "已发送" - }, - "review": "检查", - "rule": "规则", - "rule-chain-list-rule-hint": "如果字段为空,则触发器将应用于所有规则链。", - "rule-engine-events-trigger-settings": "规则引擎事件触发器设置", - "rule-engine-filter": "规则引擎筛选器", - "rule-name": "规则名称", - "rule-name-required": "名称必填。", - "rule-disable": "禁用通知规则", - "rule-enable": "启用通知规则", - "rule-node-filter": "规则节点筛选器", - "rules": "规则", - "notification-rules": "通知 / 规则", - "scheduler-later": "稍后安排", - "search-notification": "搜索通知", - "search-recipients": "搜索收件人", - "search-rules": "搜索规则", - "search-templates": "搜索模板", - "see-documentation": "查看文档", - "selected-notifications": "已选择{ count, plural, =1 {1 个通知} other {# 个通知} }", - "selected-recipients": "已选择{ count, plural, =1 {1 个收件人} other {# 个收件人} }", - "selected-requests": "已选择{ count, plural, =1 {1 个请求} other {# 个请求} }", - "selected-rules": "已选择{ count, plural, =1 {1 个规则} other {# 个规则} }", - "selected-template": "已选择{ count, plural, =1 {1 个模板} other {# 个模板} }", - "send-notification": "发送通知", - "sent": "已发送", - "setup": "步骤", - "notification-sent": "通知/已发送", - "set-entity-from-notification": "将通知中的实体设置为仪表盘状态", - "slack-chanel-type": "Slack频道类型", - "slack-chanel-types": { - "direct": "直接消息", - "private-channel": "私有频道", - "public-channel": "公开频道" - }, - "start-from-scratch": "从头开始", - "status": "状态", - "stop-escalation-alarm-status-become": "停止逐步升级,将告警状态设置为:", - "subject": "主题", - "subject-required": "主题必填。", - "subject-max-length": "主题应小于或等于{{ length }}个字符", - "template": "模板", - "template-name": "模板名称", - "template-required": "模板必填。", - "template-type": { - "alarm": "告警", - "alarm-assignment": "告警分配", - "alarm-comment": "告警评论", - "api-usage-limit": "API使用限制", - "device-activity": "设备活动", - "entities-limit": "实体限制", - "entity-action": "实体操作", - "general": "通用", - "rule-engine-lifecycle-event": "规则引擎生命周期事件", - "rule-node": "规则节点", - "new-platform-version": "新的平台版本", - "rate-limits": "超过速率限制", - "edge-communication-failure": "Edge通信故障", - "edge-connection": "Edge连接", - "task-processing-failure": "任务处理失败" - }, - "templates": "模板", - "notification-templates": "通知/模板", - "tenant-profiles-list-rule-hint": "如果字段为空,触发器将应用于所有租户配置", - "tenants-list-rule-hint": "如果字段为空,触发器将应用于所有租户", - "threshold": "阈值", - "theme-color": "主题颜色", - "time": "时间", - "track-rule-node-events": "追踪规则节点事件", - "trigger": { - "alarm": "告警", - "alarm-assignment": "告警分配", - "alarm-comment": "告警评论", - "api-usage-limit": "API使用限制", - "device-activity": "设备活动", - "entities-limit": "实体限制", - "entity-action": "实体操作", - "rule-engine-lifecycle-event": "规则引擎生命周期事件", - "new-platform-version": "新的平台版本", - "rate-limits": "超过速率限制", - "edge-connection": "Edge连接", - "edge-communication-failure": "Edge通信故障", - "task-processing-failure": "任务处理失败", - "trigger": "触发器", - "trigger-required": "触发器必填。" - }, - "type": "类型", - "unread": "未读", - "updated": "已更新", - "use-deprecated-webhook-connectors": "使用已弃用的Webhook连接器", - "use-old-api": "使用旧API", - "use-template": "使用模板", - "view-all": "查看全部", - "warning": "警告", - "webhook-url": "Webhook URL", - "webhook-url-required": "Webhook URL必填。", - "workflow-url": "Workflow URL", - "workflow-url-required": "Workflow URL必填。", - "channel-name": "频道名称", - "channel-name-required": "需要填写频道名称", - "settings": { - "notification-settings": "通知设置", - "reset-all": "重置全部设置", - "reset-all-title": "您确定要将表单重置吗?", - "reset-all-text": "确认后,设置表单将重置为默认值并保存。", - "type": "类型", - "enable-all": "全部启用", - "disable-all": "全部禁用", - "delivery-not-configured": "未配置传递方式" - } + "custom-action-function": "自定义操作函数", + "custom-pretty-function": "自定义操作(带 HTML 模板)函数", + "map-item-type": "地图项目类型", + "map-item": { + "marker": "标记", + "polygon": "多边形", + "rectangle": "矩形", + "circle": "圆形", + "polyline": "折线" }, - "ota-update": { - "add": "添加包", - "assign-firmware": "分配的固件", - "assign-firmware-required": "分配的固件必填", - "assign-software": "分配的软件", - "assign-software-required": "分配的软件必填", - "auto-generate-checksum": "自动生成校验和", - "checksum": "校验和", - "checksum-hint": "如果校验和为空,会自动生成", - "checksum-algorithm": "校验和算法", - "checksum-copied-message": "包校验和已复制到剪贴板", - "change-firmware": "固件的更改可能会导致{ count, plural, =1 {1 个设备} other {# 个设备} } 的更新。", - "change-software": "软件的更改可能会导致{ count, plural, =1 {1 个设备} other {# 个设备} } 的更新。", - "chose-compatible-device-profile": "上传的包仅适用于具有所选配置的设备。", - "chose-firmware-distributed-device": "选择将分发到设备的固件", - "chose-software-distributed-device": "选择将分发到设备的软件", - "content-type": "内容类型", - "copy-checksum": "复制校验和", - "copy-direct-url": "复制直接URL", - "copyId": "复制包ID", - "copied": "已复制!", - "delete": "删除包", - "delete-ota-update-text": "请注意:确认后,OTA升级将不可恢复。", - "delete-ota-update-title": "确定要删除 '{{title}}' OTA升级吗?", - "delete-ota-updates-text": "请注意:确认后,所有选中的OTA升级将被删除。", - "delete-ota-updates-title": "确定要删除{ count, plural, =1 {1 OTA升级} other {# OTA升级} }吗?", - "description": "说明", - "direct-url": "直接URL", - "direct-url-copied-message": "包直接URL已复制到剪贴板", - "direct-url-required": "直接URL必填", - "download": "下载包", - "drop-file": "拖放包文件或点击选择要上传的文件。", - "drop-package-file-or": "拖放一个包文件或者", - "file-name": "文件名", - "file-size": "文件大小", - "file-size-bytes": "文件大小(以字节为单位)", - "idCopiedMessage": "包ID已被复制到剪贴板", - "no-firmware-matching": "未找到与'{{entity}}'匹配的兼容固件OTA升级包。", - "no-firmware-text": "没有提供兼容的固件OTA升级包。", - "no-packages-text": "未找到包", - "no-software-matching": "未找到匹配 '{{entity}}' 的兼容软件OTA升级包。", - "no-software-text": "没有提供兼容的软件OTA升级包。", - "ota-update": "OTA 升级", - "ota-update-details": "OTA 升级详情", - "ota-updates": "OTA 升级", - "package-file": "包文件", - "package-type": "包类型", - "packages-repository": "包仓库", - "search": "搜索包", - "selected-package": "{ count, plural, =1 {1个包} other {#个包} }选中", - "title": "标题", - "title-required": "标题必填。", - "title-max-length": "标题长度应该小于256个字符。", - "types": { - "firmware": "固件", - "software": "软件" - }, - "upload-binary-file": "上传二进制文件", - "use-external-url": "使用外部URL", - "version": "版本", - "version-required": "版本必填。", - "version-tag": "版本标签", - "version-tag-hint": "自定义标签应与您设备报告的软件包版本相匹配。", - "version-max-length": "版本长度应该小于256个字符", - "warning-after-save-no-edit": "上传包后,您将无法修改标题、版本、设备配置和包类型。" - }, - "position": { - "top": "顶部", - "bottom": "底部", - "left": "左侧", - "right": "右侧" - }, - "profile": { - "profile": "属性", - "last-login-time": "最后登录", - "change-password": "更改密码", - "current-password": "当前密码", - "copy-jwt-token": "复制 JWT 令牌", - "jwt-token": "JWT 令牌", - "token-valid-till": "令牌有效期至", - "tokenCopiedSuccessMessage": "JWT 令牌已复制到剪贴板", - "tokenCopiedWarnMessage": "JWT 令牌已过期!请刷新页面。" - }, - "profiles": { - "profiles": "配置" - }, - "security": { - "security": "安全", - "general-settings": "通用安全设置", - "access-token": "访问令牌", - "access-token-required": "需要访问令牌", - "clientId": "客户端ID", - "clientId-required": "需要客户端ID", - "username": "用户名", - "username-required": "需要用户名", - "ca-cert": "CA证书", - "2fa": { - "2fa": "双因素认证", - "2fa-description": "双因素认证可保护您的帐户免受未经授权的访问。在登录时必须输入安全验证码。", - "authenticate-with": "可以使用以下身份验证:", - "disable-2fa-provider-text": "禁用{{ name }}会降低帐户的安全性", - "disable-2fa-provider-title": "确定要禁用 {{ name }}吗?", - "get-new-code": "获取新验证码", - "main-2fa-method": "用作主要的双因素认证方法", - "dialog": { - "activation-step-description-email": "下次登录时,系统将提示您输入电子邮件中的验证码。", - "activation-step-description-sms": "下次登录时,系统将提示您输入短信中的验证码。", - "activation-step-description-totp": "下次登录时,您需要提供一个双因素认证码。", - "activation-step-label": "激活", - "backup-code-description": "打印出验证码,以便在您需要时使用它们登录帐户。每个备份验证码可以使用一次。", - "backup-code-warn": "离开此页后,这些代码将无法再次显示。使用以下选项安全存放。", - "download-txt": "下载(txt)", - "email-step-description": "输入用作身份验证的电子邮件", - "email-step-label": "电子邮件", - "enable-email-title": "启用电子邮件验证", - "enable-sms-title": "启用SMS验证", - "enable-totp-title": "启用验证APP", - "enter-verification-code": "输入6位验证码", - "get-backup-code-title": "获取备份验证码", - "next": "下一步", - "scan-qr-code": "使用验证APP扫描二维码", - "send-code": "发送验证码", - "sms-step-description": "输入用作身份验证的手机号码", - "sms-step-label": "手机号码", - "success": "操作成功!", - "totp-step-description-install": "可以安装像Google Authenticator、Authy或Duo这样的应用程序。", - "totp-step-description-open": "在手机上打开验证APP。", - "totp-step-label": "获取APP", - "verification-code": "6位验证码", - "verification-code-invalid": "验证码格式无效", - "verification-code-incorrect": "验证码不正确", - "verification-code-many-request": "请求过多,请检查验证码", - "verification-step-description": "输入发送到{{ address }}的6位代码", - "verification-step-label": "验证" - }, - "provider": { - "email": "电子邮件", - "email-description": "使用您电子邮件中的验证码进行身份验证。", - "email-hint": "身份验证码通过电子邮件发送到{{ info }}", - "sms": "SMS", - "sms-description": "使用短信进行身份验证,当登录时系统会通过短信向您发送验证码。", - "sms-hint": "身份验证码通过短信发送到{{ info }}", - "totp": "验证APP", - "totp-description": "使用手机上的Google Authenticator、Authy或Duo等应用程序进行身份验证,它将生成用于登录的验证码。", - "totp-hint": "已为您的帐户设置验证APP", - "backup_code": "备份验证码", - "backup-code-description": "这些可打印的一次性密码允许您在离开手机时登录,比如正在旅行。", - "backup-code-hint": "{{ info }}个一次性代码此时处于激活状态" - } - }, - "password-requirement": { - "at-least": "至少:", - "character": "{ count, plural, =1 {1 位字符} other {# 位字符} }", - "digit": "{ count, plural, =1 {1 位数字} other {# 位数字} }", - "incorrect-password-try-again": "密码不正确再试一次。", - "lowercase-letter": "{ count, plural, =1 {1 位小写字母} other {# 位小写字母} }", - "new-passwords-not-match": "新密码不匹配", - "password-should-not-contain-spaces": "密码不应包含空格", - "password-not-meet-requirements": "密码不符合要求", - "password-requirements": "密码要求", - "password-should-difference": "新密码应与当前密码不同", - "special-character": "{ count, plural, =1 {1 位特殊字符} other {# 位特殊字符} }", - "uppercase-letter": "{ count, plural, =1 {1 位大写字母} other {# 位大写字母} }", - "at-most": "最多:" - } + "place-map-item": "放置地图项目", + "map-item-tooltip": { + "customize-map-item-tooltips": "自定义地图项目提示", + "place-marker": "放置标记", + "start-draw-rectangle": "开始绘制矩形", + "finish-draw-rectangle": "完成绘制矩形", + "start-draw-polygon": "开始绘制多边形", + "continue-draw-polygon": "继续绘制多边形", + "finish-draw-polygon": "完成绘制多边形", + "start-draw-circle": "开始绘制圆形", + "finish-draw-circle": "完成绘制圆形", + "start-draw-polyline": "开始绘制折线", + "finish-draw-polyline": "完成绘制折线" + } + }, + "widgets-bundle": { + "current": "当前包", + "widgets-bundles": "部件包", + "widgets-bundle-widgets": "部件包部件", + "add": "添加部件包", + "delete": "删除部件包", + "title": "标题", + "title-required": "标题为必填项。", + "title-max-length": "标题不能超过 256 个字符", + "description": "描述", + "image-preview": "图片预览", + "scada": "SCADA 部件包", + "order": "排序", + "add-widgets-bundle-text": "添加新部件包", + "no-widgets-bundles-text": "未找到部件包", + "empty": "部件包为空", + "details": "详情", + "widgets-bundle-details": "部件包详情", + "delete-widgets-bundle-title": "确定要删除部件包 '{{widgetsBundleTitle}}' 吗?", + "delete-widgets-bundle-text": "请注意,确认后该部件包及所有相关数据将无法恢复。", + "delete-widgets-bundles-title": "确定要删除 { count, plural, =1 {1 个部件包} other {# 个部件包} } 吗?", + "delete-widgets-bundles-action-title": "删除 { count, plural, =1 {1 个部件包} other {# 个部件包} }", + "delete-widgets-bundles-text": "请注意,确认后所有选中的部件包将被移除,且所有相关数据将无法恢复。", + "no-widgets-bundles-matching": "未找到匹配 '{{widgetsBundle}}' 的部件包。", + "widgets-bundle-required": "部件包为必填项。", + "system": "系统", + "import": "导入部件包", + "export": "导出部件包", + "export-widgets-bundle-widgets-prompt": "在导出数据中包含包内部件(否则仅导出引用的部件 FQN)", + "export-failed-error": "无法导出部件包:{{error}}", + "create-new-widgets-bundle": "创建新部件包", + "widgets-bundle-file": "部件包文件", + "invalid-widgets-bundle-file-error": "无法导入部件包:无效的部件包数据结构。", + "search": "搜索部件包", + "selected-widgets-bundles": "已选择 { count, plural, =1 {1 个部件包} other {# 个部件包} }", + "open-widgets-bundle": "打开部件包", + "loading-widgets-bundles": "正在加载部件包...", + "create-new": "创建新部件包" + }, + "widget-config": { + "data": "数据", + "settings": "设置", + "advanced": "高级", + "appearance": "外观", + "widget-card": "部件卡片", + "mobile": "移动端", + "title": "标题", + "title-tooltip": "标题提示", + "general-settings": "常规设置", + "display-title": "显示部件标题", + "card-title": "卡片标题", + "drop-shadow": "阴影", + "enable-fullscreen": "启用全屏", + "background-color": "背景颜色", + "text-color": "文本颜色", + "border-radius": "边框圆角", + "padding": "内边距", + "margin": "外边距", + "widget-style": "部件样式", + "widget-css": "部件 CSS", + "title-style": "标题样式", + "mobile-mode-settings": "移动端模式", + "order": "排序", + "height": "高度", + "mobile-hide": "在移动端模式下隐藏部件", + "desktop-hide": "在桌面端模式下隐藏部件", + "units": "显示在值旁边的特殊符号", + "units-by-default": "默认单位", + "decimals": "小数点后位数", + "decimals-by-default": "默认小数位数", + "default-data-key-parameter-hint": "此参数适用于所有部件值,除非被数据键配置覆盖", + "units-short": "单位", + "decimals-short": "小数位", + "decimals-suffix": "小数位", + "digits-suffix": "位数", + "timewindow": "时间窗口", + "use-dashboard-timewindow": "使用仪表板时间窗口", + "use-widget-timewindow": "使用部件时间窗口", + "display-timewindow": "显示时间窗口", + "legend": "图例", + "display-legend": "显示图例", + "datasources": "数据源", + "datasource": "数据源", + "maximum-datasources": "最多允许 { count, plural, =1 {1 个数据源。} other {# 个数据源} }", + "timeseries-key-error": "至少需要指定一个时间序列数据键", + "datasource-type": "类型", + "datasource-parameters": "参数", + "remove-datasource": "移除数据源", + "add-datasource": "添加数据源", + "target-device": "目标设备", + "alarm-source": "告警源", + "actions": "操作", + "action": "操作", + "add-action": "添加操作", + "search-actions": "搜索操作", + "no-actions-text": "未找到操作", + "action-source": "操作来源", + "select-action-source": "选择操作来源", + "action-source-required": "操作来源为必填项。", + "column-index": "列索引", + "select-column-index": "选择列索引", + "column-index-required": "列索引为必填项。", + "not-set": "未设置", + "action-name": "名称", + "action-name-required": "操作名称为必填项。", + "action-name-not-unique": "已存在同名的操作。\n操作名称在同一操作来源中必须唯一。", + "action-icon": "图标", + "header-button": { + "button-settings": "按钮设置", + "button-type": "按钮类型", + "button-type-basic": "基础", + "button-type-raised": "凸起", + "button-type-stroked": "描边", + "button-type-flat": "扁平", + "button-type-icon": "图标", + "button-type-mini-fab": "FAB", + "colors": "颜色", + "color": "颜色", + "background": "背景", + "border": "边框", + "advanced-button-style": "高级按钮样式", + "button-style": "按钮样式" }, - "relation": { - "relations": "关联", - "direction": "方向", - "clear-relation-type": "清除关系类型", - "search-direction": { - "FROM": "从", - "TO": "到" - }, - "direction-type": { - "FROM": "从", - "TO": "到" - }, - "from-relations": "向外的关联", - "to-relations": "向内的关联", - "selected-relations": "已选择{ count, plural, =1 {1 个关联} other {# 个关联} }", - "type": "类型", - "to-entity-type": "到实体类型", - "to-entity-name": "到实体名称", - "from-entity-type": "从实体类型", - "from-entity-name": "从实体类型", - "to-entity": "到实体", - "from-entity": "从实体", - "delete": "删除关联", - "relation-type": "关联类型", - "relation-type-required": "关联类型必填", - "relation-type-max-length": "关联类型长度应该小于256个字符。", - "any-relation-type": "任何类型", - "add": "添加关联", - "edit": "编辑关联", - "delete-to-relation-title": "确定要删除实体'{{entityName}}'的关联吗?", - "delete-to-relation-text": "确定删除后实体'{{entityName}}'将取消与当前实体的关联关系。", - "delete-to-relations-title": "确定要删除{ count, plural, =1 {1 个关联} other {# 个关联} }吗?", - "delete-to-relations-text": "确定删除所有选择的关联关系后,与当前实体对应的所有关联关系将被移除。", - "delete-from-relation-title": "确定要从实体'{{entityName}}' 删除关联吗?", - "delete-from-relation-text": "确定删除后当前实体将与实体 '{{entityName}}'取消关联", - "delete-from-relations-title": "确定删除{ count, plural, =1 {1 个关联} other {# 个关联} }吗?", - "delete-from-relations-text": "确定删除所有选择的关联关系后,当前实体将与对应的实体取消关联", - "remove-relation-filter": "移除关联筛选器", - "remove-filter": "移除过滤器", - "add-relation-filter": "添加关联筛选器", - "any-relation": "任意关联", - "relation-filters": "关联筛选器", - "additional-info": "附加信息 (JSON)", - "invalid-additional-info": "无法解析附加信息JSON。", - "no-relations-text": "未找到关联", - "not": "不是" - }, - "resource": { - "add": "添加资源", - "all-types": "全部", - "copyId": "复制资源ID", - "delete": "删除资源", - "delete-resource-text": "请注意:确认后,资源将不可恢复。", - "delete-resource-title": "确定要删除资源'{{resourceTitle}}'吗?", - "delete-resources-action-title": "删除{ count, plural, =1 {1 个资源} other {# 个资源} }", - "delete-resources-text": "请注意:确认后,所有选定的资源将被删除。", - "delete-resources-title": "确定要删除{ count, plural, =1 {1 个资源} other {# 个资源} }吗?", - "download": "下载资源", - "drop-file": "拖放资源文件或单击以选择要上传的文件。", - "drop-resource-file-or": "拖放一个资源文件或者", - "empty": "资源为空", - "file-name": "文件名称", - "idCopiedMessage": "资源ID已复制到剪贴板", - "no-resource-matching": "未找到与'{{widgetsBundle}}'匹配的资源。", - "no-resource-text": "未找到资源", - "open-widgets-bundle": "打开部件库", - "resource": "资源", - "resource-file": "资源文件", - "resource-files": "资源文件", - "resource-library-details": "资源库详情", - "resource-type": "资源类型", - "resources-library": "资源库", - "search": "查找资源", - "selected-resources": "已选择{ count, plural, =1 {1 个资源} other {# 个资源} }", - "system": "系统", - "title": "标题", - "title-required": "标题是必填项。", - "title-max-length": "标题长度应该小于256个字符。", - "type": { - "jks": "JKS", - "js-module": "JS 模块", - "lwm2m-model": "LWM2M 模型", - "pkcs-12": "PKCS #12" - }, - "resource-sub-type": "子类型", - "sub-type": { - "image": "图像", - "scada-symbol": "SCADA符号", - "extension": "扩展", - "module": "模块" - } + "show-hide-action-using-function": "使用函数显示/隐藏操作", + "show-action-function": "显示操作函数", + "action-type": "类型", + "action-type-required": "操作类型为必填项。", + "edit-action": "编辑操作", + "delete-action": "删除操作", + "delete-action-title": "删除部件操作", + "delete-action-text": "确定要删除名为 '{{actionName}}' 的部件操作吗?", + "title-icon": "标题图标", + "display-icon": "显示标题图标", + "card-icon": "卡片图标", + "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": "无法导入部件:无效的部件数据结构。" + }, + "markdown": { + "edit": "编辑", + "preview": "预览", + "copy-code": "点击复制", + "copied": "已复制!" + }, + "widgets": { + "mobile-app-qr-code": { + "configuration-hint": "配置取决于平台主设置中的移动应用二维码部件", + "get-it-on-google-play": "在 Google Play 上获取", + "download-on-the-app-store": "在 App Store 上下载" }, - "javascript": { - "add": "添加JavaScript资源", - "delete": "删除JavaScript资源", - "delete-javascript-resource-text": "请注意:确认后该JavaScript资源将不可恢复。", - "delete-javascript-resource-title": "确定要删除JavaScript资源 '{{resourceTitle}}' 吗?", - "delete-javascript-resources-action-title": "删除JavaScript { count, plural, =1 {1 个资源} other {# 个资源} }", - "delete-javascript-resources-text": "请注意,即使这些JavaScript资源已被JavaScript函数使用,它们也将被删除。", - "delete-javascript-resources-title": "确定要删除JavaScript { count, plural, =1 {1 个资源} other {# 个资源} } 吗?", - "download": "下载JavaScript资源", - "upload-from-file": "从文件上传JavaScript", - "resource-file": "JavaScript资源文件", - "drop-file": "拖放一个JavaScript文件,或点击选择要上传的文件。", - "drop-resource-file-or": "拖放一个JavaScript文件或", - "javascript-library": "JavaScript库", - "javascript-type": "JavaScript类型", - "javascript-resource-details": "JavaScript资源详情", - "search": "搜索JavaScript资源", - "selected-javascript-resources": "{ count, plural, =1 {1 个 JavaScript 资源} other {# 个 JavaScript 资源} } 已选择", - "no-javascript-resource-text": "未找到JavaScript资源", - "all-types": "全部", - "module-script": "模块脚本" + "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": "按下部件时的操作。" }, - "rpc": { - "error": { - "target-device-is-not-set": "目标设备未设置!", - "invalid-target-entity": "{{entityType}}实体不支持RPC命令。", - "failed-to-resolve-target-device": "无法解析目标设备!", - "request-timeout": "请求超时", - "rpc-http-error": "错误: {{status}}-{{statusText}}" - } + "command-button": { + "behavior": "行为", + "on-click": "点击时", + "on-click-hint": "点击按钮时执行的操作。" }, - "rulechain": { - "rulechain": "规则链", - "rulechain-events": "规则链事件", - "rulechains": "规则链库", - "root": "是否根链", - "delete": "删除规则链", - "name": "名称", - "name-required": "名称必填。", - "name-max-length": "名称长度应该小于256个字符。", - "description": "说明", - "add": "添加规则链", - "set-root": "设置为根规则链", - "set-root-rulechain-title": "确定要设置'{{ruleChainName}}'为根规则链吗?", - "set-root-rulechain-text": "确认后,规则链将变为根规格链,并将处理所有传入的传输消息。", - "delete-rulechain-title": " 确定要删除规则链'{{ruleChainName}}'吗?", - "delete-rulechain-text": "请注意,确认后,规则链和所有相关数据将不可恢复。", - "delete-rulechains-title": "确定要删除{count, plural, =1 { 1 个规则链} other {# 个规则链} }吗?", - "delete-rulechains-action-title": "删除{ count, plural, =1 {1 个规则链} other {# 个规则链} }", - "delete-rulechains-text": "请注意:确认后所有选定的规则链将被删除,所有相关的数据将不可恢复。", - "add-rulechain-text": "添加规则链", - "no-rulechains-text": "未找到规则链", - "rulechain-details": "规则链详情", - "details": "详情", - "events": "事件", - "system": "系统", - "import": "导入规则链", - "export": "导出规则链", - "export-failed-error": "无法导出规则链:{{error}}", - "create-new-rulechain": "创建规则链", - "rulechain-file": "规则链文件", - "invalid-rulechain-file-error": "不能导入规则链:无效的规则链数据格式。", - "copyId": "复制规则链ID", - "idCopiedMessage": "规则ID已经复制到粘贴板", - "select-rulechain": "选择规则链", - "no-rulechains-matching": "没有发现匹配'{{entity}}'的规则链。", - "rulechain-required": "规则链必填", - "management": "规则集管理", - "debug-mode": "调试模式", - "search": "查找规则链", - "selected-rulechains": "已选择{ count, plural, =1 {1 个规则链} other {# 个规则链} }", - "open-rulechain": "打开规则链", - "edge-template-root": "模版根链", - "assign-to-edge": "分配给边缘", - "edge-rulechain": "边缘规则链", - "unassign-rulechain-from-edge-text": "确认后规则链将会取消分配,边缘无法访问。", - "unassign-rulechains-from-edge-title": "确定要取消分配{ count, plural, =1 {1 个规则链} other {# 个规则链} }吗?", - "unassign-rulechains-from-edge-text": "确认后,选定的规则链将会取消分配,边缘无法访问。", - "assign-rulechain-to-edge-title": "分配规则链给边缘", - "assign-rulechain-to-edge-text": "请选择要分配给边缘的规则链", - "set-edge-template-root-rulechain": "设置为边缘模版根规则链", - "set-edge-template-root-rulechain-title": "确定将'{{ruleChainName}}' 设置为边缘模版根规则链吗?", - "set-edge-template-root-rulechain-text": "确认后,将会成为边缘模版根规则链,且它会成为新创建边缘的根规则链。", - "invalid-rulechain-type-error": "不能导入规则链:无效的规则链类型。期望类型为{{expectedRuleChainType}}。", - "set-auto-assign-to-edge": "将规则链分配给新创建的边缘", - "set-auto-assign-to-edge-title": "确定将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?", - "set-auto-assign-to-edge-text": "确认后,将自动分配规则链给新创建的边缘。", - "unset-auto-assign-to-edge": "不将规则链分配给边缘", - "unset-auto-assign-to-edge-title": "确定不再将规则链'{{ruleChainName}}'自动分配给新创建的边缘吗?", - "unset-auto-assign-to-edge-text": "确认后,将不再自动分配规则链给新创建的边缘。", - "unassign-rulechain-title": "确定要取消分配规则链'{{ruleChainName}}' 吗?", - "unassign-rulechains": "取消分配规则链" - }, - "rulenode": { - "rule-node-events": "规则节点事件", - "details": "详情", - "events": "事件", - "search": "查找节点", - "open-node-library": "打开节点库", - "close-node-library": "关闭节点库", - "add": "添加规则节点", - "name": "名称", - "name-required": "名称必填。", - "name-max-length": "名称长度应该小于256个字符。", - "type": "类型", - "rule-node-description": "规则节点描述", - "delete": "删除规则节点", - "select-all-objects": "选择所有节点和连接", - "deselect-all-objects": "取消选择所有节点和连接", - "delete-selected-objects": "删除选定的节点和连接", - "delete-selected": "删除选定", - "create-nested-rulechain": "创建嵌套规则链", - "select-all": "选择全部", - "copy-selected": "复制", - "deselect-all": "取消选择", - "rulenode-details": "规则节点详情", - "debug-mode": "调试模式", - "singleton": "单例", - "configuration": "配置", - "link": "链接", - "link-details": "规则节点链接详情", - "add-link": "添加链接", - "link-label": "链接标签", - "link-label-required": "链接标签必填", - "custom-link-label": "自定义链接标签", - "custom-link-label-required": "自定义链接标签必填", - "link-labels": "链接标签", - "link-labels-required": "链接标签必填。", - "no-link-labels-found": "未找到链接标签", - "no-link-label-matching": "未找到匹配'{{label}}'的链接标签。", - "create-new-link-label": "创建链接标签", - "type-filter": "筛选器", - "type-filter-details": "使用配置条件筛选传入消息", - "type-enrichment": "属性集", - "type-enrichment-details": "向消息元数据中添加附加信息", - "type-transformation": "变换", - "type-transformation-details": "更改消息Payload和元数据", - "type-action": "动作", - "type-action-details": "执行特别动作", - "type-external": "外部", - "type-external-details": "与外部系统交互", - "type-rule-chain": "规则链", - "type-rule-chain-details": "将传入消息转发到指定的规则链", - "type-flow": "流", - "type-flow-details": "流详情", - "type-input": "输入", - "type-input-details": "规则链的逻辑输入,将传入消息转发到下一个相关规则节点", - "type-unknown": "未知", - "type-unknown-details": "未解析的规则节点", - "directive-is-not-loaded": "定义的配置指令'{{directiveName}}'不可用。", - "ui-resources-load-error": "加载配置UI资源失败。", - "invalid-target-rulechain": "无法解析目标规则链!", - "test-script-function": "测试脚本功能", - "script-lang-java-script": "JavaScript", - "script-lang-tbel": "TBEL", - "message": "消息", - "message-type": "消息类型", - "select-message-type": "选择消息类型", - "message-type-required": "消息类型必填", - "metadata": "元数据", - "metadata-required": "元数据项不能为空。", - "output": "输出", - "test": "测试", - "help": "帮助", - "reset-debug-settings": "重置所有节点的调试设置", - "test-with-this-message": "使用此消息进行{{test}}测试", - "queue-hint": "选择一个队列将消息转发到另一个队列,默认情况下使用'Main'队列。", - "queue-singleton-hint": "选择一个队列以在多实体中转发消息,默认情况下使用'Main'队列。" - }, - "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": "重试处理包中所有失败和超时的消息" - } + "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": "默认.图标", + "layout-simplified-icon": "简化.图标", + "layout-outlined-icon": "轮廓.图标", + "main": "主色", + "background": "背景", + "button-icon-on": "按钮图标“开”", + "button-icon-off": "按钮图标“关”", + "power-on-colors": "电源“开”颜色", + "power-off-colors": "电源“关”颜色", + "disabled-colors": "禁用颜色", + "button": "按钮" }, - "queue-statistics": { - "queue-statistics": "队列统计", - "no-queue-statistics-matching": "未找到与'{{entity}}'匹配的队列统计信息。", - "queue-statistics-required": "队列统计必填。", - "list-of-queue-statistics": "{ count, plural, =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令牌已过期", - "tenant-trial-expired": "租户过期", - "credentials-expired": "凭据过期", - "permission-denied": "没有权限", - "invalid-arguments": "无效参数", - "bad-request-params": "请求无效", - "item-not-found": "找不到项目", - "too-many-requests": "请求过于频繁", - "too-many-updates": "更新过于频繁" - }, - "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": "使用独立的规则引擎服务", - "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": "TTL", - "alarms-and-notifications": "告警与通知", - "ota-files-in-bytes": "OTA文件(字节)", - "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": "最大边数", - "maximum-edges-required": "需要最大边数。", - "maximum-edges-range": "边的最大数量不能为负数", - "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": "传输网关消息", - "transport-gateway-telemetry-msg-rate-limit": "传输网关遥测消息", - "transport-gateway-telemetry-data-points-rate-limit": "传输网关遥测数据点", - "transport-gateway-device-msg-rate-limit": "传输网关设备消息", - "transport-gateway-device-telemetry-msg-rate-limit": "传输网关设备遥测消息", - "transport-gateway-device-telemetry-data-points-rate-limit": "传输网关设备遥测数据点", - "tenant-entity-export-rate-limit": "实体版本创建", - "tenant-entity-import-rate-limit": "实体版本加载", - "tenant-notification-request-rate-limit": "通知请求", - "tenant-notification-requests-per-rule-rate-limit": "每个通知规则的通知请求", - "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": "最大电子邮件发送数", - "max-emails-required": "最大电子邮件发送数必填。", - "max-emails-range": "最大电子邮件发送数不能为负", - "sms-enabled": "启用短信", - "max-sms": "最大短信发送数", - "max-sms-required": "最大短信发送数必填。", - "max-sms-range": "最大短信发送数不能为负", - "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-tenant-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更新", - "rate-limits": { - "add-limit": "添加限制", - "advanced-settings": "高级设置", - "edit-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": "编辑传输网关消息速率限制", - "edit-transport-gateway-telemetry-msg-title": "编辑传输网关遥测消息速率限制", - "edit-transport-gateway-telemetry-data-points-title": "编辑传输网关遥测数据点率限制", - "edit-transport-gateway-device-msg-title": "编辑传输网关设备消息速率限制", - "edit-transport-gateway-device-telemetry-msg-title": "编辑传输网关设备遥测消息速率限制", - "edit-transport-gateway-device-telemetry-data-points-title": "编辑传输网关设备遥测数据点速率限制", - "edit-tenant-rest-limits-title": "编辑租户费率限制的休息请求", - "edit-customer-rest-limits-title": "编辑客户REST请求速率限制", - "edit-ws-limit-updates-per-session-title": "编辑会话WS更新速率限制", - "edit-cassandra-tenant-limits-configuration-title": "编辑租户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-events-rate-limit": "Edge事件", - "edge-events-per-edge-rate-limit": "每个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上行链路消息", - "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。", - "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": "传输网关消息", - "transport-gateway-telemetry-msg": "传输网关遥测消息", - "transport-gateway-telemetry-data-points": "传输网关遥测数据点", - "transport-gateway-device-msg": "传输网关设备消息", - "transport-gateway-device-telemetry-msg": "传输网关设备遥测消息", - "transport-gateway-device-telemetry-data-points": "传输网关设备遥测数据点", - "sec": "秒" - } + "toggle-button": { + "behavior": "行为", + "checked": "选中", + "unchecked": "未选中", + "check": "选中", + "check-hint": "执行选中组件的操作。", + "uncheck": "取消选中", + "uncheck-hint": "执行取消选中组件的操作。", + "auto-scale": "自动缩放", + "horizontal-fill": "水平填充", + "vertical-fill": "垂直填充", + "button-appearance": "按钮外观" }, - "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": "季度" - } + "segmented-button": { + "layout": "布局", + "layout-squared": "方形", + "layout-rounded": "圆角", + "card-border": "卡片边框", + "button-appearance": "按钮外观", + "first": "第一", + "second": "第二", + "color-styles": "颜色样式", + "selected": "已选择", + "unselected": "未选择" }, - "timeunit": { - "milliseconds": "毫秒", - "seconds": "秒", - "minutes": "分钟", - "hours": "小时", - "days": "天" - }, - "timewindow": { - "timewindow": "时间窗口", - "timewindow-settings": "设置时间窗口", - "years": "{ years, plural, =1 {1年 } other {#年 } }", - "years-short": "{{ years }}y", - "months": "{ months, plural, =1 {1月 } other {#月 } }", - "months-short": "{{ months }}M", - "weeks": "{ weeks, plural, =1 {1周 } other {#周 } }", - "weeks-short": "{{ weeks }}w", - "days": "{ days, plural, =1 {1天 } other {#天 } }", - "days-short": "{{ days }}d", - "hours": "{ hours, plural, =0 {-小时 } =1 {1小时 } other {#小时 } }", - "hr": "{{ hr }} 时", - "hr-short": "{{ hr }}h", - "minutes": "{ minutes, plural, =0 {-分 } =1 {1分 } other {#分 } }", - "min": "{{ min }} 分", - "min-short": "{{ min }}m", - "seconds": "{ seconds, plural, =0 {-秒 } =1 {1秒 } other {#秒 } }", - "sec": "{{ sec }} 秒", - "sec-short": "{{ sec }}s", - "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": "全部" - }, - "tooltip": { - "trigger": "触发", - "trigger-point": "点", - "trigger-axis": "轴", + "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": "从...复制样式" + }, + "value-stepper": { + "behavior": "行为", + "simplified": "简化", + "filled": "填充", + "outlined": "轮廓", + "volume": "音量", + "initial-state": "初始状态", + "initial-state-hint": "获取初始值的操作。", + "disabled-state": "禁用状态", + "disabled-state-hint": "配置组件被禁用的条件。", + "right-button-click": "右按钮点击", + "right-button-click-hint": "按下右按钮时的操作。", + "left-button-click": "左按钮点击", + "left-button-click-hint": "按下左按钮时的操作。", + "auto-scale": "自动缩放", + "value-range": "范围", + "min-range": "最小值", + "max-range": "最大值", + "value-increment-decrement-step": "值递增/递减步长", + "value": "值", + "value-box-background": "值框背景", + "border": "边框", + "button-appearance": "按钮外观", + "left": "左", + "right": "右", + "left-button": "左按钮", + "right-button": "右按钮", + "icon": "图标", + "color-palette": "调色板", + "main": "主色", + "background": "背景", + "button-icon-on": "按钮图标“开”", + "button-on-colors": "电源“开”颜色", + "disabled-colors": "禁用颜色" + }, + "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-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": "在提示框中隐藏零值/假值", + "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": "宽度(像素)", + "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": "图钉", + "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": { + "limit": "限制", + "source": "来源", + "key-value": "键 / 值", + "value-required": "值为必填项。", + "entity-key-required": "实体键为必填项。", + "key-required": "键为必填项。", + "scale-limits": "刻度限制", + "scale-appearance": "刻度外观", + "scale": "刻度", + "scale-min": "最小", + "scale-max": "最大", + "scale-auto": "自动" + }, + "bar": { + "show-border": "显示边框", + "border-width": "边框宽度", + "border-radius": "边框圆角", + "bar-width": "柱宽", "label": "标签", - "value": "数值", - "date": "日期", - "show-date-time-interval": "显示间隔", - "show-date-time-interval-hint": "根据数据聚合显示时间间隔。", - "background-color": "背景颜色", - "background-blur": "背景模糊" - }, - "unit": { - "millimeter": "毫米", - "centimeter": "厘米", - "angstrom": "埃米", - "nanometer": "纳米", - "micrometer": "千分尺", - "meter": "米", - "kilometer": "公里", - "inch": "英寸", - "foot": "英尺", - "yard": "码", - "mile": "英里", - "nautical-mile": "海里", - "astronomical-unit": "天文单位", - "reciprocal-metre": "倒数米", - "meter-per-meter": "每米", - "steradian": "球面度", - "thou": "毫英寸", - "barleycorn": "1/3英寸", - "hand": "4英寸", - "chain": "66英尺", - "furlong": "660英尺", - "league": "3英里", - "fathom": "6英尺", - "cable": "平方毫米", - "link": "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": "液体盎司", - "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": "英尺每秒", - "mile-per-hour": "英里每小时", - "knot": "节", - "millimeters-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": "磅每平方英寸", - "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": "瓦时", - "kilowatt-hour": "千瓦时", - "electron-volts": "电子伏特", - "joules-per-coulomb": "焦耳每库仑", - "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": "英热单位/小时", - "coulomb": "库仑", - "millicoulomb": "毫库仑", - "microcoulomb": "微库仑", - "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": "毫安时", - "milliampere-hour-tags": "电流, 电流流动, 电荷, 电流容量, 电流流, 电流流动, 毫安时, 毫安小时, mAh", - "ampere-hours": "安时", - "ampere-hours-tags": "电流, 电流流动, 电荷, 电流容量, 电流流, 电流流动, 安培, 安时, Ah", - "kiloampere-hours": "千安时", - "kiloampere-hours-tags": "电流, 电流流动, 电荷, 电流容量, 电流流, 电流流动, 千安时, 千安小时, kAh", - "nanoampere": "纳安培", - "nanoampere-tags": "电流, 安培, 纳安培, nA", - "picoampere": "皮安培", - "picoampere-tags": "电流, 安培, 皮安培, pA", - "microampere": "微安培", - "microampere-tags": "电流, 微安培, 微安培, μA", - "milliampere": "毫安培", - "milliampere-tags": "电流, 毫安培, 毫安培, mA", - "ampere": "安培", - "ampere-tags": "电流, 电流流动, 电流流, 电流流动, 安培, 安培, 电流强度, A", - "kiloamperes": "千安培", - "kiloamperes-tags": "电流, 电流流动, 千安培, kA", - "microampere-per-square-centimeter": "每平方厘米微安培", - "microampere-per-square-centimeter-tags": "电流密度, 每平方厘米微安培, µA/cm²", - "ampere-per-square-meter": "每平方米安培", - "ampere-per-square-meter-tags": "电流密度, 单位面积电流, 每平方米安培, A/m²", - "ampere-per-meter": "每米安培", - "ampere-per-meter-tags": "磁场强度, 磁场强度, 每米安培, A/m", - "oersted": "奥斯特", - "oersted-tags": "磁场, 奥斯特, Oe", - "bohr-magneton": "玻尔磁子", - "bohr-magneton-tags": "原子物理学, 磁矩, 玻尔磁子, μB", - "ampere-meter-squared": "安培·米平方", - "ampere-meter-squared-tags": "磁矩, 偶极矩, 安培·米平方, A·m²", - "ampere-meter": "安培·米", - "ampere-meter-tags": "磁场, 电流环, 安培·米, A·m", - "nanovolt": "纳伏特", - "picovolt": "皮伏特", - "millivolts": "毫伏特", - "microvolts": "微伏特", - "volt": "伏特", - "kilovolts": "千伏特", - "dbmV": "dBmV", - "dbm": "dBm", - "volt-meter": "伏特·米", - "kilovolt-meter": "千伏特·米", - "megavolt-meter": "兆伏特·米", - "microvolt-meter": "微伏特·米", - "millivolt-meter": "毫伏特·米", - "nanovolt-meter": "纳伏特·米", - "ohm": "欧姆", - "microohm": "微欧姆", - "milliohm": "毫欧姆", - "kilohm": "千欧姆", - "megohm": "兆欧姆", - "gigohm": "吉欧姆", - "hertz": "赫兹", - "kilohertz": "千赫兹", - "megahertz": "兆赫兹", - "gigahertz": "吉赫兹", - "rpm": "每分钟转速", - "candela-per-square-meter": "每平方米坎德拉", - "candela": "坎德拉", - "lumen": "流明", - "lux": "勒克斯", - "foot-candle": "英尺烛光", - "lumen-per-square-meter": "每平方米流明", - "lux-second": "勒克斯秒", - "lumen-second": "流明秒", - "lumens-per-watt": "每瓦流明", - "absorbance": "吸光度", - "mole": "摩尔", - "nanomole": "纳摩尔", - "micromole": "微摩尔", - "millimole": "毫摩尔", - "kilomole": "千摩尔", - "mole-per-cubic-meter": "每立方米摩尔", - "rssi": "接收信号强度指示", - "ppm": "百万分之一", - "ppb": "十亿分之一", - "micrograms-per-cubic-meter": "每立方米微克", - "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": "里氏震级", - "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": "每分钟毫升", - "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": "梯度", - "mil": "千分之一英寸", - "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": "角加速度", - "revolutions-per-minute-per-second-squared": "角加速度", - "deg-per-second": "度/秒", - "degrees-brix": "布里克度", - "katal": "卡塔尔", - "katal-per-cubic-metre": "每立方米卡塔尔" - }, - "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": "激活电子邮件已成功发送!", - "resend-activation": "重新发送激活", - "email": "电子邮件", - "email-required": "电子邮件必填。", - "invalid-email-format": "无效的邮件格式。", - "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": "使用该链接激活激活用户:", - "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": "假", - "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": "导出凭据", - "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": "加载凭据", - "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 {# 个实体} } 被添加。
{ modified, plural, =0 {没有实体} =1 {1 个实体} other {# 个实体} }被修改。
{ removed, plural, =0 {没有实体} =1 {1 个实体} other {# 个实体} }被删除。", - "remove-other-entities": "删除其他实体", - "find-existing-entity-by-name": "按名称查找现有实体", - "restore-entities-from-version": "从版本'{{versionName}}'还原实体", - "restoring-entities-from-version": "请稍候正在还原实体...", - "no-entities-restored": "未还原任何实体", - "created": "{{created}}创建", - "updated": "{{updated}}更新", - "deleted": "{{deleted}}删除", - "remove-other-entities-confirm-text": "请注意!在还原版本中不存在的当前实体
将被永久删除

请输入\"remove other entities\"进行确认。", - "auto-commit-to-branch": "自动提交到{{ branch }}分支", - "default-create-entity-version-name": "{{entityName}}更新", - "sync-strategy-merge-hint": "创建或更新选定的实体,仓库其他实体均不修改。", - "sync-strategy-overwrite-hint": "创建或更新选定的实体,仓库其他实体将被删除。", - "device-credentials-conflict": "无法加载外部ID为{{entityId}} 的设备
因为数据库中已存在相同的凭据。
请考虑禁用还原表单中的 加载凭据 设置。", - "missing-referenced-entity": "无法加载外部ID为{{sourceEntityId}}{{sourceEntityTypeName}}
因为它引用了缺失的 {{targetEntityTypeName}} (ID:{{targetEntityId}}).", - "runtime-failed": "失败:{{message}}", - "auto-commit-settings-read-only-hint": "在仓库设置中启用只读选项后,'自动提交'功能将无法正常工作。", - "rollback-on-error": "回滚错误", - "rollback-on-error-hint": "如果您有大量实体需要恢复请考虑禁用此选项以提高性能。\n请注意如果在版本加载过程中发生错误,已经持久化的实体(具有关系、属性等)将不发生修改。" - }, - "widget": { - "widget-library": "部件库", - "widget-bundle": "部件包", - "all-bundles": "所有包", - "select-widgets-bundle": "选择部件包", - "widgets": "部件", - "all-widgets": "所有部件", - "widget": "部件", - "select-widget": "选择部件", - "no-widgets-matching": "未找到与'{{entity}}匹配的部件。", - "no-widgets": "暂无部件", - "no-widgets-text": "未找到部件", - "management": "管理部件", - "editor": "部件编辑器", - "confirm-to-exit-editor-html": "有未保存的部件设置
确定要离开此页面吗?", - "widget-type-not-found": "加载部件配置出错
可能关联的部件已经删除了。", - "widget-type-load-error": "由于以下错误未加载部件:", - "remove": "删除部件", - "delete": "删除部件", - "edit": "编辑部件", - "remove-widget-title": "确定要删除'{{widgetTitle}}'部件吗?", - "remove-widget-text": "确认后所有相关数据将变得不可恢复。", - "replace-reference-with-widget-copy": "基于部件复制替换引用", - "timeseries": "时间序列", - "search-data": "查找数据", - "no-data-found": "未找到数据", - "latest": "最新值", - "rpc": "控件部件", - "alarm": "告警部件", - "static": "静态部件", - "timeseries-short": "时序", - "latest-short": "最新", - "rpc-short": "控制", - "alarm-short": "告警", - "static-short": "静态", - "select-widget-type": "选择窗口部件类型", - "missing-widget-title-error": "部件标题必须指定!", - "widget-saved": "部件已保存", - "unable-to-save-widget-error": "控件有错误无法保存部件!", - "save": "保存部件", - "saveAs": "部件另存为", - "move": "移动部件", - "save-widget-as": "部件另存为", - "save-widget-as-text": "请输入部件标题", - "toggle-fullscreen": "全屏", - "run": "运行", - "widget-title": "部件标题", - "title": "部件标题", - "title-required": "部件标题必填。", - "title-max-length": "标题必须小于256个字符", - "system": "系统", - "type": "类型", - "resources": "资源", - "resource-url": "JavaScript/CSS", - "resource-is-extension": "是否扩展", - "remove-resource": "删除资源", - "add-resource": "添加资源", - "html": "HTML", - "tidy": "整理", - "css": "CSS", - "settings-form": "设置表单", - "data-key-settings-form": "数据键设置表单", - "latest-data-key-settings-form": "最新数据键设置表单", - "widget-settings": "设置", - "description": "描述", - "tags": "标签", - "image-preview": "图片预览", - "settings-form-selector": "设置表单选择器", - "data-key-settings-form-selector": "数据键设置表单选择器", - "latest-data-key-settings-form-selector": "最新值数据键设置表单选择器", - "all": "全部", - "actual": "实际", - "scada": "组态", - "deprecated": "弃用", - "has-basic-mode": "基础模式", - "basic-mode-form-selector": "表单选择器", - "basic-mode": "基础", - "advanced-mode": "高级", - "javascript": "JavaScript", - "js": "JS", - "delete-widget-title": "确定要删除部件'{{widgetName}}'吗?", - "delete-widget-text": "确认后部件及其所有相关数据将无法恢复。", - "delete-widgets-title": "确定要删除{ count, plural, =1 {1个部件} other {#个部件} }吗?", - "delete-widgets-text": "请谨慎操作确认后,所有选定的部件将被删除并且所有相关数据将无法恢复。", - "delete-widget": "删除部件", - "widget-template-load-failed-error": "无法加载部件模板!", - "details": "详情", - "widget-details": "部件详情", - "add": "添加", - "add-existing-widget": "添加现有部件", - "add-new-widget": "添加新部件", - "search-widgets": "搜索部件", - "selected-widgets": "已选择{ count, plural, =1 {1 个部件} other {# 个部件} }", - "undo": "撤销", - "export": "导出", - "export-prompt": "嵌入部件图片和资源", - "export-widgets": "导出部件", - "export-widgets-prompt": "嵌入部件图片和资源", - "import": "导入部件", - "no-data": "部件上没有要显示的数据", - "data-overflow": "部件显示{{count}}条实体中的{{total}}条。", - "alarm-data-overflow": "部件显示了{{allowedEntities}}(最大允许)实体中的告警,总共有{{totalEntities}}个实体", - "search": "搜索", - "filter": "过滤", - "loading-widgets": "加载部件...", - "widget-template-error": "无效HTML模板部件。", - "reference": "引用" + "label-hint": "在柱上方显示标签。", + "series-label-hint": "在柱上方显示带数值的标签。", + "label-background": "标签背景" + } }, - "widget-action": { - "header-button": "顶部按钮", - "do-nothing": "无任何动作", - "open-dashboard-state": "切换仪表板状态", - "update-dashboard-state": "更新仪表板状态", - "open-dashboard": "打开仪表板", - "custom": "自定义动作", - "custom-pretty": "自定义动作(HTML模板)", - "custom-pretty-error-title": "自定义对话框错误", - "custom-pretty-template-error": "无效的自定义对话框模板。", - "custom-pretty-controller-error": "自定义对话框函数错误。", - "mobile-action": "移动端动作", - "target-dashboard-state": "目标仪表板状态", - "target-dashboard-state-required": "目标仪表板状态必填", - "set-entity-from-widget": "从部件中设置实体", - "target-dashboard": "目标仪表板", - "select-target-dashboard": "选择目标仪表板", - "target-dashboard-required": "必须选择目标仪表板。", - "open-right-layout": "打开右侧布局 (移动端视图)", - "state-display-type": "显示仪表板状态选项", - "open-normal": "普通", - "open-in-separate-dialog": "在单独的对话框中打开", - "open-in-popover": "在弹出框中打开", - "dialog-title": "对话框标题", - "dialog-hide-dashboard-toolbar": "在对话框中隐藏仪表板工具栏", - "dialog-width": "对话框宽度相对于视口宽度的百分比", - "dialog-height": "对话框高度相对于视口高度的百分比", - "dialog-size-range-error": "对话框的大小百分比值应该介于1到100之间。", - "popover-preferred-placement": "首选的弹出框位置", - "popover-placement-top": "顶部", - "popover-placement-topLeft": "上左", - "popover-placement-topRight": "上右", - "popover-placement-right": "右侧", - "popover-placement-rightTop": "右上", - "popover-placement-rightBottom": "右下", - "popover-placement-bottom": "底部", - "popover-placement-bottomLeft": "下左", - "popover-placement-bottomRight": "下右", - "popover-placement-left": "左侧", - "popover-placement-leftTop": "左上", - "popover-placement-leftBottom": "左下", - "popover-hide-on-click-outside": "在点击弹出框外部时隐藏弹出框", - "popover-hide-dashboard-toolbar": "在弹出框中隐藏仪表板工具栏", - "popover-width": "宽度", - "popover-height": "高度", - "popover-style": "样式", - "open-new-browser-tab": "在选项卡中打开", - "open-URL": "打开URL", - "URL": "URL", - "url-required": "URL必填。", - "mobile": { - "action-type": "移动端动作类型", - "select-action-type": "选择移动端操作类型", - "action-type-required": "移动端动作类型必填。", - "take-picture-from-gallery": "从图库中获取照片", - "take-photo": "拍照", - "map-direction": "打开地图导航", - "map-location": "打开地图位置", - "scan-qr-code": "扫描二维码", - "make-phone-call": "拨打电话", - "get-location": "获取手机位置", - "take-screenshot": "截屏" - }, - "custom-action-function": "自定义动作函数", - "custom-pretty-function": "自定义动作(HTML模板)" - }, - "widgets-bundle": { - "current": "当前组", - "widgets-bundles": "部件包", - "widgets-bundle-widgets": "包部件", - "add": "添加部件包", - "delete": "删除部件包", - "title": "标题", - "title-required": "标题必填。", - "title-max-length": "标题长度应该小于256个字符。", - "description": "描述", - "image-preview": "图片预览", - "scada": "SCADA部件包", - "order": "其他", - "add-widgets-bundle-text": "添加部件包", - "no-widgets-bundles-text": "未找到部件包", - "empty": "部件包是空的", - "details": "详情", - "widgets-bundle-details": "部件包详细信息", - "delete-widgets-bundle-title": "确定要删除部件包'{{widgetsBundleTitle}}'吗?", - "delete-widgets-bundle-text": "请注意:确认后部件包和所有相关数据将不可恢复。", - "delete-widgets-bundles-title": "确定要删除{ count, plural, =1 {1 个部件包} other {# 个部件包} }吗?", - "delete-widgets-bundles-action-title": "删除{ count, plural, =1 {1 个部件包} other {# 个部件包} }", - "delete-widgets-bundles-text": "请注意:确认后,所有选定的部件包将被删除,所有相关数据将不可恢复。", - "no-widgets-bundles-matching": "未找到与'{{widgetsBundle}}'匹配的部件包。", - "widgets-bundle-required": "部件包必填。", - "system": "系统", - "import": "导入部件包", - "export": "导出部件包", - "export-widgets-bundle-widgets-prompt": "在导出的数据中包含包部件(否则只会导出引用的部件完全限定名)", - "export-failed-error": "无法导出部件包: {{error}}", - "create-new-widgets-bundle": "创建部件包", - "widgets-bundle-file": "部件包文件", - "invalid-widgets-bundle-file-error": "无法导入部件包:无效的部件包数据结构。", - "search": "查找部件包", - "selected-widgets-bundles": "已选择{ count, plural, =1 {1 个部件包} other {# 个部件包} }", - "open-widgets-bundle": "打开部件包", - "loading-widgets-bundles": "加载部件包...", - "create-new": "创建新部件包" - }, - "widget-config": { - "data": "数据", - "settings": "设置", - "advanced": "高级", - "appearance": "外观", - "widget-card": "卡片", - "mobile": "移动设备", - "title": "标题", - "title-tooltip": "标题提示文字", - "general-settings": "常规设置", - "display-title": "显示", - "card-title": "标题", - "drop-shadow": "投影", - "enable-fullscreen": "启用全屏", - "background-color": "背景颜色", - "text-color": "文字颜色", - "border-radius": "边框半径", - "padding": "填充", - "margin": "边缘", - "widget-style": "部件样式", - "widget-css": "部件CSS", - "title-style": "标题样式", - "mobile-mode-settings": "移动端设置", - "order": "顺序", - "height": "高度", - "mobile-hide": "在移动端隐藏部件", - "desktop-hide": "在桌面端隐藏部件", - "units": "特殊符号展示值", - "units-by-default": "默认单位", - "decimals": "小数位数", - "decimals-by-default": "默认小数位数", - "default-data-key-parameter-hint": "该参数适用于所有部件值,除非被数据键配置覆盖。", - "units-short": "单位", - "decimals-short": "小数", - "decimals-suffix": "位小数", - "timewindow": "时间窗口", - "use-dashboard-timewindow": "使用仪表板时间窗口", - "use-widget-timewindow": "使用部件时间窗口", - "display-timewindow": "显示时间窗口", - "legend": "图例", - "display-legend": "显示图例", - "datasources": "数据源", - "datasource": "数据源", - "maximum-datasources": "最大允许{ count, plural, =1 {1 个数据源。} other {# 个数据源。} }", - "timeseries-key-error": "需要至少指定一个timeseries数据键", - "datasource-type": "类型", - "datasource-parameters": "参数", - "remove-datasource": "移除数据源", - "add-datasource": "添加数据源", - "target-device": "目标设备", - "alarm-source": "告警源", - "actions": "动作", - "action": "动作", - "add-action": "添加动作", - "search-actions": "搜索动作", - "no-actions-text": "找不到动作", - "action-source": "动作源", - "select-action-source": "选择动作源", - "action-source-required": "动作源必填", - "column-index": "序号", - "select-column-index": "选择序号", - "column-index-required": "序号必填。", - "not-set": "未设置", - "action-name": "名称", - "action-name-required": "动作名称必填。", - "action-name-not-unique": "动作名称已经存在。", - "action-icon": "图标", - "show-hide-action-using-function": "使用函数显示/隐藏动作", - "show-action-function": "显示动作函数", - "action-type": "类型", - "action-type-required": "类型必填", - "edit-action": "编辑动作", - "delete-action": "删除动作", - "delete-action-title": "删除部件动作", - "delete-action-text": "确定要删除部件动作'{{actionName}}'吗?", - "title-icon": "标题图标", - "display-icon": "显示标题图标", - "card-icon": "图标", + "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": "新 Gateway 的设备类型", + "messages-settings": "消息设置", + "save-config-success-message": "Gateway 配置保存成功的文本消息", + "device-name-exists-message": "输入的设备名称已存在时的文本消息", + "gateway-title": "Gateway 表单", + "read-only": "只读", + "events-title": "Gateway 事件表单标题", + "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)", + "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": "图片质量", + "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-radio": "单选按钮", + "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": "在另一个数据键值为 false 时禁用(指定数据键名称)", + "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": "“取消”按钮标签", + "radio-button-settings": "单选按钮设置", + "color": "颜色", + "columns": "列", + "radio-options": "单选选项", + "no-radio-options": "未配置单选选项", + "add-radio-option": "添加单选选项", + "radio-label-position": "标签位置", + "radio-label-position-before": "之前", + "radio-label-position-after": "之后", + "save-image": "保存图片", + "save-to-gallery": "自动将拍摄的图片存储到图片库", + "public-image": "使图片对所有未授权用户可用" + }, + "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": "提示:例如 'Text ${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.' 或 Link text)", + "tooltip-function": "提示框函数", + "tooltip-trigger": "提示框触发方式", + "tooltip-trigger-click": "点击时显示提示框", + "tooltip-trigger-hover": "悬停时显示提示框", + "auto-close-tooltips": "自动关闭提示框", + "tooltip-offset": "提示框偏移", + "tooltip-offset-horizontal": "水平", + "tooltip-offset-vertical": "垂直", + "tooltip-tag-actions": "标签操作", + "add-tooltip-tag-action": "添加标签操作", + "edit-tooltip-tag-action": "编辑标签操作", + "remove-tooltip-tag-action": "移除标签操作", + "action-add": "添加", + "action-edit": "编辑", + "action-move": "移动", + "action-remove": "移除", + "edit-instruments": "工具", + "persist-location-attribute-scope": "持久化位置的属性范围", + "enable-snapping": "启用对齐到其他顶点以精确绘制", + "enable-snapping-hint": "自动将新点与现有形状对齐,使绘制更轻松、更准确。", + "drag-drop-mode": "拖放模式", + "trip": { + "no-trips": "未配置行程", + "add-trip": "添加行程", + "trip-configuration": "行程配置", + "remove-trip": "移除行程" }, - "maps": { - "select-entity": "选择实体", - "select-entity-hint": "提示:选择后在地图上点击以设置位置", - "tooltips": { - "placeMarker": "点击以放置'{{entityName}}'实体", - "firstVertex": "'{{entityName}}' 的多边形:点击以放置第一个点", - "firstVertex-cut": "点击以放置第一个点", - "continueLine": "'{{entityName}}' 的多边形:点击以继续绘制", - "continueLine-cut": "点击以继续绘制", - "finishLine": "点击任意现有标记以完成", - "finishPoly": "'{{entityName}}'的多边形:点击第一个标记以完成并保存", - "finishPoly-cut": "点击第一个标记以完成并保存", - "finishRect": "'{{entityName}}' 的多边形:点击以完成并保存", - "startCircle": "'{{entityName}}' 的圆:点击以放置圆心", - "finishCircle": "'{{entityName}}' 的圆:点击以完成圆形", - "placeCircleMarker": "点击以放置圆形标记" - }, - "actions": { - "finish": "完成", - "cancel": "取消", - "removeLastVertex": "移除最后一个点" - }, - "buttonTitles": { - "drawMarkerButton": "放置实体", - "drawPolyButton": "创建多边形", - "drawLineButton": "创建折线", - "drawCircleButton": "创建圆形", - "drawRectButton": "创建矩形", - "editButton": "编辑模式", - "dragButton": "拖放模式", - "cutButton": "切割多边形区域", - "deleteButton": "移除", - "drawCircleMarkerButton": "创建圆形标记", - "rotateButton": "旋转多边形" - }, - "map-provider-settings": "地图提供商设置", - "map-provider": "地图提供商", - "map-provider-google": "谷歌地图", - "map-provider-openstreet": "OpenStreet地图", - "map-provider-here": "HERE地图", - "map-provider-image": "图像地图", - "map-provider-tencent": "腾讯地图", - "openstreet-provider": "OpenStreet地图提供商", - "openstreet-provider-mapnik": "OpenStreetMap.Mapnik(默认)", - "openstreet-provider-hot": "OpenStreetMap.HOT", - "openstreet-provider-esri-street": "Esri.WorldStreetMap", - "openstreet-provider-esri-topo": "Esri.WorldTopoMap", - "openstreet-provider-esri-imagery": "Esri.WorldImagery", - "openstreet-provider-cartodb-positron": "CartoDB.Positron", - "openstreet-provider-cartodb-dark-matter": "CartoDB.DarkMatter", - "use-custom-provider": "使用自定义提供商", - "custom-provider-tile-url": "自定义提供商瓦片URL", - "google-maps-api-key": "谷歌地图API密钥", - "default-map-type": "默认地图类型", - "google-map-type-roadmap": "路线图", - "google-map-type-satelite": "卫星图", - "google-map-type-hybrid": "混合图", - "google-map-type-terrain": "地形图", - "map-layer": "地图图层", - "here-map-normal-day": "HERE.normalDay(默认)", - "here-map-normal-night": "HERE.normalNight", - "here-map-hybrid-day": "HERE.hybridDay", - "here-map-terrain-day": "HERE.terrainDay", - "credentials": "凭证", - "here-app-id": "HERE应用ID", - "here-app-code": "HERE应用代码", - "here-api-key": "HERE API密钥", - "here-use-new-version-api-3": "使用API版本3", - "tencent-maps-api-key": "腾讯地图API密钥", - "tencent-map-type-roadmap": "路线图", - "tencent-map-type-satelite": "卫星图", - "tencent-map-type-hybrid": "混合图", - "image-map-background": "图像地图背景", - "image-map-background-from-entity-attribute": "从实体属性获取图像地图背景", - "image-url-source-entity-alias": "图像URL源实体别名", - "image-url-source-entity-attribute": "图像URL源实体属性", - "common-map-settings": "常见地图设置", - "x-pos-key-name": "X位置键名", - "y-pos-key-name": "Y位置键名", - "latitude-key-name": "纬度键名", - "longitude-key-name": "经度键名", - "default-map-zoom-level": "默认地图缩放级别(0-20)", - "default-map-center-position": "默认地图中心位置(0,0)", - "disable-scroll-zooming": "禁用滚动缩放", - "disable-double-click-zooming": "禁用双击缩放", - "disable-zoom-control-buttons": "禁用缩放控制按钮", - "fit-map-bounds": "适应地图边界以覆盖所有标记", - "use-default-map-center-position": "使用默认地图中心位置", - "entities-limit": "加载实体的限制", - "markers-settings": "标记设置", - "marker-offset-x": "标记X偏移相对于位置乘以标记宽度", - "marker-offset-y": "标记Y偏移相对于位置乘以标记高度", - "position-function": "位置转换函数,应返回0到1之间的x,y坐标", - "draggable-marker": "可拖动的标记", - "label": "标签", - "show-label": "显示标签", - "use-label-function": "使用标签函数", - "label-pattern": "标签 (模式示例:'${entityName}', '${entityName}: (Text ${keyName} units.)' )", - "label-function": "标签函数", - "tooltip": "文字提示", - "show-tooltip": "显示文字提示", - "show-tooltip-action": "显示文字提示的操作", - "show-tooltip-action-click": "点击时显示文字提示(默认)", - "show-tooltip-action-hover": "悬停时显示文字提示", - "auto-close-tooltips": "自动关闭文字提示", - "use-tooltip-function": "使用文字提示函数", - "tooltip-pattern": "文字提示 (例如 'Text ${keyName} units.' or Link text')", - "tooltip-function": "文字提示函数", - "tooltip-offset-x": "文字提示X偏移相对于标记锚点乘以标记宽度", - "tooltip-offset-y": "文字提示Y偏移相对于标记锚点乘以标记高度", - "color": "颜色", - "use-color-function": "使用颜色函数", - "color-function": "颜色函数", - "marker-image": "标记图像", - "use-marker-image-function": "使用标记图像函数", - "custom-marker-image": "自定义标记图像", - "custom-marker-image-size": "自定义标记图像大小(px)", - "marker-image-function": "标记图像函数", - "marker-images": "标记图像", - "polygon-settings": "多边形设置", - "show-polygon": "显示多边形", - "polygon-key-name": "多边形键名", - "enable-polygon-edit": "启用多边形编辑", - "polygon-label": "多边形标签", - "show-polygon-label": "显示多边形标签", - "use-polygon-label-function": "使用多边形标签函数", - "polygon-label-pattern": "多边形标签 (模板示例:'${entityName}', '${entityName}: (Text ${keyName} units.)' )", - "polygon-label-function": "多边形标签函数", - "polygon-tooltip": "多边形文字提示", - "show-polygon-tooltip": "显示多边形文字提示", - "auto-close-polygon-tooltips": "自动关闭多边形文字提示", - "use-polygon-tooltip-function": "使用多边形文字提示函数", - "polygon-tooltip-pattern": "文字提示(例如'文本${keyName}单位'或连接文本')", - "polygon-tooltip-function": "多边形文字提示函数", - "polygon-color": "多边形颜色", - "polygon-opacity": "多边形不透明度", - "use-polygon-color-function": "使用多边形颜色函数", - "polygon-color-function": "多边形颜色函数", - "polygon-stroke": "多边形描边", - "stroke-color": "描边颜色", - "stroke-opacity": "描边不透明度", - "stroke-weight": "描边宽度", - "use-polygon-stroke-color-function": "使用多边形描边颜色函数", - "polygon-stroke-color-function": "多边形描边颜色函数", - "circle-settings": "圆设置", - "show-circle": "显示圆", - "circle-key-name": "圆键名", - "enable-circle-edit": "启用圆编辑", - "circle-label": "圆标签", - "show-circle-label": "显示圆标签", - "use-circle-label-function": "使用圆标签函数", - "circle-label-pattern": "圆标签 (模板示例:'${entityName}', '${entityName}: (Text ${keyName} units.)' )", - "circle-label-function": "圆标签函数", - "circle-tooltip": "圆文字提示", - "show-circle-tooltip": "显示圆文字提示", - "auto-close-circle-tooltips": "自动关闭圆文字提示", - "use-circle-tooltip-function": "使用圆文字提示函数", - "circle-tooltip-pattern": "文字提示(例如'文本${keyName}单位'或连接文本')", - "circle-tooltip-function": "圆文字提示函数", - "circle-fill-color": "圆填充颜色", - "circle-fill-color-opacity": "圆填充颜色不透明度", - "use-circle-fill-color-function": "使用圆填充颜色函数", - "circle-fill-color-function": "圆填充颜色函数", - "circle-stroke": "圆边框", - "use-circle-stroke-color-function": "使用圆边框颜色函数", - "circle-stroke-color-function": "圆边框颜色函数", - "markers-clustering-settings": "标记聚类设置", - "use-map-markers-clustering": "使用地图标记聚类", - "zoom-on-cluster-click": "点击集群时进行缩放", - "max-cluster-zoom": "当标记可以成为集群的一部分时的最大缩放级别(0-18)", - "max-cluster-radius-pixels": "簇所覆盖的最大半径(px)", - "cluster-zoom-animation": "缩放时显示标记动画", - "show-markers-bounds-on-cluster-mouse-over": "鼠标悬停在集群上时显示标记范围", - "spiderfy-max-zoom-level": "以最大缩放级别展开簇(以查看所有集群标记)", + "marker": { + "marker": "标记", + "latitude-key": "纬度键", + "longitude-key": "经度键", + "x-pos-key": "X 位置键", + "y-pos-key": "Y 位置键", + "latitude-key-required": "纬度键为必填项", + "longitude-key-required": "经度键为必填项", + "x-pos-key-required": "X 位置键为必填项", + "y-pos-key-required": "Y 位置键为必填项", + "no-markers": "未配置标记", + "add-marker": "添加标记", + "marker-configuration": "标记配置", + "remove-marker": "移除标记", + "marker-type": "标记类型", + "marker-type-shape": "形状", + "marker-type-icon": "图标", + "marker-type-image": "图片", + "shape": "形状", + "icon": "图标", + "image": "图片", + "marker-shapes": "标记形状", + "marker-icon": "标记图标", + "marker-appearance": "标记外观", + "marker-image": "标记图片", + "marker-image-type-image": "图片", + "marker-image-type-function": "函数", + "custom-marker-image-size": "自定义标记图片大小", + "marker-image-function": "标记图片函数", + "marker-images": "标记图片", + "marker-offset": "标记偏移", + "offset-horizontal": "水平", + "offset-vertical": "垂直", + "rotate-marker": "旋转标记", + "offset-angle": "偏移角度", + "position-conversion": "位置转换", + "position-conversion-function": "位置转换函数,应返回 x、y 坐标,每个值为 0 到 1 之间的双精度数", + "clustering": { + "use-map-markers-clustering": "使用地图标记聚合", + "zoom-on-cluster-click": "点击聚合时缩放", + "max-zoom": "标记可成为聚合一部分的最大缩放级别(0 - 18)", + "max-radius": "聚合覆盖的最大半径", + "zoom-animation": "缩放时标记的动画", + "bounds-on-cluster-mouse-over": "鼠标悬停聚合时的标记边界", + "spiderfy-max-zoom-level": "在最大缩放级别时展开(以查看所有聚合标记)", "load-optimization": "加载优化", - "cluster-chunked-loading": "使用块添加标记,以避免页面冻结", - "cluster-markers-lazy-load": "使用延迟加载添加标记", - "editor-settings": "编辑器设置", - "enable-snapping": "启用精确绘制时的吸附到其他顶点", - "init-draggable-mode": "以可拖动模式初始化地图", - "hide-all-edit-buttons": "隐藏所有编辑控制按钮", - "hide-draw-buttons": "隐藏绘制按钮", - "hide-edit-buttons": "隐藏编辑按钮", - "hide-remove-button": "隐藏删除按钮", - "route-map-settings": "路线地图设置", - "trip-animation-settings": "行程动画设置", - "normalization-step": "数据标准化步骤(毫秒)", - "tooltip-background-color": "文字提示背景颜色", - "tooltip-font-color": "文字提示字体颜色", - "tooltip-opacity": "文字提示不透明度(0-1)", - "auto-close-tooltip": "自动关闭文字提示", - "rotation-angle": "设置标记的附加旋转角度(度)", - "path-settings": "路径设置", - "path-color": "路径颜色", - "use-path-color-function": "使用路径颜色函数", - "path-color-function": "路径颜色函数", - "path-decorator": "路径装饰器", - "use-path-decorator": "使用路径装饰器", - "decorator-symbol": "装饰符号", - "decorator-symbol-arrow-head": "箭头", - "decorator-symbol-dash": "短划线", - "decorator-symbol-size": "装饰符号大小(px)", - "use-path-decorator-custom-color": "使用路径装饰器自定义颜色", - "decorator-custom-color": "装饰符号自定义颜色", - "decorator-offset": "装饰符号偏移量", - "end-decorator-offset": "结束装饰符号偏移量", - "decorator-repeat": "装饰符号重复", - "points-settings": "点设置", - "show-points": "显示点", - "point-color": "点颜色", - "point-size": "点大小(px)", - "use-point-color-function": "使用点颜色函数", - "point-color-function": "点颜色函数", - "use-point-as-anchor": "使用点作为锚点", - "point-as-anchor-function": "点作为锚点函数", - "independent-point-tooltip": "独立点文字提示", - "clustering-markers": "标记聚类", - "use-icon-create-function": "使用标记颜色函数", + "chunked-load": "使用分块添加标记以避免页面冻结", + "lazy-load": "使用懒加载添加标记", + "use-cluster-marker-color-function": "使用聚合标记颜色函数", "marker-color-function": "标记颜色函数" + }, + "edit": "编辑标记", + "remove-marker-for": "移除“{{entityName}}”的标记", + "place-marker": "放置标记", + "place-marker-hint": "点击以放置标记", + "place-marker-hint-with-entity": "点击以放置“{{entityName}}”实体" }, - "markdown": { - "use-markdown-text-function": "使用Markdown/HTML值函数", - "markdown-text-function": "Markdown/HTML值函数", - "markdown-text-pattern": "Markdown/HTML模板(使用变量的markdown或HTML,例如 '${entityName}或${keyName}。')", - "apply-default-markdown-style": "应用默认Markdown样式", - "markdown-css": "Markdown/HTML CSS" - }, - "simple-card": { - "label": "标签", - "label-position": "标签位置", - "label-position-left": "左侧", - "label-position-top": "顶部" - }, - "single-switch": { - "behavior": "行为", - "layout": "布局", - "layout-right": "居右", - "layout-left": "居左", - "layout-centered": "居中", - "auto-scale": "自动", - "label": "标签", - "icon": "图标", - "switch-color": "开关颜色", - "on": "打开", - "off": "关闭", - "disabled": "禁用", - "tumbler-color": "缩略图颜色", - "on-label": "打开标签", - "off-label": "闭关标签", - "switch": "开关" - }, - "slider": { - "behavior": "行为", - "initial-value": "初始值", - "initial-value-hint": "获取滑块的初始值。", - "on-value-change": "设置值", - "on-value-change-hint": "更改滑块数值时触发操作。", - "layout": "布局", - "layout-default": "默认", - "layout-extended": "扩展", - "layout-simplified": "精简", - "auto-scale": "自动", - "icon": "图标", - "value": "数值", - "range": "范围", - "min": "最小值", - "max": "最大值", - "range-ticks": "刻度范围", - "tick-marks": "刻度线", - "colors": "颜色", - "main": "前景色", - "background": "背景色", - "left-icon": "左边图标", - "right-icon": "右边图标", - "slider": "滑块" + "path": { + "path": "路径", + "path-decorator": "路径装饰器", + "decorator-symbol": "装饰器符号", + "decorator-symbol-arrow-head": "箭头", + "decorator-symbol-dash": "虚线", + "decorator-arrangement": "装饰器排列", + "decorator-offset": "起始", + "decorator-end-offset": "结束", + "decorator-repeat": "重复" }, - "value-card": { - "layout": "布局", - "layout-square": "正方形", - "layout-vertical": "垂直", - "layout-centered": "居中", - "layout-simplified": "简化", - "layout-horizontal": "水平", - "layout-horizontal-reversed": "水平翻转", - "label": "标签", - "icon": "图标", - "value": "数值", - "date": "日期", - "value-card-style": "数值卡片样式", - "auto-scale": "自动缩放" + "points": { + "points": "点", + "point-tooltip": "点提示框" }, - "label-card": { - "auto-scale": "自动", - "label": "标签", - "icon": "图标", - "label-card-style": "样式" + "shape": { + "fill": "填充", + "fill-type-color": "颜色", + "fill-type-stripe": "条纹", + "fill-type-image": "图片", + "color": "颜色", + "stripe": "条纹", + "image": "图片", + "stroke": "描边", + "fill-image": "填充图片", + "fill-image-type-image": "图片", + "fill-image-type-function": "函数", + "preserve-aspect-ratio": "保持宽高比", + "opacity": "不透明度", + "angle": "旋转角度", + "scale": "缩放", + "fill-image-function": "形状填充图片函数", + "fill-images": "形状填充图片", + "stripe-pattern": "条纹图案", + "first-stripe": "第一条纹", + "second-stripe": "第二条纹" }, - "label-value-card": { - "value": "数值", - "label-value-card-style": "标签数值样式" + "polygon": { + "polygon-key": "多边形键", + "polygon-key-required": "多边形键为必填项", + "no-polygons": "未配置多边形", + "add-polygon": "添加多边形", + "polygon-configuration": "多边形配置", + "remove-polygon": "移除多边形", + "edit": "编辑多边形", + "remove-polygon-for": "移除“{{entityName}}”的多边形", + "cut": "裁剪多边形区域", + "rotate": "旋转多边形", + "draw-rectangle": "绘制矩形", + "draw-polygon": "绘制多边形", + "polygon-place-first-point-cut-hint": "点击以放置第一个点", + "continue-polygon-cut-hint": "点击以继续绘制", + "finish-polygon-cut-hint": "点击第一个标记以完成并保存", + "polygon-place-first-point-hint": "多边形:点击以放置第一个点", + "polygon-place-first-point-hint-with-entity": "“{{entityName}}”的多边形:点击以放置第一个点", + "continue-polygon-hint": "多边形:点击以继续绘制", + "continue-polygon-hint-with-entity": "“{{entityName}}”的多边形:点击以继续绘制", + "finish-polygon-hint": "多边形:点击第一个标记以完成绘制", + "finish-polygon-hint-with-entity": "“{{entityName}}”的多边形:点击第一个标记以完成并保存", + "rectangle-place-first-point-hint": "矩形:点击以放置第一个点", + "rectangle-place-first-point-hint-with-entity": "“{{entityName}}”的矩形:点击以放置第一个点", + "finish-rectangle-hint": "矩形:点击以完成绘制", + "finish-rectangle-hint-with-entity": "“{{entityName}}”的矩形:点击以完成并保存" }, - "liquid-level-card": { - "layout-simple": "简单", - "layout-percentage": "百分比", - "layout-absolute": "绝对值", - "layout": "布局", - "background-overlay": "值背景叠加", - "total-volume": "总体积", - "total-volume-units": "总体积单位", - "tank": "容器", - "shape": "形状", - "datasource-units": "数据源单位", - "widget-units": "部件单位", - "decimals": "小数位数", - "liquid": "液体", - "liquid-color": "液体颜色", - "value": "数值", - "value-font": "值字体", - "level": "水位", - "last-update": "最后更新", - "shape-by-attribute": "按属性名称设置储罐形状", - "tooltip-background": "背景颜色", - "background-blur": "背景模糊", - "tank-color": "容器颜色", - "static": "静态", - "see-examples": "查看示例", - "attribute": "属性", - "shape-type": "类型", - "v-oval": "垂直椭圆", - "v-cylinder": "垂直圆柱体", - "v-capsule": "垂直胶囊", - "rectangle": "矩形", - "h-oval": "水平椭圆", - "h-ellipse": "水平椭圆", - "h-dish-ends": "水平盘形", - "h-cylinder": "水平圆柱体", - "h-capsule": "水平胶囊", - "h-elliptical_2_1": "水平2:1椭圆", - "icon": "图标", - "title": "标题", - "units": "单位", - "color-and-font": "颜色和字体", - "shape-attribute-name": "属性名称", - "total-volume-required": "需要总体积。", - "attribute-name-required": "需要属性名称。", - "attribute-key-not-set": "未设置属性'{{attributeName}}'键", - "attribute-key-invalid": "属性'{{attributeName}}'键无效" + "circle": { + "circle-key": "圆形键", + "circle-key-required": "圆形键为必填项", + "no-circles": "未配置圆形", + "add-circle": "添加圆形", + "circle-configuration": "圆形配置", + "remove-circle": "移除圆形", + "edit": "编辑圆形", + "remove-circle-for": "移除“{{entityName}}”的圆形", + "draw-circle": "绘制圆形", + "place-circle-center-hint-with-entity": "“{{entityName}}”的圆形:点击以放置圆心", + "place-circle-center-hint": "圆形:点击以放置圆心", + "finish-circle-hint-with-entity": "“{{entityName}}”的圆形:点击以完成并保存", + "finish-circle-hint": "圆形:点击以完成绘制" }, - "aggregated-value-card": { - "subtitle": "副标题", - "chart": "图表", - "values": "数值", - "value-appearance": "数值外观", - "position": "位置", - "position-center": "中心", - "position-right-top": "右上", - "position-right-bottom": "右下", - "position-left-top": "左上", - "position-left-bottom": "左下", - "font": "字体", - "color": "颜色", - "arrow": "箭头", - "display-up-down-arrow": "显示向上/向下箭头", - "add-value": "添加数值", - "remove-value": "移除数值", - "no-values": "未配置数值", - "aggregation": "聚合", - "aggregated-value-card-style": "聚合数值卡片样式", - "auto-scale": "自动缩放" + "polyline": { + "polyline-key": "折线键", + "polyline-key-required": "折线键为必填项", + "no-polylines": "未配置折线", + "add-polylines": "添加折线", + "polyline-configuration": "折线配置", + "remove-polyline": "移除折线", + "edit": "编辑折线", + "cut": "裁剪折线区域", + "rotate": "旋转折线", + "remove-polyline-for": "移除“{{entityName}}”的折线", + "draw-polyline": "绘制折线", + "polyline-place-first-point-hint-with-entity": "“{{entityName}}”的折线:点击以放置第一个点", + "polyline-place-first-point-hint": "折线:点击以放置第一个点", + "finish-polyline-hint-with-entity": "“{{entityName}}”的折线:点击以完成绘制", + "finish-polyline-hint": "折线:点击以完成绘制", + "polyline-place-first-point-cut-hint": "点击以放置第一个点", + "finish-polyline-cut-hint": "点击第一个标记以完成并保存" }, - "value-chart-card": { - "layout": "布局", - "layout-left": "左侧", - "layout-right": "右侧", - "auto-scale": "自动缩放", - "icon": "图标", - "value": "数值", - "chart": "图表", - "value-chart-card-style": "数值图表卡片样式" - }, - "progress-bar": { - "layout": "布局", - "layout-default": "默认", - "layout-simplified": "简化", - "auto-scale": "自动缩放", - "icon": "图标", - "value": "数值", - "range": "范围", - "min": "最小值", - "max": "最大值", - "range-ticks": "刻度范围", - "bar": "条形", - "bar-color": "条形颜色", - "bar-background": "条形背景色", - "progress-bar-card-style": "条形卡片样式" - }, - "notification": { - "max-notification-display": "显示的最大通知数量", - "counter": "计数提示", - "counter-hint": "如果启用部件标题将显示通知计数", - "icon": "图标", - "counter-value": "数值", - "counter-color": "颜色", - "notification-button": "通知按钮", - "button-view-all": "查看全部", - "button-filter": "过滤", - "type-filter": "类型", - "button-mark-read": "全部已读", - "notification-types": "通知类型", - "notification-type": "通知类型", - "search-type": "查询类型", - "any-type": "任意类型" - }, - "alarm-count": { - "alarm-count-card-style": "告警告计数卡片样式" - }, - "entity-count": { - "entity-count-card-style": "实体计数卡片样式" - }, - "count": { - "layout": "布局", - "layout-column": "列", - "layout-row": "行", - "label": "标签", - "icon": "图标", - "icon-background": "图标背景", - "value": "数值", - "chevron": "箭头", - "auto-scale": "自动缩放" - }, - "table": { - "common-table-settings": "常规设置", - "enable-search": "启用搜索", - "enable-sticky-header": "显示表头", - "enable-sticky-action": "显示操作列", - "hidden-cell-button-display-mode": "隐藏单元格按钮操作显示模式", - "show-empty-space-hidden-action": "显示空白区域而不是隐藏单元格按钮操作", - "dont-reserve-space-hidden-action": "不为隐藏的操作按钮预留空间", - "display-timestamp": "显示时间", - "display-pagination": "显示分页", - "default-page-size": "默认大小", - "use-entity-label-tab-name": "在选项卡名称中使用实体标签", - "hide-empty-lines": "隐藏空行", - "row-style": "行样式", - "use-row-style-function": "使用行样式函数", - "row-style-function": "行样式函数", - "cell-style": "单元格样式", - "use-cell-style-function": "使用单元格样式函数", - "cell-style-function": "单元格样式函数", - "cell-content": "单元格内容", - "use-cell-content-function": "使用单元格内容函数", - "cell-content-function": "单元格内容函数", - "show-latest-data-column": "显示最新数据列", - "latest-data-column-order": "最新数据列顺序", - "entities-table-title": "实体表标题", - "enable-select-column-display": "启用选择要显示的列", - "display-entity-name": "显示实体名称列", - "entity-name-column-title": "实体名称列标题", - "display-entity-label": "显示实体标签列", - "entity-label-column-title": "实体标签列标题", - "display-entity-type": "显示实体类型列", - "default-sort-order": "默认排序顺序", - "custom-title": "自定义表头标题", - "column-width": "列宽度(px或%)", - "default-column-visibility": "默认显示", - "column-visibility-visible": "显示", - "column-visibility-hidden": "隐藏", - "column-visibility-hidden-mobile": "在移动模式下隐藏", - "column-selection-to-display": "'显示列'中的列选择", - "column-selection-to-display-enabled": "启用", - "column-selection-to-display-disabled": "禁用", - "alarms-table-title": "告警表格标题", - "enable-alarms-selection": "启用告警选择", - "enable-alarms-search": "启用告警搜索", - "enable-alarm-filter": "启用告警过滤", - "display-alarm-details": "显示告警详细信息", - "allow-alarms-ack": "允许确认告警", - "allow-alarms-clear": "允许清除告警", - "display-alarm-activity": "显示活动告警", - "allow-alarms-assign": "允许分配告警", - "columns": "列", - "column-settings": "列设置", - "remove-column": "移除列", - "add-column": "添加列", - "no-columns": "没有配置列", - "columns-to-display": "显示的列", - "table-header": "表头", - "header-buttons": "表头按钮", - "table-buttons": "表格按钮", - "pagination": "分页", - "rows": "行", - "timeseries-column-error": "必须指定一个时间序序列", - "alarm-column-error": "必须指定一个告警数据列", - "table-tabs": "标签", - "show-cell-actions-menu-mobile": "在移动模式下显示单元格操作下拉菜单" - }, - "latest-chart": { - "total": "总数", - "auto-scale": "自动", - "clockwise-layout": "顺时针方向", - "sort-series": "标签排序", - "tooltip-value-type-absolute": "绝对", - "tooltip-value-type-percentage": "百分比" - }, - "pie-chart": { - "pie-chart-appearance": "外观", - "label": "标签", - "border": "标签", - "radius": "圆角", - "pie-chart-card-style": "样式" - }, - "radar-chart": { - "radar-appearance": "外观", - "shape": "形状", - "shape-polygon": "多边形", - "shape-circle": "圆形", - "color": "颜色", - "line": "线条", - "points": "点", - "points-label": "点标签", - "radar-axis": "雷达轴", - "axis-label": "轴标签", - "ticks-label": "刻度标签", - "radar-chart-style": "样式" - }, - "time-series-chart": { - "chart": "图表", - "chart-style": "样式", - "data-zoom": "数据缩放", - "stack-mode": "堆叠模式", - "stack-mode-hint": "图表上的堆栈具有同一单元的序列将放置在一起。", - "axes": "坐标", - "y-axes": "Y轴", - "line-type": "线条类型", - "line-width": "线条宽度", - "type-line": "线条", - "type-bar": "条形", - "type-point": "点", - "no-aggregation-bar-width-strategy": "非聚合数据的条形宽度", - "no-aggregation-bar-width-strategy-group": "分组", - "no-aggregation-bar-width-strategy-separate": "分隔", - "bar-group-width": "条形分组宽度", - "bar-width": "条形宽度", - "bar-width-relative": "百分比", - "bar-width-absolute": "绝对(ms)", - "comparison": { - "comparison": "数据比较", - "comparison-hint": "仅与历史数据一起比较!", - "show": "显示", - "settings": "比较设置", - "show-values-for-comparison": "显示历史数据进行比较", - "comparison-values-label": "数据键标签", - "comparison-values-label-auto": "自动", - "comparison-data-color": "颜色" - }, - "threshold": { - "thresholds": "阈值", - "source": "源", - "key-value": "键/值", - "no-thresholds": "未配置阈值", - "add-threshold": "添加", - "type-constant": "常量", - "type-latest-key": "键", - "type-entity": "实体", - "threshold-settings": "设置阈值", - "remove-threshold": "移除阈值", - "threshold-value-required": "阈值必填。", - "key-required": "键必填。", - "entity-key-required": "实体必填。", - "line-appearance": "线条外观", - "line-color": "线条颜色", - "start-symbol": "起始", - "end-symbol": "结束", - "symbol-size": "尺寸", - "label": "标签", - "label-position-start": "起始", - "label-position-middle": "中间", - "label-position-end": "结束", - "label-position-inside-start": "起始", - "label-position-inside-start-top": "起始上", - "label-position-inside-start-bottom": "起始下", - "label-position-inside-middle": "中间", - "label-position-inside-middle-top": "中间上", - "label-position-inside-middle-bottom": "中间下", - "label-position-inside-end": "结束", - "label-position-inside-end-top": "结束上", - "label-position-inside-end-bottom": "结束下", - "label-background": "标签背景" - }, - "state": { - "states": "状态", - "label": "标签", - "ticks-value": "刻度", - "source": "源", - "value-range": "值/范围", - "no-states": "未配置状态", - "add-state": "添加", - "type-constant": "常量", - "type-range": "范围", - "from": "从", - "to": "到", - "remove-state": "移除" - }, - "grid": { - "grid": "网格", - "background-color": "背景颜色", - "border": "边框" - }, - "axis": { - "axes": "坐标", - "x-axis": "X轴", - "y-axis": "Y轴", - "y-axis-settings": "Y轴设置", - "comparison-x-axis-settings": "比较X轴设置", - "remove-y-axis": "移除Y轴", - "id": "编号", - "label": "标签", - "position": "位置", - "position-left": "左", - "position-right": "右", - "position-top": "上", - "position-bottom": "下", - "tick-labels": "刻度标签", - "ticks-formatter-function": "刻度格式化函数", - "ticks-generator-function": "刻度生成函数", - "show-ticks": "显示刻度", - "show-line": "显示线条", - "show-split-lines": "显示分隔线", - "show-split-lines-x-axis-hint": "启用则显示垂直线。", - "show-split-lines-y-axis-hint": "启用则显示水平线。", - "ticks-interval": "刻度间隔", - "ticks-interval-hint": "强制设置轴的分段间隔。", - "split-number": "分隔号码", - "split-number-hint": "轴分成的多少段数量。", - "min": "最小值", - "max": "最大值", - "show": "显示", - "add-y-axis": "添加" - }, - "series": { - "legend-settings": "设置图例", - "show-in-legend": "显示图例", - "show-in-legend-hint": "在图例中显示系列名称和数据。", - "hidden-by-default": "默认情况下隐藏", - "hidden-by-default-hint": "默认情况下使系列隐藏在图例中。", - "series-type": "序列类型", - "type": "类型", - "type-line": "线条类型", - "type-bar": "条形", - "line": { - "line": "线条", - "show-line": "显示线条", - "step-line": "斜线", - "step-type-start": "起始", - "step-type-middle": "中间", - "step-type-end": "结束", - "smooth-line": "流畅" - }, - "point": { - "points": "点", - "show-points": "显示", - "point-label": "标签", - "point-label-hint": "显示具有超过序列点的值的标签。", - "point-label-background": "背景", - "point-shape": "形状", - "point-size": "尺寸" - } - } - }, - "wind-speed-direction": { - "layout": "布局", - "layout-default": "默认", - "layout-advanced": "高级", - "layout-simplified": "简化", - "values": "数值", - "wind-direction": "风向", - "center-value": "中心数值", - "icon": "图标", - "arrow": "箭头", - "ticks": "刻度", - "labels-type": "标签类型", - "directional-names": "方向名称", - "degrees": "度数", - "major-ticks": "主要刻度", - "minor-ticks": "次要刻度", - "wind-speed-direction-card-style": "风速和风向卡片样式", - "ticks-color": "刻度颜色", - "ticks-labels-type": "刻度标签类型", - "arrow-color": "箭头颜色" - }, - "value-source": { - "value-source": "值来源", - "predefined-value": "预定义值", - "entity-attribute": "从实体属性中获取的值", - "value": "数值", - "value-required": "数值必填。", - "key-required": "键必填。", - "entity-key-required": "实体必填。", - "source-entity-alias": "源实体别名", - "source-entity-attribute": "源实体属性", - "type-constant": "常量", - "type-latest-key": "键", - "type-entity": "实体" - }, - "rpc-state": { - "initial-state": "初始状态", - "initial-state-hint": "获取组件的初始状态(开/关)。", - "disabled-state": "禁用状态", - "disabled-state-hint": "配置禁用条件。", - "turn-on": "打开", - "turn-on-hint": "当滑块切换至“开”时触发的操作", - "turn-off": "关闭", - "turn-off-hint": "当滑块切换至“关闭”时触发的操作", - "on": "打开", - "off": "关闭", - "disabled": "禁用" - }, - "value-action": { - "do-nothing": "无任何动作", - "execute-rpc": "执行RPC", - "get-attribute": "获取属性", - "set-attribute": "设置属性", - "get-time-series": "获取遥测", - "get-alarm-status": "获取告警状态", - "get-dashboard-state": "获取仪表板状态", - "add-time-series": "添加遥测", - "execute-rpc-text": "执行RPC方法'{{methodName}}'", - "get-time-series-text": "使用遥测'{{key}}'", - "get-attribute-text": "使用属性'{{key}}'", - "get-alarm-status-text": "使用告警状态", - "get-dashboard-state-text": "使用仪表板状态", - "when-dashboard-state-is-text": "当仪表板状态为'{{state}}'", - "when-dashboard-state-function-is-text": "当(仪表板状态)是'{{state}}'", - "set-attribute-to-value-text": "设置'{{key}}'属性值:{{value}}", - "add-time-series-value-text": "添加'{{key}}'遥测值:{{value}}", - "set-attribute-text": "设置'{{key}}'属性", - "add-time-series-text": "添加'{{key}}'遥测", - "action": "动作", - "value": "数值", - "init-value-hint": "在设备发送数据之前将值设置。", - "method": "方法", - "method-name-required": "方法名称必填。", - "request-timeout-ms": "RPC请求超时(ms)", - "request-timeout-required": "RPC请求超时必填。", - "min-request-timeout-error": "请求超时值应更大或等于5000(5秒)。", - "request-persistent": "RPC请求持久化", - "persistent-polling-interval": "持久化的轮训间隔(ms)", - "persistent-polling-interval-hint": "轮询获取持久化RPC的命令响应", - "persistent-polling-interval-required": "轮询获取持久化必填。", - "min-persistent-polling-interval-error": "持续的轮询间隔值应>=1000 ms(1秒)。", - "attribute-scope": "作用域", - "attribute-key": "键名称", - "attribute-key-required": "键名称必填。", - "time-series-key": "键名称", - "time-series-key-required": "键名称必填。", - "action-result-converter": "动作转换", - "converter-none": "无", - "converter-function": "函数", - "converter-constant": "常量", - "converter-value": "数值", - "parse-value-function": "解析函数", - "state-when-result-is": "'{{state}}'结果是", - "parameters": "参数", - "convert-value-function": "转换函数", - "error": { - "target-entity-is-not-set": "目标实体未设置!", - "failed-to-perform-action": "无法执行{{ actionLabel }}操作。", - "invalid-attribute-scope": " {{entityType}}实体不支持{{scope}}属性作用域。" - } - }, - "widget-font": { - "font-settings": "字体设置", - "font-family": "字体", - "size": "大小", - "relative-font-size": "相对字体大小(百分比)", - "font-style": "样式", - "font-style-normal": "正常", - "font-style-italic": "斜体", - "font-style-oblique": "倾斜", - "font-weight": "粗细", - "font-weight-normal": "正常", - "font-weight-bold": "粗体", - "font-weight-bolder": "更粗", - "font-weight-lighter": "更轻", - "color": "颜色", - "shadow-color": "阴影颜色", - "preview": "预览", - "line-height": "行高", - "auto": "自动" - }, - "home": { - "no-data-available": "暂无数据" - }, - "system-info": { - "cpu": "CPU", - "ram": "内存", - "disk": "磁盘", - "cpu-warning-text": "CPU使用率过高为了避免系统故障,请优化系统性能。", - "cpu-critical-text": "CPU使用率严重过高为了避免系统故障,请优化系统性能。", - "ram-warning-text": "内存储备不足为了避免系统故障,请优化系统性能或增加内存大小。", - "ram-critical-text": "内存储备严重不足为了避免系统故障,请优化系统性能或增加内存大小。", - "disk-warning-text": "磁盘空间不足为了避免数据丢失,请释放或扩展磁盘空间。", - "disk-critical-text": "磁盘空间严重不足为了避免数据丢失,请释放或扩展磁盘空间。" - }, - "cluster-info": { - "service-id": "服务ID", - "service-type": "服务类型", - "no-data": "无数据" - }, - "transport-messages": { - "title": "传输消息", - "info": "来自设备的所有消息" + "select-entity": "选择实体", + "select-entity-hint": "提示:选择后点击地图以设置位置" + }, + "select-entity": "选择实体", + "select-entity-hint": "提示:选择后点击地图以设置位置", + "tooltips": { + "placeMarker": "点击以放置“{{entityName}}”实体", + "firstVertex": "“{{entityName}}”的多边形:点击以放置第一个点", + "firstVertex-cut": "点击以放置第一个点", + "continueLine": "“{{entityName}}”的多边形:点击以继续绘制", + "continueLine-cut": "点击以继续绘制", + "finishLine": "点击任意现有标记以完成", + "finishPoly": "“{{entityName}}”的多边形:点击第一个标记以完成并保存", + "finishPoly-cut": "点击第一个标记以完成并保存", + "finishRect": "“{{entityName}}”的多边形:点击以完成并保存", + "startCircle": "“{{entityName}}”的圆形:点击以放置圆心", + "finishCircle": "“{{entityName}}”的圆形:点击以完成圆形", + "placeCircleMarker": "点击以放置圆形标记" + }, + "actions": { + "finish": "完成", + "cancel": "取消", + "removeLastVertex": "移除最后一个点" + }, + "buttonTitles": { + "drawMarkerButton": "放置实体", + "drawPolyButton": "创建多边形", + "drawLineButton": "创建折线", + "drawCircleButton": "创建圆形", + "drawRectButton": "创建矩形", + "editButton": "编辑模式", + "dragButton": "拖放模式", + "cutButton": "裁剪多边形区域", + "deleteButton": "移除", + "drawCircleMarkerButton": "创建圆形标记", + "rotateButton": "旋转多边形" + }, + "map-provider-settings": "地图提供商设置", + "map-provider": "地图提供商", + "map-provider-google": "Google 地图", + "map-provider-openstreet": "OpenStreet 地图", + "map-provider-here": "HERE 地图", + "map-provider-image": "图片地图", + "map-provider-tencent": "腾讯地图", + "openstreet-provider": "OpenStreet 地图提供商", + "openstreet-provider-mapnik": "OpenStreetMap.Mapnik(默认)", + "openstreet-provider-hot": "OpenStreetMap.HOT", + "openstreet-provider-esri-street": "Esri.WorldStreetMap", + "openstreet-provider-esri-topo": "Esri.WorldTopoMap", + "openstreet-provider-esri-imagery": "Esri.WorldImagery", + "openstreet-provider-cartodb-positron": "CartoDB.Positron", + "openstreet-provider-cartodb-dark-matter": "CartoDB.DarkMatter", + "use-custom-provider": "使用自定义提供商", + "custom-provider-tile-url": "自定义提供商瓦片 URL", + "google-maps-api-key": "Google Maps API 密钥", + "default-map-type": "默认地图类型", + "google-map-type-roadmap": "路线图", + "google-map-type-satelite": "卫星图", + "google-map-type-hybrid": "混合图", + "google-map-type-terrain": "地形图", + "map-layer": "地图图层", + "here-map-normal-day": "HERE.normalDay(默认)", + "here-map-normal-night": "HERE.normalNight", + "here-map-hybrid-day": "HERE.hybridDay", + "here-map-terrain-day": "HERE.terrainDay", + "credentials": "凭据", + "here-app-id": "HERE 应用 ID", + "here-app-code": "HERE 应用代码", + "here-api-key": "HERE API 密钥", + "here-use-new-version-api-3": "使用 API 版本 3", + "tencent-maps-api-key": "腾讯地图 API 密钥", + "tencent-map-type-roadmap": "路线图", + "tencent-map-type-satelite": "卫星图", + "tencent-map-type-hybrid": "混合图", + "image-map-background": "图片地图背景", + "image-map-background-from-entity-attribute": "从实体属性获取图片地图背景", + "image-url-source-entity-alias": "图片 URL 来源实体别名", + "image-url-source-entity-attribute": "图片 URL 来源实体属性", + "common-map-settings": "通用地图设置", + "x-pos-key-name": "X 位置键名称", + "y-pos-key-name": "Y 位置键名称", + "latitude-key-name": "纬度键名称", + "longitude-key-name": "经度键名称", + "default-map-zoom-level": "默认地图缩放级别(0 - 20)", + "default-map-center-position": "默认地图中心位置(0,0)", + "disable-scroll-zooming": "禁用滚动缩放", + "disable-double-click-zooming": "禁用双击缩放", + "disable-zoom-control-buttons": "禁用缩放控制按钮", + "fit-map-bounds": "调整地图范围以覆盖所有标记", + "use-default-map-center-position": "使用默认地图中心位置", + "entities-limit": "加载实体数量限制", + "markers-settings": "标记设置", + "marker-offset-x": "标记 X 偏移(相对于位置乘以标记宽度)", + "marker-offset-y": "标记 Y 偏移(相对于位置乘以标记高度)", + "position-function": "位置转换函数,应返回 x、y 坐标,每个值为 0 到 1 之间的双精度数", + "draggable-marker": "可拖动标记", + "label": "标签", + "show-label": "显示标签", + "use-label-function": "使用标签函数", + "label-pattern": "标签(模式示例:'${entityName}','${entityName}: (Text ${keyName} units.)')", + "label-function": "标签函数", + "tooltip": "提示框", + "show-tooltip": "显示提示框", + "show-tooltip-action": "显示提示框的操作", + "show-tooltip-action-click": "点击时显示提示框(默认)", + "show-tooltip-action-hover": "悬停时显示提示框", + "auto-close-tooltips": "自动关闭提示框", + "use-tooltip-function": "使用提示框函数", + "tooltip-pattern": "提示框(例如 'Text ${keyName} units.' 或 Link text')", + "tooltip-function": "提示框函数", + "tooltip-offset-x": "提示框 X 偏移(相对于标记锚点乘以标记宽度)", + "tooltip-offset-y": "提示框 Y 偏移(相对于标记锚点乘以标记高度)", + "color": "颜色", + "use-color-function": "使用颜色函数", + "color-function": "颜色函数", + "marker-image": "标记图片", + "use-marker-image-function": "使用标记图片函数", + "custom-marker-image": "自定义标记图片", + "custom-marker-image-size": "自定义标记图片大小(像素)", + "marker-image-function": "标记图片函数", + "marker-images": "标记图片", + "polygon-settings": "多边形设置", + "show-polygon": "显示多边形", + "polygon-key-name": "多边形键名称", + "enable-polygon-edit": "启用多边形编辑", + "polygon-label": "多边形标签", + "show-polygon-label": "显示多边形标签", + "use-polygon-label-function": "使用多边形标签函数", + "polygon-label-pattern": "多边形标签(模式示例:'${entityName}','${entityName}: (Text ${keyName} units.)')", + "polygon-label-function": "多边形标签函数", + "polygon-tooltip": "多边形提示框", + "show-polygon-tooltip": "显示多边形提示框", + "auto-close-polygon-tooltips": "自动关闭多边形提示框", + "use-polygon-tooltip-function": "使用多边形提示框函数", + "polygon-tooltip-pattern": "提示框(例如 'Text ${keyName} units.' 或 Link text')", + "polygon-tooltip-function": "多边形提示框函数", + "polygon-color": "多边形颜色", + "polygon-opacity": "多边形不透明度", + "use-polygon-color-function": "使用多边形颜色函数", + "polygon-color-function": "多边形颜色函数", + "polygon-stroke": "多边形描边", + "stroke-color": "描边颜色", + "stroke-opacity": "描边不透明度", + "stroke-weight": "描边粗细", + "use-polygon-stroke-color-function": "使用多边形描边颜色函数", + "polygon-stroke-color-function": "多边形描边颜色函数", + "circle-settings": "圆形设置", + "show-circle": "显示圆形", + "circle-key-name": "圆形键名称", + "enable-circle-edit": "启用圆形编辑", + "circle-label": "圆形标签", + "show-circle-label": "显示圆形标签", + "use-circle-label-function": "使用圆形标签函数", + "circle-label-pattern": "圆形标签(模式示例:'${entityName}','${entityName}: (Text ${keyName} units.)')", + "circle-label-function": "圆形标签函数", + "circle-tooltip": "圆形提示框", + "show-circle-tooltip": "显示圆形提示框", + "auto-close-circle-tooltips": "自动关闭圆形提示框", + "use-circle-tooltip-function": "使用圆形提示框函数", + "circle-tooltip-pattern": "提示框(例如 'Text ${keyName} units.' 或 Link text')", + "circle-tooltip-function": "圆形提示框函数", + "circle-fill-color": "圆形填充颜色", + "circle-fill-color-opacity": "圆形填充颜色不透明度", + "use-circle-fill-color-function": "使用圆形填充颜色函数", + "circle-fill-color-function": "圆形填充颜色函数", + "circle-stroke": "圆形描边", + "use-circle-stroke-color-function": "使用圆形描边颜色函数", + "circle-stroke-color-function": "圆形描边颜色函数", + "markers-clustering-settings": "标记聚合设置", + "use-map-markers-clustering": "使用地图标记聚合", + "zoom-on-cluster-click": "点击聚合时缩放", + "max-cluster-zoom": "标记可成为聚合一部分的最大缩放级别(0 - 18)", + "max-cluster-radius-pixels": "聚合覆盖的最大半径(像素)", + "cluster-zoom-animation": "缩放时显示标记动画", + "show-markers-bounds-on-cluster-mouse-over": "鼠标悬停聚合时显示标记边界", + "spiderfy-max-zoom-level": "在最大缩放级别时展开(以查看所有聚合标记)", + "load-optimization": "加载优化", + "cluster-chunked-loading": "使用分块添加标记以避免页面冻结", + "cluster-markers-lazy-load": "使用懒加载添加标记", + "editor-settings": "编辑器设置", + "enable-snapping": "启用对齐到其他顶点以精确绘制", + "init-draggable-mode": "以拖拽模式初始化地图", + "hide-all-edit-buttons": "隐藏所有编辑控制按钮", + "hide-draw-buttons": "隐藏绘制按钮", + "hide-edit-buttons": "隐藏编辑按钮", + "hide-remove-button": "隐藏移除按钮", + "route-map-settings": "路线地图设置", + "trip-animation-settings": "行程动画设置", + "normalization-step": "数据标准化步长(毫秒)", + "tooltip-background-color": "提示框背景颜色", + "tooltip-font-color": "提示框字体颜色", + "tooltip-opacity": "提示框不透明度(0-1)", + "auto-close-tooltip": "自动关闭提示框", + "rotation-angle": "设置标记的附加旋转角度(度)", + "path-settings": "路径设置", + "path-color": "路径颜色", + "use-path-color-function": "使用路径颜色函数", + "path-color-function": "路径颜色函数", + "path-decorator": "路径装饰器", + "use-path-decorator": "使用路径装饰器", + "decorator-symbol": "装饰器符号", + "decorator-symbol-arrow-head": "箭头", + "decorator-symbol-dash": "虚线", + "decorator-symbol-size": "装饰器符号大小(像素)", + "use-path-decorator-custom-color": "使用路径装饰器自定义颜色", + "decorator-custom-color": "装饰器自定义颜色", + "decorator-offset": "装饰器偏移", + "end-decorator-offset": "结束装饰器偏移", + "decorator-repeat": "装饰器重复", + "points-settings": "点设置", + "show-points": "显示点", + "point-color": "点颜色", + "point-size": "点大小(像素)", + "use-point-color-function": "使用点颜色函数", + "point-color-function": "点颜色函数", + "use-point-as-anchor": "使用点作为锚点", + "point-as-anchor-function": "点作为锚点函数", + "independent-point-tooltip": "独立点提示框", + "clustering-markers": "标记聚合", + "use-icon-create-function": "使用标记颜色函数", + "marker-color-function": "标记颜色函数" + }, + "markdown": { + "use-markdown-text-function": "使用 Markdown/HTML 值函数", + "markdown-text-function": "Markdown/HTML 值函数", + "markdown-text-pattern": "Markdown/HTML 模式(Markdown 或带变量的 HTML,例如 '${entityName} or ${keyName} - some text.')", + "apply-default-markdown-style": "应用默认 Markdown 样式", + "markdown-css": "Markdown/HTML CSS" + }, + "simple-card": { + "label": "标签", + "label-position": "标签位置", + "label-position-left": "左侧", + "label-position-top": "顶部" + }, + "single-switch": { + "behavior": "行为", + "layout": "布局", + "layout-right": "右侧", + "layout-left": "左侧", + "layout-centered": "居中", + "auto-scale": "自动缩放", + "label": "标签", + "icon": "图标", + "switch-color": "开关颜色", + "on": "开", + "off": "关", + "disabled": "禁用", + "tumbler-color": "拨动器颜色", + "on-label": "开启标签", + "off-label": "关闭标签", + "switch": "开关" + }, + "slider": { + "behavior": "行为", + "initial-value": "初始值", + "initial-value-hint": "获取滑块初始值的操作。", + "on-value-change": "值变更时", + "on-value-change-hint": "滑块值变更时触发的操作。", + "layout": "布局", + "layout-default": "默认", + "layout-extended": "扩展", + "layout-simplified": "简化", + "auto-scale": "自动缩放", + "icon": "图标", + "value": "值", + "range": "范围", + "min": "最小", + "max": "最大", + "range-ticks": "范围刻度", + "tick-marks": "刻度标记", + "colors": "颜色", + "main": "主要", + "background": "背景", + "left-icon": "左侧图标", + "right-icon": "右侧图标", + "slider": "滑块" + }, + "value-card": { + "layout": "布局", + "layout-square": "方形", + "layout-vertical": "垂直", + "layout-centered": "居中", + "layout-simplified": "简化", + "layout-horizontal": "水平", + "layout-horizontal-reversed": "水平反向", + "label": "标签", + "icon": "图标", + "value": "值", + "date": "日期", + "value-card-style": "值卡片样式", + "auto-scale": "自动缩放" + }, + "label-card": { + "auto-scale": "自动缩放", + "label": "标签", + "icon": "图标", + "label-card-style": "标签卡片样式" + }, + "label-value-card": { + "value": "值", + "label-value-card-style": "标签和值卡片样式" + }, + "liquid-level-card": { + "layout-simple": "简单", + "layout-percentage": "百分比", + "layout-absolute": "绝对值", + "layout": "布局", + "background-overlay": "值背景覆盖", + "total-volume": "总容量", + "total-volume-units": "总容量单位", + "tank": "容器", + "shape": "形状", + "datasource-units": "源单位", + "widget-units": "部件单位", + "decimals": "小数位数", + "liquid": "液体", + "liquid-color": "液体颜色", + "value": "值", + "value-font": "值字体", + "level": "液位", + "last-update": "最后更新", + "shape-by-attribute": "通过属性名称设置容器形状", + "tooltip-background": "背景颜色", + "background-blur": "背景模糊", + "tank-color": "容器颜色", + "static": "静态", + "see-examples": "查看示例", + "attribute": "属性", + "shape-type": "类型", + "v-oval": "垂直椭圆", + "v-cylinder": "垂直圆柱", + "v-capsule": "垂直胶囊", + "rectangle": "矩形", + "h-oval": "水平椭圆", + "h-ellipse": "水平椭圆形", + "h-dish-ends": "水平碟形封头", + "h-cylinder": "水平圆柱", + "h-capsule": "水平胶囊", + "h-elliptical_2_1": "水平 2:1 椭圆形", + "icon": "卡片图标", + "title": "卡片标题", + "units": "单位", + "color-and-font": "颜色和字体", + "shape-attribute-name": "属性名称", + "total-volume-required": "总容量为必填项。", + "attribute-name-required": "属性名称为必填项。", + "attribute-key-not-set": "属性“{{attributeName}}”键未设置", + "attribute-key-invalid": "属性“{{attributeName}}”键无效" + }, + "aggregated-value-card": { + "subtitle": "副标题", + "chart": "图表", + "values": "值", + "value-appearance": "值外观", + "position": "位置", + "position-center": "居中", + "position-right-top": "右上", + "position-right-bottom": "右下", + "position-left-top": "左上", + "position-left-bottom": "左下", + "font": "字体", + "color": "颜色", + "arrow": "箭头", + "display-up-down-arrow": "显示上/下箭头", + "add-value": "添加值", + "remove-value": "移除值", + "no-values": "未配置值", + "aggregation": "聚合", + "aggregated-value-card-style": "聚合值卡片样式", + "auto-scale": "自动缩放" + }, + "value-chart-card": { + "layout": "布局", + "layout-left": "左", + "layout-right": "右", + "auto-scale": "自动缩放", + "icon": "图标", + "value": "值", + "chart": "图表", + "value-chart-card-style": "值图表卡片样式" + }, + "progress-bar": { + "layout": "布局", + "layout-default": "默认", + "layout-simplified": "简化", + "auto-scale": "自动缩放", + "icon": "图标", + "value": "值", + "range": "范围", + "min": "最小值", + "max": "最大值", + "range-ticks": "范围刻度", + "bar": "条形", + "bar-color": "条形颜色", + "bar-background": "条形背景", + "progress-bar-card-style": "进度条卡片样式" + }, + "notification": { + "max-notification-display": "最大通知显示数量", + "counter": "计数器", + "counter-hint": "当启用“部件标题”时将显示计数器", + "icon": "图标", + "counter-value": "值", + "counter-color": "颜色", + "notification-button": "通知按钮", + "button-view-all": "查看全部", + "button-filter": "筛选", + "type-filter": "类型筛选", + "button-mark-read": "全部标记为已读", + "notification-types": "通知类型", + "notification-type": "通知类型", + "search-type": "搜索类型", + "any-type": "任意类型" + }, + "alarm-count": { + "alarm-count-card-style": "告警计数卡片样式" + }, + "entity-count": { + "entity-count-card-style": "实体计数卡片样式" + }, + "count": { + "layout": "布局", + "layout-column": "列", + "layout-row": "行", + "label": "标签", + "icon": "图标", + "icon-background": "图标背景", + "value": "值", + "chevron": "箭头指示", + "auto-scale": "自动缩放" + }, + "table": { + "common-table-settings": "通用表格设置", + "enable-search": "启用搜索", + "enable-sticky-header": "始终显示表头", + "enable-sticky-action": "始终显示操作列", + "hidden-cell-button-display-mode": "隐藏单元格按钮操作显示模式", + "show-empty-space-hidden-action": "显示空白代替隐藏的单元格按钮操作", + "dont-reserve-space-hidden-action": "不为隐藏的操作按钮预留空间", + "display-timestamp": "时间戳", + "timestamp-column-name": "时间戳", + "display-pagination": "显示分页", + "default-page-size": "默认页面大小", + "page-step-settings": "分页步长设置", + "page-step-count": "步数", + "page-step-increment": "步长增量", + "page-step-count-format-message": "应为 1 到 100 之间的整数值。", + "page-step-increment-format-message": "应为大于或等于 1 的整数值。", + "use-entity-label-tab-name": "在标签页名称中使用实体标签", + "hide-empty-lines": "隐藏空行", + "row-style": "行样式", + "use-row-style-function": "使用行样式函数", + "row-style-function": "行样式函数", + "cell-style": "单元格样式", + "use-cell-style-function": "使用单元格样式函数", + "cell-style-function": "单元格样式函数", + "cell-content": "单元格内容", + "use-cell-content-function": "使用单元格内容函数", + "cell-content-function": "单元格内容函数", + "show-latest-data-column": "显示最新数据列", + "latest-data-column-order": "最新数据列顺序", + "entities-table-title": "实体表格标题", + "enable-select-column-display": "启用选择显示列", + "display-entity-name": "显示实体名称列", + "entity-name-column-title": "实体名称列标题", + "display-entity-label": "显示实体标签列", + "entity-label-column-title": "实体标签列标题", + "display-entity-type": "显示实体类型列", + "default-sort-order": "默认排序", + "custom-title": "自定义表头标题", + "column-width": "列宽(px 或 %)", + "default-column-visibility": "默认列可见性", + "column-visibility-visible": "可见", + "column-visibility-hidden": "隐藏", + "column-visibility-hidden-mobile": "在移动模式下隐藏", + "column-selection-to-display": "在“显示列”中的列选择", + "column-selection-to-display-enabled": "启用", + "column-selection-to-display-disabled": "禁用", + "alarms-table-title": "告警表格标题", + "enable-alarms-selection": "启用告警选择", + "enable-alarms-search": "启用告警搜索", + "enable-alarm-filter": "启用告警筛选", + "display-alarm-details": "显示告警详情", + "allow-alarms-ack": "允许告警确认", + "allow-alarms-clear": "允许告警清除", + "display-alarm-activity": "显示告警活动", + "allow-alarms-assign": "允许告警分配", + "columns": "列", + "column-settings": "列设置", + "remove-column": "移除列", + "add-column": "添加列", + "no-columns": "未配置列", + "columns-to-display": "显示列", + "table-header": "表头", + "header-buttons": "表头按钮", + "table-buttons": "表格按钮", + "pagination": "分页", + "rows": "行", + "timeseries-column-error": "至少应指定一个时间序列列", + "alarm-column-error": "至少应指定一个告警列", + "table-tabs": "表格标签页", + "show-cell-actions-menu-mobile": "在移动模式下显示单元格操作下拉菜单", + "disable-sorting": "禁用排序", + "sort-by": "标签页排序方式", + "sort-timestamp-option": "创建时间" + }, + "latest-chart": { + "total": "总计", + "auto-scale": "自动缩放", + "clockwise-layout": "顺时针布局", + "sort-series": "按标签排序系列", + "tooltip-value-type-absolute": "绝对值", + "tooltip-value-type-percentage": "百分比" + }, + "pie-chart": { + "pie-chart-appearance": "饼图外观", + "label": "标签", + "border": "边框", + "radius": "半径", + "pie-chart-card-style": "饼图卡片样式" + }, + "radar-chart": { + "radar-appearance": "雷达图外观", + "shape": "形状", + "shape-polygon": "多边形", + "shape-circle": "圆形", + "color": "颜色", + "line": "线条", + "points": "数据点", + "points-label": "数据点标签", + "radar-axis": "雷达轴", + "axis-label": "轴标签", + "ticks-label": "刻度标签", + "radar-chart-style": "雷达图样式", + "max-axes-scaling": "最大轴缩放", + "max-axes-scaling-hint": "选择每个雷达轴是有独立的最大值(独立)还是共享基于部件数据集的所有轴中的最大值(共用)。", + "separate": "独立", + "common": "共用" + }, + "time-series-chart": { + "chart": "图表", + "chart-style": "图表样式", + "data-zoom": "数据缩放", + "stack-mode": "堆叠模式", + "stack-mode-hint": "在图表上堆叠系列。具有相同单位的系列将叠放在一起。", + "axes": "轴", + "y-axes": "Y 轴", + "line-type": "线条类型", + "line-width": "线条宽度", + "type-line": "折线", + "type-bar": "柱状", + "type-point": "散点", + "no-aggregation-bar-width-strategy": "非聚合数据的柱宽策略", + "no-aggregation-bar-width-strategy-group": "分组", + "no-aggregation-bar-width-strategy-separate": "独立", + "bar-group-width": "柱组宽度", + "bar-width": "柱宽度", + "bar-width-relative": "时间窗口百分比", + "bar-width-absolute": "绝对值(毫秒)", + "comparison": { + "comparison": "对比", + "comparison-hint": "对比仅适用于历史数据!", + "show": "显示", + "settings": "对比设置", + "show-values-for-comparison": "显示用于对比的历史数据", + "comparison-values-label": "对比数据键标签", + "comparison-values-label-auto": "自动", + "comparison-data-color": "对比数据颜色" + }, + "threshold": { + "thresholds": "阈值", + "source": "来源", + "key-value": "键 / 值", + "no-thresholds": "未配置阈值", + "add-threshold": "添加阈值", + "type-constant": "常量", + "type-latest-key": "键", + "type-entity": "实体", + "threshold-settings": "阈值设置", + "remove-threshold": "移除阈值", + "threshold-value-required": "阈值为必填项。", + "key-required": "键为必填项。", + "entity-key-required": "实体键为必填项。", + "line-appearance": "线条外观", + "line-color": "线条颜色", + "start-symbol": "起始符号", + "end-symbol": "结束符号", + "symbol-size": "大小", + "label": "标签", + "label-position-start": "起始", + "label-position-middle": "中间", + "label-position-end": "末尾", + "label-position-inside-start": "内部起始", + "label-position-inside-start-top": "内部起始上方", + "label-position-inside-start-bottom": "内部起始下方", + "label-position-inside-middle": "内部中间", + "label-position-inside-middle-top": "内部中间上方", + "label-position-inside-middle-bottom": "内部中间下方", + "label-position-inside-end": "内部末尾", + "label-position-inside-end-top": "内部末尾上方", + "label-position-inside-end-bottom": "内部末尾下方", + "label-background": "标签背景" + }, + "state": { + "states": "状态", + "label": "标签", + "ticks-value": "刻度值", + "source": "来源", + "value-range": "值 / 范围", + "no-states": "未配置状态", + "add-state": "添加状态", + "type-constant": "常量", + "type-range": "范围", + "from": "从", + "to": "到", + "remove-state": "移除状态" + }, + "grid": { + "grid": "网格", + "background-color": "背景颜色", + "border": "边框" + }, + "axis": { + "axes": "轴", + "x-axis": "X 轴", + "y-axis": "Y 轴", + "y-axis-settings": "Y 轴设置", + "comparison-x-axis-settings": "对比 X 轴设置", + "remove-y-axis": "移除 Y 轴", + "id": "Id", + "label": "标签", + "position": "位置", + "position-left": "左", + "position-right": "右", + "position-top": "上", + "position-bottom": "下", + "tick-labels": "刻度标签", + "ticks-formatter-function": "刻度格式化函数", + "ticks-generator-function": "刻度生成器函数", + "show-ticks": "显示刻度", + "show-line": "显示线条", + "show-split-lines": "显示分隔线", + "show-split-lines-x-axis-hint": "启用后,图表上将显示垂直线。", + "show-split-lines-y-axis-hint": "启用后,图表上将显示水平线。", + "ticks-interval": "刻度间隔", + "ticks-interval-hint": "强制设置轴的分段间隔。", + "split-number": "分段数", + "split-number-hint": "轴被分割的段数。", + "min": "最小值", + "max": "最大值", + "show": "显示", + "add-y-axis": "添加 Y 轴" + }, + "series": { + "legend-settings": "图例设置", + "show-in-legend": "在图例中显示", + "show-in-legend-hint": "在图例中显示系列名称和数据。", + "hidden-by-default": "默认隐藏", + "hidden-by-default-hint": "默认在图例中隐藏系列。", + "series-type": "系列类型", + "type": "类型", + "type-line": "折线", + "type-bar": "柱状", + "line": { + "line": "线条", + "show-line": "显示线条", + "step-line": "阶梯线", + "step-type-start": "起始", + "step-type-middle": "中间", + "step-type-end": "末尾", + "smooth-line": "平滑线" }, - "activity": { - "title": "活动" + "point": { + "points": "数据点", + "show-points": "显示数据点", + "point-label": "数据点标签", + "point-label-hint": "在系列数据点上方显示带有值的标签。", + "point-label-background": "数据点标签背景", + "point-shape": "数据点形状", + "point-size": "数据点大小" + } + } + }, + "wind-speed-direction": { + "layout": "布局", + "layout-default": "默认", + "layout-advanced": "高级", + "layout-simplified": "简化", + "values": "值", + "wind-direction": "风向", + "center-value": "中心值", + "icon": "图标", + "arrow": "箭头", + "ticks": "刻度", + "labels-type": "标签类型", + "directional-names": "方向名称", + "degrees": "度数", + "major-ticks": "主刻度", + "minor-ticks": "次刻度", + "wind-speed-direction-card-style": "风速和风向卡片样式", + "ticks-color": "刻度颜色", + "ticks-labels-type": "刻度标签类型", + "arrow-color": "箭头颜色" + }, + "value-source": { + "value-source": "值来源", + "predefined-value": "常量", + "entity-attribute": "实体属性", + "value": "值", + "value-required": "值为必填项。", + "key-required": "键为必填项。", + "entity-key-required": "实体键为必填项。", + "source-entity-alias": "源实体别名", + "source-entity-attribute": "源实体属性", + "type-constant": "常量", + "type-latest-key": "键", + "type-entity": "实体" + }, + "rpc-state": { + "initial-state": "初始状态", + "initial-state-hint": "获取组件初始状态(开/关)的操作。", + "disabled-state": "禁用状态", + "disabled-state-hint": "配置组件被禁用的条件。", + "turn-on": "开启", + "turn-on-hint": "当滑块切换为“开”时触发的操作", + "turn-off": "关闭", + "turn-off-hint": "当滑块切换为“关”时触发的操作", + "on": "开", + "off": "关", + "disabled": "已禁用" + }, + "value-action": { + "do-nothing": "不执行操作", + "execute-rpc": "执行 RPC", + "get-attribute": "获取属性", + "set-attribute": "设置属性", + "get-time-series": "获取时间序列", + "get-alarm-status": "获取告警状态", + "get-dashboard-state": "获取仪表板状态 ID", + "get-dashboard-state-object": "获取仪表板状态对象", + "add-time-series": "添加时间序列", + "execute-rpc-text": "执行 RPC 方法“{{methodName}}”", + "get-time-series-text": "使用时间序列“{{key}}”", + "get-attribute-text": "使用属性“{{key}}”", + "get-alarm-status-text": "使用告警状态", + "get-dashboard-state-text": "使用仪表板状态", + "get-dashboard-state-object-text": "使用仪表板状态对象", + "when-dashboard-state-is-text": "当仪表板状态 ID 为“{{state}}”时", + "when-dashboard-state-function-is-text": "当 f(仪表板状态 ID) 为“{{state}}”时", + "when-dashboard-state-object-function-is-text": "当 f(仪表板状态对象) 为“{{state}}”时", + "set-attribute-to-value-text": "将属性“{{key}}”设置为:{{value}}", + "add-time-series-value-text": "添加时间序列“{{key}}”值:{{value}}", + "set-attribute-text": "设置属性“{{key}}”", + "add-time-series-text": "添加时间序列“{{key}}”", + "action": "操作", + "value": "值", + "init-value-hint": "在设备发送数据之前将设置的值。", + "method": "方法", + "method-name-required": "方法名称为必填项。", + "request-timeout-ms": "RPC 请求超时(毫秒)", + "request-timeout-required": "请求超时为必填项。", + "min-request-timeout-error": "请求超时值应大于或等于 5000 毫秒(5 秒)。", + "request-persistent": "RPC 请求持久化", + "persistent-polling-interval": "持久化轮询间隔(毫秒)", + "persistent-polling-interval-hint": "获取持久化 RPC 命令响应的轮询间隔(毫秒)", + "persistent-polling-interval-required": "持久化轮询间隔为必填项。", + "min-persistent-polling-interval-error": "持久化轮询间隔值应大于或等于 1000 毫秒(1 秒)。", + "attribute-scope": "属性范围", + "attribute-key": "属性键", + "attribute-key-required": "属性键为必填项。", + "time-series-key": "时间序列键", + "time-series-key-required": "时间序列键为必填项。", + "action-result-converter": "操作结果转换器", + "converter-none": "无", + "converter-function": "函数", + "converter-constant": "常量", + "converter-value": "值", + "parse-value-function": "解析值函数", + "state-when-result-is": "当结果为“{{state}}”时", + "parameters": "参数", + "convert-value-function": "转换值函数", + "error": { + "target-entity-is-not-set": "未设置目标实体!", + "failed-to-perform-action": "执行 {{ actionLabel }} 操作失败。", + "invalid-attribute-scope": "{{entityType}} 实体不支持 {{scope}} 属性范围。" + } + }, + "widget-font": { + "font-settings": "字体设置", + "font-family": "字体族", + "size": "大小", + "relative-font-size": "相对字体大小(百分比)", + "font-style": "样式", + "font-style-normal": "常规", + "font-style-italic": "斜体", + "font-style-oblique": "倾斜", + "font-weight": "字重", + "font-weight-normal": "常规", + "font-weight-bold": "粗体", + "font-weight-bolder": "更粗", + "font-weight-lighter": "更细", + "color": "颜色", + "shadow-color": "阴影颜色", + "preview": "预览", + "line-height": "行高", + "auto": "自动" + }, + "home": { + "no-data-available": "暂无数据" + }, + "system-info": { + "cpu": "CPU", + "ram": "RAM", + "disk": "磁盘", + "cpu-warning-text": "CPU 使用率偏高。为避免系统故障,请优化系统性能。", + "cpu-critical-text": "CPU 使用率严重偏高。为避免系统故障,请优化系统性能。", + "ram-warning-text": "RAM 剩余空间不足。为避免系统故障,请优化系统性能或增加 RAM 容量。", + "ram-critical-text": "RAM 剩余空间严重不足。为避免系统故障,请优化系统性能或增加 RAM 容量。", + "disk-warning-text": "磁盘空间不足。为避免数据丢失,请释放或扩展磁盘空间。", + "disk-critical-text": "磁盘空间严重不足。为避免数据丢失,请释放或扩展磁盘空间。" + }, + "cluster-info": { + "service-id": "服务 ID", + "service-type": "服务类型", + "no-data": "暂无数据" + }, + "transport-messages": { + "title": "传输消息", + "info": "来自设备的所有消息" + }, + "activity": { + "title": "活动" + }, + "documentation": { + "title": "文档", + "add-link": "添加链接", + "add-link-title": "添加文档链接", + "name": "名称", + "name-required": "名称为必填项。", + "link": "链接", + "link-required": "链接为必填项。", + "columns": "列数" + }, + "quick-links": { + "title": "快速链接", + "add-link": "添加链接", + "add-link-title": "添加快速链接", + "quick-link": "快速链接", + "quick-link-required": "快速链接为必填项。", + "no-links-matching": "未找到与“{{name}}”匹配的链接。", + "columns": "列数" + }, + "recent-dashboards": { + "title": "仪表板", + "last": "最近查看", + "starred": "已收藏", + "name": "名称", + "last-viewed": "最近查看", + "no-last-viewed-dashboards": "暂无最近查看的仪表板" + }, + "configured-features": { + "title": "已配置功能", + "info": "需要配置的功能状态", + "email-feature": "Email", + "sms-feature": "短信", + "slack-feature": "Slack", + "oauth2-feature": "OAuth 2", + "2fa-feature": "双因素认证", + "feature-configured": "功能已配置。\n点击进行设置", + "feature-not-configured": "功能未配置。\n点击进行设置" + }, + "version-info": { + "title": "版本", + "contact-us": "联系我们", + "current-version": "当前版本", + "current": "当前", + "available-version": "可用版本", + "available": "可用", + "upgrade": "升级", + "version-is-up-to-date": "版本已是最新" + }, + "usage-info": { + "title": "使用情况", + "entities": "实体", + "api-calls": "API 调用" + }, + "functions": { + "title": "功能", + "pe-feature-tooltip": "仅适用于 ThingsBoard\nProfessional Edition", + "switch-to-pe": "切换到 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": "白标" + }, + "devices": { + "view-docs": "查看文档", + "inactive": "不活跃", + "active": "活跃", + "total": "总计" + }, + "alarms": { + "critical": "严重", + "assigned-to-me": "分配给我", + "total": "总计" + }, + "getting-started": { + "get-started": "开始使用", + "finish": "完成", + "done-welcome-title": "欢迎加入", + "done-welcome-text": "您做得非常棒!", + "sys-admin": { + "step1": { + "title": "创建租户和租户管理员", + "content": "

租户是拥有或管理设备和资产的个人或组织。租户可以拥有多个租户管理员用户、客户、设备和资产。

租户管理员可以在租户账户内创建和管理设备、资产、客户和仪表板。

请参考以下文档了解操作方法:

", + "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