From a958fac596d4e62df38e6d70c577539e9fd839df Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Wed, 28 Jan 2026 11:36:18 +0200 Subject: [PATCH] UI: Updates locales: el_GR, es_ES, hi_IN, nl_NL, no_NO --- .../assets/locale/locale.constant-el_GR.json | 727 ++++++++++- .../assets/locale/locale.constant-es_ES.json | 778 ++++++++++- .../assets/locale/locale.constant-hi_IN.json | 713 +++++++++- .../assets/locale/locale.constant-nl_NL.json | 2 + .../assets/locale/locale.constant-no_NO.json | 1152 +++++++++++++++-- 5 files changed, 3162 insertions(+), 210 deletions(-) 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 31f5d49666..1583faa8e0 100644 --- a/ui-ngx/src/assets/locale/locale.constant-el_GR.json +++ b/ui-ngx/src/assets/locale/locale.constant-el_GR.json @@ -78,6 +78,7 @@ "show-more": "Εμφάνιση περισσότερων", "dont-show-again": "Να μην εμφανιστεί ξανά", "see-documentation": "Δείτε την τεκμηρίωση", + "see-debug-events": "Προβολή συμβάντων αποσφαλμάτωσης", "clear": "Καθαρισμός", "upload": "Μεταφόρτωση", "delete-anyway": "Διαγραφή ούτως ή άλλως", @@ -485,6 +486,7 @@ "2fa": { "2fa": "Έλεγχος ταυτότητας δύο παραγόντων", "available-providers": "Διαθέσιμοι πάροχοι", + "available-providers-required": "Πρέπει να έχει ρυθμιστεί τουλάχιστον ένας πάροχος 2FA.", "issuer-name": "Όνομα εκδότη", "issuer-name-required": "Το όνομα εκδότη είναι υποχρεωτικό.", "max-verification-failures-before-user-lockout": "Μέγιστος αριθμός αποτυχημένων ελέγχων πριν από κλείδωμα χρήστη", @@ -513,7 +515,9 @@ "verification-message-template-required": "Το πρότυπο μηνύματος επαλήθευσης είναι υποχρεωτικό.", "within-time": "Εντός χρόνου (δευτ.)", "within-time-pattern": "Ο χρόνος πρέπει να είναι θετικός ακέραιος.", - "within-time-required": "Ο χρόνος είναι υποχρεωτικός." + "within-time-required": "Ο χρόνος είναι υποχρεωτικός.", + "force-2fa": "Επιβολή ελέγχου ταυτότητας δύο παραγόντων", + "enforce-for": "Επιβολή για" }, "jwt": { "security-settings": "Ρυθμίσεις ασφαλείας JWT", @@ -545,16 +549,11 @@ "slack-settings": "Ρυθμίσεις Slack", "mobile-settings": "Ρυθμίσεις κινητού", "firebase-service-account-file": "Αρχείο διαπιστευτηρίων λογαριασμού υπηρεσίας Firebase (JSON)", - "select-firebase-service-account-file": "Σύρετε και αποθέστε το αρχείο διαπιστευτηρίων λογαριασμού υπηρεσίας Firebase ή ", - "trendz": "Trendz", - "trendz-settings": "Ρυθμίσεις Trendz", - "trendz-url": "Διεύθυνση URL Trendz", - "trendz-url-required": "Απαιτείται η διεύθυνση URL του Trendz", - "trendz-api-key": "API κλειδί Trendz", - "trendz-enable": "Ενεργοποίηση Trendz" + "select-firebase-service-account-file": "Σύρετε και αποθέστε το αρχείο διαπιστευτηρίων λογαριασμού υπηρεσίας Firebase ή " }, "alarm": { "alarm": "Συναγερμός", + "alarm-list": "Λίστα συναγερμών", "alarms": "Συναγερμοί", "all-alarms": "Όλοι οι συναγερμοί", "select-alarm": "Επιλογή συναγερμού", @@ -655,7 +654,16 @@ "alarm-type": "Τύπος συναγερμού", "enter-alarm-type": "Εισαγωγή τύπου συναγερμού", "no-alarm-types-matching": "Δεν βρέθηκαν τύποι συναγερμού που να ταιριάζουν με '{{entitySubtype}}'.", - "alarm-type-list-empty": "Δεν έχουν επιλεγεί τύποι συναγερμού." + "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": "Προσθήκη σχολίου...", @@ -760,6 +768,7 @@ "name-max-length": "Το όνομα πρέπει να είναι μικρότερο από 256 χαρακτήρες", "label-max-length": "Η ετικέτα πρέπει να είναι μικρότερη από 256 χαρακτήρες", "description": "Περιγραφή", + "description-required": "Απαιτείται περιγραφή.", "type": "Τύπος", "type-required": "Ο τύπος είναι υποχρεωτικός.", "details": "Λεπτομέρειες", @@ -873,6 +882,9 @@ "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", @@ -906,6 +918,7 @@ "rule-node": "Κόμβος κανόνα", "sms": "SMS", "sms-messages": "Μηνύματα SMS", + "sms-messages-hourly-activity": "Ωριαία δραστηριότητα μηνυμάτων SMS", "sms-messages-daily-activity": "Ημερήσια δραστηριότητα SMS", "sms-messages-monthly-activity": "Μηνιαία δραστηριότητα SMS", "successful": "Επιτυχίες ${entityName}", @@ -915,13 +928,40 @@ "telemetry-persistence-hourly-activity": "Ωριαία δραστηριότητα διατήρησης τηλεμετρίας", "telemetry-persistence-monthly-activity": "Μηνιαία δραστηριότητα διατήρησης τηλεμετρίας", "transport": "Μεταφορά", + "transport-msg-hourly-activity": "Ωριαία δραστηριότητα μηνυμάτων transport", + "transport-msg-daily-activity": "Ημερήσια δραστηριότητα μηνυμάτων transport", + "transport-msg-monthly-activity": "Μηνιαία δραστηριότητα μηνυμάτων transport", "transport-daily-activity": "Ημερήσια δραστηριότητα μεταφοράς", "transport-data-points": "Σημεία δεδομένων μεταφοράς", - "transport-hourly-activity": "Ωριαία δραστηριότητα μεταφοράς", - "transport-messages": "Μηνύματα μεταφοράς", - "transport-monthly-activity": "Μηνιαία δραστηριότητα μεταφοράς", + "transport-data-points-hourly-activity": "Ωριαία δραστηριότητα σημείων δεδομένων transport", + "transport-data-points-daily-activity": "Ημερήσια δραστηριότητα σημείων δεδομένων transport", + "transport-data-points-monthly-activity": "Μηνιαία δραστηριότητα σημείων δεδομένων transport", "view-details": "Προβολή λεπτομερειών", - "view-statistics": "Προβολή στατιστικών" + "view-statistics": "Προβολή στατιστικών", + "transport-messages": "Μηνύματα transport", + "transport-messages-hourly-activity": "Ωριαία δραστηριότητα μηνυμάτων transport", + "transport-data-point-hourly-activity": "Ωριαία δραστηριότητα σημείου δεδομένων transport", + "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": "Ερωτήματα εγγραφής Cassandra από REST API", @@ -946,6 +986,40 @@ "edge-uplink-messages": "Μηνύματα uplink από Edge", "edge-uplink-messages-per-edge": "Μηνύματα uplink από 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": "Αρχεία καταγραφής ελέγχου", @@ -999,7 +1073,11 @@ "type-provision-failure": "Η εγκατάσταση της συσκευής απέτυχε", "type-timeseries-updated": "Ενημερώθηκε τηλεμετρία", "type-timeseries-deleted": "Διαγράφηκε τηλεμετρία", - "type-sms-sent": "SMS στάλθηκε" + "type-sms-sent": "SMS στάλθηκε", + "any-type": "Οποιοσδήποτε τύπος", + "audit-log-filter-title": "Φίλτρο καταγραφής ελέγχου", + "filter-title": "Φίλτρο", + "filter-types": "Τύποι καταγραφής ελέγχου" }, "debug-settings": { "label": "Ρυθμίσεις εντοπισμού σφαλμάτων", @@ -1020,12 +1098,25 @@ "selected-fields": "{ count, plural, =1 {1 υπολογιζόμενο πεδίο} other {# υπολογιζόμενα πεδία} } επιλεγμένα", "type": { "simple": "Απλό", - "script": "Script" + "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": "Δοκιμή συνάρτησης script", @@ -1037,8 +1128,9 @@ "argument-asset": "Περιουσιακό στοιχείο", "argument-customer": "Πελάτης", "argument-tenant": "Τρέχων ενοικιαστής", + "argument-owner": "Τρέχων ιδιοκτήτης", + "argument-relation-query": "Σχετικές οντότητες", "argument-type": "Τύπος ορίσματος", - "see-debug-events": "Προβολή γεγονότων εντοπισμού σφαλμάτων", "attribute": "Χαρακτηριστικό", "copy-argument-name": "Αντιγραφή ονόματος ορίσματος", "timeseries-key": "Κλειδί χρονοσειράς", @@ -1051,12 +1143,14 @@ "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.", @@ -1070,9 +1164,175 @@ "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": "Μέγιστο", + "sum": "Άθροισμα", + "count": "Πλήθος", + "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": "Ενεργοποιεί το φιλτράρισμα οντοτήτων κατά τη συγκέντρωση. Η συνάρτηση φίλτρου πρέπει να επιστρέφει μια λογική τιμή (boolean) και μπορεί να χρησιμοποιεί όλα τα ρυθμισμένα ορίσματα." + }, + "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": "Αποστέλλει συμβάν ενημέρωσης χαρακτηριστικών (Attributes Updated) στην προεπιλεγμένη αλυσίδα κανόνων.", + "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 του προφίλ ενοικιαστή." + } + }, + "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": "Προσαρμοσμένο" + }, + "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 }}." + }, "hint": { - "arguments-simple-with-rolling": "Τα υπολογιζόμενα πεδία τύπου Simple δεν πρέπει να περιέχουν κλειδιά τύπου time series rolling.", - "arguments-empty": "Τα ορίσματα δεν πρέπει να είναι κενά.", + "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 χαρακτήρες.", @@ -1081,12 +1341,218 @@ "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": "Αν είναι ενεργοποιημένο, η τιμή θα αποθηκευτεί με τη πιο πρόσφατη χρονική σήμανση από τα τηλεμετρικά δεδομένα των ορισμάτων, αντί για την ώρα του διακομιστή." + "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": "Καθορίζει τα δεδομένα που θα διαδοθούν από τα ορίσματα που ρυθμίζονται παρακάτω. Το 'Arguments only' χρησιμοποιεί απευθείας τα ανακτημένα δεδομένα, ενώ το 'Expression result' υπολογίζει μια νέα τιμή από αυτά τα δεδομένα.", + "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 {Ένας κανόνας συναγερμού} 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": "ΚΑΙ", + "operation-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": "Το όρισμα πρέπει να είναι σε epoch milliseconds. Παράδειγμα: το 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": "Επαναλαμβανόμενο" + }, + "schedule-title": "Χρονοπρόγραμμα", + "edit-schedule": "Επεξεργασία χρονοπρογράμματος συναγερμού", + "schedule-type": "Τύπος χρονοπρογραμματιστή", + "schedule-type-required": "Απαιτείται τύπος χρονοπρογραμματιστή.", + "schedule": { + "any-time": "Ενεργό συνεχώς", + "specific-time": "Ενεργό σε συγκεκριμένη ώρα", + "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": "Πρέπει να επιλεγεί τουλάχιστον μία ημέρα της εβδομάδας.", + "tbel": "TBEL", + "expression-type": { + "simple": "Απλό", + "script": "Σενάριο" + }, + "operation-type": { + "and": "Και", + "or": "Ή" + }, + "filter-predicate-type": { + "string": "Συμβολοσειρά", + "numeric": "Αριθμητικό", + "boolean": "Λογικό", + "complex": "Σύνθετο" + }, + "alarm-rule-additional-info": "Πρόσθετες πληροφορίες", + "edit-alarm-rule-additional-info": "Επεξεργασία πρόσθετων πληροφοριών", + "alarm-rule-additional-info-placeholder": "Παρακαλούμε καταχωρίστε εδώ τα σχόλια και τις προσαρμογές σας, ώστε να εμφανίζονται στις λεπτομέρειες συναγερμού, στην ενότητα «Πρόσθετες πληροφορίες»", + "alarm-rule-additional-info-hint": "Υπόδειξη: χρησιμοποιήστε ${Argument name} για να αντικαθιστάτε τιμές των ορισμάτων που χρησιμοποιούνται στη συνθήκη κανόνα συναγερμού.", + "alarm-rule-additional-info-icon-hint": "Χρησιμοποιήστε το Argument name για να αντικαθιστάτε τιμές των ορισμάτων που χρησιμοποιούνται στη συνθήκη κανόνα συναγερμού.", + "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": "Οι επιλογές \"Διάρκεια\" και \"Επαναλαμβανόμενο\" δεν είναι διαθέσιμες όταν χρησιμοποιείται στο φίλτρο ο τελεστής \"Missing for\".", + "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": { @@ -1193,6 +1659,7 @@ "contact": { "country": "Χώρα", "country-required": "Η χώρα είναι υποχρεωτική.", + "country-object-required": "Παρακαλούμε επιλέξτε μια έγκυρη χώρα από τη λίστα.", "city": "Πόλη", "state": "Πολιτεία / Περιφέρεια", "postal-code": "Ταχυδρομικός Κώδικας", @@ -1229,6 +1696,8 @@ "documentation": "Τεκμηρίωση", "time-left": "Απομένει {{time}}", "output": "Έξοδος", + "sort-asc": "Αύξουσα", + "sort-desc": "Φθίνουσα", "suffix": { "s": "δ", "ms": "ms" @@ -1365,6 +1834,8 @@ "mobile-order": "Σειρά πίνακα ελέγχου στην εφαρμογή κινητού", "mobile-hide": "Απόκρυψη πίνακα ελέγχου στην εφαρμογή κινητού", "update-image": "Ενημέρωση εικόνας πίνακα ελέγχου", + "update-new-version": "Μεταφόρτωση νέας έκδοσης", + "upload-file-to-update": "Μεταφόρτωση αρχείου για ενημέρωση", "take-screenshot": "Λήψη στιγμιότυπου", "select-widget-title": "Επιλογή widget", "select-widget-value": "{{title}}: επιλογή widget", @@ -1733,6 +2204,8 @@ "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 είναι ένα αυθαίρετο αναγνωριστικό PSK έως 128 byte, όπως περιγράφεται στο πρότυπο [RFC7925].\nΤο αναγνωριστικό PSK ΠΡΕΠΕΙ να μετατραπεί πρώτα σε συμβολοσειρά χαρακτήρων και στη συνέχεια να κωδικοποιηθεί σε οκτάδες χρησιμοποιώντας UTF-8.", @@ -1780,7 +2253,6 @@ "unable-delete-device-alias-text": "Το ψευδώνυμο συσκευής '{{deviceAlias}}' δεν μπορεί να διαγραφεί επειδή χρησιμοποιείται από τα παρακάτω widget(s):
{{widgetsList}}", "is-gateway": "Είναι gateway", "overwrite-activity-time": "Αντικατάσταση χρόνου δραστηριότητας για συνδεδεμένη συσκευή", - "device-filter": "Φίλτρο συσκευής", "device-filter-title": "Φίλτρο συσκευής", "filter-title": "Φίλτρο", "device-state": "Κατάσταση συσκευής", @@ -2234,7 +2706,8 @@ "short-id-required": "Το σύντομο αναγνωριστικό διακομιστή είναι υποχρεωτικό.", "short-id-range": "Το σύντομο αναγνωριστικό διακομιστή πρέπει να είναι εντός του εύρους από {{ min }} έως {{ max }}.", "short-id-pattern": "Το σύντομο αναγνωριστικό διακομιστή πρέπει να είναι θετικός ακέραιος αριθμός.", - "lifetime": "Διάρκεια εγγραφής πελάτη", + "short-id-pattern-bs": "Το σύντομο αναγνωριστικό διακομιστή πρέπει να είναι μόνο null", + "lifetime": "Διάρκεια ζωής καταχώρισης πελάτη", "lifetime-required": "Η διάρκεια εγγραφής πελάτη είναι υποχρεωτική.", "lifetime-pattern": "Η διάρκεια εγγραφής πελάτη πρέπει να είναι θετικός ακέραιος αριθμός.", "default-min-period": "Ελάχιστη περίοδος μεταξύ δύο ειδοποιήσεων (δλ)", @@ -2328,7 +2801,9 @@ "composite-all-description": "Όλοι οι πόροι παρακολουθούνται με ένα ενιαίο αίτημα Composite Observe (πιο αποδοτικό, λιγότερο ευέλικτο)", "composite-by-object": "Συνδυασμένο ανά αντικείμενο", "composite-by-object-description": "Οι πόροι ομαδοποιούνται ανά τύπο αντικειμένου και παρακολουθούνται με ξεχωριστά αιτήματα Composite Observe (ισορροπημένη προσέγγιση)" - } + }, + "init-attr-tel-as-obs-strategy": "Αρχικοποίηση χαρακτηριστικών και τηλεμετρίας με χρήση στρατηγικής Observe", + "init-attr-tel-as-obs-strategy-hint": "Αν είναι false - τα χαρακτηριστικά και η τηλεμετρία αρχικοποιούνται με ανάγνωση των τιμών τους μία προς μία.\\nΑν είναι true - τα χαρακτηριστικά και η τηλεμετρία αρχικοποιούνται με εγγραφή στις τιμές τους χρησιμοποιώντας τη στρατηγική Observe." }, "snmp": { "add-communication-config": "Προσθήκη ρύθμισης επικοινωνίας", @@ -2644,6 +3119,8 @@ "type-rulenodes": "Κόμβοι κανόνα", "list-of-rulenodes": "{ count, plural, =1 {Ένας κόμβος κανόνα} other {Λίστα με # κόμβους κανόνα} }", "rulenode-name-starts-with": "Κόμβοι κανόνα με ονόματα που ξεκινούν με '{{prefix}}'", + "type-api-key": "Κλειδί API", + "type-api-keys": "Κλειδιά API", "type-current-customer": "Τρέχων πελάτης", "type-current-tenant": "Τρέχων ενοικιαστής", "type-current-user": "Τρέχων χρήστης", @@ -2665,6 +3142,7 @@ "details": "Λεπτομέρειες οντότητας", "no-entities-prompt": "Δεν βρέθηκαν οντότητες", "no-data": "Δεν υπάρχουν δεδομένα για εμφάνιση", + "show-all-columns": "Εμφάνιση όλων", "columns-to-display": "Στήλες προς εμφάνιση", "type-api-usage-state": "Κατάσταση Χρήσης API", "type-edge": "Edge", @@ -2710,7 +3188,15 @@ "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 {Λίστα με # πακέτα κινητού} }" + "list-of-mobile-app-bundles": "{ count, plural, =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": "Χρόνος δημιουργίας", @@ -3787,6 +4273,7 @@ "two-factor-authentication": "Έλεγχος ταυτότητας δύο παραγόντων", "passwords-mismatch-error": "Οι κωδικοί πρέπει να είναι ίδιοι!", "password-again": "Επαλήθευση κωδικού", + "sign-in": "Παρακαλώ συνδεθείτε", "username": "Όνομα χρήστη (email)", "remember-me": "Να με θυμάσαι", "forgot-password": "Ξεχάσατε τον κωδικό;", @@ -3797,7 +4284,8 @@ "password-link-sent-message": "Ο σύνδεσμος επαναφοράς έχει σταλεί", "email": "Email", "invalid-email-format": "Μη έγκυρη μορφή email.", - "login-with": "Σύνδεση με {{name}}", + "sign-in-with": "Σύνδεση με {{name}}", + "sign-in-to-your-account": "Σύνδεση στον λογαριασμό σας", "or": "ή", "error": "Σφάλμα σύνδεσης", "verify-your-identity": "Επαληθεύστε την ταυτότητά σας", @@ -3816,7 +4304,51 @@ "activation-link-expired": "Ο σύνδεσμος ενεργοποίησης έχει λήξει", "activation-link-expired-message": "Ο σύνδεσμος ενεργοποίησης του προφίλ σας έχει λήξει. Μπορείτε να επιστρέψετε στη σελίδα σύνδεσης για να λάβετε νέο email.", "reset-password-link-expired": "Ο σύνδεσμος επαναφοράς κωδικού έχει λήξει", - "reset-password-link-expired-message": "Ο σύνδεσμος για την επαναφορά του κωδικού έχει λήξει. Μπορείτε να επιστρέψετε στη σελίδα σύνδεσης για να λάβετε νέο email." + "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": "Ενεργοποίηση ελέγχου ταυτότητας 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": "Ο έλεγχος ταυτότητας SMS ενεργοποιήθηκε με επιτυχία", + "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": "Σαρώστε αυτόν τον κωδικό QR με την εφαρμογή επαλήθευσής σας", + "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": "Προσθήκη εφαρμογής", @@ -4184,6 +4716,7 @@ "api-usage-limit": "Όριο χρήσης API", "device-activity": "Δραστηριότητα συσκευής", "entities-limit": "Όριο οντοτήτων", + "entities-limit-increase-request": "Αίτημα αύξησης ορίου οντοτήτων", "entity-action": "Ενέργεια οντότητας", "general": "Γενικό", "rule-engine-lifecycle-event": "Γεγονός κύκλου ζωής μηχανής κανόνων", @@ -4401,6 +4934,12 @@ "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": "Οι νέοι κωδικοί δεν ταιριάζουν", @@ -4459,7 +4998,8 @@ "additional-info": "Επιπλέον πληροφορίες (JSON)", "invalid-additional-info": "Δεν ήταν δυνατή η ανάλυση του JSON των επιπλέον πληροφοριών.", "no-relations-text": "Δεν βρέθηκαν συσχετίσεις", - "not": "Όχι" + "not": "Όχι", + "copy-type": "Αντιγραφή τύπου" }, "resource": { "add": "Προσθήκη πόρου", @@ -5410,7 +5950,7 @@ "time-series": "Χρονοσειρές", "latest": "Τελευταίες τιμές", "web-sockets": "WebSockets", - "calculated-fields": "Υπολογιζόμενα πεδία" + "calculated-fields-and-alarm-rules": "Υπολογιζόμενα πεδία και κανόνες συναγερμού" }, "save-attribute": { "processing-settings": "Ρυθμίσεις επεξεργασίας", @@ -5605,7 +6145,8 @@ "bad-request-params": "Μη έγκυρες παράμετροι αιτήματος", "item-not-found": "Το στοιχείο δεν βρέθηκε", "too-many-requests": "Πάρα πολλά αιτήματα", - "too-many-updates": "Πάρα πολλές ενημερώσεις" + "too-many-updates": "Πάρα πολλές ενημερώσεις", + "entities-limit-exceeded": "Υπέρβαση ορίου οντοτήτων" }, "tenant": { "tenant": "Ενοικιαστής", @@ -5743,6 +6284,27 @@ "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": "Το μέγιστο μέγεθος κατάστασης δεν μπορεί να είναι αρνητικό", "max-state-size-required": "Απαιτείται μέγιστο μέγεθος κατάστασης", @@ -5818,6 +6380,10 @@ "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": "και επίσης μικρότερο από", @@ -6003,7 +6569,9 @@ "default-agg-interval": "Προεπιλεγμένο διάστημα ομαδοποίησης", "edit-intervals-list-hint": "Μπορεί να καθοριστεί λίστα διαθέσιμων διαστημάτων.", "edit-grouping-intervals-list-hint": "Δυνατότητα διαμόρφωσης λίστας και προεπιλογής διαστημάτων ομαδοποίησης.", - "all": "Όλα" + "all": "Όλα", + "save-current-settings-as-default": "Αποθήκευση τρεχουσών ρυθμίσεων ως προεπιλεγμένου χρονικού παραθύρου", + "hide-option-from-end-users": "Απόκρυψη επιλογής από τους τελικούς χρήστες" }, "tooltip": { "trigger": "Ενεργοποιητής", @@ -6657,7 +7225,8 @@ "export-relations": "Εξαγωγή σχέσεων", "export-attributes": "Εξαγωγή ιδιοτήτων", "export-credentials": "Εξαγωγή διαπιστευτηρίων", - "export-calculated-fields": "Εξαγωγή υπολογιζόμενων πεδίων", + "export-calculated-fields": "Εξαγωγή υπολογιζόμενων πεδίων \nκαι κανόνων συναγερμού", + "export-alarm-rules": "Εξαγωγή κανόνων συναγερμού", "entity-versions": "Εκδόσεις οντοτήτων", "versions": "Εκδόσεις", "created-time": "Ώρα δημιουργίας", @@ -6675,6 +7244,7 @@ "load-attributes": "Φόρτωση ιδιοτήτων", "load-credentials": "Φόρτωση διαπιστευτηρίων", "load-calculated-fields": "Φόρτωση υπολογιζόμενων πεδίων", + "load-alarm-rules": "Φόρτωση κανόνων συναγερμού", "compare-with-current": "Σύγκριση με την τρέχουσα", "diff-entity-with-version": "Διαφορά με την έκδοση οντότητας '{{versionName}}'", "previous-difference": "Προηγούμενη διαφορά", @@ -6884,7 +7454,23 @@ "scan-qr-code": "Σάρωση κωδικού QR", "make-phone-call": "Πραγματοποίηση τηλεφωνικής κλήσης", "get-location": "Λήψη τοποθεσίας τηλεφώνου", - "take-screenshot": "Λήψη στιγμιότυπου οθόνης" + "take-screenshot": "Λήψη στιγμιότυπου οθόνης", + "handle-provision-success-function": "Συνάρτηση χειρισμού επιτυχίας παροχής", + "get-location-function": "Συνάρτηση λήψης τοποθεσίας", + "process-launch-result-function": "Συνάρτηση επεξεργασίας αποτελέσματος εκκίνησης", + "get-phone-number-function": "Συνάρτηση λήψης αριθμού τηλεφώνου", + "process-image-function": "Συνάρτηση επεξεργασίας εικόνας", + "process-qr-code-function": "Συνάρτηση επεξεργασίας κωδικού QR", + "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" }, "custom-action-function": "Συνάρτηση προσαρμοσμένης ενέργειας", "custom-pretty-function": "Συνάρτηση προσαρμοσμένης ενέργειας (με πρότυπο HTML)", @@ -6893,7 +7479,8 @@ "marker": "Δείκτης", "polygon": "Πολύγωνο", "rectangle": "Ορθογώνιο", - "circle": "Κύκλος" + "circle": "Κύκλος", + "polyline": "Πολυγραμμή" }, "place-map-item": "Τοποθέτηση στοιχείου χάρτη", "map-item-tooltip": { @@ -6905,7 +7492,9 @@ "continue-draw-polygon": "Συνέχεια σχεδίασης πολυγώνου", "finish-draw-polygon": "Ολοκλήρωση σχεδίασης πολυγώνου", "start-draw-circle": "Έναρξη σχεδίασης κύκλου", - "finish-draw-circle": "Ολοκλήρωση σχεδίασης κύκλου" + "finish-draw-circle": "Ολοκλήρωση σχεδίασης κύκλου", + "start-draw-polyline": "Έναρξη σχεδίασης πολυγραμμής", + "finish-draw-polyline": "Ολοκλήρωση σχεδίασης πολυγραμμής" } }, "widgets-bundle": { @@ -7471,10 +8060,18 @@ "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": "Αυτόματα" + "scale-min": "ελάχ.", + "scale-max": "μέγ.", + "scale-auto": "Αυτόματο" }, "bar": { "show-border": "Εμφάνιση περιγράμματος", @@ -8015,7 +8612,10 @@ "add-radio-option": "Προσθήκη επιλογής κουμπιού", "radio-label-position": "Θέση ετικέτας", "radio-label-position-before": "Πριν", - "radio-label-position-after": "Μετά" + "radio-label-position-after": "Μετά", + "save-image": "Αποθήκευση εικόνας", + "save-to-gallery": "Αυτόματη αποθήκευση των ληφθεισών εικόνων στη συλλογή εικόνων", + "public-image": "Κάνει την εικόνα διαθέσιμη σε οποιονδήποτε μη εξουσιοδοτημένο χρήστη" }, "invalid-qr-code-text": "Μη έγκυρο κείμενο εισόδου για τον QR κώδικα. Η είσοδος πρέπει να είναι τύπου string", "qr-code": { @@ -8310,7 +8910,8 @@ "trips": "Διαδρομές", "markers": "Δείκτες", "polygons": "Πολύγωνα", - "circles": "Κύκλοι" + "circles": "Κύκλοι", + "polylines": "Πολυγραμμές" }, "data-layer": { "source": "Πηγή", @@ -8507,11 +9108,30 @@ "finish-circle-hint-with-entity": "Κύκλος για '{{entityName}}': κάντε κλικ για ολοκλήρωση και αποθήκευση", "finish-circle-hint": "Κύκλος: κάντε κλικ για ολοκλήρωση σχεδίασης" }, - "select-entity": "Επιλέξτε οντότητα", - "select-entity-hint": "Υπόδειξη: μετά την επιλογή κάντε κλικ στον χάρτη για ορισμό θέσης" + "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": "Κάντε κλικ στον πρώτο δείκτη για να ολοκληρώσετε και να αποθηκεύσετε" + }, + "select-entity": "Επιλογή οντότητας", + "select-entity-hint": "Υπόδειξη: μετά την επιλογή, κάντε κλικ στον χάρτη για να ορίσετε θέση" }, - "select-entity": "Επιλέξτε οντότητα", - "select-entity-hint": "Υπόδειξη: μετά την επιλογή κάντε κλικ στον χάρτη για ορισμό θέσης", + "select-entity": "Επιλογή οντότητας", + "select-entity-hint": "Υπόδειξη: μετά την επιλογή, κάντε κλικ στον χάρτη για να ορίσετε θέση", "tooltips": { "placeMarker": "Κάντε κλικ για τοποθέτηση οντότητας '{{entityName}}'", "firstVertex": "Πολύγωνο για '{{entityName}}': κάντε κλικ για τοποθέτηση πρώτου σημείου", @@ -8948,6 +9568,7 @@ "show-empty-space-hidden-action": "Εμφάνιση κενού χώρου αντί κουμπιού σε κρυφό κελί", "dont-reserve-space-hidden-action": "Χωρίς κράτηση χώρου για κρυφές ενέργειες", "display-timestamp": "Χρονική σήμανση", + "timestamp-column-name": "Χρονοσφραγίδα", "display-pagination": "Εμφάνιση σελιδοποίησης", "default-page-size": "Προεπιλεγμένο μέγεθος σελίδας", "page-step-settings": "Ρυθμίσεις βήματος σελίδας", @@ -9009,7 +9630,9 @@ "alarm-column-error": "Πρέπει να καθοριστεί τουλάχιστον μία στήλη συναγερμών", "table-tabs": "Καρτέλες πίνακα", "show-cell-actions-menu-mobile": "Εμφάνιση μενού ενεργειών κελιού σε κινητά", - "disable-sorting": "Απενεργοποίηση ταξινόμησης" + "disable-sorting": "Απενεργοποίηση ταξινόμησης", + "sort-by": "Ταξινόμηση καρτελών κατά", + "sort-timestamp-option": "Χρόνος δημιουργίας" }, "latest-chart": { "total": "Σύνολο", @@ -9501,11 +10124,28 @@ "content": "

Δημιουργώντας πίνακες ελέγχου τελικού χρήστη, ένας πελάτης μπορεί να δει μόνο τις δικές του συσκευές. Τα δεδομένα άλλων πελατών θα είναι κρυφά.

Ακολουθήστε την τεκμηρίωση για το πώς να το κάνετε:

" } } + }, + "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": "Εμφάνιση όλων των εικονιδίων", @@ -9546,6 +10186,7 @@ "items-per-page-separator": "από" }, "language": { + "auto": "Auto", "language": "Γλώσσα" } } \ No newline at end of file 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 75ba33e6d3..28e4484572 100644 --- a/ui-ngx/src/assets/locale/locale.constant-es_ES.json +++ b/ui-ngx/src/assets/locale/locale.constant-es_ES.json @@ -78,6 +78,7 @@ "show-more": "Mostrar más", "dont-show-again": "No mostrar de nuevo", "see-documentation": "Ver documentación", + "see-debug-events": "Ver eventos de depuración", "clear": "Limpiar", "upload": "Subir", "delete-anyway": "Eliminar de todos modos", @@ -485,6 +486,7 @@ "2fa": { "2fa": "Autenticación de dos factores", "available-providers": "Proveedores disponibles", + "available-providers-required": "Debe configurarse al menos un proveedor de 2FA.", "issuer-name": "Nombre del emisor", "issuer-name-required": "Se requiere el nombre del emisor.", "max-verification-failures-before-user-lockout": "Máximo de fallos de verificación antes de bloquear al usuario", @@ -513,7 +515,9 @@ "verification-message-template-required": "Se requiere la plantilla del mensaje de verificación.", "within-time": "Dentro del tiempo (seg)", "within-time-pattern": "El tiempo debe ser un número entero positivo.", - "within-time-required": "Se requiere el tiempo." + "within-time-required": "Se requiere el tiempo.", + "force-2fa": "Aplicar autenticación de dos factores", + "enforce-for": "Aplicar para" }, "jwt": { "security-settings": "Configuración de seguridad JWT", @@ -545,16 +549,11 @@ "slack-settings": "Configuración de Slack", "mobile-settings": "Configuración móvil", "firebase-service-account-file": "Archivo JSON de credenciales de cuenta de servicio de Firebase", - "select-firebase-service-account-file": "Arrastra y suelta tu archivo de credenciales de cuenta de servicio de Firebase o ", - "trendz": "Trendz", - "trendz-settings": "Configuración de Trendz", - "trendz-url": "URL de Trendz", - "trendz-url-required": "La URL de Trendz es obligatoria", - "trendz-api-key": "Clave API de Trendz", - "trendz-enable": "Habilitar Trendz" + "select-firebase-service-account-file": "Arrastra y suelta tu archivo de credenciales de cuenta de servicio de Firebase o " }, "alarm": { "alarm": "Alarma", + "alarm-list": "Lista de alarmas", "alarms": "Alarmas", "all-alarms": "Todas las alarmas", "select-alarm": "Seleccionar alarma", @@ -655,7 +654,16 @@ "alarm-type": "Tipo de alarma", "enter-alarm-type": "Introducir tipo de alarma", "no-alarm-types-matching": "No se encontraron tipos de alarma que coincidan con '{{entitySubtype}}'.", - "alarm-type-list-empty": "No se han seleccionado tipos de alarma." + "alarm-type-list-empty": "No se han seleccionado tipos de alarma.", + "system-comments": { + "acked-by-user": "La alarma fue reconocida por el usuario {{userName}}", + "cleared-by-user": "La alarma fue borrada por el usuario {{userName}}", + "assigned-to-user": "La alarma fue asignada por el usuario {{userName}} al usuario {{assigneeName}}", + "unassigned-to-user": "La alarma fue desasignada por el usuario {{userName}}", + "unassigned-from-deleted-user": "La alarma fue desasignada porque el usuario {{userName}} fue eliminado", + "comment-deleted": "El usuario {{userName}} eliminó su comentario", + "severity-changed": "La gravedad de la alarma se actualizó de {{oldSeverity}} a {{newSeverity}}" + } }, "alarm-activity": { "add": "Agregar un comentario...", @@ -760,6 +768,7 @@ "name-max-length": "El nombre debe tener menos de 256 caracteres", "label-max-length": "La etiqueta debe tener menos de 256 caracteres", "description": "Descripción", + "description-required": "La descripción es obligatoria.", "type": "Tipo", "type-required": "Se requiere el tipo.", "details": "Detalles", @@ -873,6 +882,9 @@ "alarms-created-monthly-activity": "Actividad mensual de alarmas creadas", "data-points": "Puntos de datos", "data-points-storage-days": "Días de almacenamiento de puntos de datos", + "data-points-storage-days-hourly-activity": "Actividad horaria de días de almacenamiento de puntos de datos", + "data-points-storage-days-daily-activity": "Actividad diaria de días de almacenamiento de puntos de datos", + "data-points-storage-days-monthly-activity": "Actividad mensual de días de almacenamiento de puntos de datos", "device-api": "API de dispositivo", "email": "Correo electrónico", "email-messages": "Mensajes de correo", @@ -906,6 +918,7 @@ "rule-node": "Nodo de regla", "sms": "SMS", "sms-messages": "Mensajes SMS", + "sms-messages-hourly-activity": "Actividad horaria de mensajes SMS", "sms-messages-daily-activity": "Actividad diaria de mensajes SMS", "sms-messages-monthly-activity": "Actividad mensual de mensajes SMS", "successful": "${entityName} exitoso", @@ -915,13 +928,40 @@ "telemetry-persistence-hourly-activity": "Actividad por hora de persistencia de telemetría", "telemetry-persistence-monthly-activity": "Actividad mensual de persistencia de telemetría", "transport": "Transporte", + "transport-msg-hourly-activity": "Actividad horaria de mensajes de transporte", + "transport-msg-daily-activity": "Actividad diaria de mensajes de transporte", + "transport-msg-monthly-activity": "Actividad mensual de mensajes de transporte", "transport-daily-activity": "Actividad diaria de transporte", "transport-data-points": "Puntos de datos de transporte", - "transport-hourly-activity": "Actividad por hora de transporte", - "transport-messages": "Mensajes de transporte", - "transport-monthly-activity": "Actividad mensual de transporte", + "transport-data-points-hourly-activity": "Actividad horaria de puntos de datos de transporte", + "transport-data-points-daily-activity": "Actividad diaria de puntos de datos de transporte", + "transport-data-points-monthly-activity": "Actividad mensual de puntos de datos de transporte", "view-details": "Ver detalles", - "view-statistics": "Ver estadísticas" + "view-statistics": "Ver estadísticas", + "transport-messages": "Mensajes de transporte", + "transport-messages-hourly-activity": "Actividad horaria de mensajes de transporte", + "transport-data-point-hourly-activity": "Actividad horaria de puntos de datos de transporte", + "javascript-function-executions": "Ejecuciones de funciones JavaScript", + "javascript-function-executions-hourly-activity": "Actividad horaria de ejecuciones de funciones JavaScript", + "javascript-function-executions-daily-activity": "Actividad diaria de ejecuciones de funciones JavaScript", + "javascript-function-executions-monthly-activity": "Actividad mensual de ejecuciones de funciones JavaScript", + "tbel-function-executions": "Ejecuciones de funciones TBEL", + "tbel-function-executions-hourly-activity": "Actividad horaria de ejecuciones de funciones TBEL", + "tbel-function-executions-daily-activity": "Actividad diaria de ejecuciones de funciones TBEL", + "tbel-function-executions-monthly-activity": "Actividad mensual de ejecuciones de funciones TBEL", + "created-reports": "Reportes creados", + "created-reports-hourly-activity": "Actividad horaria de reportes creados", + "created-reports-daily-activity": "Actividad diaria de reportes creados", + "created-reports-monthly-activity": "Actividad mensual de reportes creados", + "emails": "Emails", + "emails-hourly-activity": "Actividad horaria de Emails", + "emails-daily-activity": "Actividad diaria de Emails", + "emails-monthly-activity": "Actividad mensual de Emails", + "status": { + "enabled": "Activado", + "disabled": "Desactivado", + "warning": "Advertencia" + } }, "api-limit": { "cassandra-write-queries-core": "Consultas de escritura en Cassandra desde la API REST", @@ -946,6 +986,40 @@ "edge-uplink-messages": "Mensajes uplink de edge", "edge-uplink-messages-per-edge": "Mensajes uplink de edge por instancia de edge" }, + "api-key": { + "api-key": "Clave de API", + "api-keys": "Claves de API", + "delete-api-key-title": "¿Estás seguro de que quieres eliminar la clave de API '{{name}}'?", + "delete-api-key-text": "Ten cuidado, tras la confirmación la clave será irrecuperable.", + "delete-api-keys-title": "¿Estás seguro de que quieres eliminar { count, plural, =1 {1 clave de API} other {# claves de API} }?", + "delete-api-keys-text": "Ten cuidado, tras la confirmación todas las claves seleccionadas serán irrecuperables.", + "expiration-date": "Fecha de caducidad", + "date": "fecha", + "description": "Descripción", + "disable": "Desactivar", + "edit-description": "Editar descripción", + "enable": "Activar clave de API ", + "expiration-time": "Hora de caducidad", + "expiration-time-never": "Nunca", + "expiration-time-custom": "Personalizado", + "generate": "Generar", + "generate-title": "Generar clave de API", + "generate-text": "Nota: la clave de API hereda los permisos del usuario para el que se crea.", + "generated-api-key-title": "Clave de API generada. ¡Vamos a comprobar la conectividad!", + "generated-api-key-copy": "Asegúrate de copiar y guardar tu clave de API ahora, ya que no podrás verla de nuevo.", + "generated-api-key-command": "Usa las siguientes instrucciones para comprobar la conectividad. Como resultado, deberías recibir la información del usuario actual:", + "generated-api-key-insecure-url": "Ejecutar comandos a través de una conexión HTTP insegura enviará tu clave de API sin cifrar, haciéndola vulnerable a la interceptación.", + "list": "{ count, plural, =1 {Una clave de API} other {Lista de # claves de API} }", + "manage": "Gestionar", + "manage-api-keys": "Gestionar claves de API", + "no-found": "No se han encontrado claves de API", + "selected-api-keys": "{ count, plural, =1 {1 clave de API} other {# claves de API} } seleccionadas", + "search": "Buscar claves de API", + "status": "Estado", + "status-active": "Activa", + "status-inactive": "Inactiva", + "status-expired": "Caducada" + }, "audit-log": { "audit": "Auditoría", "audit-logs": "Registros de auditoría", @@ -999,7 +1073,11 @@ "type-provision-failure": "El aprovisionamiento del dispositivo falló", "type-timeseries-updated": "Telemetría actualizada", "type-timeseries-deleted": "Telemetría eliminada", - "type-sms-sent": "SMS enviado" + "type-sms-sent": "SMS enviado", + "any-type": "Cualquier tipo", + "audit-log-filter-title": "Filtro de registro de auditoría", + "filter-title": "Filtrar", + "filter-types": "Tipos de registro de auditoría" }, "debug-settings": { "label": "Configuración de depuración", @@ -1020,12 +1098,25 @@ "selected-fields": "{ count, plural, =1 {1 campo calculado} other {# campos calculados} } seleccionado(s)", "type": { "simple": "Simple", - "script": "Script" + "simple-hint": "Cálculo aritmético simple basado en argumentos de entrada.", + "script": "Script", + "script-hint": "Cálculo sobre los argumentos definidos mediante un script TBEL.", + "geofencing": "Geovallado", + "geofencing-hint": "Evaluación de la posición GPS de la entidad y de las transiciones respecto a los grupos de zonas de geovallado configurados.", + "propagation": "Propagación", + "propagation-hint": "Propagación de datos a entidades padre o hijas según la dirección y el tipo de relación.", + "related-entities-aggregation": "Agregación de entidades relacionadas", + "related-entities-aggregation-hint": "Agregación de los datos más recientes de entidades relacionadas.", + "time-series-data-aggregation": "Agregación de datos de series temporales", + "time-series-data-aggregation-hint": "Agregación de datos históricos de una entidad actual." }, + "preview": "Vista previa", "arguments": "Argumentos", "decimals-by-default": "Decimales por defecto", "debugging": "Depuración de campos calculados", + "calculated-field-details": "Detalles del campo calculado", "argument-name": "Nombre del argumento", + "name": "Nombre", "datasource": "Origen de datos", "add-argument": "Agregar argumento", "test-script-function": "Probar función de script", @@ -1037,8 +1128,9 @@ "argument-asset": "Activo", "argument-customer": "Customer", "argument-tenant": "Tenant actual", + "argument-owner": "Propietario actual", + "argument-relation-query": "Entidades relacionadas", "argument-type": "Tipo de argumento", - "see-debug-events": "Ver eventos de depuración", "attribute": "Atributo", "copy-argument-name": "Copiar nombre del argumento", "timeseries-key": "Clave de serie temporal", @@ -1051,12 +1143,14 @@ "shared-attributes": "Atributos compartidos", "attribute-key": "Clave del atributo", "default-value": "Valor por defecto", + "default-value-required": "El valor predeterminado es obligatorio.", "limit": "Máx. valores", "time-window": "Ventana de tiempo", "customer-name": "Nombre del customer", "asset-name": "Nombre del activo", "timeseries": "Serie temporal", "output": "Salida", + "output-hint": "Define cómo se procesa la salida.", "create": "Crear nuevo campo calculado", "file": "Archivo de campo calculado", "invalid-file-error": "Formato de archivo inválido. Asegúrate de que el archivo sea un JSON válido.", @@ -1070,8 +1164,174 @@ "delete-multiple-text": "Ten cuidado, después de la confirmación todos los campos calculados seleccionados serán eliminados y todos los datos relacionados serán irrecuperables.", "test-with-this-message": "Probar con este mensaje", "use-latest-timestamp": "Usar la última marca de tiempo", + "entity-coordinates": "Coordenadas de la entidad", + "latitude-time-series-key": "Clave de serie temporal de latitud", + "latitude-time-series-key-required": "La clave de serie temporal de latitud es obligatoria.", + "longitude-time-series-key": "Clave de serie temporal de longitud", + "longitude-time-series-key-required": "La clave de serie temporal de longitud es obligatoria.", + "geofencing-zone-groups": "Grupos de zonas de geovallado", + "geofencing-zone-groups-settings": "Configuración de grupos de zonas de geovallado", + "target-zone": "Zona objetivo", + "perimeter-key": "Clave de perímetro", + "report-strategy": "Estrategia de informe", + "no-zone-configured": "Se requiere al menos una zona.", + "no-zone-configured-required": "Debe configurarse al menos un grupo de zonas.", + "add-zone-group": "Añadir grupo de zonas", + "report-transition-event-only": "Solo eventos de transición", + "report-presence-status-only": "Solo estado de presencia", + "report-transition-event-and-presence": "Estado de presencia y eventos de transición", + "perimeter-attribute-key": "Clave de atributo de perímetro", + "perimeter-attribute-key-required": "La clave de atributo de perímetro es obligatoria.", + "perimeter-attribute-key-pattern": "La clave de atributo de perímetro no es válida.", + "entity-zone-relationship": "Ruta desde la entidad hasta las zonas", + "direction": "Dirección de la relación", + "direction-from": "De la entidad a la zona", + "direction-to": "De la zona a la entidad", + "relation-type": "Tipo de relación", + "create-relation-with-matched-zones": "Crear relaciones para la entidad de origen con las zonas coincidentes", + "relation-level": "Nivel de relación", + "fetch-last-available-level": "Obtener solo el último nivel disponible", + "zone-group-refresh-interval": "Intervalo de actualización de grupos de zonas", + "copy-zone-group-name": "Copiar nombre del grupo de zonas", + "open-details-page": "Abrir página de detalles de la entidad", + "level": "Nivel", + "direction-level": "Dirección", + "direction-up": "Arriba", + "direction-up-parent": "Arriba hasta el padre", + "direction-down": "Abajo", + "direction-down-child": "Abajo hasta el hijo", + "add-level": "Añadir nivel", + "delete-level": "Eliminar nivel", + "no-level": "No hay ningún nivel configurado", + "levels-required": "Debe configurarse al menos un nivel.", + "max-allowed-levels-error": "El nivel de relación supera el máximo permitido.", + "propagation-path-related-entities": "Ruta de propagación a entidades relacionadas", + "propagate-type": { + "arguments-only": "Solo argumentos", + "expression-result": "Resultado del cálculo" + }, + "script": "Script", + "data-propagate": "Datos a propagar", + "output-key": "Clave de salida", + "copy-output-key": "Copiar clave de salida", + "aggregation-path-related-entities": "Ruta de agregación a entidades relacionadas", + "deduplication-interval": "Intervalo de deduplicación", + "deduplication-interval-min": "El intervalo de deduplicación debe ser de al menos {{ sec }} segundos.", + "deduplication-interval-hint": "Tiempo mínimo entre agregaciones de telemetría.", + "deduplication-interval-required": "El intervalo de deduplicación es obligatorio.", + "calculated-field-filter-title": "Filtro de campo calculado", + "filter-title": "Filtrar", + "calculated-field-types": "Tipos de campo calculado", + "events": "Eventos", + "any-type": "Cualquier tipo", + "metrics": { + "metrics": "Métricas", + "metrics-empty": "Debe configurarse al menos una métrica.", + "metric-name": "Nombre de métrica", + "metric-name-required": "El nombre de la métrica es obligatorio.", + "metric-name-pattern": "El nombre de la métrica no es válido.", + "metric-name-duplicate": "Ya existe una métrica con ese nombre.", + "metric-name-max-length": "El nombre de la métrica debe tener menos de 256 caracteres.", + "metric-name-forbidden": "El nombre de la métrica está reservado y no se puede usar.", + "copy-metric-name": "Copiar nombre de la métrica", + "argument-name": "Nombre del argumento", + "aggregation": "Agregación", + "aggregation-type": { + "avg": "Media", + "min": "Mínimo", + "max": "Máximo", + "sum": "Suma", + "count": "Recuento", + "count-unique": "Recuento de únicos" + }, + "filtered": "Filtrado", + "value-source": "Origen del valor", + "value-source-hint": "Define cómo se obtiene el valor para la agregación.", + "value-source-type": { + "key": "Clave", + "function": "Función" + }, + "no-metrics-configured": "Se requiere al menos una métrica.", + "add-metric": "Añadir métrica", + "max-metrics": "Se ha alcanzado el número máximo de métricas.", + "metric-settings": "Configuración de la métrica", + "filter": "Filtro", + "filter-hint": "Permite filtrar entidades durante la agregación. La función de filtro debe devolver un valor booleano y puede usar todos los argumentos configurados." + }, + "output-strategy": { + "strategy": "Estrategia", + "process-right-away": "Procesar de inmediato", + "process-rule-chains": "Procesar mediante cadenas de reglas", + "save-time-series": "Guardar en series temporales", + "save-database": "Guardar en base de datos", + "save-latest-values": "Guardar en valores más recientes", + "send-web-sockets": "Enviar a WebSockets", + "save-calculated-fields": "Enviar a campos calculados", + "update-attribute-only-on-value-change": "Actualizar atributo solo cuando cambie el valor", + "send-attributes-updated-notification": "Enviar notificación de atributos actualizados", + "ttl": "TTL personalizado", + "ttl-required": "El TTL es obligatorio", + "ttl-min": "Solo se permite un TTL mínimo de 0", + "processing-parameters": "Parámetros de procesamiento", + "hint": { + "strategy": "Controla si el resultado se procesa inmediatamente o se envía a una cadena de reglas para un procesamiento adicional.", + "processing-options": "Opciones de procesamiento", + "update-attribute-only-on-value-change": "Actualiza el atributo en cada mensaje entrante, independientemente de si el valor ha cambiado. Esto incrementa el uso de la API y reduce el rendimiento.", + "update-attribute-only-on-value-change-enabled": "Actualiza el atributo solo cuando cambia el valor. Si el valor no cambia, no se actualizan las marcas de tiempo y no se envían notificaciones.", + "send-attributes-updated-notification": "Envía un evento Attributes Updated a la cadena de reglas predeterminada.", + "save-time-series": "Guarda datos de series temporales en la tabla ts_kv de la base de datos.", + "save-database": "Guarda datos de atributos en la base de datos.", + "save-latest-values": "Actualiza los datos de series temporales en la tabla ts_kv_latest de la base de datos si el nuevo valor es más reciente.", + "send-web-sockets-attribute": "Notifica a las suscripciones de WebSocket sobre las actualizaciones de los datos de atributos.", + "send-web-sockets-time-series": "Notifica a las suscripciones de WebSocket sobre las actualizaciones de los datos de series temporales.", + "save-calculated-fields-attribute": "Notifica a los campos calculados sobre las actualizaciones de los datos de atributos.", + "save-calculated-fields-time-series": "Notifica a los campos calculados sobre las actualizaciones de los datos de series temporales.", + "ttl": "Define el periodo de retención de los datos de series temporales. Si está desactivado, se usa el TTL del perfil de Tenant." + } + }, + "aggregate-interval-type": "Tipo de intervalo de agregación", + "aggregate-interval-value": "Valor del intervalo de agregación", + "aggregate-interval-value-required": "El valor del intervalo de agregación es obligatorio.", + "aggregate-interval-value-min": "El valor del intervalo de agregación debe ser de al menos { sec, plural, =0 {0 segundo} =1 {1 segundo} other {# segundos} }.", + "aggregate-interval-value-step-multiple-of": "El valor del intervalo de agregación debe ser un divisor o un múltiplo de 1 día.", + "aggregate-period": { + "hour": "Hora", + "day": "Día", + "week": "Semana (lun - dom)", + "week-sun-sat": "Semana (dom - sáb)", + "month": "Mes", + "quarter": "Trimestre", + "year": "Año", + "custom": "Personalizado" + }, + "aggregate-period-hint-offset": "Tu intervalo de agregación será: {{ interval }}", + "aggregate-period-hint-offset-and-so-on": "Tu intervalo de agregación será: {{ interval }} y así sucesivamente.", + "entity-aggregation": { + "argument-hint": "Los datos se obtendrán de la entidad actual.", + "argument-title-hint": "Define los argumentos de entrada utilizados para la agregación.", + "argument-setting-hint": "La telemetría más reciente es el único tipo de argumento disponible para este campo calculado.", + "aggregation-interval": "Intervalo de agregación", + "aggregation-interval-hint": "Define la frecuencia con la que se realiza la agregación. Ejemplo: cada 1 hora agrega datos a las 00:00, 01:00, 02:00, etc. Los resultados de la agregación se almacenan con la marca de tiempo correspondiente al inicio del intervalo de agregación.", + "apply-offset": "Aplicar desfase al intervalo de agregación", + "apply-offset-hint": "Define cuánto desplazar el inicio de cada periodo de agregación (p. ej., +10 minutos - 00:10, 01:10).", + "offset-value": "Valor de desfase", + "offset-value-required": "El valor de desfase es obligatorio.", + "offset-value-min": "El valor de desfase debe ser un entero positivo.", + "offset-value-max": "El valor de desfase debe ser inferior al valor del intervalo de agregación.", + "wait-delay": "Aplicar tiempo de espera para telemetría retrasada", + "wait-delay-hint": "Define cuánto tiempo esperar la telemetría retrasada después de que termine el intervalo. Si llega esa telemetría, se recalculará el resultado para ese intervalo.", + "duration": "Duración", + "duration-required": "La duración es obligatoria.", + "duration-min": "La duración debe ser de al menos 1 minuto.", + "duration-hint": "Cuánto tiempo esperar los datos retrasados después de que termine el intervalo.", + "produce-intermediate-result": "Generar resultado intermedio", + "produce-intermediate-result-hint": "Calcula métricas durante el intervalo actual para generar un resultado intermedio. Las actualizaciones no se producen con más frecuencia que una vez cada {{ time }}." + }, "hint": { - "arguments-simple-with-rolling": "Un campo calculado de tipo simple no debe contener claves con tipo de serie temporal con agregación.", + "arguments-simple-with-rolling": "Un campo calculado de tipo simple no debe contener claves con el tipo de serie temporal móvil.", + "arguments-propagate-arguments-with-rolling": "El tipo 'Serie temporal móvil' es incompatible con la propagación 'Solo argumentos'.", + "arguments-propagate-argument-entity-type": "El tipo de entidad es incompatible con la propagación 'Solo argumentos'.", + "arguments-propagate-argument-must-current-entity": "Debe configurarse al menos un argumento con el tipo de entidad de origen 'Entidad actual'.", "arguments-empty": "Los argumentos no deben estar vacíos.", "expression-required": "Se requiere una expresión.", "expression-invalid": "La expresión no es válida.", @@ -1081,12 +1341,218 @@ "argument-name-duplicate": "Ya existe un argumento con ese nombre.", "argument-name-max-length": "El nombre del argumento debe tener menos de 256 caracteres.", "argument-name-forbidden": "El nombre del argumento está reservado y no puede utilizarse.", + "output-key-required": "La clave de salida es obligatoria.", + "output-key-pattern": "La clave de salida no es válida.", + "output-key-duplicate": "Ya existe una clave con ese nombre.", + "output-key-max-length": "La clave de salida debe tener menos de 256 caracteres.", + "output-key-forbidden": "La clave de salida está reservada y no se puede usar.", + "entity-type-required": "El tipo de entidad es obligatorio", + "name-required": "El nombre es obligatorio.", + "name-pattern": "El nombre no es válido.", + "name-duplicate": "Ya existe un campo calculado con ese nombre.", + "name-max-length": "El nombre debe tener menos de 256 caracteres.", + "name-forbidden": "El nombre está reservado y no se puede usar.", "argument-type-required": "Se requiere el tipo de argumento.", "max-args": "Se ha alcanzado el número máximo de argumentos.", "decimals-range": "Los decimales por defecto deben ser un número entre 0 y 15.", "expression": "La expresión por defecto muestra cómo transformar una temperatura de Fahrenheit a Celsius.", "arguments-entity-not-found": "No se encontró la entidad de destino del argumento.", - "use-latest-timestamp": "Si está habilitado, el valor calculado se almacenará utilizando la marca de tiempo más reciente de la telemetría de los argumentos, en lugar del tiempo del servidor." + "use-latest-timestamp": "Si está activado, el valor calculado se guardará usando la marca de tiempo más reciente de la telemetría de los argumentos, en lugar de la hora del servidor.", + "entity-coordinates": "Especifica las claves de serie temporal que proporcionan las coordenadas GPS de la entidad (latitud y longitud).", + "geofencing-zone-groups": "Define uno o varios grupos de zonas de geovallado para comprobar (p. ej., 'allowedZones', 'restrictedZones'). Cada grupo debe tener un nombre único, que se usa como prefijo para las claves de telemetría de salida del campo calculado.", + "perimeter-attribute-key": "Establece la clave de atributo que contiene la definición del perímetro de la zona de geovallado. El perímetro siempre se toma de los atributos del lado del servidor de la entidad de zona.", + "report-strategy": "El estado de presencia indica si la entidad está actualmente DENTRO o FUERA del grupo de zonas. Los eventos de transición indican cuándo la entidad ENTRÓ o SALIÓ del grupo de zonas.", + "create-relation-with-matched-zones": "Crea y mantiene automáticamente relaciones entre la entidad y las zonas en las que se encuentra actualmente. Las relaciones se eliminan cuando la entidad sale de una zona y se crean cuando entra en una nueva.", + "relation-type-required": "El tipo de relación es obligatorio.", + "relation-level-required": "El nivel de relación es obligatorio.", + "relation-level-min": "El valor mínimo del nivel de relación es 1.", + "relation-level-max": "El valor máximo del nivel de relación es {{max}}.", + "geofencing-empty": "Debe configurarse al menos un grupo de zonas.", + "geofencing-entity-not-found": "No se ha encontrado la entidad objetivo de geovallado.", + "max-geofencing-zone": "Se ha alcanzado el número máximo de zonas de geovallado.", + "zone-group-refresh-interval": "Define con qué frecuencia se actualizan los grupos de zonas configurados mediante entidades relacionadas.", + "zone-group-refresh-interval-required": "El intervalo de actualización de grupos de zonas es obligatorio.", + "zone-group-refresh-interval-min": "El intervalo de actualización del grupo de zonas debe ser de al menos {{ min }} segundos.", + "propagation-path-related-entities": "Define una ruta directa de un solo nivel a una entidad relacionada según la dirección seleccionada y el tipo de relación. Solo se admiten relaciones entre entidades de dispositivo, activo, cliente y tenant. El máximo de entidades resueltas por la ruta de relación es {{ max }}.", + "data-propagate": "Define los datos que se propagarán desde los argumentos configurados a continuación. 'Solo argumentos' usa los datos recuperados directamente, mientras que 'Resultado del cálculo' calcula un nuevo valor a partir de esos datos.", + "aggregation-path-related-entities": "Define una ruta de agregación de un solo nivel mediante relaciones directas con entidades padre o hijas, según la dirección y el tipo de relación. Solo se admiten relaciones entre entidades de dispositivo, activo, cliente y tenant. El máximo de entidades resueltas por la ruta de relación es {{ max }}.", + "arguments-aggregation": "Define los argumentos de entrada utilizados para el filtrado y la agregación.", + "setting-arguments-aggregation": "Los datos se obtendrán de las entidades relacionadas configuradas en la ruta de agregación.", + "metrics": "Define las métricas agregadas en función de los argumentos configurados.", + "entity-aggregation-metrics": "Define las métricas agregadas en función de los argumentos configurados a lo largo de los intervalos de tiempo especificados.", + "import-invalid-calculated-field-type": "No se puede importar el campo calculado: la estructura del campo calculado no es válida.", + "simple-expression-title": "Expresión aritmética que define cómo se calcula el valor calculado.", + "script-title": "Script TBEL que define la lógica de cálculo y los valores de salida.", + "simple-arguments": "Expresión aritmética que define cómo se calcula el valor calculado.", + "script-arguments": "Define los argumentos de entrada disponibles para el script." + } + }, + "alarm-rule": { + "alarm-rules-tab": "Reglas de alarma", + "alarm-rule": "Regla de alarma", + "alarm-rules": "Reglas de alarma", + "alarm-rules-old": "Antiguas", + "alarm-rules-actual": "Actuales", + "severities": "Gravedades", + "cleared": "Condición de borrado", + "delete-title": "¿Estás seguro de que quieres eliminar la regla de alarma '{{title}}'?", + "delete-text": "Ten cuidado, tras la confirmación la regla de alarma y todos los datos relacionados serán irrecuperables.", + "delete-multiple-title": "¿Estás seguro de que quieres eliminar { count, plural, =1 {1 regla de alarma} other {# reglas de alarma} }?", + "delete-multiple-text": "Ten cuidado, tras la confirmación se eliminarán todas las reglas de alarma seleccionadas y todos los datos relacionados serán irrecuperables.", + "create": "Crear nueva regla de alarma", + "add": "Añadir regla de alarma", + "copy": "Copiar configuración de la regla de alarma", + "details": "Detalles de la regla de alarma", + "no-found": "No se han encontrado reglas de alarma", + "list": "{ count, plural, =1 {Una regla de alarma} other {Lista de # reglas de alarma} }", + "selected-fields": "{ count, plural, =1 {1 regla de alarma} other {# reglas de alarma} } seleccionadas", + "import": "Importar regla de alarma", + "file": "Archivo de regla de alarma", + "export": "Exportar regla de alarma", + "export-failed-error": "No se puede exportar la regla de alarma: {{error}}", + "entity-type": "Tipo de entidad", + "entity-type-required": "El tipo de entidad es obligatorio.", + "alarm-type": "Tipo de alarma", + "alarm-type-hint": "Identificador único (p. ej., HighTempAlarm) dentro del ámbito del originador de la alarma (Dispositivo, Activo, etc.) para evitar conflictos.", + "alarm-type-required": "El tipo de alarma es obligatorio.", + "alarm-type-pattern": "El tipo de alarma no es válido.", + "alarm-type-max-length": "El tipo de alarma debe tener menos de 256 caracteres.", + "clear-alarm": "Borrar alarma", + "value-argument": "Argumento", + "value-argument-required": "El argumento es obligatorio.", + "static-settings": "Configuración estática", + "configuration": "Configuración", + "static-schedule": "Estática", + "dynamic-schedule": "Dinámica", + "operation-and": "Y", + "operation-or": "O", + "condition-during": "Durante {{during}}", + "condition-during-dynamic": "Durante \"{{ attribute }}\"", + "condition-repeat-times": "Se repite { count, plural, =1 {1 vez} other {# veces} }", + "condition-repeat-times-dynamic": "Se repite \"{{ attribute }}\" veces", + "filter-preview": "Vista previa del filtro", + "condition-settings": "Configuración de la condición", + "static": "Estática", + "dynamic": "Dinámica", + "argument-filters": "Filtros de argumentos", + "argument-name": "Nombre del argumento", + "value-type": "Tipo de valor", + "general": "General", + "filters": "Filtros", + "date-time-hint": "El argumento debe estar en milisegundos desde epoch. Ejemplo: 1698839340000 equivale a 2023-11-01 12:49:00 UTC.", + "operation": "Operación", + "value-source": "Origen del valor", + "value": "Valor", + "ignore-case": "Ignorar mayúsculas y minúsculas", + "condition": "Condición", + "script": "Script", + "add-filter": "Añadir filtro de argumentos", + "edit-filter": "Filtro de argumentos", + "remove-filter": "Eliminar filtro de argumentos", + "no-filter": "Se requiere al menos un filtro.", + "conditions": { + "simple": "Simple", + "duration": "Duración", + "repeating": "Repetición" + }, + "schedule-title": "Programación", + "edit-schedule": "Editar programación de alarma", + "schedule-type": "Tipo de programador", + "schedule-type-required": "El tipo de programador es obligatorio.", + "schedule": { + "any-time": "Activa todo el tiempo", + "specific-time": "Activa en un horario específico", + "custom": "Personalizado" + }, + "schedule-day": { + "monday": "Lunes", + "tuesday": "Martes", + "wednesday": "Miércoles", + "thursday": "Jueves", + "friday": "Viernes", + "saturday": "Sábado", + "sunday": "Domingo" + }, + "schedule-days": "Días", + "schedule-time": "Hora", + "schedule-time-from": "Desde", + "schedule-time-to": "Hasta", + "schedule-days-of-week-required": "Debe seleccionarse al menos un día de la semana.", + "tbel": "TBEL", + "expression-type": { + "simple": "Simple", + "script": "Script" + }, + "operation-type": { + "and": "Y", + "or": "O" + }, + "filter-predicate-type": { + "string": "Cadena", + "numeric": "Numérico", + "boolean": "Booleano", + "complex": "Complejo" + }, + "alarm-rule-additional-info": "Información adicional", + "edit-alarm-rule-additional-info": "Editar información adicional", + "alarm-rule-additional-info-placeholder": "Indica aquí tus comentarios y ajustes para mostrarlos en Detalles de la alarma, en Información adicional", + "alarm-rule-additional-info-hint": "Sugerencia: usa ${Nombre del argumento} para sustituir los valores de los argumentos que se usan en la condición de la regla de alarma.", + "alarm-rule-additional-info-icon-hint": "Usa el nombre del argumento para sustituir los valores de los argumentos que se usan en la condición de la regla de alarma.", + "alarm-rule-mobile-dashboard": "Tablero móvil", + "alarm-rule-mobile-dashboard-hint": "Lo usa la aplicación móvil como tablero de detalles de la alarma.", + "alarm-rule-no-mobile-dashboard": "No se ha seleccionado ningún tablero", + "alarm-rule-condition": "Condición de la regla de alarma", + "enter-alarm-rule-condition-prompt": "Añadir condición", + "enter-alarm-rule-clear-condition-prompt": "Añadir condición de borrado", + "edit-alarm-rule-condition": "Condición de alarma", + "condition-type": "Tipo de condición", + "condition-type-hint": "Las opciones \"Duración\" y \"Repetición\" no están disponibles cuando se usa la operación \"Missing for\" en el filtro.", + "select-alarm-severity": "Seleccionar gravedad de la alarma", + "add-create-alarm-rule-prompt": "Se requiere al menos una condición de activación.", + "add-create-alarm-rule": "Añadir condición de activación", + "add-clear-alarm-rule": "Añadir condición de borrado", + "condition-duration": "Duración de la condición", + "condition-duration-value": "Valor de duración", + "condition-duration-time-unit": "Unidad de tiempo", + "condition-duration-value-range": "El valor de duración debe estar en un rango de 1 a 2147483647.", + "condition-duration-value-pattern": "El valor de duración debe ser un número entero.", + "condition-duration-value-required": "El valor de duración es obligatorio.", + "condition-duration-time-unit-required": "La unidad de tiempo es obligatoria.", + "condition-repeating-value": "Número de eventos", + "condition-repeating-value-hint": "La actualización de cualquier argumento de la regla de alarma se contará como un evento", + "condition-repeating-value-range": "El número de eventos debe estar en un rango de 1 a 2147483647.", + "condition-repeating-value-pattern": "El número de eventos debe ser un número entero.", + "condition-repeating-value-required": "El número de eventos es obligatorio.", + "create-conditions": "Condiciones de activación", + "clear-condition": "Condición de borrado", + "no-clear-alarm-rule": "No hay ninguna condición de borrado configurada.", + "advanced-settings": "Configuración avanzada", + "propagate-alarm": "Propagar alarma a entidades relacionadas", + "alarm-rule-relation-types-list": "Tipos de relación", + "alarm-rule-relation-types-list-hint": "Define los tipos de relación para filtrar las entidades relacionadas. Si no se establece, la alarma se propagará a todas las entidades relacionadas.", + "propagate-alarm-to-owner": "Propagar alarma al propietario de la entidad (Cliente o Tenant)", + "propagate-alarm-to-tenant": "Propagar alarma al Tenant", + "alarm-rule-filter-title": "Filtro de regla de alarma", + "filter-title": "Filtrar", + "debugging": "Depuración de regla de alarma", + "any-type": "Cualquier tipo", + "enter-alarm-rule-type": "Introducir tipo de alarma", + "no-alarm-rule-types-matching": "No se han encontrado tipos de alarma que coincidan con '{{entitySubtype}}'.", + "alarm-rule-type-list-empty": "No se ha seleccionado ningún tipo de alarma.", + "alarm-rule-type-list": "Lista de tipos de alarma", + "alarm-rule-entity-list": "Lista de entidades", + "missing-for": "sin datos durante", + "time-unit": "Unidad", + "mode": "Modo", + "type": "Tipo", + "value-required": "El valor es obligatorio.", + "min-value": "El valor debe ser 1 o mayor.", + "argument-in-use": "El argumento se usa como argumento general.", + "import-invalid-alarm-rule-type": "No se puede importar la regla de alarma: la estructura de la regla de alarma no es válida.", + "no-filter-preview": "No se ha especificado ningún filtro", + "filter-operation": { + "and": "Y", + "or": "O" } }, "ai-models": { @@ -1111,13 +1577,15 @@ "mistral-ai": "Mistral AI", "anthropic": "Anthropic", "amazon-bedrock": "Amazon Bedrock", - "github-models": "Modelos de GitHub" + "github-models": "GitHub Models", + "ollama": "Ollama" }, "name-required": "Se requiere un nombre.", "name-max-length": "El nombre debe tener 255 caracteres o menos.", "provider": "Proveedor", - "api-key": "Clave API", - "api-key-required": "Se requiere la clave API.", + "api-key": "Clave de API", + "api-key-required": "La clave de API es obligatoria.", + "api-key-open-ai-required": "La clave de API es obligatoria cuando se usa la API oficial de OpenAI.", "project-id": "ID del proyecto", "project-id-required": "Se requiere el ID del proyecto", "location": "Ubicación", @@ -1153,18 +1621,35 @@ "presence-penalty-hint": "Aplica una penalización fija a la probabilidad de un token si ya ha aparecido en el texto.", "frequency-penalty": "Penalización por frecuencia", "frequency-penalty-hint": "Aplica una penalización a la probabilidad de un token que aumenta en función de su frecuencia en el texto.", - "max-output-tokens": "Número máximo de tokens de salida", - "max-output-tokens-min": "Debe ser mayor que 0.", - "max-output-tokens-hint": "Define el número máximo de tokens que el modelo puede generar en una sola respuesta.", + "max-output-tokens": "Máximo de tokens de salida", + "max-output-tokens-hint": "Establece el número máximo de tokens que el \nmodelo puede generar en una única respuesta.", + "context-length": "Longitud del contexto", + "context-length-hint": "Define el tamaño de la ventana de contexto en tokens. Este valor establece el límite total de memoria del modelo, incluyendo tanto la entrada del usuario como la respuesta generada.", "endpoint": "Endpoint", - "endpoint-required": "Se requiere el endpoint.", + "endpoint-required": "El endpoint es obligatorio.", + "baseurl": "URL base", + "baseurl-required": "La URL base es obligatoria.", "service-version": "Versión del servicio", "check-connectivity": "Verificar conectividad", "check-connectivity-success": "La solicitud de prueba fue exitosa", "check-connectivity-failed": "La solicitud de prueba falló", "no-model-matching": "No se encontraron modelos que coincidan con '{{entity}}'.", "model-required": "Se requiere un modelo.", - "no-model-text": "No se encontraron modelos." + "no-model-text": "No se encontraron modelos.", + "authentication": "Autenticación", + "authentication-basic-hint": "Usa la autenticación HTTP Basic estándar. El nombre de usuario y la contraseña se combinarán, se codificarán en Base64 y se enviarán en una cabecera \"Authorization\" con cada solicitud al servidor Ollama.", + "authentication-token-hint": "Usa la autenticación mediante token Bearer. El token proporcionado se enviará directamente en una cabecera \"Authorization\" con cada solicitud al servidor Ollama.", + "authentication-type": { + "none": "Ninguna", + "basic": "Basic", + "token": "Token" + }, + "username": "Nombre de usuario", + "username-required": "El nombre de usuario es obligatorio.", + "password": "Contraseña", + "password-required": "La contraseña es obligatoria.", + "token": "Token", + "token-required": "El token es obligatorio." }, "confirm-on-exit": { "message": "Tienes cambios sin guardar. ¿Estás seguro de que deseas salir de esta página?", @@ -1174,6 +1659,7 @@ "contact": { "country": "País", "country-required": "Se requiere el país.", + "country-object-required": "Selecciona un país válido de la lista.", "city": "Ciudad", "state": "Estado / Provincia", "postal-code": "Código postal", @@ -1210,6 +1696,8 @@ "documentation": "Documentación", "time-left": "{{time}} restante", "output": "Salida", + "sort-asc": "Ascendente", + "sort-desc": "Descendente", "suffix": { "s": "s", "ms": "ms" @@ -1346,6 +1834,8 @@ "mobile-order": "Orden del tablero en la aplicación móvil", "mobile-hide": "Ocultar tablero en la aplicación móvil", "update-image": "Actualizar imagen del tablero", + "update-new-version": "Subir nueva versión", + "upload-file-to-update": "Subir archivo para actualizar", "take-screenshot": "Tomar captura de pantalla", "select-widget-title": "Seleccionar widget", "select-widget-value": "{{title}}: seleccionar widget", @@ -1714,6 +2204,8 @@ "bootstrap-tab": "Cliente Bootstrap", "bootstrap-server": "Servidor Bootstrap", "lwm2m-server": "Servidor LwM2M", + "client-reboot": "Disparador de actualización de registro", + "bootstrap-reboot": "Disparador de solicitud de arranque", "client-publicKey-or-id": "Clave pública o ID del cliente", "client-publicKey-or-id-required": "Se requiere la clave pública o el ID del cliente.", "client-publicKey-or-id-tooltip-psk": "El identificador PSK es arbitrario hasta 128 bytes, conforme a la norma [RFC7925].\nDebe convertirse a cadena y luego a octetos en UTF-8.", @@ -1761,7 +2253,6 @@ "unable-delete-device-alias-text": "No se puede eliminar el alias del dispositivo '{{deviceAlias}}' porque lo utilizan los siguientes widget(s):
{{widgetsList}}", "is-gateway": "Es un gateway", "overwrite-activity-time": "Sobrescribir tiempo de actividad del dispositivo conectado", - "device-filter": "Filtro de dispositivo", "device-filter-title": "Filtro de dispositivo", "filter-title": "Filtro", "device-state": "Estado del dispositivo", @@ -2215,6 +2706,7 @@ "short-id-required": "Se requiere el ID corto del servidor.", "short-id-range": "El ID corto del servidor debe estar en un rango de {{ min }} a {{ max }}.", "short-id-pattern": "El ID corto del servidor debe ser un número entero positivo.", + "short-id-pattern-bs": "El ID corto del servidor solo debe ser null", "lifetime": "Tiempo de vida del registro del cliente", "lifetime-required": "Se requiere el tiempo de vida del registro del cliente.", "lifetime-pattern": "El tiempo de vida del registro debe ser un número entero positivo.", @@ -2237,7 +2729,7 @@ "tqs": "TQS: conexiones TCP y SMS activas; TCP en modo en cola, SMS en modo estándar (no admitido desde LWM2M 1.1)", "sq": "SQ: Conexión SMS en modo en cola (no admitido desde LWM2M 1.1)" }, - "binding-tooltip": "Esta es la lista en el recurso \"binding\" del objeto del servidor LwM2M - /1/x/7.\nIndica los modos de asociación admitidos en el Cliente LwM2M.\nEste valor DEBERÍA ser igual al valor en el recurso “Supported Binding and Modes” en el Objeto de Dispositivo (/3/0/16).\nAunque se admiten múltiples transportes, solo uno puede usarse durante toda la sesión de transporte.\nPor ejemplo, si se admiten UDP y SMS, el Cliente y el Servidor LwM2M pueden elegir comunicarse a través de UDP o SMS durante toda la sesión de transporte.", + "binding-tooltip": "Esta es la lista en el recurso \"binding\" del objeto de servidor LwM2M - /1/x/7.\nIndica los modos de vinculación admitidos en el cliente LwM2M.\nEste valor DEBERÍA ser el mismo que el valor del recurso \"Supported Binding and Modes\" en el objeto de dispositivo (/3/0/16).\nAunque se admiten varios transportes, solo se puede usar un enlace de transporte durante toda la sesión de transporte.\nPor ejemplo, cuando se admiten tanto UDP como SMS, el cliente LwM2M y el servidor LwM2M pueden elegir comunicarse por UDP o por SMS durante toda la sesión de transporte.", "bootstrap-server": "Servidor Bootstrap", "lwm2m-server": "Servidor LwM2M", "include-bootstrap-server": "Incluir actualizaciones del servidor Bootstrap", @@ -2303,13 +2795,15 @@ }, "observe-strategy": { "observe-strategy": "Estrategia de observación", - "single": "Individual", + "single": "Única", "single-description": "Una solicitud Observe por recurso (mayor precisión, más tráfico de red)", - "composite-all": "Compuesta - todos", + "composite-all": "Compuesta para todo", "composite-all-description": "Todos los recursos se observan con una única solicitud Composite Observe (más eficiente, menos flexible)", "composite-by-object": "Compuesta por objetos", "composite-by-object-description": "Los recursos se agrupan por tipo de objeto y se observan usando solicitudes Composite Observe separadas (enfoque equilibrado)" - } + }, + "init-attr-tel-as-obs-strategy": "Inicializar atributos y telemetría usando la estrategia Observe", + "init-attr-tel-as-obs-strategy-hint": "Si es false: los atributos y la telemetría se inicializan leyendo sus valores uno a uno.\\nSi es true: los atributos y la telemetría se inicializan suscribiéndose a sus valores usando la estrategia Observe." }, "snmp": { "add-communication-config": "Agregar configuración de comunicación", @@ -2625,6 +3119,8 @@ "type-rulenodes": "Nodos de regla", "list-of-rulenodes": "{ count, plural, =1 {Un nodo de regla} other {Lista de # nodos de regla} }", "rulenode-name-starts-with": "Nodos de regla cuyos nombres comienzan con '{{prefix}}'", + "type-api-key": "Clave de API", + "type-api-keys": "Claves de API", "type-current-customer": "Customer actual", "type-current-tenant": "Tenant actual", "type-current-user": "Usuario actual", @@ -2646,6 +3142,7 @@ "details": "Detalles de la entidad", "no-entities-prompt": "No se encontraron entidades", "no-data": "No hay datos para mostrar", + "show-all-columns": "Mostrar todo", "columns-to-display": "Columnas para mostrar", "type-api-usage-state": "Estado de uso de API", "type-edge": "Edge", @@ -2691,7 +3188,15 @@ "list-of-mobile-apps": "{ count, plural, =1 {Una aplicación móvil} other {Lista de # aplicaciones móviles} }", "type-mobile-app-bundle": "Paquete móvil", "type-mobile-app-bundles": "Paquetes móviles", - "list-of-mobile-app-bundles": "{ count, plural, =1 {Un paquete móvil} other {Lista de # paquetes móviles} }" + "list-of-mobile-app-bundles": "{ count, plural, =1 {Un paquete móvil} other {Lista de # paquetes móviles} }", + "limit-reached": "Límite alcanzado", + "limit-reached-text": "Has alcanzado el límite de {{ entities }}. Para añadir más, pide a tu administrador del sistema que aumente tu límite de {{ entity }}.", + "request-limit-increase": "Solicitar aumento del límite", + "request-sysadmin-text": "¿Eres el administrador del sistema?", + "login-here": "Iniciar sesión aquí", + "to-increase-limit": "para aumentar el límite.", + "increase-limit-request-sent-title": "Hemos enviado una solicitud automática a tu administrador del sistema para aumentar el límite", + "increase-limit-request-sent-text": "Deja algo de tiempo para que revisen la solicitud y actualicen la configuración. Puede que tengas que actualizar esta página para ver los cambios." }, "entity-field": { "created-time": "Hora de creación", @@ -3768,6 +4273,7 @@ "two-factor-authentication": "Autenticación de dos factores", "passwords-mismatch-error": "¡Las contraseñas ingresadas deben coincidir!", "password-again": "Repetir contraseña", + "sign-in": "Por favor inicia sesión", "username": "Nombre de usuario (correo electrónico)", "remember-me": "Recordarme", "forgot-password": "¿Olvidaste tu contraseña?", @@ -3778,7 +4284,8 @@ "password-link-sent-message": "Enlace de restablecimiento enviado", "email": "Correo electrónico", "invalid-email-format": "Formato de correo electrónico inválido.", - "login-with": "Iniciar sesión con {{name}}", + "sign-in-with": "Iniciar sesión con {{name}}", + "sign-in-to-your-account": "Iniciar sesión en tu cuenta", "or": "o", "error": "Error de inicio de sesión", "verify-your-identity": "Verifica tu identidad", @@ -3797,7 +4304,51 @@ "activation-link-expired": "El enlace de activación ha expirado", "activation-link-expired-message": "El enlace para activar tu perfil ha expirado. Puedes regresar a la página de inicio de sesión para recibir un nuevo correo.", "reset-password-link-expired": "El enlace para restablecer la contraseña ha expirado", - "reset-password-link-expired-message": "El enlace para restablecer tu contraseña ha expirado. Puedes regresar a la página de inicio de sesión para recibir un nuevo correo." + "reset-password-link-expired-message": "El enlace para restablecer tu contraseña ha expirado. Puedes regresar a la página de inicio de sesión para recibir un nuevo correo.", + "two-fa": "Autenticación de dos factores", + "two-fa-required": "La autenticación de dos factores es obligatoria", + "set-up-verification-method": "Configura un método de verificación para continuar", + "set-up-verification-method-login": "Configura un método de verificación o inicia sesión", + "enable-authenticator-app": "Activar aplicación de autenticación", + "enable-authenticator-app-description": "Introduce el código de seguridad de tu aplicación de autenticación", + "enable-authenticator-sms": "Activar autenticación por SMS", + "enable-authenticator-sms-description": "Introduce el código de 6 dígitos que acabamos de enviar a ", + "enable-authenticator-email": "Activar autenticación por Email", + "enable-authenticator-email-description": "Se ha enviado un código de seguridad a tu dirección de email en ", + "enter-key-manually": "o introduce manualmente esta clave de 32 dígitos:", + "continue": "Continuar", + "confirm": "Confirmar", + "authenticator-app-success": "Aplicación de autenticación activada correctamente", + "authenticator-app-success-description": "La próxima vez que inicies sesión, tendrás que proporcionar un código de autenticación de dos factores", + "authenticator-sms-success": "Autenticación por SMS activada correctamente", + "authenticator-sms-success-description": "La próxima vez que inicies sesión, se te pedirá que introduzcas el código de seguridad que se enviará al número de teléfono", + "authenticator-email-success": "Autenticación por Email activada correctamente", + "authenticator-email-success-description": "La próxima vez que inicies sesión, se te pedirá que introduzcas el código de seguridad que se enviará a tu dirección de email", + "authenticator-backup-code-success": "Código de respaldo activado correctamente", + "authenticator-backup-code-success-description": "La próxima vez que inicies sesión, se te pedirá que introduzcas el código de seguridad o que uses uno de los códigos de respaldo.", + "add-verification-method": "Añadir método de verificación", + "get-backup-code": "Obtener código de respaldo", + "copy-key": "Copiar clave", + "send-code": "Enviar código", + "email-label": "Email", + "email-description": "Introduce un email para usarlo como autenticador.", + "sms-description": "Introduce un número de teléfono para usarlo como autenticador.", + "backup-code-description": "Imprime los códigos para tenerlos a mano cuando necesites usarlos para iniciar sesión en tu cuenta. Puedes usar cada código de respaldo una sola vez.", + "backup-code-warn": "Una vez que salgas de esta página, estos códigos no podrán mostrarse de nuevo. Guárdalos de forma segura usando las opciones de abajo.", + "download-txt": "Descargar (txt)", + "print": "Imprimir", + "verification-code": "Código de 6 dígitos", + "verification-code-invalid": "Formato de código de verificación no válido", + "verification-code-incorrect": "El código de verificación es incorrecto", + "verification-code-many-request": "Demasiadas solicitudes para comprobar el código de verificación", + "scan-qr-code": "Escanea este código QR con tu aplicación de verificación", + "phone-input": { + "phone-input-label": "Número de teléfono", + "phone-input-required": "El número de teléfono es obligatorio", + "phone-input-validation": "El número de teléfono no es válido o no es posible", + "phone-input-pattern": "Número de teléfono no válido. Debe estar en formato E.164, p. ej. {{phoneNumber}}", + "phone-input-hint": "Número de teléfono en formato E.164, p. ej. {{phoneNumber}}" + } }, "mobile": { "add-application": "Agregar aplicación", @@ -4165,7 +4716,8 @@ "api-usage-limit": "Límite de uso de API", "device-activity": "Actividad del dispositivo", "entities-limit": "Límite de entidades", - "entity-action": "Acción sobre entidad", + "entities-limit-increase-request": "Solicitud de aumento del límite de entidades", + "entity-action": "Acción de entidad", "general": "General", "rule-engine-lifecycle-event": "Evento del ciclo de vida del motor de reglas", "rule-node": "Nodo de regla", @@ -4382,6 +4934,12 @@ "at-least": "Al menos:", "character": "{ count, plural, =1 {1 carácter} other {# caracteres} }", "digit": "{ count, plural, =1 {1 dígito} other {# dígitos} }", + "password-tooltip-min-length": "Al menos {{minimumLength}} caracteres", + "password-tooltip-max-length": "Como máximo {{maximumLength}} caracteres", + "password-tooltip-uppercase": "{{minimumUppercaseLetters}} carácter en mayúscula", + "password-tooltip-lowercase": "{{minimumLowercaseLetters}} carácter en minúscula", + "password-tooltip-digit": "{{minimumDigits}} número", + "password-tooltip-special-characters": "{{minimumSpecialCharacters}} carácter especial", "incorrect-password-try-again": "Contraseña incorrecta. Inténtalo de nuevo", "lowercase-letter": "{ count, plural, =1 {1 letra minúscula} other {# letras minúsculas} }", "new-passwords-not-match": "La nueva contraseña no coincide", @@ -4440,7 +4998,8 @@ "additional-info": "Información adicional (JSON)", "invalid-additional-info": "No se pudo analizar el JSON de información adicional.", "no-relations-text": "No se encontraron relaciones", - "not": "No" + "not": "No", + "copy-type": "Copiar tipo" }, "resource": { "add": "Agregar recurso", @@ -4477,7 +5036,8 @@ "jks": "JKS", "js-module": "Módulo JS", "lwm2m-model": "Modelo LWM2M", - "pkcs-12": "PKCS #12" + "pkcs-12": "PKCS #12", + "general": "General" }, "resource-sub-type": "Subtipo", "sub-type": { @@ -4485,7 +5045,12 @@ "scada-symbol": "Símbolo Scada", "extension": "Extensión", "module": "Módulo" - } + }, + "resource-is-in-use": "El recurso se usa en otras entidades", + "resources-are-in-use": "Los recursos se usan en otras entidades", + "resource-is-in-use-text": "El recurso '{{title}}' no se eliminó porque lo usan las siguientes entidades:", + "resources-are-in-use-text": "No se han eliminado todos los recursos porque los usan otras entidades.
Puedes ver las entidades referenciadas haciendo clic en el botón Referencias de la fila del recurso correspondiente.
Si aun así quieres eliminar estos recursos, selecciónalos en la tabla de abajo y haz clic en el botón Eliminar seleccionados.", + "delete-resource-in-use-text": "Si aun así quieres eliminar el recurso, haz clic en el botón Eliminar de todos modos." }, "javascript": { "add": "Agregar recurso JavaScript", @@ -5385,7 +5950,7 @@ "time-series": "Serie temporal", "latest": "Últimos valores", "web-sockets": "WebSockets", - "calculated-fields": "Campos calculados" + "calculated-fields-and-alarm-rules": "Campos calculados y reglas de alarma" }, "save-attribute": { "processing-settings": "Configuraciones de procesamiento", @@ -5435,11 +6000,11 @@ "prompt-settings": "Configuración del prompt", "prompt-settings-hint": "El prompt del sistema (opcional) define el rol general y las restricciones de la IA, mientras que el prompt del usuario define la tarea específica a realizar. Ambos campos admiten plantillas.", "system-prompt": "Prompt del sistema", - "system-prompt-max-length": "El prompt del sistema debe tener 500.000 caracteres o menos.", + "system-prompt-max-length": "El prompt del sistema debe tener 10.000 caracteres o menos.", "system-prompt-blank": "El prompt del sistema no debe estar vacío.", "user-prompt": "Prompt del usuario", "user-prompt-required": "Se requiere el prompt del usuario.", - "user-prompt-max-length": "El prompt del usuario debe tener 500.000 caracteres o menos.", + "user-prompt-max-length": "El prompt del usuario debe tener 10.000 caracteres o menos.", "user-prompt-blank": "El prompt del usuario no debe estar vacío.", "response-format": "Formato de respuesta", "response-text": "Texto", @@ -5456,7 +6021,8 @@ "timeout-required": "Se requiere un tiempo de espera", "timeout-validation": "Debe ser de entre 1 segundo y 10 minutos.", "force-acknowledgement": "Forzar acuse de recibo", - "force-acknowledgement-hint": "Si está habilitado, el mensaje entrante se reconoce inmediatamente. La respuesta del modelo se coloca en cola como un mensaje nuevo y separado." + "force-acknowledgement-hint": "Si está habilitado, el mensaje entrante se reconoce inmediatamente. La respuesta del modelo se coloca en cola como un mensaje nuevo y separado.", + "ai-resources": "Recursos de IA" } }, "timezone": { @@ -5579,7 +6145,8 @@ "bad-request-params": "Parámetros de solicitud incorrectos", "item-not-found": "Elemento no encontrado", "too-many-requests": "Demasiadas solicitudes", - "too-many-updates": "Demasiadas actualizaciones" + "too-many-updates": "Demasiadas actualizaciones", + "entities-limit-exceeded": "Se ha superado el límite de entidades" }, "tenant": { "tenant": "Tenant", @@ -5717,6 +6284,27 @@ "max-arguments-per-cf": "Número máximo de argumentos por campo calculado", "max-arguments-per-cf-range": "El número máximo de argumentos por campo calculado no puede ser negativo", "max-arguments-per-cf-required": "Se requiere el número máximo de argumentos por campo calculado", + "max-related-level-per-argument": "Nivel máximo de relación por argumento de 'Entidades relacionadas'", + "max-related-level-per-argument-range": "El número máximo del nivel de relación por argumento de 'Entidades relacionadas' no puede ser inferior a '1'", + "max-related-level-per-argument-required": "El número máximo del nivel de relación por argumento de 'Entidades relacionadas' es obligatorio", + "min-allowed-scheduled-update-interval": "Intervalo mínimo de actualización permitido para argumentos de 'Entidades relacionadas' (segundos)", + "min-allowed-scheduled-update-interval-range": "El número mínimo del intervalo mínimo de actualización permitido no puede ser negativo", + "min-allowed-deduplication-interval": "Intervalo mínimo de deduplicación permitido (segundos)", + "min-allowed-deduplication-interval-range": "El valor del intervalo mínimo de deduplicación permitido no puede ser negativo", + "min-allowed-deduplication-interval-required": "El intervalo mínimo de deduplicación permitido es obligatorio", + "intermediate-aggregation-interval": "Intervalo de agregación intermedia (segundos)", + "intermediate-aggregation-interval-range": "El valor del intervalo de agregación intermedia no puede ser inferior a '1'", + "intermediate-aggregation-interval-required": "El intervalo de agregación intermedia es obligatorio", + "reevaluation-check-interval": "Intervalo de comprobación de reevaluación (segundos)", + "reevaluation-check-interval-range": "El valor del intervalo de comprobación de reevaluación no puede ser inferior a '1'", + "reevaluation-check-interval-required": "El intervalo de comprobación de reevaluación es obligatorio", + "alarms-reevaluation-interval": "Intervalo de reevaluación de alarmas (segundos)", + "alarms-reevaluation-interval-range": "El valor del intervalo de reevaluación de alarmas no puede ser inferior a '1'", + "alarms-reevaluation-interval-required": "El intervalo de reevaluación de alarmas es obligatorio", + "min-allowed-aggregation-interval": "Intervalo mínimo de agregación permitido (segundos)", + "min-allowed-aggregation-interval-range": "El valor del intervalo mínimo de agregación permitido no puede ser negativo", + "min-allowed-aggregation-interval-required": "El intervalo mínimo de agregación permitido es obligatorio", + "min-allowed-scheduled-update-interval-required": "El número mínimo del intervalo mínimo de actualización permitido es obligatorio", "max-state-size": "Tamaño máximo del estado en KB", "max-state-size-range": "El tamaño máximo del estado en KB no puede ser negativo", "max-state-size-required": "Se requiere el tamaño máximo del estado en KB", @@ -5792,6 +6380,10 @@ "ws-limit-max-subscriptions-per-regular-user": "Número máximo de suscripciones por usuario regular", "ws-limit-max-subscriptions-per-public-user": "Número máximo de suscripciones por usuario público", "ws-limit-updates-per-session": "Actualizaciones WS por sesión", + "relation-search-entity-limit": "Límite de entidades en la búsqueda de relaciones", + "relation-search-entity-limit-hint": "Limita el número de entidades resueltas en el último nivel de la ruta de relación. Se aplica a los argumentos de 'Entidades relacionadas' y a los campos de propagación.", + "relation-search-entity-limit-required": "El límite de entidades en la búsqueda de relaciones es obligatorio", + "relation-search-entity-limit-range": "El límite de entidades en la búsqueda de relaciones no puede ser inferior a '1'", "rate-limits": { "add-limit": "Agregar límite", "and-also-less-than": "y también menor que", @@ -5977,7 +6569,9 @@ "default-agg-interval": "Intervalo de agrupación predeterminado", "edit-intervals-list-hint": "Se puede especificar una lista de opciones de intervalo disponibles.", "edit-grouping-intervals-list-hint": "Es posible configurar la lista de intervalos de agrupación y el intervalo de agrupación predeterminado.", - "all": "Todos" + "all": "Todos", + "save-current-settings-as-default": "Guardar la configuración actual como ventana de tiempo predeterminada", + "hide-option-from-end-users": "Ocultar opción a los usuarios finales" }, "tooltip": { "trigger": "Disparador", @@ -5989,6 +6583,7 @@ "show-date-time-interval": "Mostrar intervalo de fecha y hora", "show-date-time-interval-hint": "Mostrar intervalo de fecha y hora según la agregación de datos.", "hide-zero-tooltip-values": "Ocultar valores cero", + "show-stack-total": "Mostrar el valor total en modo apilado", "background-color": "Color de fondo", "background-blur": "Desenfoque de fondo" }, @@ -6630,7 +7225,8 @@ "export-relations": "Exportar relaciones", "export-attributes": "Exportar atributos", "export-credentials": "Exportar credenciales", - "export-calculated-fields": "Exportar campos calculados", + "export-calculated-fields": "Exportar campos calculados \ny reglas de alarma", + "export-alarm-rules": "Exportar reglas de alarma", "entity-versions": "Versiones de entidad", "versions": "Versiones", "created-time": "Fecha de creación", @@ -6648,6 +7244,7 @@ "load-attributes": "Cargar atributos", "load-credentials": "Cargar credenciales", "load-calculated-fields": "Cargar campos calculados", + "load-alarm-rules": "Cargar reglas de alarma", "compare-with-current": "Comparar con actual", "diff-entity-with-version": "Diferencias con versión de entidad '{{versionName}}'", "previous-difference": "Diferencia anterior", @@ -6702,7 +7299,7 @@ "management": "Gestión de widgets", "editor": "Editor de widgets", "confirm-to-exit-editor-html": "Tienes configuraciones del widget sin guardar.
¿Estás seguro de que deseas salir de esta página?", - "widget-type-not-found": "Problema al cargar la configuración del widget.
Probablemente se haya eliminado el tipo de widget asociado.", + "widget-type-not-found": "Problema al cargar la configuración del widget.
Probablemente se haya\n eliminado el tipo de widget asociado.", "widget-type-load-error": "El widget no se cargó debido a los siguientes errores:", "remove": "Eliminar widget", "delete": "Eliminar widget", @@ -6857,7 +7454,23 @@ "scan-qr-code": "Escanear código QR", "make-phone-call": "Hacer llamada telefónica", "get-location": "Obtener ubicación del teléfono", - "take-screenshot": "Tomar captura de pantalla" + "take-screenshot": "Tomar captura de pantalla", + "handle-provision-success-function": "Gestionar función de aprovisionamiento correcto", + "get-location-function": "Obtener función de ubicación", + "process-launch-result-function": "Procesar función de resultado de inicio", + "get-phone-number-function": "Obtener función de número de teléfono", + "process-image-function": "Procesar función de imagen", + "process-qr-code-function": "Procesar función de código QR", + "process-location-function": "Procesar función de ubicación", + "handle-empty-result-function": "Gestionar función de resultado vacío", + "handle-error-function": "Gestionar función de error", + "handle-non-mobile-fallback-function": "Gestionar función de alternativa para no móvil", + "save-to-gallery": "Guardar en la galería", + "provision-type": "Tipo de aprovisionamiento", + "auto": "Automático", + "wi-fi": "Wi-Fi", + "ble": "BLE", + "soft-ap": "Soft AP" }, "custom-action-function": "Función de acción personalizada", "custom-pretty-function": "Función de acción personalizada (con plantilla HTML)", @@ -6866,7 +7479,8 @@ "marker": "Marcador", "polygon": "Polígono", "rectangle": "Rectángulo", - "circle": "Círculo" + "circle": "Círculo", + "polyline": "Polilínea" }, "place-map-item": "Colocar elemento en el mapa", "map-item-tooltip": { @@ -6878,7 +7492,9 @@ "continue-draw-polygon": "Continuar dibujo del polígono", "finish-draw-polygon": "Finalizar dibujo del polígono", "start-draw-circle": "Iniciar dibujo del círculo", - "finish-draw-circle": "Finalizar dibujo del círculo" + "finish-draw-circle": "Finalizar dibujo del círculo", + "start-draw-polyline": "Iniciar dibujo de polilínea", + "finish-draw-polyline": "Finalizar dibujo de polilínea" } }, "widgets-bundle": { @@ -7444,10 +8060,18 @@ "update-animation-delay": "Retardo de la animación de actualización" }, "chart-axis": { + "limit": "Límite", + "source": "Fuente", + "key-value": "Clave / Valor", + "value-required": "El valor es obligatorio.", + "entity-key-required": "La clave de entidad es obligatoria.", + "key-required": "La clave es obligatoria.", + "scale-limits": "Límites de escala", + "scale-appearance": "Apariencia de escala", "scale": "Escala", "scale-min": "mín", "scale-max": "máx", - "scale-auto": "Auto" + "scale-auto": "Automático" }, "bar": { "show-border": "Mostrar borde", @@ -7988,7 +8612,10 @@ "add-radio-option": "Agregar opción de radio", "radio-label-position": "Posición de la etiqueta", "radio-label-position-before": "Antes", - "radio-label-position-after": "Después" + "radio-label-position-after": "Después", + "save-image": "Guardar imagen", + "save-to-gallery": "Guardar automáticamente las imágenes capturadas en la Galería de imágenes", + "public-image": "Hace la imagen disponible para cualquier usuario no autorizado" }, "invalid-qr-code-text": "Texto de entrada no válido para el código QR. La entrada debe ser de tipo cadena", "qr-code": { @@ -8283,7 +8910,8 @@ "trips": "Viajes", "markers": "Marcadores", "polygons": "Polígonos", - "circles": "Círculos" + "circles": "Círculos", + "polylines": "Polilíneas" }, "data-layer": { "source": "Fuente", @@ -8480,8 +9108,27 @@ "finish-circle-hint-with-entity": "Círculo para '{{entityName}}': haz clic para finalizar y guardar el círculo", "finish-circle-hint": "Círculo: haz clic para finalizar el dibujo" }, + "polyline": { + "polyline-key": "Clave de polilínea", + "polyline-key-required": "Clave de polilínea obligatoria", + "no-polylines": "No hay polilíneas configuradas", + "add-polylines": "Añadir polilínea", + "polyline-configuration": "Configuración de polilínea", + "remove-polyline": "Eliminar polilínea", + "edit": "Editar polilínea", + "cut": "Cortar área de polilínea", + "rotate": "Rotar polilínea", + "remove-polyline-for": "Eliminar polilínea para '{{entityName}}'", + "draw-polyline": "Dibujar polilínea", + "polyline-place-first-point-hint-with-entity": "Polilínea para '{{entityName}}': haz clic para colocar el primer punto", + "polyline-place-first-point-hint": "Polilínea: haz clic para colocar el primer punto", + "finish-polyline-hint-with-entity": "Polilínea para '{{entityName}}': haz clic para terminar de dibujar", + "finish-polyline-hint": "Polilínea: haz clic para terminar de dibujar", + "polyline-place-first-point-cut-hint": "Haz clic para colocar el primer punto", + "finish-polyline-cut-hint": "Haz clic en el primer marcador para finalizar y guardar" + }, "select-entity": "Seleccionar entidad", - "select-entity-hint": "Sugerencia: después de seleccionar, haz clic en el mapa para establecer la posición" + "select-entity-hint": "Sugerencia: después de la selección haz clic en el mapa para establecer la posición" }, "select-entity": "Seleccionar entidad", "select-entity-hint": "Sugerencia: después de seleccionar, haz clic en el mapa para establecer la posición", @@ -8921,6 +9568,7 @@ "show-empty-space-hidden-action": "Mostrar espacio vacío en lugar del botón de acción oculto", "dont-reserve-space-hidden-action": "No reservar espacio para botones de acción ocultos", "display-timestamp": "Marca de tiempo", + "timestamp-column-name": "Marca de tiempo", "display-pagination": "Mostrar paginación", "default-page-size": "Tamaño de página predeterminado", "page-step-settings": "Configuraciones de pasos de página", @@ -8982,7 +9630,9 @@ "alarm-column-error": "Debe especificarse al menos una columna de alarma", "table-tabs": "Pestañas de la tabla", "show-cell-actions-menu-mobile": "Mostrar menú desplegable de acciones de celda en modo móvil", - "disable-sorting": "Deshabilitar ordenamiento" + "disable-sorting": "Deshabilitar ordenamiento", + "sort-by": "Ordenar pestañas por", + "sort-timestamp-option": "Hora de creación" }, "latest-chart": { "total": "Total", @@ -9474,11 +10124,28 @@ "content": "

Al crear tableros para el usuario final, un usuario customer solo podrá ver sus propios dispositivos y los datos de otro customer estarán ocultos.

Sigue la documentación para saber cómo hacerlo:

" } } + }, + "api-usage": { + "api-usage": "Uso de la API", + "label": "Etiqueta", + "state-name": "Nombre del estado", + "status": "Estado", + "status-required": "El estado es obligatorio.", + "limit": "Límite máximo", + "limit-required": "El límite máximo es obligatorio.", + "current-number": "Número actual", + "current-number-required": "El número actual es obligatorio.", + "add-key": "Añadir clave", + "no-key": "Sin clave", + "delete-key": "Eliminar clave", + "target-dashboard-state": "Estado del tablero objetivo", + "go-to-main-state": "Ir a la vista predeterminada" } }, "icon": { "icon": "Icono", "icons": "Iconos", + "custom": "Personalizado", "select-icon": "Seleccionar icono", "material-icons": "Iconos de Material", "show-all": "Mostrar todos los iconos", @@ -9519,6 +10186,7 @@ "items-per-page-separator": "de" }, "language": { + "auto": "Auto", "language": "Idioma" } -} +} \ No newline at end of file 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 864a229e5d..ef5707a0bd 100644 --- a/ui-ngx/src/assets/locale/locale.constant-hi_IN.json +++ b/ui-ngx/src/assets/locale/locale.constant-hi_IN.json @@ -78,6 +78,7 @@ "show-more": "और दिखाएँ", "dont-show-again": "दोबारा न दिखाएँ", "see-documentation": "दस्तावेज़ देखें", + "see-debug-events": "डिबग घटनाएँ देखें", "clear": "साफ़ करें", "upload": "अपलोड करें", "delete-anyway": "फिर भी हटाएँ", @@ -485,6 +486,7 @@ "2fa": { "2fa": "दो-कारक प्रमाणीकरण", "available-providers": "उपलब्ध प्रदाता", + "available-providers-required": "कम से कम एक 2FA प्रदाता को कॉन्फ़िगर किया जाना चाहिए।", "issuer-name": "जारीकर्ता नाम", "issuer-name-required": "जारीकर्ता नाम आवश्यक है।", "max-verification-failures-before-user-lockout": "उपयोगकर्ता लॉक होने से पहले अधिकतम सत्यापन विफलताएँ", @@ -513,7 +515,9 @@ "verification-message-template-required": "सत्यापन संदेश टेम्पलेट आवश्यक है।", "within-time": "समय के भीतर", "within-time-pattern": "समय धनात्मक पूर्णांक होना चाहिए।", - "within-time-required": "समय आवश्यक है।" + "within-time-required": "समय आवश्यक है।", + "force-2fa": "दो-कारक प्रमाणीकरण लागू करें", + "enforce-for": "के लिए लागू करें" }, "jwt": { "security-settings": "JWT सुरक्षा सेटिंग्स", @@ -545,16 +549,11 @@ "slack-settings": "Slack सेटिंग्स", "mobile-settings": "मोबाइल सेटिंग्स", "firebase-service-account-file": "Firebase सर्विस अकाउंट क्रेडेंशियल्स JSON फ़ाइल", - "select-firebase-service-account-file": "अपनी Firebase सर्विस अकाउंट क्रेडेंशियल्स फ़ाइल को ड्रैग और ड्रॉप करें या ", - "trendz": "Trendz", - "trendz-settings": "Trendz सेटिंग्स", - "trendz-url": "Trendz URL", - "trendz-url-required": "Trendz URL आवश्यक है", - "trendz-api-key": "Trendz API की", - "trendz-enable": "Trendz सक्षम करें" + "select-firebase-service-account-file": "अपनी Firebase सर्विस अकाउंट क्रेडेंशियल्स फ़ाइल को ड्रैग और ड्रॉप करें या " }, "alarm": { "alarm": "अलार्म", + "alarm-list": "अलार्म सूची", "alarms": "अलार्म", "all-alarms": "सभी अलार्म", "select-alarm": "अलार्म चुनें", @@ -655,7 +654,16 @@ "alarm-type": "अलार्म प्रकार", "enter-alarm-type": "अलार्म प्रकार दर्ज करें", "no-alarm-types-matching": "'{{entitySubtype}}' से मेल खाता कोई अलार्म प्रकार नहीं मिला।", - "alarm-type-list-empty": "कोई अलार्म प्रकार चुना नहीं गया है।" + "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": "टिप्पणी जोड़ें...", @@ -760,6 +768,7 @@ "name-max-length": "नाम 256 अक्षरों से कम होना चाहिए", "label-max-length": "लेबल 256 अक्षरों से कम होना चाहिए", "description": "विवरण", + "description-required": "विवरण आवश्यक है।", "type": "प्रकार", "type-required": "प्रकार आवश्यक है।", "details": "विवरण", @@ -873,6 +882,9 @@ "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-messages": "ईमेल संदेश", @@ -906,6 +918,7 @@ "rule-node": "रूल नोड", "sms": "एसएमएस", "sms-messages": "एसएमएस संदेश", + "sms-messages-hourly-activity": "एसएमएस संदेशों की प्रति घंटा सक्रियता", "sms-messages-daily-activity": "एसएमएस संदेशों की दैनिक सक्रियता", "sms-messages-monthly-activity": "एसएमएस संदेशों की मासिक सक्रियता", "successful": "${entityName} सफल", @@ -915,11 +928,40 @@ "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-messages": "ट्रांसपोर्ट संदेश", + "transport-data-points-hourly-activity": "ट्रांसपोर्ट डेटा पॉइंट्स की प्रति घंटा सक्रियता", + "transport-data-points-daily-activity": "ट्रांसपोर्ट डेटा पॉइंट्स की दैनिक सक्रियता", + "transport-data-points-monthly-activity": "ट्रांसपोर्ट डेटा पॉइंट्स की मासिक सक्रियता", "view-details": "विवरण देखें", - "view-statistics": "सांख्यिकी देखें" + "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-hourly-activity": "ईमेल की प्रति घंटा सक्रियता", + "emails-daily-activity": "ईमेल की दैनिक सक्रियता", + "emails-monthly-activity": "ईमेल की मासिक सक्रियता", + "status": { + "enabled": "सक्षम", + "disabled": "निष्क्रिय", + "warning": "चेतावनी" + } }, "api-limit": { "cassandra-write-queries-core": "Rest API Cassandra लिखने की क्वेरीज़", @@ -944,6 +986,40 @@ "edge-uplink-messages": "Edge uplink संदेश", "edge-uplink-messages-per-edge": "प्रति Edge uplink संदेश" }, + "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": "ऑडिट लॉग", @@ -997,7 +1073,11 @@ "type-provision-failure": "डिवाइस प्रोविज़निंग विफल रही", "type-timeseries-updated": "टेलीमेट्री अपडेट की गई", "type-timeseries-deleted": "टेलीमेट्री हटाई गई", - "type-sms-sent": "SMS भेजा गया" + "type-sms-sent": "SMS भेजा गया", + "any-type": "कोई भी प्रकार", + "audit-log-filter-title": "ऑडिट लॉग फ़िल्टर", + "filter-title": "फ़िल्टर", + "filter-types": "ऑडिट लॉग प्रकार" }, "debug-settings": { "label": "डिबग कॉन्फ़िगरेशन", @@ -1017,13 +1097,26 @@ "list": "{ count, plural, =1 {एक कैलक्युलेटेड फ़ील्ड} other {# कैलक्युलेटेड फ़ील्ड्स की सूची} }", "selected-fields": "{ count, plural, =1 {1 कैलक्युलेटेड फ़ील्ड} other {# कैलक्युलेटेड फ़ील्ड्स} } चुना गया", "type": { - "simple": "सिंपल", - "script": "स्क्रिप्ट" + "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": "स्क्रिप्ट फ़ंक्शन टेस्ट करें", @@ -1036,6 +1129,7 @@ "argument-customer": "कस्टमर", "argument-tenant": "करेंट टेनेंट", "argument-owner": "करेंट ओनर", + "argument-relation-query": "संबंधित एंटिटीज़", "argument-type": "आर्गुमेंट प्रकार", "attribute": "विशेषता", "copy-argument-name": "आर्गुमेंट नाम कॉपी करें", @@ -1049,12 +1143,14 @@ "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 फ़ाइल है।", @@ -1068,9 +1164,175 @@ "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": "अधिकतम", + "sum": "योग", + "count": "गणना", + "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": "संकलन के दौरान एंटिटीज़ को फ़िल्टर करने के लिए फ़िल्टरिंग सक्षम करता है। फ़िल्टर फ़ंक्शन को एक बूलियन मान लौटाना चाहिए और यह सभी कॉन्फ़िगर किए गए तर्कों का उपयोग कर सकता है।" + }, + "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": "केवल 0 न्यूनतम TTL अनुमत है", + "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 का उपयोग किया जाता है।" + } + }, + "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": "कस्टम" + }, + "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": "देरी से आने वाली टेलीमेट्री के लिए await टाइमआउट लागू करें", + "wait-delay-hint": "यह परिभाषित करता है कि अंतराल समाप्त होने के बाद देरी से आने वाली टेलीमेट्री के लिए कितनी देर प्रतीक्षा करनी है। यदि ऐसी टेलीमेट्री आती है, तो उस अंतराल के परिणाम की पुनर्गणना की जाएगी।", + "duration": "अवधि", + "duration-required": "अवधि आवश्यक है।", + "duration-min": "अवधि कम से कम 1 मिनट होनी चाहिए।", + "duration-hint": "अंतराल समाप्त होने के बाद देरी से आने वाले डेटा के लिए कितनी देर प्रतीक्षा करनी है।", + "produce-intermediate-result": "मध्यवर्ती परिणाम तैयार करें", + "produce-intermediate-result-hint": "वर्तमान अंतराल के दौरान मेट्रिक्स की गणना करके मध्यवर्ती परिणाम तैयार करता है। अपडेट {{ time }} में एक बार से अधिक बार नहीं होंगे।" + }, "hint": { - "arguments-simple-with-rolling": "सिंपल टाइप की कैलक्युलेटेड फ़ील्ड में 'टाइम सीरीज़ रोलिंग' टाइप की कीज़ नहीं होनी चाहिए।", - "arguments-empty": "आर्गुमेंट्स खाली नहीं होने चाहिए।", + "arguments-simple-with-rolling": "'Simple' प्रकार के कैल्क्युलेटेड फ़ील्ड में 'Time series rolling' प्रकार वाली कुंजियाँ नहीं होनी चाहिए।", + "arguments-propagate-arguments-with-rolling": "'Time series rolling' प्रकार 'Arguments only' प्रोपेगेशन के साथ संगत नहीं है।", + "arguments-propagate-argument-entity-type": "एंटिटी टाइप 'Arguments only' प्रोपेगेशन के साथ संगत नहीं है।", + "arguments-propagate-argument-must-current-entity": "कम से कम एक तर्क को 'Current entity' सोर्स एंटिटी टाइप के साथ कॉन्फ़िगर किया जाना चाहिए।", + "arguments-empty": "कम से कम एक तर्क निर्दिष्ट किया जाना चाहिए।", "expression-required": "एक्सप्रेशन आवश्यक है।", "expression-invalid": "एक्सप्रेशन अमान्य है।", "expression-max-length": "एक्सप्रेशन की लंबाई 255 अक्षरों से कम होनी चाहिए।", @@ -1079,12 +1341,218 @@ "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": "अगर सक्षम किया गया, तो कैलक्युलेटेड मान को सर्वर समय की बजाय आर्गुमेंट्स की टेलीमेट्री के नवीनतम टाइमस्टैम्प के साथ सेव किया जाएगा।" + "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": "परिभाषित करता है कि किस डेटा को नीचे कॉन्फ़िगर किए गए तर्कों से प्रसारित किया जाएगा। 'Arguments only' डेटा को सीधे प्राप्त करता है, जबकि 'Expression result' उस डेटा से नया मान गणना करता है।", + "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 {एक अलार्म नियम} 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": "दोहराना" + }, + "schedule-title": "अनुसूची", + "edit-schedule": "अलार्म अनुसूची संपादित करें", + "schedule-type": "अनुसूचक प्रकार", + "schedule-type-required": "अनुसूचक प्रकार आवश्यक है।", + "schedule": { + "any-time": "हमेशा सक्रिय", + "specific-time": "विशिष्ट समय पर सक्रिय", + "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": "कम से कम एक दिन को सप्ताह के लिए चुना जाना चाहिए।", + "tbel": "TBEL", + "expression-type": { + "simple": "साधारण", + "script": "स्क्रिप्ट" + }, + "operation-type": { + "and": "और", + "or": "या" + }, + "filter-predicate-type": { + "string": "स्ट्रिंग", + "numeric": "संख्यात्मक", + "boolean": "बूलियन", + "complex": "जटिल" + }, + "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": { @@ -1191,6 +1659,7 @@ "contact": { "country": "देश", "country-required": "देश आवश्यक है।", + "country-object-required": "कृपया सूची से एक मान्य देश चुनें।", "city": "शहर", "state": "राज्य / प्रांत", "postal-code": "ज़िप / डाक कोड", @@ -1227,6 +1696,8 @@ "documentation": "प्रलेखन", "time-left": "{{time}} बाकी", "output": "आउटपुट", + "sort-asc": "आरोही", + "sort-desc": "अवरोही", "suffix": { "s": "s", "ms": "ms" @@ -1363,6 +1834,8 @@ "mobile-order": "मोबाइल एप्लिकेशन में डैशबोर्ड क्रम", "mobile-hide": "मोबाइल एप्लिकेशन में डैशबोर्ड छिपाएँ", "update-image": "डैशबोर्ड छवि अपडेट करें", + "update-new-version": "नया संस्करण अपलोड करें", + "upload-file-to-update": "अपडेट करने के लिए फ़ाइल अपलोड करें", "take-screenshot": "स्क्रीनशॉट लें", "select-widget-title": "विजेट चुनें", "select-widget-value": "{{title}}: विजेट चुनें", @@ -1731,6 +2204,8 @@ "bootstrap-tab": "Bootstrap क्लाइंट", "bootstrap-server": "Bootstrap सर्वर", "lwm2m-server": "LwM2M सर्वर", + "client-reboot": "रजिस्ट्रेशन अपडेट ट्रिगर", + "bootstrap-reboot": "बूटस्ट्रैप-रिक्वेस्ट ट्रिगर", "client-publicKey-or-id": "क्लाइंट सार्वजनिक कुंजी या आईडी", "client-publicKey-or-id-required": "क्लाइंट सार्वजनिक कुंजी या आईडी आवश्यक है।", "client-publicKey-or-id-tooltip-psk": "PSK पहचानकर्ता (identifier) एक मनमाना PSK पहचानकर्ता होता है जिसकी लंबाई अधिकतम 128 बाइट तक हो सकती है, जैसा कि मानक [RFC7925] में वर्णित है।\nPSK पहचानकर्ता को पहले एक कैरेक्टर स्ट्रिंग में बदला जाना चाहिए और फिर UTF-8 का उपयोग करके ऑक्टेट्स में एनकोड किया जाना चाहिए।", @@ -2231,6 +2706,7 @@ "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": "क्लाइंट रजिस्ट्रेशन लाइफ़टाइम एक धनात्मक पूर्णांक होना चाहिए।", @@ -2325,7 +2801,9 @@ "composite-all-description": "सभी रिसोर्स एक ही कंपोज़िट Observe अनुरोध से ऑब्ज़र्व किए जाते हैं (ज़्यादा प्रभावी, कम लचीलापन)", "composite-by-object": "ऑब्जेक्ट के अनुसार कंपोज़िट", "composite-by-object-description": "रिसोर्स को ऑब्जेक्ट प्रकार के अनुसार समूहित करके अलग-अलग कंपोज़िट Observe अनुरोधों से ऑब्ज़र्व किया जाता है (संतुलित तरीका)" - } + }, + "init-attr-tel-as-obs-strategy": "गुण और टेलीमेट्री को Observe रणनीति का उपयोग करके प्रारंभ करें", + "init-attr-tel-as-obs-strategy-hint": "यदि गलत - गुण और टेलीमेट्री को उनके मानों को एक-एक करके पढ़कर प्रारंभ किया जाता है।\\nयदि सही - गुण और टेलीमेट्री को उनके मानों को Observe रणनीति का उपयोग करके सब्सक्राइब करके प्रारंभ किया जाता है।" }, "snmp": { "add-communication-config": "कम्युनिकेशन कॉन्फ़िगरेशन जोड़ें", @@ -2641,6 +3119,8 @@ "type-rulenodes": "रूल नोड्स", "list-of-rulenodes": "{ count, plural, =1 {एक रूल नोड} other {# रूल नोड्स की सूची} }", "rulenode-name-starts-with": "वे रूल नोड्स जिनके नाम '{{prefix}}' से शुरू होते हैं", + "type-api-key": "API कुंजी", + "type-api-keys": "API कुंजियाँ", "type-current-customer": "वर्तमान कस्टमर", "type-current-tenant": "वर्तमान टेनेंट", "type-current-user": "वर्तमान उपयोगकर्ता", @@ -2662,6 +3142,7 @@ "details": "एंटिटी विवरण", "no-entities-prompt": "कोई एंटिटी नहीं मिली", "no-data": "दिखाने के लिए कोई डेटा नहीं", + "show-all-columns": "सभी दिखाएं", "columns-to-display": "दिखाने वाले कॉलम", "type-api-usage-state": "API उपयोग स्थिति", "type-edge": "Edge", @@ -2707,7 +3188,15 @@ "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 {# मोबाइल बंडल्स की सूची} }" + "list-of-mobile-app-bundles": "{ count, plural, =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": "बनाने का समय", @@ -3789,12 +4278,14 @@ "remember-me": "मुझे याद रखें", "forgot-password": "पासवर्ड भूल गए?", "password-reset": "पासवर्ड रीसेट", - "expired-password-reset-message": "आपके क्रेडेंशियल्स की अवधि समाप्त हो गई है! कृपया नया पासवर्ड बनाएँ.", + "expired-password-reset-message": "आपके क्रेडेंशियल्स की अवधि समाप्त हो गई है! \nकृपया नया पासवर्ड बनाएँ.", "new-password": "नया पासवर्ड", "new-password-again": "नया पासवर्ड पुष्टि करें", "password-link-sent-message": "रीसेट लिंक भेज दिया गया है", "email": "ईमेल", "invalid-email-format": "अमान्य ईमेल फ़ॉर्मेट.", + "sign-in-with": "{{name}} के साथ साइन इन करें", + "sign-in-to-your-account": "अपने खाते में साइन इन करें", "or": "या", "error": "लॉगिन त्रुटि", "verify-your-identity": "अपनी पहचान सत्यापित करें", @@ -3813,7 +4304,51 @@ "activation-link-expired": "सक्रियन लिंक की अवधि समाप्त हो गई है", "activation-link-expired-message": "आपके प्रोफ़ाइल को सक्रिय करने वाला लिंक समाप्त हो गया है। आप नया ईमेल प्राप्त करने के लिए लॉगिन पेज पर वापस जा सकते हैं.", "reset-password-link-expired": "पासवर्ड रीसेट लिंक की अवधि समाप्त हो गई है", - "reset-password-link-expired-message": "आपके पासवर्ड को रीसेट करने वाला लिंक समाप्त हो गया है। आप नया ईमेल प्राप्त करने के लिए लॉगिन पेज पर वापस जा सकते हैं." + "reset-password-link-expired-message": "आपके पासवर्ड को रीसेट करने वाला लिंक समाप्त हो गया है। आप नया ईमेल प्राप्त करने के लिए लॉगिन पेज पर वापस जा सकते हैं.", + "two-fa": "दो-कारक प्रमाणीकरण", + "two-fa-required": "दो-कारक प्रमाणीकरण आवश्यक है", + "set-up-verification-method": "जारी रखने के लिए एक सत्यापन विधि सेट करें", + "set-up-verification-method-login": "वेरिफिकेशन विधि सेट करें या लॉगिन करें", + "enable-authenticator-app": "ऑथेंटिकेटर ऐप सक्षम करें", + "enable-authenticator-app-description": "कृपया अपने ऑथेंटिकेटर ऐप से सुरक्षा कोड दर्ज करें", + "enable-authenticator-sms": "SMS ऑथेंटिकेटर सक्षम करें", + "enable-authenticator-sms-description": "वह 6-अंकों का कोड दर्ज करें जो हमने अभी भेजा है", + "enable-authenticator-email": "ईमेल ऑथेंटिकेटर सक्षम करें", + "enable-authenticator-email-description": "एक सुरक्षा कोड आपके ईमेल पते पर भेजा गया है", + "enter-key-manually": "या इस 32-अंकों की कुंजी को मैन्युअली दर्ज करें:", + "continue": "जारी रखें", + "confirm": "पुष्टि करें", + "authenticator-app-success": "ऑथेंटिकेटर ऐप सफलतापूर्वक सक्षम किया गया", + "authenticator-app-success-description": "अगली बार जब आप साइन इन करेंगे, तो आपको दो-कारक प्रमाणीकरण कोड प्रदान करना होगा", + "authenticator-sms-success": "SMS ऑथेंटिकेटर सफलतापूर्वक सक्षम किया गया", + "authenticator-sms-success-description": "अगली बार जब आप साइन इन करेंगे, तो आपको सुरक्षा कोड दर्ज करने के लिए प्रेरित किया जाएगा जो फोन नंबर पर भेजा जाएगा", + "authenticator-email-success": "ईमेल ऑथेंटिकेटर सफलतापूर्वक सक्षम किया गया", + "authenticator-email-success-description": "अगली बार जब आप साइन इन करेंगे, तो आपको सुरक्षा कोड दर्ज करने के लिए प्रेरित किया जाएगा जो आपके ईमेल पते पर भेजा जाएगा", + "authenticator-backup-code-success": "बैकअप कोड सफलतापूर्वक सक्षम किया गया", + "authenticator-backup-code-success-description": "अगली बार जब आप साइन इन करेंगे, तो आपको सुरक्षा कोड दर्ज करने के लिए या बैकअप कोड में से एक का उपयोग करने के लिए प्रेरित किया जाएगा", + "add-verification-method": "वेरिफिकेशन विधि जोड़ें", + "get-backup-code": "बैकअप कोड प्राप्त करें", + "copy-key": "कुंजी कॉपी करें", + "send-code": "कोड भेजें", + "email-label": "ईमेल", + "email-description": "एक ईमेल दर्ज करें जिसे आप अपना ऑथेंटिकेटर के रूप में उपयोग करेंगे।", + "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": "अपने सत्यापन ऐप से इस QR कोड को स्कैन करें", + "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": "एप्लिकेशन जोड़ें", @@ -4181,6 +4716,7 @@ "api-usage-limit": "API उपयोग सीमा", "device-activity": "डिवाइस एक्टिविटी", "entities-limit": "एंटिटीज़ सीमा", + "entities-limit-increase-request": "एंटिटीज़ सीमा बढ़ाने का अनुरोध", "entity-action": "एंटिटी एक्शन", "general": "जनरल", "rule-engine-lifecycle-event": "रूल इंजन लाइफ़साइकल इवेंट", @@ -4398,6 +4934,12 @@ "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": "नए पासवर्ड आपस में मेल नहीं खाते", @@ -4456,7 +4998,8 @@ "additional-info": "अतिरिक्त जानकारी (JSON)", "invalid-additional-info": "अतिरिक्त जानकारी JSON को पार्स करने में असमर्थ.", "no-relations-text": "कोई रिलेशन नहीं मिला", - "not": "नहीं" + "not": "नहीं", + "copy-type": "कॉपी प्रकार" }, "resource": { "add": "संसाधन जोड़ें", @@ -5406,7 +5949,8 @@ }, "time-series": "टाइम सीरीज़", "latest": "नवीनतम मान", - "web-sockets": "WebSockets" + "web-sockets": "WebSockets", + "calculated-fields-and-alarm-rules": "कैल्क्युलेटेड फ़ील्ड्स और अलार्म नियम" }, "save-attribute": { "processing-settings": "प्रोसेसिंग सेटिंग्स", @@ -5601,7 +6145,8 @@ "bad-request-params": "खराब रिक्वेस्ट पैरामीटर्स", "item-not-found": "आइटम नहीं मिला", "too-many-requests": "बहुत अधिक रिक्वेस्ट", - "too-many-updates": "बहुत अधिक अपडेट्स" + "too-many-updates": "बहुत अधिक अपडेट्स", + "entities-limit-exceeded": "एंटिटीज़ की सीमा पार हो गई है" }, "tenant": { "tenant": "टेनेंट", @@ -5739,6 +6284,27 @@ "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 में) आवश्यक है", @@ -5814,6 +6380,10 @@ "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": "और साथ ही इससे कम", @@ -5999,7 +6569,9 @@ "default-agg-interval": "डिफ़ॉल्ट ग्रुपिंग अंतराल", "edit-intervals-list-hint": "उपलब्ध अंतराल विकल्पों की सूची निर्दिष्ट की जा सकती है।", "edit-grouping-intervals-list-hint": "ग्रुपिंग अंतरालों की सूची और डिफ़ॉल्ट ग्रुपिंग अंतराल को कॉन्फ़िगर करना संभव है।", - "all": "सभी" + "all": "सभी", + "save-current-settings-as-default": "वर्तमान सेटिंग्स को डिफ़ॉल्ट समय विंडो के रूप में सहेजें", + "hide-option-from-end-users": "एंड-यूज़र्स से विकल्प छुपाएं" }, "tooltip": { "trigger": "ट्रिगर", @@ -6654,6 +7226,7 @@ "export-attributes": "विशेषताएँ एक्सपोर्ट करें", "export-credentials": "क्रेडेंशियल्स एक्सपोर्ट करें", "export-calculated-fields": "कैलक्युलेटेड फ़ील्ड्स एक्सपोर्ट करें", + "export-alarm-rules": "अलार्म नियमों का निर्यात करें", "entity-versions": "एंटिटी वर्ज़न", "versions": "वर्ज़न", "created-time": "बनाने का समय", @@ -6671,6 +7244,7 @@ "load-attributes": "विशेषताएँ लोड करें", "load-credentials": "क्रेडेंशियल्स लोड करें", "load-calculated-fields": "कैलक्युलेटेड फ़ील्ड्स लोड करें", + "load-alarm-rules": "अलार्म नियम लोड करें", "compare-with-current": "वर्तमान से तुलना करें", "diff-entity-with-version": "एंटिटी वर्ज़न '{{versionName}}' से तुलना", "previous-difference": "पिछला अंतर", @@ -6880,7 +7454,23 @@ "scan-qr-code": "QR कोड स्कैन करें", "make-phone-call": "फ़ोन कॉल करें", "get-location": "फ़ोन लोकेशन प्राप्त करें", - "take-screenshot": "स्क्रीनशॉट लें" + "take-screenshot": "स्क्रीनशॉट लें", + "handle-provision-success-function": "प्रोविजन सफलता फ़ंक्शन को हैंडल करें", + "get-location-function": "स्थान प्राप्त करें फ़ंक्शन", + "process-launch-result-function": "लॉन्च परिणाम फ़ंक्शन को प्रोसेस करें", + "get-phone-number-function": "फोन नंबर प्राप्त करें फ़ंक्शन", + "process-image-function": "छवि प्रोसेस फ़ंक्शन", + "process-qr-code-function": "QR कोड प्रोसेस फ़ंक्शन", + "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": "सॉफ्ट AP" }, "custom-action-function": "कस्टम एक्शन फ़ंक्शन", "custom-pretty-function": "कस्टम एक्शन (HTML टेम्पलेट सहित) फ़ंक्शन", @@ -6889,7 +7479,8 @@ "marker": "मार्कर", "polygon": "बहुभुज", "rectangle": "आयत", - "circle": "वृत्त" + "circle": "वृत्त", + "polyline": "पॉलीलाइन" }, "place-map-item": "मैप आइटम रखें", "map-item-tooltip": { @@ -6901,7 +7492,9 @@ "continue-draw-polygon": "बहुभुज बनाना जारी रखें", "finish-draw-polygon": "बहुभुज बनाना समाप्त करें", "start-draw-circle": "वृत्त बनाना शुरू करें", - "finish-draw-circle": "वृत्त बनाना समाप्त करें" + "finish-draw-circle": "वृत्त बनाना समाप्त करें", + "start-draw-polyline": "पॉलीलाइन ड्रॉ करना शुरू करें", + "finish-draw-polyline": "पॉलीलाइन ड्रॉ करना समाप्त करें" } }, "widgets-bundle": { @@ -7467,10 +8060,18 @@ "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": "स्वतः" + "scale-auto": "स्वचालित" }, "bar": { "show-border": "बॉर्डर दिखाएँ", @@ -8011,7 +8612,10 @@ "add-radio-option": "रेडियो विकल्प जोड़ें", "radio-label-position": "लेबल स्थिति", "radio-label-position-before": "पहले", - "radio-label-position-after": "बाद में" + "radio-label-position-after": "बाद में", + "save-image": "छवि सहेजें", + "save-to-gallery": "स्वचालित रूप से कैप्चर की गई छवियाँ इमेज गैलरी में स्टोर करें", + "public-image": "छवि को किसी भी अनधिकृत उपयोगकर्ता के लिए उपलब्ध बनाता है" }, "invalid-qr-code-text": "QR कोड के लिए इनपुट टेक्स्ट अमान्य है। इनपुट का प्रकार स्ट्रिंग होना चाहिए", "qr-code": { @@ -8306,7 +8910,8 @@ "trips": "ट्रिप्स", "markers": "मार्कर्स", "polygons": "पॉलीगॉन्स", - "circles": "सर्कल्स" + "circles": "सर्कल्स", + "polylines": "पॉलीलाइन्स" }, "data-layer": { "source": "सोर्स", @@ -8503,11 +9108,30 @@ "finish-circle-hint-with-entity": "'{{entityName}}' के लिए सर्कल: समाप्त करने और सहेजने के लिए क्लिक करें", "finish-circle-hint": "सर्कल: ड्रॉइंग समाप्त करने के लिए क्लिक करें" }, + "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": "पहले मार्कर को क्लिक करें ताकि समाप्त किया जा सके और सहेजा जा सके" + }, "select-entity": "एंटिटी चुनें", - "select-entity-hint": "संकेत: चयन के बाद स्थिति सेट करने के लिए मैप पर क्लिक करें" + "select-entity-hint": "संकेत: चयन के बाद स्थिति सेट करने के लिए मानचित्र पर क्लिक करें" }, "select-entity": "एंटिटी चुनें", - "select-entity-hint": "संकेत: चयन के बाद स्थिति सेट करने के लिए मैप पर क्लिक करें", + "select-entity-hint": "संकेत: चयन के बाद स्थिति सेट करने के लिए मानचित्र पर क्लिक करें", "tooltips": { "placeMarker": "'{{entityName}}' एंटिटी को रखने के लिए क्लिक करें", "firstVertex": "'{{entityName}}' के लिए पॉलीगॉन: पहला बिंदु रखने के लिए क्लिक करें", @@ -8944,6 +9568,7 @@ "show-empty-space-hidden-action": "छिपे हुए सेल बटन क्रिया की जगह खाली स्थान दिखाएँ", "dont-reserve-space-hidden-action": "छिपे हुए एक्शन बटनों के लिए स्थान आरक्षित न करें", "display-timestamp": "टाइमस्टैम्प", + "timestamp-column-name": "टाइमस्टैम्प", "display-pagination": "पेजिनेशन दिखाएँ", "default-page-size": "डिफ़ॉल्ट पृष्ठ आकार", "page-step-settings": "पृष्ठ स्टेप सेटिंग्स", @@ -9005,7 +9630,9 @@ "alarm-column-error": "कम से कम एक अलार्म कॉलम निर्दिष्ट होना चाहिए", "table-tabs": "टेबल टैब्स", "show-cell-actions-menu-mobile": "मोबाइल मोड में सेल एक्शन ड्रॉपडाउन मेनू दिखाएँ", - "disable-sorting": "सॉर्टिंग अक्षम करें" + "disable-sorting": "सॉर्टिंग अक्षम करें", + "sort-by": "टैब्स को इस आधार पर क्रमबद्ध करें", + "sort-timestamp-option": "बनाने का समय" }, "latest-chart": { "total": "कुल", @@ -9497,11 +10124,28 @@ "content": "

एंड-यूज़र डैशबोर्ड बनाए जाने पर, कस्टमर उपयोगकर्ता केवल अपने डिवाइस देख सकेगा, और अन्य कस्टमर का डेटा छुपा रहेगा।

इसे कैसे करना है, इसके लिए डॉक्यूमेंटेशन देखें:

" } } + }, + "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": "मटेरियल आइकन्स", "show-all": "सभी आइकन्स दिखाएँ", @@ -9542,6 +10186,7 @@ "items-per-page-separator": "में से" }, "language": { + "auto": "Auto", "language": "भाषा" } } \ No newline at end of file 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 01d828b1be..0f8b4adea2 100644 --- a/ui-ngx/src/assets/locale/locale.constant-nl_NL.json +++ b/ui-ngx/src/assets/locale/locale.constant-nl_NL.json @@ -936,6 +936,8 @@ "transport-data-points-hourly-activity": "Transportdatapunten: uurlijkse activiteit", "transport-data-points-daily-activity": "Transportdatapunten: dagelijkse activiteit", "transport-data-points-monthly-activity": "Transportdatapunten: maandelijkse activiteit", + "view-details": "Details bekijken", + "view-statistics": "Statistieken bekijken", "transport-messages": "Transportberichten", "transport-messages-hourly-activity": "Transportberichten: uurlijkse activiteit", "transport-data-point-hourly-activity": "Transportdatapunt: uurlijkse activiteit", 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 7e6e464202..9b2c33dae9 100644 --- a/ui-ngx/src/assets/locale/locale.constant-no_NO.json +++ b/ui-ngx/src/assets/locale/locale.constant-no_NO.json @@ -78,6 +78,7 @@ "show-more": "Vis mer", "dont-show-again": "Ikke vis igjen", "see-documentation": "Se dokumentasjon", + "see-debug-events": "Se feilsøkingshendelser", "clear": "Tøm", "upload": "Last opp", "delete-anyway": "Slett likevel", @@ -485,6 +486,7 @@ "2fa": { "2fa": "Tofaktorautentisering", "available-providers": "Tilgjengelige leverandører", + "available-providers-required": "Minst én 2FA-leverandør må konfigureres.", "issuer-name": "Utstederens navn", "issuer-name-required": "Utstederens navn er påkrevd.", "max-verification-failures-before-user-lockout": "Maks antall mislykkede verifiseringer før brukerkonto låses", @@ -513,7 +515,9 @@ "verification-message-template-required": "Meldingsmal for verifisering er påkrevd.", "within-time": "Innen tid (sek)", "within-time-pattern": "Tiden må være et positivt heltall.", - "within-time-required": "Tid er påkrevd." + "within-time-required": "Tid er påkrevd.", + "force-2fa": "Håndhev tofaktorautentisering", + "enforce-for": "Håndhev for" }, "jwt": { "security-settings": "JWT sikkerhetsinnstillinger", @@ -549,6 +553,7 @@ }, "alarm": { "alarm": "Alarm", + "alarm-list": "Alarmliste", "alarms": "Alarmer", "all-alarms": "Alle alarmer", "select-alarm": "Velg alarm", @@ -649,7 +654,16 @@ "alarm-type": "Alarmtype", "enter-alarm-type": "Angi alarmtype", "no-alarm-types-matching": "Ingen alarmtyper som samsvarer med '{{entitySubtype}}' ble funnet.", - "alarm-type-list-empty": "Ingen alarmtyper valgt." + "alarm-type-list-empty": "Ingen alarmtyper valgt.", + "system-comments": { + "acked-by-user": "Alarmen ble kvittert av bruker {{userName}}", + "cleared-by-user": "Alarmen ble nullstilt av bruker {{userName}}", + "assigned-to-user": "Alarmen ble tilordnet av bruker {{userName}} til bruker {{assigneeName}}", + "unassigned-to-user": "Tilordningen av alarmen ble fjernet av bruker {{userName}}", + "unassigned-from-deleted-user": "Tilordningen av alarmen ble fjernet fordi brukeren {{userName}} - ble slettet", + "comment-deleted": "Bruker {{userName}} slettet kommentaren sin", + "severity-changed": "Alarmens alvorlighetsgrad ble oppdatert fra {{oldSeverity}} til {{newSeverity}}" + } }, "alarm-activity": { "add": "Legg til en kommentar...", @@ -677,8 +691,8 @@ "filter-type-entity-list": "Enhetsliste", "filter-type-entity-name": "Enhetsnavn", "filter-type-entity-type": "Enhetstype", - "filter-type-state-entity": "Enhet fra dashboard-tilstand", - "filter-type-state-entity-description": "Enhet hentet fra dashboard-tilstandsparametere", + "filter-type-state-entity": "Entitet fra dashbordtilstand", + "filter-type-state-entity-description": "Entitet hentet fra parametere for dashbordtilstand", "filter-type-asset-type": "Asset-type", "filter-type-asset-type-description": "Assets av typen '{{assetTypes}}'", "filter-type-asset-type-and-name-description": "Assets av typen '{{assetTypes}}' og med navn som begynner med '{{prefix}}'", @@ -709,17 +723,18 @@ "filter-type-required": "Filtertype er påkrevd.", "entity-filter-no-entity-matched": "Ingen enheter samsvarer med spesifisert filter.", "no-entity-filter-specified": "Ingen enhetsfilter spesifisert", - "root-state-entity": "Bruk dashboard-tilstandsenhet som rot", + "root-state-entity": "Bruk entitet for dashbordtilstand som rot", "last-level-relation": "Hent kun siste relasjonsnivå", "root-entity": "Rotenhet", "state-entity-parameter-name": "Parameter for tilstandsenhet", "default-state-entity": "Standard tilstandsenhet", "default-entity-parameter-name": "Som standard", - "max-relation-level": "Maks relasjonsnivå", + "query-options": "Spørringsalternativer", + "max-relation-level": "Maksimalt relasjonsnivå", "unlimited-level": "Ubegrenset nivå", - "state-entity": "Dashboard tilstandsenhet", - "all-entities": "Alle enheter", - "any-relation": "enhver" + "state-entity": "Dashbordtilstandsentitet", + "all-entities": "Alle entiteter", + "any-relation": "alle" }, "asset": { "asset": "Eiendel", @@ -753,6 +768,7 @@ "name-max-length": "Navnet må være kortere enn 256 tegn", "label-max-length": "Etiketten må være kortere enn 256 tegn", "description": "Beskrivelse", + "description-required": "Beskrivelse er påkrevd.", "type": "Type", "type-required": "Type er påkrevd.", "details": "Detaljer", @@ -866,6 +882,9 @@ "alarms-created-monthly-activity": "Månedlig aktivitet for opprettede alarmer", "data-points": "Datapunkter", "data-points-storage-days": "Lagringsdager for datapunkter", + "data-points-storage-days-hourly-activity": "Lagringsdager for datapunkter – timeaktivitet", + "data-points-storage-days-daily-activity": "Lagringsdager for datapunkter – daglig aktivitet", + "data-points-storage-days-monthly-activity": "Lagringsdager for datapunkter – månedlig aktivitet", "device-api": "Enhets-API", "email": "E-post", "email-messages": "E-postmeldinger", @@ -899,6 +918,7 @@ "rule-node": "Regelnode", "sms": "SMS", "sms-messages": "SMS-meldinger", + "sms-messages-hourly-activity": "SMS-meldinger – timeaktivitet", "sms-messages-daily-activity": "Daglig aktivitet for SMS-meldinger", "sms-messages-monthly-activity": "Månedlig aktivitet for SMS-meldinger", "successful": "${entityName} Vellykket", @@ -908,16 +928,48 @@ "telemetry-persistence-hourly-activity": "Timebasert aktivitet for telemetrilagring", "telemetry-persistence-monthly-activity": "Månedlig aktivitet for telemetrilagring", "transport": "Transport", - "transport-daily-activity": "Daglig aktivitet for transport", + "transport-msg-hourly-activity": "Transportmeldinger – timeaktivitet", + "transport-msg-daily-activity": "Transportmeldinger – daglig aktivitet", + "transport-msg-monthly-activity": "Transportmeldinger – månedlig aktivitet", + "transport-daily-activity": "Transport – daglig aktivitet", "transport-data-points": "Transportdatapunkter", - "transport-hourly-activity": "Timebasert aktivitet for transport", - "transport-messages": "Transportmeldinger", - "transport-monthly-activity": "Månedlig aktivitet for transport", + "transport-data-points-hourly-activity": "Transportdatapunkter – timeaktivitet", + "transport-data-points-daily-activity": "Transportdatapunkter – daglig aktivitet", + "transport-data-points-monthly-activity": "Transportdatapunkter – månedlig aktivitet", "view-details": "Vis detaljer", - "view-statistics": "Vis statistikk" + "view-statistics": "Vis statistikk", + "transport-messages": "Transportmeldinger", + "transport-messages-hourly-activity": "Transportmeldinger – timeaktivitet", + "transport-data-point-hourly-activity": "Transportdatapunkt – timeaktivitet", + "javascript-function-executions": "JavaScript-funksjonskjøringer", + "javascript-function-executions-hourly-activity": "JavaScript-funksjonskjøringer – timeaktivitet", + "javascript-function-executions-daily-activity": "JavaScript-funksjonskjøringer – daglig aktivitet", + "javascript-function-executions-monthly-activity": "JavaScript-funksjonskjøringer – månedlig aktivitet", + "tbel-function-executions": "TBEL-funksjonskjøringer", + "tbel-function-executions-hourly-activity": "TBEL-funksjonskjøringer – timeaktivitet", + "tbel-function-executions-daily-activity": "TBEL-funksjonskjøringer – daglig aktivitet", + "tbel-function-executions-monthly-activity": "TBEL-funksjonskjøringer – månedlig aktivitet", + "created-reports": "Opprettede rapporter", + "created-reports-hourly-activity": "Opprettede rapporter – timeaktivitet", + "created-reports-daily-activity": "Opprettede rapporter – daglig aktivitet", + "created-reports-monthly-activity": "Opprettede rapporter – månedlig aktivitet", + "emails": "E-poster", + "emails-hourly-activity": "E-poster – timeaktivitet", + "emails-daily-activity": "E-poster – daglig aktivitet", + "emails-monthly-activity": "E-poster – månedlig aktivitet", + "status": { + "enabled": "Aktivert", + "disabled": "Deaktivert", + "warning": "Advarsel" + } }, "api-limit": { - "cassandra-queries": "Cassandra-forespørsler", + "cassandra-write-queries-core": "REST API Cassandra-skrivespørringer", + "cassandra-read-queries-core": "REST API- og WS-telemetri Cassandra-lesespørringer", + "cassandra-write-queries-rule-engine": "Regelmotor-telemetri Cassandra-skrivespørringer", + "cassandra-read-queries-rule-engine": "Regelmotor-telemetri Cassandra-lesespørringer", + "cassandra-write-queries-monolith": "Monolith-telemetri Cassandra-skrivespørringer", + "cassandra-read-queries-monolith": "Monolith-telemetri Cassandra-lesespørringer", "entity-version-creation": "Oppretting av enhetsversjon", "entity-version-load": "Innlasting av enhetsversjon", "notification-requests": "Varslingsforespørsler", @@ -934,6 +986,40 @@ "edge-uplink-messages": "Edge-opplinkmeldinger", "edge-uplink-messages-per-edge": "Edge-opplinkmeldinger per edge" }, + "api-key": { + "api-key": "API-nøkkel", + "api-keys": "API-nøkler", + "delete-api-key-title": "Er du sikker på at du vil slette API-nøkkelen '{{name}}'?", + "delete-api-key-text": "Vær forsiktig, etter bekreftelsen vil nøkkelen ikke kunne gjenopprettes.", + "delete-api-keys-title": "Er du sikker på at du vil slette { count, plural, =1 {1 API-nøkkel} other {# API-nøkler} }?", + "delete-api-keys-text": "Vær forsiktig, etter bekreftelsen vil alle valgte nøkler ikke kunne gjenopprettes.", + "expiration-date": "Utløpsdato", + "date": "dato", + "description": "Beskrivelse", + "disable": "Deaktiver", + "edit-description": "Rediger beskrivelse", + "enable": "Aktiver API-nøkkel ", + "expiration-time": "Utløpstid", + "expiration-time-never": "Aldri", + "expiration-time-custom": "Egendefinert", + "generate": "Generer", + "generate-title": "Generer API-nøkkel", + "generate-text": "Merk: API-nøkkelen arver tillatelsene til brukeren den opprettes for.", + "generated-api-key-title": "API-nøkkel generert. La oss sjekke tilkoblingen!", + "generated-api-key-copy": "Sørg for å kopiere og lagre API-nøkkelen din nå, siden du ikke vil kunne se den igjen.", + "generated-api-key-command": "Bruk følgende instruksjoner for å sjekke tilkoblingen. Som resultat bør du motta informasjon om gjeldende bruker:", + "generated-api-key-insecure-url": "Å kjøre kommandoer over en usikker HTTP-tilkobling vil sende API-nøkkelen din ukryptert, noe som gjør den sårbar for avlytting.", + "list": "{ count, plural, =1 {Én API-nøkkel} other {Liste over # API-nøkler} }", + "manage": "Administrer", + "manage-api-keys": "Administrer API-nøkler", + "no-found": "Fant ingen API-nøkler", + "selected-api-keys": "{ count, plural, =1 {1 API-nøkkel} other {# API-nøkler} } valgt", + "search": "Søk etter API-nøkler", + "status": "Status", + "status-active": "Aktiv", + "status-inactive": "Inaktiv", + "status-expired": "Utløpt" + }, "audit-log": { "audit": "Revisjon", "audit-logs": "Revisjonslogger", @@ -987,7 +1073,11 @@ "type-provision-failure": "Klargjøring av enhet mislyktes", "type-timeseries-updated": "Telemetri oppdatert", "type-timeseries-deleted": "Telemetri slettet", - "type-sms-sent": "SMS sendt" + "type-sms-sent": "SMS sendt", + "any-type": "Enhver type", + "audit-log-filter-title": "Revisjonsloggfilter", + "filter-title": "Filter", + "filter-types": "Revisjonsloggtyper" }, "debug-settings": { "label": "Feilsøkingskonfigurasjon", @@ -1008,12 +1098,25 @@ "selected-fields": "{ count, plural, =1 {1 beregnet felt} other {# beregnede felt} } valgt", "type": { "simple": "Enkel", - "script": "Skript" + "simple-hint": "Enkel aritmetisk beregning basert på inndataargumenter.", + "script": "Skript", + "script-hint": "Beregning over definerte argumenter ved hjelp av et TBEL-skript.", + "geofencing": "Geofencing", + "geofencing-hint": "Evaluering av entitetens GPS-posisjon og overganger mot konfigurerte geofencing-sonegrupper.", + "propagation": "Propagering", + "propagation-hint": "Propagering av data til overordnede eller underordnede entiteter basert på relasjonsretning og -type.", + "related-entities-aggregation": "Aggregering av relaterte entiteter", + "related-entities-aggregation-hint": "Aggregering av siste data fra relaterte entiteter.", + "time-series-data-aggregation": "Aggregering av tidsseriedata", + "time-series-data-aggregation-hint": "Aggregering av historiske data fra en gjeldende entitet." }, + "preview": "Forhåndsvisning", "arguments": "Argumenter", "decimals-by-default": "Desimaler som standard", "debugging": "Feilsøking av beregnet felt", + "calculated-field-details": "Detaljer for beregnet felt", "argument-name": "Argumentnavn", + "name": "Navn", "datasource": "Datakilde", "add-argument": "Legg til argument", "test-script-function": "Test skriptfunksjon", @@ -1025,8 +1128,9 @@ "argument-asset": "Eiendel", "argument-customer": "Kunde", "argument-tenant": "Gjeldende leietaker", + "argument-owner": "Nåværende eier", + "argument-relation-query": "Relaterte entiteter", "argument-type": "Argumenttype", - "see-debug-events": "Se feilsøkingshendelser", "attribute": "Attributt", "copy-argument-name": "Kopier argumentnavn", "timeseries-key": "Tidsserienøkkel", @@ -1039,12 +1143,14 @@ "shared-attributes": "Delte attributter", "attribute-key": "Attributtnøkkel", "default-value": "Standardverdi", + "default-value-required": "Standardverdi er påkrevd.", "limit": "Maksverdier", "time-window": "Tidsvindu", "customer-name": "Kundenavn", "asset-name": "Eiendelsnavn", "timeseries": "Tidsserie", "output": "Utdata", + "output-hint": "Definerer hvordan output behandles.", "create": "Opprett nytt beregnet felt", "file": "Fil for beregnet felt", "invalid-file-error": "Ugyldig filformat. Vennligst sørg for at filen er en gyldig JSON-fil.", @@ -1057,8 +1163,175 @@ "delete-multiple-title": "Er du sikker på at du vil slette { count, plural, =1 {1 beregnet felt} other {# beregnede felt} }?", "delete-multiple-text": "Vær forsiktig, etter bekreftelse vil alle valgte beregnede felt bli fjernet og all relatert data vil ikke kunne gjenopprettes.", "test-with-this-message": "Test med denne meldingen", + "use-latest-timestamp": "Bruk nyeste tidsstempel", + "entity-coordinates": "Entitetskoordinater", + "latitude-time-series-key": "Breddegrad tidsserienøkkel", + "latitude-time-series-key-required": "Breddegrad tidsserienøkkel er påkrevd.", + "longitude-time-series-key": "Lengdegrad tidsserienøkkel", + "longitude-time-series-key-required": "Lengdegrad tidsserienøkkel er påkrevd.", + "geofencing-zone-groups": "Geofencing sonegrupper", + "geofencing-zone-groups-settings": "Innstillinger for geofencing sonegruppe", + "target-zone": "Målsone", + "perimeter-key": "Perimeter-nøkkel", + "report-strategy": "Rapporteringsstrategi", + "no-zone-configured": "Minst én sone er påkrevd.", + "no-zone-configured-required": "Minst én sonegruppe må være konfigurert.", + "add-zone-group": "Legg til sonegruppe", + "report-transition-event-only": "Kun overgangshendelser", + "report-presence-status-only": "Kun tilstedeværelsesstatus", + "report-transition-event-and-presence": "Tilstedeværelsesstatus og overgangshendelser", + "perimeter-attribute-key": "Perimeter-attributtnøkkel", + "perimeter-attribute-key-required": "Perimeter-attributtnøkkel er påkrevd.", + "perimeter-attribute-key-pattern": "Perimeter-attributtnøkkel er ugyldig.", + "entity-zone-relationship": "Sti fra entitet til soner", + "direction": "Relasjonsretning", + "direction-from": "Fra entitet til sone", + "direction-to": "Fra sone til entitet", + "relation-type": "Relasjonstype", + "create-relation-with-matched-zones": "Opprett relasjoner for kildeentitet med samsvarende soner", + "relation-level": "Relasjonsnivå", + "fetch-last-available-level": "Hent kun siste tilgjengelige nivå", + "zone-group-refresh-interval": "Oppdateringsintervall for sonegrupper", + "copy-zone-group-name": "Kopier sonegruppens navn", + "open-details-page": "Åpne entitetsdetaljside", + "level": "Nivå", + "direction-level": "Retning", + "direction-up": "Opp", + "direction-up-parent": "Opp til overordnet", + "direction-down": "Ned", + "direction-down-child": "Ned til underordnet", + "add-level": "Legg til nivå", + "delete-level": "Slett nivå", + "no-level": "Ingen nivå konfigurert", + "levels-required": "Minst ett nivå må være konfigurert.", + "max-allowed-levels-error": "Relasjonsnivået overskrider maks tillatt nivå.", + "propagation-path-related-entities": "Propageringssti til relaterte entiteter", + "propagate-type": { + "arguments-only": "Kun argumenter", + "expression-result": "Beregningens resultat" + }, + "script": "Skript", + "data-propagate": "Data som skal propageres", + "output-key": "Output-nøkkel", + "copy-output-key": "Kopier output-nøkkel", + "aggregation-path-related-entities": "Aggregasjonssti til relaterte entiteter", + "deduplication-interval": "Dedupliseringsintervall", + "deduplication-interval-min": "Dedupliseringsintervallet bør være minst {{ sec }} sekunder.", + "deduplication-interval-hint": "Minimalt tidsrom mellom telemetriaggregasjoner.", + "deduplication-interval-required": "Dedupliseringsintervall er påkrevd.", + "calculated-field-filter-title": "Filter for beregnet felt", + "filter-title": "Filter", + "calculated-field-types": "Typer av beregnede felt", + "events": "Hendelser", + "any-type": "Enhver type", + "metrics": { + "metrics": "Metrikker", + "metrics-empty": "Minst én metrikk må være konfigurert.", + "metric-name": "Metrikknavn", + "metric-name-required": "Metrikknavn er påkrevd.", + "metric-name-pattern": "Metrikknavn er ugyldig.", + "metric-name-duplicate": "Metrikk med dette navnet finnes allerede.", + "metric-name-max-length": "Metrikknavnet bør være mindre enn 256 tegn.", + "metric-name-forbidden": "Metrikknavnet er reservert og kan ikke brukes.", + "copy-metric-name": "Kopier metrikknavn", + "argument-name": "Argumentnavn", + "aggregation": "Aggregering", + "aggregation-type": { + "avg": "Gjennomsnitt", + "min": "Minimum", + "max": "Maksimum", + "sum": "Sum", + "count": "Antall", + "count-unique": "Antall unike" + }, + "filtered": "Filtrert", + "value-source": "Verdi kilde", + "value-source-hint": "Definerer hvordan verdien for aggregering hentes.", + "value-source-type": { + "key": "Nøkkel", + "function": "Funksjon" + }, + "no-metrics-configured": "Minst én metrikk er påkrevd.", + "add-metric": "Legg til metrikk", + "max-metrics": "Maksimalt antall metrikker er nådd.", + "metric-settings": "Metrikkinnstillinger", + "filter": "Filter", + "filter-hint": "Aktiverer filtrering av entiteter under aggregering. Filterfunksjonen må returnere en boolsk verdi og kan bruke alle konfigurerte argumenter." + }, + "output-strategy": { + "strategy": "Strategi", + "process-right-away": "Behandle umiddelbart", + "process-rule-chains": "Behandle via Regelkjeder", + "save-time-series": "Lagre i tidsserie", + "save-database": "Lagre i database", + "save-latest-values": "Lagre i siste verdier", + "send-web-sockets": "Send til WebSockets", + "save-calculated-fields": "Send til beregnede felt", + "update-attribute-only-on-value-change": "Oppdater attributt kun ved verdiendring", + "send-attributes-updated-notification": "Send varsel om oppdaterte attributter", + "ttl": "Egendefinert TTL", + "ttl-required": "TTL er påkrevd", + "ttl-min": "Kun minimum TTL på 0 er tillatt", + "processing-parameters": "Behandlingsparametere", + "hint": { + "strategy": "Styrer om resultatet behandles umiddelbart eller sendes til en regelkjede for videre behandling.", + "processing-options": "Behandlingsalternativer", + "update-attribute-only-on-value-change": "Oppdaterer attributtet ved hver innkommende melding, uavhengig av om verdien har endret seg. Dette øker API-bruken og reduserer ytelsen.", + "update-attribute-only-on-value-change-enabled": "Oppdaterer attributtet kun når verdien endres. Hvis verdien er uendret, oppdateres ikke tidsstempler og varsler sendes ikke.", + "send-attributes-updated-notification": "Sender en «Attributter oppdatert»-hendelse til standard regelkjede.", + "save-time-series": "Lagrer tidsseriedata i ts_kv-tabellen i databasen.", + "save-database": "Lagrer attributtdata i databasen.", + "save-latest-values": "Oppdaterer tidsseriedata i ts_kv_latest-tabellen i databasen hvis den nye verdien er nyere.", + "send-web-sockets-attribute": "Varsler WebSocket-abonnementer om oppdateringer av attributtdata.", + "send-web-sockets-time-series": "Varsler WebSocket-abonnementer om oppdateringer av tidsseriedata.", + "save-calculated-fields-attribute": "Varsler beregnede felt om oppdateringer av attributtdata.", + "save-calculated-fields-time-series": "Varsler beregnede felt om oppdateringer av tidsseriedata.", + "ttl": "Definerer oppbevaringsperioden for tidsseriedata. Hvis deaktivert, brukes TTL fra Leietakerprofil." + } + }, + "aggregate-interval-type": "Aggregeringsintervalltype", + "aggregate-interval-value": "Aggregeringsintervallverdi", + "aggregate-interval-value-required": "Aggregeringsintervallverdi er påkrevd.", + "aggregate-interval-value-min": "Aggregeringsintervallverdi bør være minst { sec, plural, =0 {0 sekund} =1 {1 sekund} other {# sekunder} }.", + "aggregate-interval-value-step-multiple-of": "Aggregeringsintervallverdi må være en divisor eller et multiplum av 1 dag.", + "aggregate-period": { + "hour": "Time", + "day": "Dag", + "week": "Uke (man–søn)", + "week-sun-sat": "Uke (søn–lør)", + "month": "Måned", + "quarter": "Kvartal", + "year": "År", + "custom": "Egendefinert" + }, + "aggregate-period-hint-offset": "Aggregeringsintervallet ditt blir: {{ interval }}", + "aggregate-period-hint-offset-and-so-on": "Aggregeringsintervallet ditt blir: {{ interval }} og så videre.", + "entity-aggregation": { + "argument-hint": "Data hentes fra gjeldende entitet.", + "argument-title-hint": "Definerer inndataargumentene som brukes for aggregering.", + "argument-setting-hint": "Siste telemetri er den eneste tilgjengelige argumenttypen for dette beregnede feltet.", + "aggregation-interval": "Aggregeringsintervall", + "aggregation-interval-hint": "Definerer hvor ofte aggregering utføres. Eksempel: hver 1 time aggregerer data kl. 00:00, 01:00, 02:00 osv. Aggregeringsresultater lagres med tidsstempelet som tilsvarer starten på aggregeringsintervallet.", + "apply-offset": "Bruk forskyvning på aggregeringsintervall", + "apply-offset-hint": "Definerer hvor mye starten på hver aggregeringsperiode skal forskyves (f.eks. +10 minutter – 00:10, 01:10).", + "offset-value": "Forskyvningsverdi", + "offset-value-required": "Forskyvningsverdi er påkrevd.", + "offset-value-min": "Forskyvningsverdi må være et positivt heltall.", + "offset-value-max": "Forskyvningsverdi bør være mindre enn aggregeringsintervallverdien.", + "wait-delay": "Bruk ventetidsavbrudd for forsinket telemetri", + "wait-delay-hint": "Definerer hvor lenge det skal ventes på forsinket telemetri etter at intervallet er avsluttet. Hvis slik telemetri kommer inn, beregnes resultatet for intervallet på nytt.", + "duration": "Varighet", + "duration-required": "Varighet er påkrevd.", + "duration-min": "Varighet bør være minst 1 minutt.", + "duration-hint": "Hvor lenge det skal ventes på forsinkede data etter at intervallet er avsluttet.", + "produce-intermediate-result": "Produser mellomresultat", + "produce-intermediate-result-hint": "Beregner metrikker i løpet av gjeldende intervall for å produsere et mellomresultat. Oppdateringer skjer ikke oftere enn én gang hver {{ time }}." + }, "hint": { - "arguments-simple-with-rolling": "Beregnede felt av enkel type bør ikke inneholde nøkler med rullende tidsserietype.", + "arguments-simple-with-rolling": "Beregnet felt av typen «Enkel» skal ikke inneholde nøkler med tidsserie-rulleringstype.", + "arguments-propagate-arguments-with-rolling": "Typen «Tidsserie-rullering» er ikke kompatibel med «Kun argumenter»-propagering.", + "arguments-propagate-argument-entity-type": "Entitetstype er ikke kompatibel med «Kun argumenter»-propagering.", + "arguments-propagate-argument-must-current-entity": "Minst ett argument må være konfigurert med kildentitetstypen «Gjeldende entitet».", "arguments-empty": "Argumenter skal ikke være tomme.", "expression-required": "Uttrykk er påkrevd.", "expression-invalid": "Uttrykk er ugyldig", @@ -1068,13 +1341,316 @@ "argument-name-duplicate": "Et argument med dette navnet finnes allerede.", "argument-name-max-length": "Argumentnavn må være kortere enn 256 tegn.", "argument-name-forbidden": "Argumentnavnet er reservert og kan ikke brukes.", + "output-key-required": "Output-nøkkel er påkrevd.", + "output-key-pattern": "Output-nøkkel er ugyldig.", + "output-key-duplicate": "Nøkkel med dette navnet finnes allerede.", + "output-key-max-length": "Output-nøkkel bør være mindre enn 256 tegn.", + "output-key-forbidden": "Output-nøkkel er reservert og kan ikke brukes.", + "entity-type-required": "Entitetstype er påkrevd", + "name-required": "Navn er påkrevd.", + "name-pattern": "Navn er ugyldig.", + "name-duplicate": "Navn med dette navnet finnes allerede.", + "name-max-length": "Navn bør være mindre enn 256 tegn.", + "name-forbidden": "Navn er reservert og kan ikke brukes.", "argument-type-required": "Argumenttype er påkrevd.", "max-args": "Maksimalt antall argumenter er nådd.", "decimals-range": "Desimaler som standard må være et tall mellom 0 og 15.", "expression": "Standarduttrykket viser hvordan man konverterer temperatur fra Fahrenheit til Celsius.", - "arguments-entity-not-found": "Målenheten for argument ikke funnet." + "arguments-entity-not-found": "Målenheten for argument ikke funnet.", + "use-latest-timestamp": "Hvis aktivert, lagres den beregnede verdien ved å bruke det nyeste tidsstempelet fra argumentenes telemetri, i stedet for servertid.", + "entity-coordinates": "Angi tidsserienøklene som gir entitetens GPS-koordinater (breddegrad og lengdegrad).", + "geofencing-zone-groups": "Definer én eller flere geofencing-sonegrupper som skal sjekkes (f.eks. «allowedZones», «restrictedZones»). Hver gruppe må ha et unikt navn, som brukes som prefiks for telemetrinøkler i utdata fra beregnet felt.", + "perimeter-attribute-key": "Angi attributtnøkkelen som inneholder definisjonen av geofencing-sonens omkrets. Omkretsen hentes alltid fra attributter på serversiden for soneentiteten.", + "report-strategy": "Tilstedeværelsesstatus rapporterer om entiteten for øyeblikket er INNE i eller UTENFOR sonegruppen. Overgangshendelser rapporterer når entiteten GIKK INN I eller FORLOT sonegruppen.", + "create-relation-with-matched-zones": "Opprett og vedlikehold automatisk relasjoner mellom entiteten og sonene den for øyeblikket er inne i. Relasjoner fjernes når entiteten forlater en sone og opprettes når den går inn i en ny.", + "relation-type-required": "Relasjonstype er påkrevd.", + "relation-level-required": "Relasjonsnivå er påkrevd.", + "relation-level-min": "Minimumsverdi for relasjonsnivå er 1.", + "relation-level-max": "Maksimumsverdi for relasjonsnivå er {{max}}.", + "geofencing-empty": "Minst én sonegruppe må være konfigurert.", + "geofencing-entity-not-found": "Geofencing-målentitet ble ikke funnet.", + "max-geofencing-zone": "Maksimalt antall geofencing-soner er nådd.", + "zone-group-refresh-interval": "Definerer hvor ofte sonegrupper konfigurert via relaterte entiteter oppdateres.", + "zone-group-refresh-interval-required": "Oppdateringsintervall for sonegrupper er påkrevd.", + "zone-group-refresh-interval-min": "Oppdateringsintervallet for sonegrupper bør være minst {{ min }} sekunder.", + "propagation-path-related-entities": "Definerer en direkte sti på ett nivå til en relatert entitet basert på valgt retning og relasjonstype. Kun relasjoner mellom enhets-, eiendels-, kunde- og leietakerentiteter støttes. Maksimalt antall entiteter som løses via relasjonsstien er {{ max }}.", + "data-propagate": "Definerer dataene som skal propageres fra argumentene konfigurert nedenfor. «Kun argumenter» bruker de hentede dataene direkte, mens «Beregningens resultat» beregner en ny verdi fra disse dataene.", + "aggregation-path-related-entities": "Definerer en aggregeringssti på ett nivå via direkte relasjoner med overordnede eller underordnede entiteter, basert på retning og relasjonstype. Kun relasjoner mellom enhets-, eiendels-, kunde- og leietakerentiteter støttes. Maksimalt antall entiteter som løses via relasjonsstien er {{ max }}.", + "arguments-aggregation": "Definerer inndataargumentene som brukes for filtrering og aggregering.", + "setting-arguments-aggregation": "Data hentes fra relaterte entiteter konfigurert i aggregeringsstien.", + "metrics": "Definerer metrikker som aggregeres basert på konfigurerte argumenter.", + "entity-aggregation-metrics": "Definerer metrikker som aggregeres basert på konfigurerte argumenter over de angitte tidsintervallene.", + "import-invalid-calculated-field-type": "Kan ikke importere beregnet felt: Ugyldig struktur for beregnet felt.", + "simple-expression-title": "Aritmetisk uttrykk som definerer hvordan den beregnede verdien beregnes.", + "script-title": "TBEL-skript som definerer beregningslogikken og utdataverdiene.", + "simple-arguments": "Aritmetisk uttrykk som definerer hvordan den beregnede verdien beregnes.", + "script-arguments": "Definerer inndataargumentene som er tilgjengelige for skriptet." + } + }, + "alarm-rule": { + "alarm-rules-tab": "Alarmregler", + "alarm-rule": "Alarmregel", + "alarm-rules": "Alarmregler", + "alarm-rules-old": "Gammel", + "alarm-rules-actual": "Aktuell", + "severities": "Alvorlighetsgrader", + "cleared": "Tømmekondisjon", + "delete-title": "Er du sikker på at du vil slette alarmregelen '{{title}}'?", + "delete-text": "Vær forsiktig, etter bekreftelsen vil alarmregelen og alle tilknyttede data ikke kunne gjenopprettes.", + "delete-multiple-title": "Er du sikker på at du vil slette { count, plural, =1 {1 alarmregel} other {# alarmregler} }?", + "delete-multiple-text": "Vær forsiktig, etter bekreftelsen vil alle valgte alarmregler bli fjernet og alle tilknyttede data vil ikke kunne gjenopprettes.", + "create": "Opprett ny alarmregel", + "add": "Legg til alarmregel", + "copy": "Kopier konfigurasjon for alarmregel", + "details": "Detaljer for alarmregel", + "no-found": "Fant ingen alarmregler", + "list": "{ count, plural, =1 {Én alarmregel} other {Liste over # alarmregler} }", + "selected-fields": "{ count, plural, =1 {1 alarmregel} other {# alarmregler} } valgt", + "import": "Importer alarmregel", + "file": "Alarmregelfil", + "export": "Eksporter alarmregel", + "export-failed-error": "Kan ikke eksportere alarmregel: {{error}}", + "entity-type": "Entitetstype", + "entity-type-required": "Entitetstype er påkrevd.", + "alarm-type": "Alarmtype", + "alarm-type-hint": "Unik identifikator (f.eks. HighTempAlarm) innenfor omfanget til alarmens opphav (Enhet, Eiendel osv.) for å unngå konflikter.", + "alarm-type-required": "Alarmtype er påkrevd.", + "alarm-type-pattern": "Alarmtype er ugyldig.", + "alarm-type-max-length": "Alarmtype bør være mindre enn 256 tegn.", + "clear-alarm": "Nullstill alarm", + "value-argument": "Argument", + "value-argument-required": "Argument er påkrevd.", + "static-settings": "Statiske innstillinger", + "configuration": "Konfigurasjon", + "static-schedule": "Statisk", + "dynamic-schedule": "Dynamisk", + "operation-and": "OG", + "operation-or": "ELLER", + "condition-during": "I løpet av {{during}}", + "condition-during-dynamic": "I løpet av \"{{ attribute }}\"", + "condition-repeat-times": "Gjentas { count, plural, =1 {1 gang} other {# ganger} }", + "condition-repeat-times-dynamic": "Gjentas \"{{ attribute }}\" ganger", + "filter-preview": "Forhåndsvisning av filter", + "condition-settings": "Betingelsesinnstillinger", + "static": "Statisk", + "dynamic": "Dynamisk", + "argument-filters": "Argumentfiltre", + "argument-name": "Argumentnavn", + "value-type": "Verditype", + "general": "Generelt", + "filters": "Filtre", + "date-time-hint": "Argumentet må være i epoch-millisekunder. Eksempel: 1698839340000 tilsvarer 2023-11-01 12:49:00 UTC.", + "operation": "Operasjon", + "value-source": "Verdikilde", + "value": "Verdi", + "ignore-case": "Ignorer store/små bokstaver", + "condition": "Betingelse", + "script": "Skript", + "add-filter": "Legg til argumentfilter", + "edit-filter": "Argumentfilter", + "remove-filter": "Fjern argumentfilter", + "no-filter": "Minst ett filter er påkrevd.", + "conditions": { + "simple": "Enkel", + "duration": "Varighet", + "repeating": "Gjentakende" + }, + "schedule-title": "Tidsplan", + "edit-schedule": "Rediger alarmtidsplan", + "schedule-type": "Tidsplanleggertype", + "schedule-type-required": "Tidsplanleggertype er påkrevd.", + "schedule": { + "any-time": "Aktiv hele tiden", + "specific-time": "Aktiv på et bestemt tidspunkt", + "custom": "Egendefinert" + }, + "schedule-day": { + "monday": "Mandag", + "tuesday": "Tirsdag", + "wednesday": "Onsdag", + "thursday": "Torsdag", + "friday": "Fredag", + "saturday": "Lørdag", + "sunday": "Søndag" + }, + "schedule-days": "Dager", + "schedule-time": "Tid", + "schedule-time-from": "Fra", + "schedule-time-to": "Til", + "schedule-days-of-week-required": "Minst én ukedag må velges.", + "tbel": "TBEL", + "expression-type": { + "simple": "Enkel", + "script": "Skript" + }, + "operation-type": { + "and": "Og", + "or": "Eller" + }, + "filter-predicate-type": { + "string": "Streng", + "numeric": "Numerisk", + "boolean": "Boolsk", + "complex": "Kompleks" + }, + "alarm-rule-additional-info": "Tilleggsinformasjon", + "edit-alarm-rule-additional-info": "Rediger tilleggsinformasjon", + "alarm-rule-additional-info-placeholder": "Legg inn kommentarer og justeringer her for å vise dem i Alarminformasjon under Tilleggsinformasjon", + "alarm-rule-additional-info-hint": "Tips: bruk ${Argumentnavn} for å erstatte verdier for argumentene som brukes i alarmregelbetingelsen.", + "alarm-rule-additional-info-icon-hint": "Bruk Argumentnavn for å erstatte verdier for argumentene som brukes i alarmregelbetingelsen.", + "alarm-rule-mobile-dashboard": "Mobilt dashbord", + "alarm-rule-mobile-dashboard-hint": "Brukes av mobilapplikasjonen som et dashbord for alarmdetaljer.", + "alarm-rule-no-mobile-dashboard": "Ingen dashbord valgt", + "alarm-rule-condition": "Alarmregelbetingelse", + "enter-alarm-rule-condition-prompt": "Legg til betingelse", + "enter-alarm-rule-clear-condition-prompt": "Legg til tømmebetingelse", + "edit-alarm-rule-condition": "Alarmbetingelse", + "condition-type": "Betingelsestype", + "condition-type-hint": "\"Varighet\"- og \"Gjentakende\"-alternativene er ikke tilgjengelige når operasjonen \"Mangler i\" brukes i filteret.", + "select-alarm-severity": "Velg alarmaalvorlighetsgrad", + "add-create-alarm-rule-prompt": "Minst én utløserbetingelse er påkrevd.", + "add-create-alarm-rule": "Legg til utløserbetingelse", + "add-clear-alarm-rule": "Legg til tømmebetingelse", + "condition-duration": "Betingelsesvarighet", + "condition-duration-value": "Varighetsverdi", + "condition-duration-time-unit": "Tidsenhet", + "condition-duration-value-range": "Varighetsverdi må være i området fra 1 til 2147483647.", + "condition-duration-value-pattern": "Varighetsverdi må være heltall.", + "condition-duration-value-required": "Varighetsverdi er påkrevd.", + "condition-duration-time-unit-required": "Tidsenhet er påkrevd.", + "condition-repeating-value": "Antall hendelser", + "condition-repeating-value-hint": "Oppdatering av ethvert argument i alarmregelen vil telles som en hendelse", + "condition-repeating-value-range": "Antall hendelser må være i området fra 1 til 2147483647.", + "condition-repeating-value-pattern": "Antall hendelser må være heltall.", + "condition-repeating-value-required": "Antall hendelser er påkrevd.", + "create-conditions": "Utløserbetingelser", + "clear-condition": "Tømmebetingelse", + "no-clear-alarm-rule": "Ingen tømmebetingelse er konfigurert.", + "advanced-settings": "Avanserte innstillinger", + "propagate-alarm": "Propager alarm til relaterte entiteter", + "alarm-rule-relation-types-list": "Relasjonstyper", + "alarm-rule-relation-types-list-hint": "Definerer relasjonstyper for å filtrere relaterte entiteter. Hvis ikke angitt, propageres alarmen til alle relaterte entiteter.", + "propagate-alarm-to-owner": "Propager alarm til entitetseier (Kunde eller Leietaker)", + "propagate-alarm-to-tenant": "Propager alarm til Leietaker", + "alarm-rule-filter-title": "Alarmregelfilter", + "filter-title": "Filter", + "debugging": "Feilsøking av alarmregel", + "any-type": "Enhver type", + "enter-alarm-rule-type": "Angi alarmtype", + "no-alarm-rule-types-matching": "Fant ingen alarmtyper som samsvarer med '{{entitySubtype}}'.", + "alarm-rule-type-list-empty": "Ingen alarmtyper valgt.", + "alarm-rule-type-list": "Alarmtypeliste", + "alarm-rule-entity-list": "Entitetsliste", + "missing-for": "mangler i", + "time-unit": "Enhet", + "mode": "Modus", + "type": "Type", + "value-required": "Verdi er påkrevd.", + "min-value": "Verdien må være 1 eller større.", + "argument-in-use": "Argumentet brukes som generelt argument.", + "import-invalid-alarm-rule-type": "Kan ikke importere alarmregel: Ugyldig struktur for alarmregel.", + "no-filter-preview": "Ingen filter angitt", + "filter-operation": { + "and": "Og", + "or": "Eller" } }, + "ai-models": { + "ai-models": "AI-modeller", + "ai-model": "AI-modell", + "model": "Modell", + "name": "Navn", + "ai-provider": "AI-leverandør", + "no-found": "Fant ingen AI-modeller", + "list": "{ count, plural, =1 {Én modell} other {Liste over # modeller} }", + "selected-fields": "{ count, plural, =1 {1 modell} other {# modeller} } valgt", + "add": "Legg til modell", + "delete-model-title": "Er du sikker på at du vil slette modellen '{{modelName}}'?", + "delete-model-text": "Vær forsiktig, etter bekreftelsen vil modellen og alle tilknyttede data ikke kunne gjenopprettes.", + "delete-models-title": "Er du sikker på at du vil slette { count, plural, =1 {1 modell} other {# modeller} }?", + "delete-models-text": "Vær forsiktig, etter bekreftelsen vil alle valgte modeller bli fjernet og alle tilknyttede data vil ikke kunne gjenopprettes.", + "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": "Navn er påkrevd.", + "name-max-length": "Navn må være 255 tegn eller mindre.", + "provider": "Leverandør", + "api-key": "API-nøkkel", + "api-key-required": "API-nøkkel er påkrevd.", + "api-key-open-ai-required": "API-nøkkel er påkrevd når du bruker den offisielle OpenAI API-en.", + "project-id": "Prosjekt-ID", + "project-id-required": "Prosjekt-ID er påkrevd", + "location": "Plassering", + "location-required": "Plassering er påkrevd.", + "service-account-key-file": "Nøkkelfil for tjenestekonto", + "service-account-key-file-required": "Nøkkelfil for tjenestekonto er påkrevd.", + "no-file": "Ingen fil valgt.", + "drop-file": "Slipp en fil eller klikk for å velge en fil som skal lastes opp.", + "personal-access-token": "Personlig tilgangstoken", + "personal-access-token-required": "Personlig tilgangstoken er påkrevd.", + "configuration": "Konfigurasjon", + "model-id": "Modell-ID", + "model-id-required": "Modell-ID er påkrevd.", + "deployment-name": "Distribusjonsnavn", + "deployment-name-required": "Distribusjonsnavn er påkrevd", + "set": "Angi", + "region": "Region", + "region-required": "Region er påkrevd.", + "access-key-id": "Tilgangsnøkkel-ID", + "access-key-id-required": "Tilgangsnøkkel-ID er påkrevd.", + "secret-access-key": "Hemmelig tilgangsnøkkel", + "secret-access-key-required": "Hemmelig tilgangsnøkkel er påkrevd.", + "temperature": "Temperatur", + "temperature-hint": "Justerer graden av tilfeldighet i modellens output. Høyere verdier øker tilfeldigheten, mens lavere verdier reduserer den.", + "temperature-min": "Må være 0 eller høyere.", + "top-p": "Top P", + "top-p-hint": "Oppretter en pool av de mest sannsynlige tokenene som modellen kan velge fra. Høyere verdier gir en større og mer mangfoldig pool, mens lavere verdier gir en mindre.", + "top-p-min-max": "Må være større enn 0 og opptil 1.", + "top-k": "Top K", + "top-k-hint": "Begrenser modellens valg til et fast sett med de \"K\" mest sannsynlige tokenene.", + "top-k-min": "Må være 0 eller høyere.", + "presence-penalty": "Tilstedeværelsesstraff", + "presence-penalty-hint": "Bruker en fast straff på sannsynligheten for et token hvis det allerede har dukket opp i teksten.", + "frequency-penalty": "Frekvensstraff", + "frequency-penalty-hint": "Bruker en straff på sannsynligheten for et token som øker basert på hvor ofte det forekommer i teksten.", + "max-output-tokens": "Maksimalt antall output-tokener", + "max-output-tokens-hint": "Angir maksimalt antall tokener som \nmodellen kan generere i ett enkelt svar.", + "context-length": "Kontekstlengde", + "context-length-hint": "Definerer størrelsen på kontekstvinduet i tokener. Denne verdien angir den totale minnegrensen for modellen, inkludert både brukerens inndata og det genererte svaret.", + "endpoint": "Endepunkt", + "endpoint-required": "Endepunkt er påkrevd.", + "baseurl": "Basis-URL", + "baseurl-required": "Basis-URL er påkrevd.", + "service-version": "Tjenesteversjon", + "check-connectivity": "Sjekk tilkobling", + "check-connectivity-success": "Testforespørselen var vellykket", + "check-connectivity-failed": "Testforespørselen mislyktes", + "no-model-matching": "Fant ingen modeller som samsvarer med '{{entity}}'.", + "model-required": "Modell er påkrevd.", + "no-model-text": "Fant ingen modeller.", + "authentication": "Autentisering", + "authentication-basic-hint": "Bruker standard HTTP Basic-autentisering. Brukernavn og passord kombineres, Base64-kodes og sendes i en \"Authorization\"-header med hver forespørsel til Ollama-serveren.", + "authentication-token-hint": "Bruker Bearer-tokenautentisering. Det angitte tokenet sendes direkte i en \"Authorization\" eader med hver forespørsel til Ollama-serveren.", + "authentication-type": { + "none": "Ingen", + "basic": "Basic", + "token": "Token" + }, + "username": "Brukernavn", + "username-required": "Brukernavn er påkrevd.", + "password": "Passord", + "password-required": "Passord er påkrevd.", + "token": "Token", + "token-required": "Token er påkrevd." + }, "confirm-on-exit": { "message": "Du har ulagrede endringer. Er du sikker på at du vil forlate denne siden?", "html-message": "Du har ulagrede endringer.
Er du sikker på at du vil forlate denne siden?", @@ -1083,6 +1659,7 @@ "contact": { "country": "Land", "country-required": "Land er påkrevd.", + "country-object-required": "Velg et gyldig land fra listen.", "city": "By", "state": "Stat / Provins", "postal-code": "Postnummer", @@ -1119,6 +1696,8 @@ "documentation": "Dokumentasjon", "time-left": "{{time}} igjen", "output": "Utdata", + "sort-asc": "Stigende", + "sort-desc": "Synkende", "suffix": { "s": "s", "ms": "ms" @@ -1255,6 +1834,8 @@ "mobile-order": "Rekkefølge i mobilapp", "mobile-hide": "Skjul dashbord i mobilapp", "update-image": "Oppdater dashbordbilde", + "update-new-version": "Last opp ny versjon", + "upload-file-to-update": "Last opp fil for å oppdatere", "take-screenshot": "Ta skjermbilde", "select-widget-title": "Velg widget", "select-widget-value": "{{title}}: velg widget", @@ -1623,6 +2204,8 @@ "bootstrap-tab": "Bootstrap-klient", "bootstrap-server": "Bootstrap-server", "lwm2m-server": "LwM2M-server", + "client-reboot": "Utløser for registreringsoppdatering", + "bootstrap-reboot": "Utløser for Bootstrap-forespørsel", "client-publicKey-or-id": "Klient offentlig nøkkel eller ID", "client-publicKey-or-id-required": "Klient offentlig nøkkel eller ID er påkrevd.", "client-publicKey-or-id-tooltip-psk": "PSK-identifikatoren er en vilkårlig PSK-ID opptil 128 byte, som beskrevet i standarden [RFC7925].\nMÅ konverteres til en tegnstreng og kodes i UTF-8.", @@ -1670,7 +2253,6 @@ "unable-delete-device-alias-text": "Enhetsalias '{{deviceAlias}}' kan ikke slettes da det brukes av følgende widget(er):
{{widgetsList}}", "is-gateway": "Er gateway", "overwrite-activity-time": "Overstyr aktivitetstid for tilkoblet enhet", - "device-filter": "Enhetsfilter", "device-filter-title": "Enhetsfilter", "filter-title": "Filter", "device-state": "Enhetstilstand", @@ -1754,6 +2336,7 @@ "selected-options-limit": "Begrensning for valgte alternativer", "advanced-ui-settings": "Avanserte grensesnittinnstillinger", "disable-on-property": "Deaktiver ved egenskap", + "disable-on-property-none": "Ingen (feltet er alltid aktivert)", "display-condition-function": "Visningsbetingelsesfunksjon", "sub-label": "Underetikett", "vertical-divider-after": "Vertikal skillelinje etter", @@ -1787,7 +2370,8 @@ "array-item": "Array-element", "item-type": "Elementtype", "item-name": "Elementnavn", - "no-items": "Ingen elementer" + "no-items": "Ingen elementer", + "support-unit-conversion": "Støtt enhetskonvertering" }, "clear-form": "Tøm skjema", "clear-form-prompt": "Er du sikker på at du vil fjerne alle skjemaegenskaper?", @@ -1911,6 +2495,7 @@ "mqtt-use-json-format-for-default-downlink-topics-hint": "Når aktivert, vil plattformen bruke JSON til å sende attributter og RPC over temaene: v1/devices/me/attributes/response/$request_id, v1/devices/me/attributes, osv. Påvirker ikke abonnementer via nye v2-temaer.", "mqtt-send-ack-on-validation-exception": "Send PUBACK ved valideringsfeil", "mqtt-send-ack-on-validation-exception-hint": "Som standard lukkes MQTT-økten ved valideringsfeil. Hvis aktivert, sendes isteden en bekreftelse.", + "mqtt-protocol-version": "Protokollversjon", "snmp-add-mapping": "Legg til SNMP-mapping", "snmp-mapping-not-configured": "Ingen mapping for OID til tidsserie/telemetri konfigurert", "snmp-timseries-or-attribute-name": "Navn på tidsserie/attributt for mapping", @@ -2121,6 +2706,7 @@ "short-id-required": "Kort server-ID er påkrevd.", "short-id-range": "Kort server-ID må være mellom {{ min }} og {{ max }}.", "short-id-pattern": "Kort server-ID må være et positivt heltall.", + "short-id-pattern-bs": "Kort server-ID må kun være null", "lifetime": "Klientens registreringsvarighet", "lifetime-required": "Klientens registreringsvarighet er påkrevd.", "lifetime-pattern": "Registreringsvarighet må være et positivt heltall.", @@ -2143,7 +2729,7 @@ "tqs": "TQS: Både TCP og SMS aktive; TCP i kømodus, SMS i standardmodus (ikke støttet siden LWM2M 1.1)", "sq": "SQ: SMS i kømodus (ikke støttet siden LWM2M 1.1)" }, - "binding-tooltip": "Liste over bindingsmodus i LwM2M serverobjektet - /1/x/7.\nAngir støttede bindingsmodi i klienten.\nBør matche verdien i “Supported Binding and Modes” i Enhetsobjektet (/3/0/16).\nKun én transportbinding brukes per økt.", + "binding-tooltip": "Dette er listen i den\"binding\"-ressursen til LwM2M-serverobjektet - /1/x/7.\nAngir de støttede binding-modusene i LwM2M-klienten.\nDenne verdien BØR være den samme som verdien i ressursen “Supported Binding and Modes” i Device Object (/3/0/16).\nSelv om flere transporter støttes, kan bare én transportbinding brukes under hele transportsesjonen.\nFor eksempel, når både UDP og SMS støttes, kan LwM2M-klienten og LwM2M-serveren velge å kommunisere enten over UDP eller SMS under hele transportsesjonen.", "bootstrap-server": "Bootstrap-server", "lwm2m-server": "LwM2M-server", "include-bootstrap-server": "Inkluder Bootstrap-serveroppdateringer", @@ -2171,6 +2757,9 @@ "add-lwm2m-server-config": "Legg til LwM2M-server", "no-config-servers": "Ingen servere konfigurert", "others-tab": "Andre innstillinger", + "ota-update": "OTA-oppdatering", + "use-object-19-for-ota-update": "Bruk Object 19 for OTA-filmetadata (sjekksum, størrelse, versjon, navn)", + "use-object-19-for-ota-update-hint": "Bruk Resource ObjectId = 19 for OTA-oppdateringer: FirmWare → InstanceId = 65534, SoftWare → InstanceId = 65535. Dataformatet er JSON innkapslet i Base64. Denne JSON-en inneholder OTA-filmetadata (filinfo): \"Checksum\" (SHA256). Ekstra felter: \"Title\" (OTA-navn), \"Version\" (OTA-versjon), \"File Name\" (filnavn for lagring av OTA på klienten), \"File Size\" (OTA-størrelse i byte).", "client-strategy": "Klientstrategi ved tilkobling", "client-strategy-label": "Strategi", "client-strategy-only-observe": "Kun Observer-forespørsel til klienten etter første tilkobling", @@ -2201,8 +2790,20 @@ "default-object-id": "Standard objektversjon (Attributt)", "default-object-id-ver": { "v1-0": "1.0", - "v1-1": "1.1" - } + "v1-1": "1.1", + "v1-2": "1.2" + }, + "observe-strategy": { + "observe-strategy": "Observe-strategi", + "single": "Enkel", + "single-description": "Én Observe-forespørsel per ressurs (høyere presisjon, mer nettverkstrafikk)", + "composite-all": "Kompositt alle", + "composite-all-description": "Alle ressurser observeres med én enkelt Composite Observe-forespørsel (mer effektivt, mindre fleksibelt)", + "composite-by-object": "Kompositt etter objekter", + "composite-by-object-description": "Ressurser grupperes etter objekttype og observeres ved hjelp av separate Composite Observe-forespørsler (balansert tilnærming)" + }, + "init-attr-tel-as-obs-strategy": "Initialiser attributter og telemetri ved hjelp av Observe-strategi", + "init-attr-tel-as-obs-strategy-hint": "Hvis false - attributter og telemetri initialiseres ved å lese verdiene én etter én.\\nHvis true - attributter og telemetri initialiseres ved å abonnere på verdiene ved hjelp av Observe-strategien." }, "snmp": { "add-communication-config": "Legg til kommunikasjonskonfigurasjon", @@ -2518,12 +3119,16 @@ "type-rulenodes": "Regelnoder", "list-of-rulenodes": "{ count, plural, =1 {Én regelnode} other {Liste over # regelnoder} }", "rulenode-name-starts-with": "Regelnoder som starter med '{{prefix}}'", + "type-api-key": "API-nøkkel", + "type-api-keys": "API-nøkler", "type-current-customer": "Gjeldende kunde", "type-current-tenant": "Gjeldende leietaker", "type-current-user": "Gjeldende bruker", "type-current-user-owner": "Gjeldende brukereier", "type-calculated-field": "Beregnet felt", "type-calculated-fields": "Beregnete felt", + "type-ai-model": "AI-modell", + "type-ai-models": "AI-modeller", "type-widgets-bundle": "Widget-pakke", "type-widgets-bundles": "Widget-pakker", "list-of-widgets-bundles": "{ count, plural, =1 {Én widget-pakke} other {Liste over # widget-pakker} }", @@ -2537,6 +3142,7 @@ "details": "Enhetsdetaljer", "no-entities-prompt": "Ingen enheter funnet", "no-data": "Ingen data å vise", + "show-all-columns": "Vis alle", "columns-to-display": "Kolonner å vise", "type-api-usage-state": "API-bruksstatus", "type-edge": "Edge", @@ -2553,6 +3159,8 @@ "type-tb-resources": "Ressurser", "list-of-tb-resources": "{ count, plural, =1 {Én ressurs} other {Liste over # ressurser} }", "type-ota-package": "OTA-pakke", + "type-ota-packages": "OTA-pakker", + "list-of-ota-packages": "{ count, plural, =1 {Én OTA-pakke} other {Liste over # OTA-pakker} }", "type-rpc": "RPC", "type-queue": "Kø", "type-queue-stats": "Køstatistikk", @@ -2580,7 +3188,15 @@ "list-of-mobile-apps": "{ count, plural, =1 {Én mobilapplikasjon} other {Liste over # mobilapplikasjoner} }", "type-mobile-app-bundle": "Mobilpakke", "type-mobile-app-bundles": "Mobilpakker", - "list-of-mobile-app-bundles": "{ count, plural, =1 {Én mobilpakke} other {Liste over # mobilpakker} }" + "list-of-mobile-app-bundles": "{ count, plural, =1 {Én mobilpakke} other {Liste over # mobilpakker} }", + "limit-reached": "Grense nådd", + "limit-reached-text": "Du har nådd grensen på {{ entities }}. For å legge til flere, be systemadministratoren din om å øke grensen for {{ entity }}.", + "request-limit-increase": "Be om grenseøkning", + "request-sysadmin-text": "Er du systemadministratoren?", + "login-here": "Logg inn her", + "to-increase-limit": "for å øke grensen.", + "increase-limit-request-sent-title": "Vi har sendt en automatisk forespørsel til systemadministratoren din om å øke grensen", + "increase-limit-request-sent-text": "Gi dem litt tid til å vurdere forespørselen og oppdatere innstillingene. Du må kanskje oppdatere denne siden for å se endringene." }, "entity-field": { "created-time": "Opprettelsestid", @@ -2938,6 +3554,7 @@ "missing-key-filters-error": "Nøkkelfiltre mangler for filter '{{filter}}'.", "filter": "Filter", "editable": "Redigerbar", + "editable-hint": "Tillat brukeren å endre filterverdien i dashbord.", "no-filters-found": "Ingen filtre funnet.", "no-filter-text": "Ingen filter spesifisert", "add-filter-prompt": "Vennligst legg til filter", @@ -2977,6 +3594,8 @@ "filter-user-params": "Brukerparametere for filterpredikat", "user-parameters": "Brukerparametere", "display-label": "Etikett som vises", + "custom-label": "Egendefinert etikett", + "custom-label-hint": "Aktiver for å angi din egen etikett for filteret. Når deaktivert, genereres en etikett automatisk.", "order-priority": "Prioritet for feltrekkefølge", "key-filter": "Nøkkelfilter", "key-filters": "Nøkkelfiltre", @@ -3021,7 +3640,8 @@ "switch-to-dynamic-value": "Bytt til dynamisk verdi", "switch-to-default-value": "Bytt til standardverdi", "inherit-owner": "Arv fra eier", - "source-attribute-not-set": "Hvis kildeattributt ikke er angitt" + "source-attribute-not-set": "Hvis kildeattributt ikke er angitt", + "unit": "Enhet" }, "fullscreen": { "expand": "Utvid til fullskjerm", @@ -3406,6 +4026,7 @@ "power-button-background": "Bakgrunn for strømbryter", "value-box-background": "Bakgrunn for verdiboks", "value-units": "Verdi-enheter", + "enable-units-scale": "Aktiver enheter på skala", "filtration-mode": "Filtreringsmodus", "filtration-mode-hint": "Heltallsverdi som angir gjeldende filtreringsmodus.", "filtration-mode-update": "Oppdater filtreringsmodus", @@ -3652,17 +4273,19 @@ "two-factor-authentication": "Tofaktorautentisering", "passwords-mismatch-error": "Passordene må være like!", "password-again": "Gjenta passord", + "sign-in": "Vennligst logg inn", "username": "Brukernavn (epost)", "remember-me": "Husk meg", "forgot-password": "Glemt passord?", "password-reset": "Tilbakestilling av passord", - "expired-password-reset-message": "Dine legitimasjonsopplysninger er utløpt! Vennligst opprett et nytt passord.", + "expired-password-reset-message": "Passordet ditt er utløpt! \nVennligst angi et nytt passord.", "new-password": "Nytt passord", "new-password-again": "Bekreft nytt passord", "password-link-sent-message": "Tilbakestillingslenke er sendt", "email": "Epost", "invalid-email-format": "Ugyldig epostformat.", - "login-with": "Logg inn med {{name}}", + "sign-in-with": "Logg inn med {{name}}", + "sign-in-to-your-account": "Logg inn på kontoen din", "or": "eller", "error": "Innloggingsfeil", "verify-your-identity": "Bekreft din identitet", @@ -3681,7 +4304,51 @@ "activation-link-expired": "Aktiveringslenken er utløpt", "activation-link-expired-message": "Lenken for å aktivere profilen din er utløpt. Du kan gå tilbake til innloggingssiden for å motta en ny epost.", "reset-password-link-expired": "Lenken for tilbakestilling av passord er utløpt", - "reset-password-link-expired-message": "Lenken for å tilbakestille passordet ditt er utløpt. Du kan gå tilbake til innloggingssiden for å motta en ny epost." + "reset-password-link-expired-message": "Lenken for å tilbakestille passordet ditt er utløpt. Du kan gå tilbake til innloggingssiden for å motta en ny epost.", + "two-fa": "Tofaktorautentisering", + "two-fa-required": "Tofaktorautentisering er påkrevd", + "set-up-verification-method": "Konfigurer en verifiseringsmetode for å fortsette", + "set-up-verification-method-login": "Konfigurer en verifiseringsmetode eller logg inn", + "enable-authenticator-app": "Aktiver autentiseringsapp", + "enable-authenticator-app-description": "Angi sikkerhetskoden fra autentiseringsappen din", + "enable-authenticator-sms": "Aktiver SMS-autentisering", + "enable-authenticator-sms-description": "Angi en 6-sifret kode vi nettopp sendte til ", + "enable-authenticator-email": "Aktiver E-post-autentisering", + "enable-authenticator-email-description": "En sikkerhetskode er sendt til e-postadressen din på ", + "enter-key-manually": "eller angi denne 32-sifrede nøkkelen manuelt:", + "continue": "Fortsett", + "confirm": "Bekreft", + "authenticator-app-success": "Autentiseringsapp ble aktivert", + "authenticator-app-success-description": "Neste gang du logger inn, må du oppgi en tofaktorautentiseringskode", + "authenticator-sms-success": "SMS-autentisering ble aktivert", + "authenticator-sms-success-description": "Neste gang du logger inn, blir du bedt om å angi sikkerhetskoden som sendes til telefonnummeret", + "authenticator-email-success": "E-post-autentisering ble aktivert", + "authenticator-email-success-description": "Neste gang du logger inn, blir du bedt om å angi sikkerhetskoden som sendes til e-postadressen din", + "authenticator-backup-code-success": "Reservekode ble aktivert", + "authenticator-backup-code-success-description": "Neste gang du logger inn, blir du bedt om å angi sikkerhetskoden eller bruke én av reservekodene.", + "add-verification-method": "Legg til verifiseringsmetode", + "get-backup-code": "Hent reservekoder", + "copy-key": "Kopier nøkkel", + "send-code": "Send kode", + "email-label": "E-post", + "email-description": "Angi en e-postadresse som skal brukes som autentisering.", + "sms-description": "Angi et telefonnummer som skal brukes som autentisering.", + "backup-code-description": "Skriv ut kodene slik at du har dem tilgjengelig når du trenger dem for å logge inn på kontoen din. Du kan bruke hver reservekode én gang.", + "backup-code-warn": "Når du forlater denne siden, kan disse kodene ikke vises igjen. Oppbevar dem trygt ved å bruke alternativene nedenfor.", + "download-txt": "Last ned (txt)", + "print": "Skriv ut", + "verification-code": "6-sifret kode", + "verification-code-invalid": "Ugyldig format for verifiseringskode", + "verification-code-incorrect": "Verifiseringskoden er feil", + "verification-code-many-request": "For mange forespørsler om å sjekke verifiseringskode", + "scan-qr-code": "Skann denne QR-koden med verifiseringsappen din", + "phone-input": { + "phone-input-label": "Telefonnummer", + "phone-input-required": "Telefonnummer er påkrevd", + "phone-input-validation": "Telefonnummeret er ugyldig eller ikke mulig", + "phone-input-pattern": "Ugyldig telefonnummer. Skal være i E.164-format, f.eks. {{phoneNumber}}", + "phone-input-hint": "Telefonnummer i E.164-format, f.eks. {{phoneNumber}}" + } }, "mobile": { "add-application": "Legg til applikasjon", @@ -3721,6 +4388,8 @@ "mobile-package-max-length": "Applikasjonspakken må være under 256 tegn", "mobile-package-required": "Applikasjonspakke er påkrevd.", "mobile-package-pattern": "Ugyldig format for applikasjonspakke", + "mobile-package-title": "Applikasjonstittel", + "mobile-package-title-max-length": "Applikasjonstittel må være mindre enn 256", "no-application": "Ingen applikasjoner funnet", "no-bundles": "Ingen pakker funnet", "platform-type": "Plattformtype", @@ -3802,19 +4471,15 @@ "configuration-step": { "prepare-environment-title": "Forbered utviklingsmiljø", "prepare-environment-text": "Flutter ThingsBoard Mobile Application krever Flutter SDK. Følg instruksjonene for å sette opp Flutter SDK.", - "get-source-code-title": "Hent kildekode for appen", + "get-source-code-title": "Hent appens kildekode", "get-source-code-text": "Du kan hente kildekoden til Flutter ThingsBoard Mobile Application ved å klone den fra GitHub-repositoriet:", - "configure-api-title": "Konfigurer ThingsBoard API-endepunkt", - "configure-api-text": "Åpne prosjektet flutter_thingsboard_pe_app i editoren/IDE-en din. Rediger:", - "configure-api-hint": "Angi verdien av konstanten thingsBoardApiEndpoint slik at den samsvarer med API-endepunktet til din ThingsBoard-serverinstans. Ikke bruk \"localhost\" eller \"127.0.0.1\" som vertsnavn.", + "configure-app-settings-title": "Konfigurer appinnstillinger", + "configure-app-settings-text": "Last ned konfigurasjonsfilen og legg den i rotkatalogen til prosjektet du klonet i forrige steg.", + "download-file": "Last ned fil", "run-app-title": "Kjør appen", - "run-app-text": "Kjør appen som beskrevet i din IDE.\nHvis du bruker terminalen, kjør appen med følgende kommando:", - "more-information": "Detaljert informasjon finnes i vår Kom-i-gang dokumentasjon.", - "getting-started": "Kom i gang", - "configure-package-title": "Konfigurer applikasjonspakke", - "configure-package-text": "Du kan manuelt endre applikasjonspakken eller bruke tredjeparts CLI-verktøy.", - "configure-package-text-install": "For å installere Rename CLI-verktøyet, kjør følgende kommando:", - "configure-package-run-commands": "Kjør disse kommandoene i prosjektets rotmappe:" + "run-app-text": "Kjør appen som beskrevet i IDE-en din.\nHvis du bruker terminalen, kjør appen med følgende kommando:", + "more-information": "Detaljert informasjon finner du i dokumentasjonen vår for Kom i gang.", + "getting-started": "Kom i gang" } }, "notification": { @@ -3838,6 +4503,7 @@ "new-platform-version-trigger-settings": "Innstillinger for ny plattformversjonsutløser", "rate-limits-trigger-settings": "Innstillinger for utløser ved overskredet hastighetsgrense", "task-processing-failure-trigger-settings": "Innstillinger for utløser ved feil i oppgavebehandling", + "resources-shortage-trigger-settings": "Innstillinger for utløsning ved ressursmangel", "at-least-one-should-be-selected": "Minst én må velges", "basic-settings": "Grunnleggende innstillinger", "button-text": "Knappetekst", @@ -3852,6 +4518,7 @@ "create-new": "Opprett ny", "created": "Opprettet", "customize-messages": "Tilpass meldinger", + "cpu-threshold": "CPU-terskel", "delete-notification-text": "Vær forsiktig, etter bekreftelse vil varslingen ikke kunne gjenopprettes.", "delete-notification-title": "Er du sikker på at du vil slette varslingen?", "delete-notifications-text": "Vær forsiktig, etter bekreftelse vil varslingene ikke kunne gjenopprettes.", @@ -3918,6 +4585,7 @@ "input-fields-support-templatization": "Inndatafelt støtter templatmaler.", "link": "Lenke", "link-required": "Lenke er påkrevd", + "link-max-length": "Lenken må være mindre enn eller lik {{ length }} tegn", "link-type": { "dashboard": "Åpne dashbord", "link": "Åpne URL-lenke" @@ -3944,6 +4612,7 @@ "no-severity-found": "Ingen alvorlighetsgrad funnet", "no-severity-matching": "'{{severity}}' ble ikke funnet.", "no-template-matching": "Ingen ressurser som samsvarer med '{{template}}' ble funnet.", + "create-new-template": "Opprett en ny!", "not-found-slack-recipient": "Slack-mottaker ikke funnet", "notification": "Varsel", "notification-center": "Varslingssenter", @@ -3967,6 +4636,7 @@ "only-rule-chain-lifecycle-failures": "Kun regelkjedens livssyklusfeil", "only-rule-node-lifecycle-failures": "Kun regelnodens livssyklusfeil", "platform-users": "Plattformbrukere", + "ram-threshold": "RAM-terskel", "rate-limits": "Hastighetsgrenser", "rate-limits-hint": "Hvis feltet er tomt, vil utløseren gjelde for alle hastighetsgrenser", "recipient": "Mottaker", @@ -4032,6 +4702,7 @@ "start-from-scratch": "Start fra bunnen", "status": "Status", "stop-escalation-alarm-status-become": "Stopp eskalering når alarmstatus blir:", + "storage-threshold": "Lagringsterskel", "subject": "Emne", "subject-required": "Emne er påkrevd", "subject-max-length": "Emnet må være mindre enn eller lik {{ length }} tegn", @@ -4044,8 +4715,9 @@ "alarm-comment": "Alarmkommentar", "api-usage-limit": "API-bruksgrense", "device-activity": "Enhetsaktivitet", - "entities-limit": "Enhetsgrense", - "entity-action": "Enhetshandling", + "entities-limit": "Entitetsgrense", + "entities-limit-increase-request": "Forespørsel om økning av entitetsgrense", + "entity-action": "Entitetshandling", "general": "Generelt", "rule-engine-lifecycle-event": "Regelmotor livssyklushendelse", "rule-node": "Regelnode", @@ -4053,7 +4725,8 @@ "rate-limits": "Overskredet grense", "edge-communication-failure": "Edge kommunikasjonsfeil", "edge-connection": "Edge-tilkobling", - "task-processing-failure": "Feil ved oppgavebehandling" + "task-processing-failure": "Feil ved oppgavebehandling", + "resources-shortage": "Ressursmangel" }, "templates": "Maler", "notification-templates": "Varslinger / Maler", @@ -4077,6 +4750,7 @@ "edge-connection": "Edge-tilkobling", "edge-communication-failure": "Edge kommunikasjonsfeil", "task-processing-failure": "Feil ved oppgavebehandling", + "resources-shortage": "Ressursmangel", "trigger": "Utløser", "trigger-required": "Utløser er påkrevd" }, @@ -4118,6 +4792,7 @@ "checksum-copied-message": "Pakkesjekksummen er kopiert til utklippstavlen", "change-firmware": "Endring av fastvaren kan føre til oppdatering av { count, plural, =1 {1 enhet} other {# enheter} }.", "change-software": "Endring av programvaren kan føre til oppdatering av { count, plural, =1 {1 enhet} other {# enheter} }.", + "change-ota-setting-title": "Er du sikker på at du vil endre OTA-innstillinger?", "chose-compatible-device-profile": "Den opplastede pakken vil bare være tilgjengelig for enheter med valgt profil.", "chose-firmware-distributed-device": "Velg fastvare som skal distribueres til enhetene", "chose-software-distributed-device": "Velg programvare som skal distribueres til enhetene", @@ -4259,6 +4934,12 @@ "at-least": "Minst:", "character": "{ count, plural, =1 {1 tegn} other {# tegn} }", "digit": "{ count, plural, =1 {1 siffer} other {# sifre} }", + "password-tooltip-min-length": "Minst {{minimumLength}} tegn", + "password-tooltip-max-length": "Høyst {{maximumLength}} tegn", + "password-tooltip-uppercase": "{{minimumUppercaseLetters}} stor bokstav", + "password-tooltip-lowercase": "{{minimumLowercaseLetters}} liten bokstav", + "password-tooltip-digit": "{{minimumDigits}} tall", + "password-tooltip-special-characters": "{{minimumSpecialCharacters}} spesialtegn", "incorrect-password-try-again": "Feil passord. Prøv igjen", "lowercase-letter": "{ count, plural, =1 {1 liten bokstav} other {# små bokstaver} }", "new-passwords-not-match": "Nytt passord samsvarer ikke", @@ -4313,10 +4994,12 @@ "add-relation-filter": "Legg til relasjonsfilter", "any-relation": "Enhver relasjon", "relation-filters": "Relasjonsfiltre", + "relation-filter": "Relasjonsfilter", "additional-info": "Tilleggsinfo (JSON)", "invalid-additional-info": "Kan ikke tolke tilleggsinfo som gyldig JSON.", "no-relations-text": "Ingen relasjoner funnet", - "not": "Ikke" + "not": "Ikke", + "copy-type": "Kopier type" }, "resource": { "add": "Legg til ressurs", @@ -4353,7 +5036,8 @@ "jks": "JKS", "js-module": "JS-modul", "lwm2m-model": "LWM2M-modell", - "pkcs-12": "PKCS #12" + "pkcs-12": "PKCS #12", + "general": "Generelt" }, "resource-sub-type": "Undertype", "sub-type": { @@ -4361,7 +5045,12 @@ "scada-symbol": "Scada-symbol", "extension": "Utvidelse", "module": "Modul" - } + }, + "resource-is-in-use": "Ressursen brukes av andre entiteter", + "resources-are-in-use": "Ressursene brukes av andre entiteter", + "resource-is-in-use-text": "Ressursen '{{title}}' ble ikke slettet fordi den brukes av følgende entiteter:", + "resources-are-in-use-text": "Ikke alle ressurser ble slettet fordi de brukes av andre entiteter.
Du kan se refererte entiteter ved å klikke på Referanser-knappen i den tilsvarende ressursraden.
Hvis du fortsatt vil slette disse ressursene, velg dem i tabellen nedenfor og klikk på Slett valgte-knappen.", + "delete-resource-in-use-text": "Hvis du fortsatt vil slette ressursen, klikk på Slett likevel-knappen." }, "javascript": { "add": "Legg til JavaScript-ressurs", @@ -5261,7 +5950,7 @@ "time-series": "Tidsserie", "latest": "Siste verdier", "web-sockets": "WebSockets", - "calculated-fields": "Beregnete felt" + "calculated-fields-and-alarm-rules": "Beregnede felt og alarmregler" }, "save-attribute": { "processing-settings": "Behandlingsinnstillinger", @@ -5303,6 +5992,37 @@ "html-text-description": "Lar deg bruke HTML-tag'er for formatering, lenker og bilder i meldingskroppen.", "dynamic-text-description": "Lar deg bruke ren tekst eller HTML dynamisk basert på templatization-funksjon.", "after-template-evaluation-hint": "Etter evaluering må verdien være true for HTML og false for ren tekst." + }, + "ai": { + "ai-model": "AI-modell", + "model": "Modell", + "ai-model-hint": "Velg den forhåndskonfigurerte AI-modellen for å behandle forespørsler sendt av denne regelnoten, eller bruk \"Opprett ny\" for å konfigurere en ny.", + "prompt-settings": "Prompt-innstillinger", + "prompt-settings-hint": "Den valgfrie systemprompten angir AI-ens generelle rolle og begrensninger, mens brukerprompten definerer den spesifikke oppgaven som skal utføres. Begge feltene støtter også maler.", + "system-prompt": "Systemprompt", + "system-prompt-max-length": "Systemprompt må være 500000 tegn eller mindre.", + "system-prompt-blank": "Systemprompt kan ikke være tom.", + "user-prompt": "Brukerprompt", + "user-prompt-required": "Brukerprompt er påkrevd.", + "user-prompt-max-length": "Brukerprompt må være 500000 tegn eller mindre.", + "user-prompt-blank": "Brukerprompt kan ikke være tom.", + "response-format": "Svarformat", + "response-text": "Tekst", + "response-json": "JSON", + "response-json-schema": "JSON Schema", + "response-format-hint-TEXT": "Lar modellen generere vilkårlig tekst, som kan være et gyldig JSON-objekt eller ikke. Hvis output ikke er et gyldig JSON-objekt, pakkes den automatisk inn i et JSON-objekt under nøkkelen \"response\".", + "response-format-hint-JSON": "Modellen må generere et svar som er gyldig JSON. Hvis output ikke er et gyldig JSON-objekt, pakkes den automatisk inn i et JSON-objekt under nøkkelen \"response\".", + "response-format-hint-JSON_SCHEMA": "Modellen må generere en JSON som samsvarer med den spesifikke strukturen og datatypene som er definert i den angitte schemaen. Hvis output ikke er et gyldig JSON-objekt, pakkes den automatisk inn i et JSON-objekt under nøkkelen \"response\".", + "response-json-schema-hint": "Selv om enhver gyldig JSON Schema kan legges inn, støtter denne regelnoten kun et begrenset delsett av funksjonene. Se nodedokumentasjonen for detaljer.", + "response-json-schema-required": "JSON Schema er påkrevd", + "advanced-settings": "Avanserte innstillinger", + "timeout": "Tidsavbrudd", + "timeout-hint": "Maksimal tid å vente på et svar \nfra AI-modellen før forespørselen avsluttes.", + "timeout-required": "Tidsavbrudd er påkrevd", + "timeout-validation": "Må være fra 1 sekund til 10 minutter.", + "force-acknowledgement": "Tving kvittering", + "force-acknowledgement-hint": "Hvis aktivert, kvitteres den innkommende meldingen umiddelbart. Modellens svar legges deretter i kø som en separat, ny melding.", + "ai-resources": "AI-ressurser" } }, "timezone": { @@ -5425,7 +6145,8 @@ "bad-request-params": "Feil forespørselsparametere", "item-not-found": "Element ikke funnet", "too-many-requests": "For mange forespørsler", - "too-many-updates": "For mange oppdateringer" + "too-many-updates": "For mange oppdateringer", + "entities-limit-exceeded": "Entitetsgrense overskredet" }, "tenant": { "tenant": "Leietaker", @@ -5563,6 +6284,27 @@ "max-arguments-per-cf": "Maksimalt antall argumenter per beregnet felt", "max-arguments-per-cf-range": "Maksimalt antall argumenter per beregnet felt kan ikke være negativt", "max-arguments-per-cf-required": "Maksimalt antall argumenter per beregnet felt er påkrevd", + "max-related-level-per-argument": "Maksimalt relasjonsnivå per 'Relaterte entiteter'-argument", + "max-related-level-per-argument-range": "Maksimalt relasjonsnivå per 'Relaterte entiteter'-argument kan ikke være mindre enn '1'", + "max-related-level-per-argument-required": "Maksimalt relasjonsnivå per 'Relaterte entiteter'-argument er påkrevd", + "min-allowed-scheduled-update-interval": "Min tillatt oppdateringsintervall for 'Relaterte entiteter'-argumenter (sekunder)", + "min-allowed-scheduled-update-interval-range": "Min tillatt oppdateringsintervall kan ikke være negativt", + "min-allowed-deduplication-interval": "Min tillatt dedupliseringsintervall (sekunder)", + "min-allowed-deduplication-interval-range": "Min tillatt dedupliseringsintervallverdi kan ikke være negativ", + "min-allowed-deduplication-interval-required": "Min tillatt dedupliseringsintervall er påkrevd", + "intermediate-aggregation-interval": "Mellomliggende aggregeringsintervall (sekunder)", + "intermediate-aggregation-interval-range": "Mellomliggende aggregeringsintervallverdi kan ikke være mindre enn '1'", + "intermediate-aggregation-interval-required": "Mellomliggende aggregeringsintervall er påkrevd", + "reevaluation-check-interval": "Sjekkintervall for revurdering (sekunder)", + "reevaluation-check-interval-range": "Sjekkintervallverdi for revurdering kan ikke være mindre enn '1'", + "reevaluation-check-interval-required": "Sjekkintervall for revurdering er påkrevd", + "alarms-reevaluation-interval": "Revurderingsintervall for alarmer (sekunder)", + "alarms-reevaluation-interval-range": "Revurderingsintervallverdi for alarmer kan ikke være mindre enn '1'", + "alarms-reevaluation-interval-required": "Revurderingsintervall for alarmer er påkrevd", + "min-allowed-aggregation-interval": "Min tillatt aggregeringsintervall (sekunder)", + "min-allowed-aggregation-interval-range": "Min tillatt aggregeringsintervallverdi kan ikke være negativ", + "min-allowed-aggregation-interval-required": "Min tillatt aggregeringsintervall er påkrevd", + "min-allowed-scheduled-update-interval-required": "Min tillatt oppdateringsintervall er påkrevd", "max-state-size": "Maksimal tilstandsstørrelse i KB", "max-state-size-range": "Maksimal tilstandsstørrelse i KB kan ikke være negativ", "max-state-size-required": "Maksimal tilstandsstørrelse i KB er påkrevd", @@ -5624,7 +6366,10 @@ "too-small-value-zero": "Verdien må være større enn 0", "too-small-value-one": "Verdien må være større enn 1", "queue-size-is-limited-by-system-configuration": "Størrelsen på køen er også begrenset av systemkonfigurasjonen.", - "cassandra-tenant-limits-configuration": "Cassandra-spørring for leietaker", + "cassandra-write-tenant-core-limits-configuration": "REST API Cassandra-skrivespørringer", + "cassandra-read-tenant-core-limits-configuration": "REST API- og WS-telemetri Cassandra-lesespørringer", + "cassandra-write-tenant-rule-engine-limits-configuration": "Regelmotor-telemetri Cassandra-skrivespørringer", + "cassandra-read-tenant-rule-engine-limits-configuration": "Regelmotor-telemetri Cassandra-lesespørringer", "ws-limit-max-sessions-per-tenant": "Maksimalt antall økter per leietaker", "ws-limit-max-sessions-per-customer": "Maksimalt antall økter per kunde", "ws-limit-max-sessions-per-regular-user": "Maksimalt antall økter per vanlig bruker", @@ -5635,11 +6380,15 @@ "ws-limit-max-subscriptions-per-regular-user": "Maksimalt antall abonnementer per vanlig bruker", "ws-limit-max-subscriptions-per-public-user": "Maksimalt antall abonnementer per offentlig bruker", "ws-limit-updates-per-session": "WS-oppdateringer per økt", + "relation-search-entity-limit": "Entitetsgrense for relasjonssøk", + "relation-search-entity-limit-hint": "Begrenser antall entiteter som løses på siste nivå i relasjonsstien. Gjelder for 'Relaterte entiteter'-argumenter og propageringsfelter.", + "relation-search-entity-limit-required": "Entitetsgrense for relasjonssøk", + "relation-search-entity-limit-range": "Entitetsgrense for relasjonssøk kan ikke være mindre enn '1'", "rate-limits": { "add-limit": "Legg til grense", + "and-also-less-than": "og også mindre enn", "advanced-settings": "Avanserte innstillinger", "edit-limit": "Rediger grense", - "but-less-than": "men mindre enn", "calculated-field-debug-event-rate-limit": "Feilsøkingshendelser for beregnet felt", "edit-calculated-field-debug-event-rate-limit": "Rediger grense for feilsøkingshendelser for beregnet felt", "edit-transport-tenant-msg-title": "Rediger grense for transportmeldinger for leietaker", @@ -5657,7 +6406,10 @@ "edit-tenant-rest-limits-title": "Rediger REST-forespørsler for leietaker", "edit-customer-rest-limits-title": "Rediger REST-forespørsler for kunde", "edit-ws-limit-updates-per-session-title": "Rediger grense for WS-oppdateringer per økt", - "edit-cassandra-tenant-limits-configuration-title": "Rediger Cassandra-spørringsgrenser for leietaker", + "edit-cassandra-write-tenant-core-limits-configuration": "Rediger REST API Cassandra-skrivespørringer", + "edit-cassandra-read-tenant-core-limits-configuration": "Rediger REST API- og WS-telemetri Cassandra-lesespørringer", + "edit-cassandra-write-tenant-rule-engine-limits-configuration": "Rediger Regelmotor-telemetri Cassandra-skrivespørringer", + "edit-cassandra-read-tenant-rule-engine-limits-configuration": "Rediger Regelmotor-telemetri Cassandra-lesespørringer", "edit-tenant-entity-export-rate-limit-title": "Rediger grense for eksport av enhetsversjoner", "edit-tenant-entity-import-rate-limit-title": "Rediger grense for import av enhetsversjoner", "edit-tenant-notification-request-rate-limit-title": "Rediger grense for varslingsforespørsler", @@ -5679,7 +6431,8 @@ "per-seconds": "Per sekunder", "per-seconds-required": "Tidstakt er påkrevd.", "per-seconds-min": "Minimumsverdi er 1.", - "rate-limits": "Hastighetsgrenser", + "per-seconds-duplicate": "Duplisert tidsrate. Hvert tidsintervall må være unikt.", + "rate-limits": "Rategrenser", "remove-limit": "Fjern grense", "transport-tenant-msg": "Transportmeldinger for leietaker", "transport-tenant-telemetry-msg": "Transporttelemetrimedlinger for leietaker", @@ -5816,7 +6569,9 @@ "default-agg-interval": "Standard grupperingsintervall", "edit-intervals-list-hint": "Liste over tilgjengelige intervallalternativer kan spesifiseres.", "edit-grouping-intervals-list-hint": "Det er mulig å konfigurere listen over grupperingsintervaller og standardintervall.", - "all": "Alle" + "all": "Alle", + "save-current-settings-as-default": "Lagre gjeldende innstillinger som standard tidsvindu", + "hide-option-from-end-users": "Skjul alternativet for sluttbrukere" }, "tooltip": { "trigger": "Utløser", @@ -5827,12 +6582,125 @@ "date": "Dato", "show-date-time-interval": "Vis dato- og tidsintervall", "show-date-time-interval-hint": "Vis dato- og tidsintervall i henhold til dataaggregeringen.", + "hide-zero-tooltip-values": "Skjul nullverdier", + "show-stack-total": "Vis totalverdi i stablingsmodus", "background-color": "Bakgrunnsfarge", "background-blur": "Bakgrunnsuskarphet" }, "unit": { + "set-unit-conversion": "Angi enhetskonvertering", + "unit-settings": { + "unit-settings": "Enhetsinnstillinger", + "source-unit": "Kildeenhet", + "source-unit-hint": "Dette er enheten for den lagrede verdien. Enheten du konverterer fra. Angi symbolet som kildedataene dine bruker (f.eks. m, km, ft, in).", + "target-metric-unit": "Målenhet i metrisk system", + "target-metric-unit-hint": "Velg hvilken metrisk enhet (SI) du vil at kildeverdien skal konverteres til (f.eks. cm, mm, km).", + "target-imperial-unit": "Målenhet i imperialt system", + "target-imperial-unit-hint": "Velg hvilken imperial enhet du vil at kildeverdien skal konverteres til (f.eks. in, ft, yd).", + "target-hybrid-unit": "Målenhet i hybridsystem", + "target-hybrid-unit-hint": "Velg hvilken hybrid enhet du vil at kildeverdien skal konverteres til (f.eks. cm, in, km). Hybridenheter kombinerer metriske eller imperial enheter.", + "enable-unit-conversion": "Aktiver enhetskonvertering", + "enable-unit-conversion-hint": "Slå på for å aktivere konvertering. Når den er av, sendes kildeverdien videre uendret. Deaktivert hvis det bare finnes én enhet i den tilsvarende målegruppen (f.eks. Luminous flux, AQI)." + }, + "unit-system": "Enhetssystem", + "unit-system-type": { + "AUTO": "Auto", + "METRIC": "Metrisk", + "IMPERIAL": "Imperial", + "HYBRID": "Hybrid" + }, + "measures": { + "absorbed-dose-rate": "Absorbert doserate", + "acceleration": "Akselerasjon", + "acidity": "Surhetsgrad", + "air-quality-index": "Luftkvalitetsindeks", + "amount-of-substance": "Stoffmengde", + "angle": "Vinkel", + "angular-acceleration": "Vinkelakselerasjon", + "area": "Areal", + "area-density": "Arealetetthet", + "capacitance": "Kapasitans", + "catalytic-activity": "Katalytisk aktivitet", + "catalytic-concentration": "Katalytisk konsentrasjon", + "charge": "Elektrisk ladning", + "current-density": "Strømtetthet", + "data-transfer-rate": "Dataoverføringshastighet", + "density": "Tetthet", + "digital": "Digital", + "dimension-ratio": "Dimensjonsforhold", + "dynamic-viscosity": "Dynamisk viskositet", + "earthquake-magnitude": "Jordskjelvstyrke", + "electric-charge-density": "Elektrisk ladningstetthet", + "electric-current": "Elektrisk strøm", + "electric-dipole-moment": "Elektrisk dipolmoment", + "electric-field-strength": "Elektrisk feltstyrke", + "electric-flux": "Elektrisk fluks", + "electric-permittivity": "Elektrisk permittivitet", + "electric-polarizability": "Elektrisk polariserbarhet", + "electrical-conductance": "Elektrisk konduktans", + "electrical-conductivity": "Elektrisk ledningsevne", + "energy": "Energi", + "energy-density": "Energitetthet", + "force": "Kraft", + "frequency": "Frekvens", + "fuel-efficiency": "Drivstoffeffektivitet", + "heat-capacity": "Varmekapasitet", + "illuminance": "Belysningsstyrke", + "inductance": "Induktans", + "kinematic-viscosity": "Kinematisk viskositet", + "length": "Lengde", + "light-exposure": "Lyseksponering", + "linear-charge-density": "Lineær ladningstetthet", + "logarithmic-ratio": "Logaritmisk forhold", + "luminous-efficacy": "Lysvirkningsgrad", + "luminous-flux": "Lysfluks", + "luminous-intensity": "Lysintensitet", + "magnetic-field-gradient": "Magnetfeltgradient", + "magnetic-flux": "Magnetisk fluks", + "magnetic-flux-density": "Magnetisk flukstetthet", + "magnetic-moment": "Magnetisk moment", + "magnetic-permeability": "Magnetisk permeabilitet", + "mass": "Masse", + "mass-fraction": "Massefraksjon", + "molar-concentration": "Molarkonsentrasjon", + "molar-energy": "Molar energi", + "molar-heat-capacity": "Molar varmekapasitet", + "molar-mass": "Molarmasse", + "number-concentration": "Tallkonsentrasjon", + "parts-per-million": "Deler per million", + "power": "Effekt", + "power-density": "Effekttetthet", + "pressure": "Trykk", + "radiance": "Radianse", + "radiant-intensity": "Strålingsintensitet", + "radiation-dose": "Stråledose", + "radioactive-decay": "Radioaktivt henfall", + "radioactivity": "Radioaktivitet", + "radioactivity-concentration": "Radioaktivitetskonsentrasjon", + "reciprocal-length": "Omvendt lengde", + "resistance": "Motstand", + "reynolds-number": "Reynolds-tall", + "signal-level": "Signalnivå", + "solid-angle": "Romvinkel", + "specific-energy": "Spesifikk energi", + "specific-heat-capacity": "Spesifikk varmekapasitet", + "specific-humidity": "Spesifikk fuktighet", + "specific-volume": "Spesifikt volum", + "speed": "Hastighet", + "surface-charge-density": "Overflateladningstetthet", + "surface-tension": "Overflatespenning", + "temperature": "Temperatur", + "thermal-conductivity": "Varmeledningsevne", + "time": "Tid", + "torque": "Dreiemoment", + "turbidity": "Turbiditet", + "voltage": "Spenning", + "volume": "Volum", + "volume-flow": "Volumstrøm" + }, "millimeter": "Millimeter", "centimeter": "Centimeter", + "decimeter": "Desimeter", "angstrom": "Ångström", "nanometer": "Nanometer", "micrometer": "Mikrometer", @@ -5840,6 +6708,7 @@ "kilometer": "Kilometer", "inch": "Tommer", "foot": "Fot", + "foot-us": "Fot (US survey)", "yard": "Yard", "mile": "Mil", "nautical-mile": "Nautisk mil", @@ -5886,6 +6755,7 @@ "cubic-foot": "Kubikkfot", "cubic-yard": "Kubikkyard", "fluid-ounce": "Fluid unse", + "fluid-ounce-per-second": "Fluid ounce per sekund", "pint": "Pint", "quart": "Kvart", "gallon": "Gallon", @@ -5904,9 +6774,13 @@ "meter-per-second": "Meter per sekund", "kilometer-per-hour": "Kilometer i timen", "foot-per-second": "Fot per sekund", - "mile-per-hour": "Mil i timen", + "foot-per-minute": "Fot per minutt", + "mile-per-hour": "Mile per time", "knot": "Knop", + "inch-per-second": "Tomme per sekund", + "inch-per-hour": "Tomme per time", "millimeters-per-minute": "Millimeter per minutt", + "meter-per-minute": "Meter per minutt", "kilometer-per-hour-squared": "Kilometer i timen i kvadrat", "foot-per-second-squared": "Fot per sekund i kvadrat", "pascal": "Pascal", @@ -5923,6 +6797,7 @@ "newton-per-meter": "Newton per meter", "atmospheres": "Atmosfærer", "pounds-per-square-inch": "Pund per kvadrattomme", + "kilopound-per-square-inch": "Kilopound per kvadrattomme", "torr": "Torr", "inches-of-mercury": "Tommer kvikksølv", "pascal-per-square-meter": "Pascal per kvadratmeter", @@ -5939,11 +6814,17 @@ "kilojoule": "Kilojoule", "megajoule": "Megajoule", "gigajoule": "Gigajoule", - "watt-hour": "Wattime", - "kilowatt-hour": "Kilowattime", + "watt-hour": "Watt-time", + "watt-minute": "Watt-minutt", + "kilowatt-hour": "Kilowatt-time", + "milliwatt-hour": "Milliwatt-time", + "megawatt-hour": "Megawatt-time", + "gigawatt-hour": "Gigawatt-time", "electron-volts": "Elektronvolt", - "joules-per-coulomb": "Joule per Coulomb", - "british-thermal-unit": "Britisk termisk enhet", + "joules-per-coulomb": "Joule per coulomb", + "british-thermal-unit": "Britiske termiske enheter", + "thousand-british-thermal-unit": "Tusen britiske termiske enheter", + "million-british-thermal-unit": "Million britiske termiske enheter", "foot-pound": "Fot-pund", "calorie": "Kalori", "small-calorie": "Liten kalori", @@ -5974,10 +6855,20 @@ "watt-per-square-inch": "Watt per kvadrattomme", "kilowatt-per-square-inch": "Kilowatt per kvadrattomme", "horsepower": "Hestekraft", - "btu-per-hour": "Britiske termiske enheter/time", + "btu-per-hour": "Britiske termiske enheter per time", + "btu-per-second": "Britiske termiske enheter per sekund", + "btu-per-day": "Britiske termiske enheter per dag", + "mbtu-per-hour": "Tusen britiske termiske enheter per time", + "mbtu-per-second": "Tusen britiske termiske enheter per sekund", + "mbtu-per-day": "Tusen britiske termiske enheter per dag", + "mmbtu-per-hour": "Million britiske termiske enheter per time", + "mmbtu-per-second": "Million britiske termiske enheter per sekund", + "mmbtu-per-day": "Million britiske termiske enheter per dag", + "foot-pound-per-second": "Fot-pound per sekund", "coulomb": "Coulomb", "millicoulomb": "Millicoulomb", "microcoulomb": "Mikrocoulomb", + "nanocoulomb": "Nanocoulomb", "picocoulomb": "Picocoulomb", "coulomb-per-meter": "Coulomb per meter", "coulomb-per-cubic-meter": "Coulomb per kubikkmeter", @@ -6003,6 +6894,9 @@ "microampere": "Mikroampere", "milliampere": "Milliampere", "ampere": "Ampere", + "kiloampere": "Kiloampere", + "megaampere": "Megaampere", + "gigaampere": "Gigaampere", "microampere-per-square-centimeter": "Mikroampere per kvadratcentimeter", "ampere-per-square-meter": "Ampere per kvadratmeter", "ampere-per-meter": "Ampere per meter", @@ -6011,7 +6905,11 @@ "ampere-meter-squared": "Ampere-meter kvadrert", "nanovolt": "Nanovolt", "picovolt": "Picovolt", + "millivolt": "Millivolt", + "microvolt": "Mikrovolt", "volt": "Volt", + "kilovolt": "Kilovolt", + "megavolt": "Megavolt", "dbmV": "dBmV", "dbm": "dBm", "volt-meter": "Volt-meter", @@ -6026,10 +6924,12 @@ "kilohm": "Kiloohm", "megohm": "Megohm", "gigohm": "Gigohm", + "millihertz": "Millihertz", "hertz": "Hertz", "kilohertz": "Kilohertz", "megahertz": "Megahertz", "gigahertz": "Gigahertz", + "terahertz": "Terahertz", "rpm": "Omdreininger per minutt", "candela-per-square-meter": "Candela per kvadratmeter", "candela": "Candela", @@ -6115,6 +7015,9 @@ "millibars": "Millibar", "inch-of-mercury": "Tommer kvikksølv", "richter-scale": "Richterskala", + "nanosecond": "Nanosekund", + "microsecond": "Mikrosekund", + "millisecond": "Millisekund", "second": "Sekund", "minute": "Minutt", "hour": "Time", @@ -6130,6 +7033,7 @@ "gallons-per-minute": "Galloner per minutt", "cubic-foot-per-second": "Kubikkfot per sekund", "milliliters-per-minute": "Milliliter per minutt", + "cubic-decimeter-per-second": "Kubikkdesimeter per sekund", "bit": "Bit", "byte": "Byte", "kilobyte": "Kilobyte", @@ -6152,6 +7056,9 @@ "degree": "Grad", "radian": "Radian", "gradian": "Gradian", + "arcminute": "Bueminutt", + "arcsecond": "Buesekund", + "milliradian": "Milliradian", "revolution": "Revolusjon", "siemens": "Siemens", "millisiemens": "Millisiemens", @@ -6221,10 +7128,12 @@ "radian-per-second": "Radian per sekund", "radian-per-second-squared": "Radian per sekund i kvadrat", "revolutions-per-minute-per-second": "Vinkelakselerasjon", - "deg-per-second": "grader/s", - "degrees-brix": "Grader Brix", + "deg-per-second": "Grader per sekund", + "rotation-per-minute": "Rotasjon per minutt", + "degrees-brix": "Grader brix", "katal": "Katal", - "katal-per-cubic-metre": "Katal per kubikkmeter" + "katal-per-cubic-metre": "Katal per kubikkmeter", + "paris-inch": "Paris-tomme" }, "user": { "user": "Bruker", @@ -6316,7 +7225,8 @@ "export-relations": "Eksporter relasjoner", "export-attributes": "Eksporter attributter", "export-credentials": "Eksporter legitimasjon", - "export-calculated-fields": "Eksporter beregnede felt", + "export-calculated-fields": "Eksporter beregnede felt \nog alarmregler", + "export-alarm-rules": "Eksporter alarmregler", "entity-versions": "Entitetsversjoner", "versions": "Versjoner", "created-time": "Opprettet tidspunkt", @@ -6334,6 +7244,7 @@ "load-attributes": "Last inn attributter", "load-credentials": "Last inn legitimasjon", "load-calculated-fields": "Last inn beregnede felt", + "load-alarm-rules": "Last inn alarmregler", "compare-with-current": "Sammenlign med nåværende", "diff-entity-with-version": "Forskjell med entitetsversjon '{{versionName}}'", "previous-difference": "Forrige forskjell", @@ -6543,7 +7454,23 @@ "scan-qr-code": "Skann QR-kode", "make-phone-call": "Ring telefonsamtale", "get-location": "Hent telefonens posisjon", - "take-screenshot": "Ta skjermbilde" + "take-screenshot": "Ta skjermbilde", + "handle-provision-success-function": "Håndter funksjon for vellykket klargjøring", + "get-location-function": "Hent posisjonsfunksjon", + "process-launch-result-function": "Behandle funksjon for startresultat", + "get-phone-number-function": "Hent telefonnummerfunksjon", + "process-image-function": "Behandle bildefunksjon", + "process-qr-code-function": "Behandle QR-kodefunksjon", + "process-location-function": "Behandle posisjonsfunksjon", + "handle-empty-result-function": "Håndter funksjon for tomt resultat", + "handle-error-function": "Håndter feilfunksjon", + "handle-non-mobile-fallback-function": "Håndter fallback-funksjon for ikke-mobil", + "save-to-gallery": "Lagre i galleri", + "provision-type": "Klargjøringstype", + "auto": "Auto", + "wi-fi": "Wi-Fi", + "ble": "BLE", + "soft-ap": "Soft AP" }, "custom-action-function": "Egendefinert handlingsfunksjon", "custom-pretty-function": "Egendefinert handling (med HTML-mal) funksjon", @@ -6552,7 +7479,8 @@ "marker": "Markør", "polygon": "Polygon", "rectangle": "Rektangel", - "circle": "Sirkel" + "circle": "Sirkel", + "polyline": "Polylinje" }, "place-map-item": "Plasser kartobjekt", "map-item-tooltip": { @@ -6564,7 +7492,9 @@ "continue-draw-polygon": "Fortsett å tegne polygon", "finish-draw-polygon": "Fullfør tegning av polygon", "start-draw-circle": "Start å tegne sirkel", - "finish-draw-circle": "Fullfør tegning av sirkel" + "finish-draw-circle": "Fullfør tegning av sirkel", + "start-draw-polyline": "Start tegning av polylinje", + "finish-draw-polyline": "Fullfør tegning av polylinje" } }, "widgets-bundle": { @@ -7130,6 +8060,14 @@ "update-animation-delay": "Oppdater animasjonsforsinkelse" }, "chart-axis": { + "limit": "Grense", + "source": "Kilde", + "key-value": "Nøkkel / verdi", + "value-required": "Verdi er påkrevd.", + "entity-key-required": "Entitetsnøkkel er påkrevd.", + "key-required": "Nøkkel er påkrevd.", + "scale-limits": "Skaleringsgrenser", + "scale-appearance": "Skaleringsutseende", "scale": "Skala", "scale-min": "min", "scale-max": "maks", @@ -7674,7 +8612,10 @@ "add-radio-option": "Legg til radioknappealternativ", "radio-label-position": "Etikettplassering", "radio-label-position-before": "Før", - "radio-label-position-after": "Etter" + "radio-label-position-after": "Etter", + "save-image": "Lagre bilde", + "save-to-gallery": "Lagre automatisk bilder som tas opp i Bildegalleriet", + "public-image": "Gjør bildet tilgjengelig for alle uautoriserte brukere" }, "invalid-qr-code-text": "Ugyldig inputtekst for QR-kode. Input må være av typen streng", "qr-code": { @@ -7774,6 +8715,18 @@ "fill-area-opacity": "Opasitet for fylt område", "range-chart-style": "Stil for områdediagram" }, + "knob": { + "behavior": "Atferd", + "initial-value": "Startverdi", + "initial-value-hint": "Handling for å hente startverdien for dreieknappen.", + "on-value-change": "Ved verdiendring", + "on-value-change-hint": "Handling som utløses når dreieknappens verdi endres.", + "range": "Område", + "min": "min", + "max": "maks", + "value": "Verdi", + "fallback-initial-value": "Fallback-startverdi" + }, "rpc": { "value-settings": "Verdiinnstillinger", "initial-value": "Startverdi", @@ -7830,9 +8783,7 @@ "led-status-value-timeseries": "Enhetstidsserie som inneholder LED-statusverdi", "check-status-method": "RPC-metode for statuskontroll", "parse-led-status-value-function": "Parse LED-statusverdi-funksjon", - "knob-title": "Knappetittel", - "min-value": "Minimumsverdi", - "max-value": "Maksimumsverdi" + "knob-title": "Knappetittel" }, "maps": { "map-type": { @@ -7959,7 +8910,8 @@ "trips": "Turer", "markers": "Markører", "polygons": "Polygoner", - "circles": "Sirkler" + "circles": "Sirkler", + "polylines": "Polylinjer" }, "data-layer": { "source": "Kilde", @@ -8156,10 +9108,29 @@ "finish-circle-hint-with-entity": "Sirkel for '{{entityName}}': klikk for å avslutte og lagre sirkel", "finish-circle-hint": "Sirkel: klikk for å avslutte tegning" }, - "select-entity": "Velg enhet", + "polyline": { + "polyline-key": "Polylinjenøkkel", + "polyline-key-required": "Polylinjenøkkel er påkrevd", + "no-polylines": "Ingen polylinjer konfigurert", + "add-polylines": "Legg til polylinje", + "polyline-configuration": "Polylinjekonfigurasjon", + "remove-polyline": "Fjern polylinje", + "edit": "Rediger polylinje", + "cut": "Klipp polylinjeområde", + "rotate": "Roter polylinje", + "remove-polyline-for": "Fjern polylinje for '{{entityName}}'", + "draw-polyline": "Tegn polylinje", + "polyline-place-first-point-hint-with-entity": "Polylinje for '{{entityName}}': klikk for å plassere første punkt", + "polyline-place-first-point-hint": "Polylinje: klikk for å plassere første punkt", + "finish-polyline-hint-with-entity": "Polylinje for '{{entityName}}': klikk for å fullføre tegningen", + "finish-polyline-hint": "Polylinje: klikk for å fullføre tegningen", + "polyline-place-first-point-cut-hint": "Klikk for å plassere første punkt", + "finish-polyline-cut-hint": "Klikk på første markør for å fullføre og lagre" + }, + "select-entity": "Velg entitet", "select-entity-hint": "Tips: etter valg, klikk på kartet for å angi posisjon" }, - "select-entity": "Velg enhet", + "select-entity": "Velg entitet", "select-entity-hint": "Tips: etter valg, klikk på kartet for å angi posisjon", "tooltips": { "placeMarker": "Klikk for å plassere '{{entityName}}' enhet", @@ -8597,6 +9568,7 @@ "show-empty-space-hidden-action": "Vis tomt område i stedet for skjult cellehandling", "dont-reserve-space-hidden-action": "Ikke reserver plass til skjulte handlingsknapper", "display-timestamp": "Tidsstempel", + "timestamp-column-name": "Tidsstempel", "display-pagination": "Vis paginering", "default-page-size": "Standard sidestørrelse", "page-step-settings": "Sideinnstillinger", @@ -8658,7 +9630,9 @@ "alarm-column-error": "Minst én alarmkolonne må angis", "table-tabs": "Tabellfaner", "show-cell-actions-menu-mobile": "Vis rullegardinmeny for cellehandlinger i mobilmodus", - "disable-sorting": "Deaktiver sortering" + "disable-sorting": "Deaktiver sortering", + "sort-by": "Sorter faner etter", + "sort-timestamp-option": "Opprettet tid" }, "latest-chart": { "total": "Totalt", @@ -8687,7 +9661,11 @@ "radar-axis": "Radarakse", "axis-label": "Aksesetikett", "ticks-label": "Tikkeetikett", - "radar-chart-style": "Radar-diagramstil" + "radar-chart-style": "Radar-diagramstil", + "max-axes-scaling": "Maks akseskalering", + "max-axes-scaling-hint": "Velg om hver radarakse har sin egen maksverdi (Separat) eller deler den høyeste verdien på tvers av alle akser basert på widget-datasettet (Felles).", + "separate": "Separat", + "common": "Felles" }, "time-series-chart": { "chart": "Diagram", @@ -9109,7 +10087,7 @@ }, "step2": { "title": "Koble til enhet", - "content-before": "

For å koble til enheten må du hente legitimasjon. Vi anbefaler å bruke automatisk genererte legitimasjonsdata – tilgangstoken – i denne veiledningen.

Bruk enkle kommandoer for å publisere data via HTTP. Husk å erstatte $ACCESS_TOKEN med tilgangstokenet for enheten:

", + "content-before": "

For å koble til enheten må du hente legitimasjon. Vi anbefaler å bruke automatisk genererte legitimasjonsdata – tilgangstoken – i denne veiledningen.

Bruk enkle kommandoer for å publisere data via HTTP. Husk å erstatte $ACCESS_TOKEN med tilgangstokenet for enheten:

", "ubuntu": { "install-curl": "Installer cURL for Ubuntu:" }, @@ -9146,11 +10124,28 @@ "content": "

Ved å opprette dashbord for sluttbruker, kan kundebrukeren bare se sine egne enheter og data. Data fra andre kunder vil være skjult.

Følg dokumentasjonen for hvordan du gjør det:

" } } + }, + "api-usage": { + "api-usage": "API-bruk", + "label": "Etikett", + "state-name": "Tilstandsnavn", + "status": "Status", + "status-required": "Status er påkrevd.", + "limit": "Maksgrense", + "limit-required": "Maksgrense er påkrevd.", + "current-number": "Gjeldende antall", + "current-number-required": "Gjeldende antall er påkrevd.", + "add-key": "Legg til nøkkel", + "no-key": "Ingen nøkkel", + "delete-key": "Slett nøkkel", + "target-dashboard-state": "Måltilstand for dashbord", + "go-to-main-state": "Gå til standardvisning" } }, "icon": { "icon": "Ikon", "icons": "Ikoner", + "custom": "Egendefinert", "select-icon": "Velg ikon", "material-icons": "Materialikoner", "show-all": "Vis alle ikoner", @@ -9191,6 +10186,7 @@ "items-per-page-separator": "av" }, "language": { + "auto": "Auto", "language": "Språk" } -} +} \ No newline at end of file