From 9c10caa7d83d66ae8ee954e5f0c038c782dada49 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 18 Jul 2018 17:04:37 +0300 Subject: [PATCH 1/4] Version set to 2.1.0-SNAPSHOT --- application/pom.xml | 2 +- common/data/pom.xml | 2 +- common/message/pom.xml | 2 +- common/pom.xml | 2 +- common/transport/pom.xml | 2 +- dao/pom.xml | 2 +- netty-mqtt/pom.xml | 4 ++-- pom.xml | 2 +- rule-engine/pom.xml | 2 +- rule-engine/rule-engine-api/pom.xml | 2 +- rule-engine/rule-engine-components/pom.xml | 2 +- tools/pom.xml | 2 +- transport/coap/pom.xml | 2 +- transport/http/pom.xml | 2 +- transport/mqtt/pom.xml | 2 +- transport/pom.xml | 2 +- ui/pom.xml | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) diff --git a/application/pom.xml b/application/pom.xml index a51ad29672..0e65c7683e 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard application diff --git a/common/data/pom.xml b/common/data/pom.xml index 4fabbb6a02..1cbd1b5593 100644 --- a/common/data/pom.xml +++ b/common/data/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT common org.thingsboard.common diff --git a/common/message/pom.xml b/common/message/pom.xml index 0c3045bc47..e1af6d101c 100644 --- a/common/message/pom.xml +++ b/common/message/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT common org.thingsboard.common diff --git a/common/pom.xml b/common/pom.xml index b8020bb3f5..8c2416d89c 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard org.thingsboard diff --git a/common/transport/pom.xml b/common/transport/pom.xml index f7595078b5..07c4d34d8a 100644 --- a/common/transport/pom.xml +++ b/common/transport/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT common org.thingsboard.common diff --git a/dao/pom.xml b/dao/pom.xml index 51469f5c43..00173bdf86 100644 --- a/dao/pom.xml +++ b/dao/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard dao diff --git a/netty-mqtt/pom.xml b/netty-mqtt/pom.xml index f4607a4e39..e5904fde81 100644 --- a/netty-mqtt/pom.xml +++ b/netty-mqtt/pom.xml @@ -19,12 +19,12 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard org.thingsboard netty-mqtt - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT jar Netty MQTT Client diff --git a/pom.xml b/pom.xml index f18e7f9c40..4be0a7fbc6 100755 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT pom Thingsboard diff --git a/rule-engine/pom.xml b/rule-engine/pom.xml index dccf16e03e..7d769ce575 100644 --- a/rule-engine/pom.xml +++ b/rule-engine/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard rule-engine diff --git a/rule-engine/rule-engine-api/pom.xml b/rule-engine/rule-engine-api/pom.xml index 182c98c234..fce5562819 100644 --- a/rule-engine/rule-engine-api/pom.xml +++ b/rule-engine/rule-engine-api/pom.xml @@ -22,7 +22,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT rule-engine org.thingsboard.rule-engine diff --git a/rule-engine/rule-engine-components/pom.xml b/rule-engine/rule-engine-components/pom.xml index 4071cdc0c1..aed7efdffa 100644 --- a/rule-engine/rule-engine-components/pom.xml +++ b/rule-engine/rule-engine-components/pom.xml @@ -22,7 +22,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT rule-engine org.thingsboard.rule-engine diff --git a/tools/pom.xml b/tools/pom.xml index 8b5bfc5cd6..054eab03e2 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard org.thingsboard diff --git a/transport/coap/pom.xml b/transport/coap/pom.xml index 63abab21bc..61e455a313 100644 --- a/transport/coap/pom.xml +++ b/transport/coap/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT transport org.thingsboard.transport diff --git a/transport/http/pom.xml b/transport/http/pom.xml index 54e89d51ac..3978620843 100644 --- a/transport/http/pom.xml +++ b/transport/http/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT transport org.thingsboard.transport diff --git a/transport/mqtt/pom.xml b/transport/mqtt/pom.xml index 5c3795c98e..0bdb9a88c8 100644 --- a/transport/mqtt/pom.xml +++ b/transport/mqtt/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT transport org.thingsboard.transport diff --git a/transport/pom.xml b/transport/pom.xml index 0ae885bbf7..03f3d11081 100644 --- a/transport/pom.xml +++ b/transport/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard org.thingsboard diff --git a/ui/pom.xml b/ui/pom.xml index ecb71dee7e..8003eee1a2 100644 --- a/ui/pom.xml +++ b/ui/pom.xml @@ -20,7 +20,7 @@ 4.0.0 org.thingsboard - 2.0.4-SNAPSHOT + 2.1.0-SNAPSHOT thingsboard org.thingsboard From c855dabc1de6c089ce73581a52ee81b0774c76f5 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 18 Jul 2018 18:20:01 +0300 Subject: [PATCH 2/4] Update UI and docker version to 2.1.0 --- docker/cassandra-setup/Makefile | 2 +- docker/cassandra/Makefile | 2 +- docker/docker-compose.yml | 2 +- docker/k8s/cassandra-setup.yaml | 2 +- docker/k8s/cassandra.yaml | 2 +- docker/k8s/tb.yaml | 2 +- docker/k8s/zookeeper.yaml | 2 +- docker/tb/Makefile | 2 +- docker/zookeeper/Makefile | 2 +- ui/package.json | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docker/cassandra-setup/Makefile b/docker/cassandra-setup/Makefile index b90a1f1e44..7990a3e7e8 100644 --- a/docker/cassandra-setup/Makefile +++ b/docker/cassandra-setup/Makefile @@ -1,4 +1,4 @@ -VERSION=2.0.1 +VERSION=2.1.0 PROJECT=thingsboard APP=cassandra-setup diff --git a/docker/cassandra/Makefile b/docker/cassandra/Makefile index 1ac51fcccf..d1fb67705f 100644 --- a/docker/cassandra/Makefile +++ b/docker/cassandra/Makefile @@ -1,4 +1,4 @@ -VERSION=2.0.1 +VERSION=2.1.0 PROJECT=thingsboard APP=cassandra diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b7a715e73a..89a83696f3 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -18,7 +18,7 @@ version: '2' services: tb: - image: "thingsboard/application:2.0.1" + image: "thingsboard/application:2.1.0" ports: - "8080:8080" - "1883:1883" diff --git a/docker/k8s/cassandra-setup.yaml b/docker/k8s/cassandra-setup.yaml index eefc148427..381df77e65 100644 --- a/docker/k8s/cassandra-setup.yaml +++ b/docker/k8s/cassandra-setup.yaml @@ -22,7 +22,7 @@ spec: containers: - name: cassandra-setup imagePullPolicy: Always - image: thingsboard/cassandra-setup:2.0.1 + image: thingsboard/cassandra-setup:2.1.0 env: - name: ADD_DEMO_DATA value: "true" diff --git a/docker/k8s/cassandra.yaml b/docker/k8s/cassandra.yaml index 04cafcb74a..3165bb1a7a 100644 --- a/docker/k8s/cassandra.yaml +++ b/docker/k8s/cassandra.yaml @@ -54,7 +54,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: cassandra - image: thingsboard/cassandra:2.0.1 + image: thingsboard/cassandra:2.1.0 imagePullPolicy: Always ports: - containerPort: 7000 diff --git a/docker/k8s/tb.yaml b/docker/k8s/tb.yaml index 947afb46e0..f38e1f12b1 100644 --- a/docker/k8s/tb.yaml +++ b/docker/k8s/tb.yaml @@ -84,7 +84,7 @@ spec: containers: - name: tb imagePullPolicy: Always - image: thingsboard/application:2.0.1 + image: thingsboard/application:2.1.0 ports: - containerPort: 8080 name: ui diff --git a/docker/k8s/zookeeper.yaml b/docker/k8s/zookeeper.yaml index 744c071797..ae33ea2efa 100644 --- a/docker/k8s/zookeeper.yaml +++ b/docker/k8s/zookeeper.yaml @@ -87,7 +87,7 @@ spec: containers: - name: zk imagePullPolicy: Always - image: thingsboard/zk:2.0.1 + image: thingsboard/zk:2.1.0 ports: - containerPort: 2181 name: client diff --git a/docker/tb/Makefile b/docker/tb/Makefile index 5e0fcf1c58..96803abf58 100644 --- a/docker/tb/Makefile +++ b/docker/tb/Makefile @@ -1,4 +1,4 @@ -VERSION=2.0.1 +VERSION=2.1.0 PROJECT=thingsboard APP=application diff --git a/docker/zookeeper/Makefile b/docker/zookeeper/Makefile index 1d74b0dc37..5c58a74cf2 100644 --- a/docker/zookeeper/Makefile +++ b/docker/zookeeper/Makefile @@ -1,4 +1,4 @@ -VERSION=2.0.1 +VERSION=2.1.0 PROJECT=thingsboard APP=zk diff --git a/ui/package.json b/ui/package.json index 495923799d..06b7feea78 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,7 +1,7 @@ { "name": "thingsboard", "private": true, - "version": "2.0.4", + "version": "2.1.0", "description": "Thingsboard UI", "licenses": [ { From 8765575c17c371b94c8a779db93894a832822610 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 18 Jul 2018 20:19:54 +0300 Subject: [PATCH 3/4] UI: Plural translation format updated. --- ui/src/app/api/time.service.js | 163 ++++++++++--------- ui/src/app/locale/locale.constant-en_US.json | 130 +++++++-------- ui/src/app/locale/locale.constant-es_ES.json | 118 +++++++------- ui/src/app/locale/locale.constant-it_IT.json | 128 +++++++-------- ui/src/app/locale/locale.constant-ko_KR.json | 122 +++++++------- ui/src/app/locale/locale.constant-ru_RU.json | 62 +++---- ui/src/app/locale/locale.constant-zh_CN.json | 116 ++++++------- 7 files changed, 423 insertions(+), 416 deletions(-) diff --git a/ui/src/app/api/time.service.js b/ui/src/app/api/time.service.js index 8742b58d38..b8d0c41cbc 100644 --- a/ui/src/app/api/time.service.js +++ b/ui/src/app/api/time.service.js @@ -32,84 +32,7 @@ const MAX_LIMIT = 500; /*@ngInject*/ function TimeService($translate, types) { - var predefIntervals = [ - { - name: $translate.instant('timeinterval.seconds-interval', {seconds: 1}, 'messageformat'), - value: 1 * SECOND - }, - { - name: $translate.instant('timeinterval.seconds-interval', {seconds: 5}, 'messageformat'), - value: 5 * SECOND - }, - { - name: $translate.instant('timeinterval.seconds-interval', {seconds: 10}, 'messageformat'), - value: 10 * SECOND - }, - { - name: $translate.instant('timeinterval.seconds-interval', {seconds: 15}, 'messageformat'), - value: 15 * SECOND - }, - { - name: $translate.instant('timeinterval.seconds-interval', {seconds: 30}, 'messageformat'), - value: 30 * SECOND - }, - { - name: $translate.instant('timeinterval.minutes-interval', {minutes: 1}, 'messageformat'), - value: 1 * MINUTE - }, - { - name: $translate.instant('timeinterval.minutes-interval', {minutes: 2}, 'messageformat'), - value: 2 * MINUTE - }, - { - name: $translate.instant('timeinterval.minutes-interval', {minutes: 5}, 'messageformat'), - value: 5 * MINUTE - }, - { - name: $translate.instant('timeinterval.minutes-interval', {minutes: 10}, 'messageformat'), - value: 10 * MINUTE - }, - { - name: $translate.instant('timeinterval.minutes-interval', {minutes: 15}, 'messageformat'), - value: 15 * MINUTE - }, - { - name: $translate.instant('timeinterval.minutes-interval', {minutes: 30}, 'messageformat'), - value: 30 * MINUTE - }, - { - name: $translate.instant('timeinterval.hours-interval', {hours: 1}, 'messageformat'), - value: 1 * HOUR - }, - { - name: $translate.instant('timeinterval.hours-interval', {hours: 2}, 'messageformat'), - value: 2 * HOUR - }, - { - name: $translate.instant('timeinterval.hours-interval', {hours: 5}, 'messageformat'), - value: 5 * HOUR - }, - { - name: $translate.instant('timeinterval.hours-interval', {hours: 10}, 'messageformat'), - value: 10 * HOUR - }, - { - name: $translate.instant('timeinterval.hours-interval', {hours: 12}, 'messageformat'), - value: 12 * HOUR - }, - { - name: $translate.instant('timeinterval.days-interval', {days: 1}, 'messageformat'), - value: 1 * DAY - }, - { - name: $translate.instant('timeinterval.days-interval', {days: 7}, 'messageformat'), - value: 7 * DAY - }, - { - name: $translate.instant('timeinterval.days-interval', {days: 30}, 'messageformat'), - value: 30 * DAY - } - ]; + var predefIntervals; var service = { minIntervalLimit: minIntervalLimit, @@ -166,6 +89,7 @@ function TimeService($translate, types) { min = boundMinInterval(min); max = boundMaxInterval(max); var intervals = []; + initPredefIntervals(); for (var i in predefIntervals) { var interval = predefIntervals[i]; if (interval.value >= min && interval.value <= max) { @@ -175,6 +99,89 @@ function TimeService($translate, types) { return intervals; } + function initPredefIntervals() { + if (!predefIntervals) { + predefIntervals = [ + { + name: $translate.instant('timeinterval.seconds-interval', {seconds: 1}, 'messageformat'), + value: 1 * SECOND + }, + { + name: $translate.instant('timeinterval.seconds-interval', {seconds: 5}, 'messageformat'), + value: 5 * SECOND + }, + { + name: $translate.instant('timeinterval.seconds-interval', {seconds: 10}, 'messageformat'), + value: 10 * SECOND + }, + { + name: $translate.instant('timeinterval.seconds-interval', {seconds: 15}, 'messageformat'), + value: 15 * SECOND + }, + { + name: $translate.instant('timeinterval.seconds-interval', {seconds: 30}, 'messageformat'), + value: 30 * SECOND + }, + { + name: $translate.instant('timeinterval.minutes-interval', {minutes: 1}, 'messageformat'), + value: 1 * MINUTE + }, + { + name: $translate.instant('timeinterval.minutes-interval', {minutes: 2}, 'messageformat'), + value: 2 * MINUTE + }, + { + name: $translate.instant('timeinterval.minutes-interval', {minutes: 5}, 'messageformat'), + value: 5 * MINUTE + }, + { + name: $translate.instant('timeinterval.minutes-interval', {minutes: 10}, 'messageformat'), + value: 10 * MINUTE + }, + { + name: $translate.instant('timeinterval.minutes-interval', {minutes: 15}, 'messageformat'), + value: 15 * MINUTE + }, + { + name: $translate.instant('timeinterval.minutes-interval', {minutes: 30}, 'messageformat'), + value: 30 * MINUTE + }, + { + name: $translate.instant('timeinterval.hours-interval', {hours: 1}, 'messageformat'), + value: 1 * HOUR + }, + { + name: $translate.instant('timeinterval.hours-interval', {hours: 2}, 'messageformat'), + value: 2 * HOUR + }, + { + name: $translate.instant('timeinterval.hours-interval', {hours: 5}, 'messageformat'), + value: 5 * HOUR + }, + { + name: $translate.instant('timeinterval.hours-interval', {hours: 10}, 'messageformat'), + value: 10 * HOUR + }, + { + name: $translate.instant('timeinterval.hours-interval', {hours: 12}, 'messageformat'), + value: 12 * HOUR + }, + { + name: $translate.instant('timeinterval.days-interval', {days: 1}, 'messageformat'), + value: 1 * DAY + }, + { + name: $translate.instant('timeinterval.days-interval', {days: 7}, 'messageformat'), + value: 7 * DAY + }, + { + name: $translate.instant('timeinterval.days-interval', {days: 30}, 'messageformat'), + value: 30 * DAY + } + ]; + } + } + function matchesExistingInterval(min, max, intervalMs) { var intervals = getIntervals(min, max); for (var i in intervals) { diff --git a/ui/src/app/locale/locale.constant-en_US.json b/ui/src/app/locale/locale.constant-en_US.json index dcf428542c..c8afc45591 100644 --- a/ui/src/app/locale/locale.constant-en_US.json +++ b/ui/src/app/locale/locale.constant-en_US.json @@ -126,15 +126,15 @@ "acknowledge": "Acknowledge", "clear": "Clear", "search": "Search alarms", - "selected-alarms": "{ count, select, 1 {1 alarm} other {# alarms} } selected", + "selected-alarms": "{ count, plural, 1 {1 alarm} other {# alarms} } selected", "no-data": "No data to display", "polling-interval": "Alarms polling interval (sec)", "polling-interval-required": "Alarms polling interval is required.", "min-polling-interval-message": "At least 1 sec polling interval is allowed.", - "aknowledge-alarms-title": "Acknowledge { count, select, 1 {1 alarm} other {# alarms} }", - "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, select, 1 {1 alarm} other {# alarms} }?", - "clear-alarms-title": "Clear { count, select, 1 {1 alarm} other {# alarms} }", - "clear-alarms-text": "Are you sure you want to clear { count, select, 1 {1 alarm} other {# alarms} }?" + "aknowledge-alarms-title": "Acknowledge { count, plural, 1 {1 alarm} other {# alarms} }", + "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, plural, 1 {1 alarm} other {# alarms} }?", + "clear-alarms-title": "Clear { count, plural, 1 {1 alarm} other {# alarms} }", + "clear-alarms-text": "Are you sure you want to clear { count, plural, 1 {1 alarm} other {# alarms} }?" }, "alias": { "add": "Add alias", @@ -212,15 +212,15 @@ "add-asset-text": "Add new asset", "asset-details": "Asset details", "assign-assets": "Assign assets", - "assign-assets-text": "Assign { count, select, 1 {1 asset} other {# assets} } to customer", + "assign-assets-text": "Assign { count, plural, 1 {1 asset} other {# assets} } to customer", "delete-assets": "Delete assets", "unassign-assets": "Unassign assets", - "unassign-assets-action-title": "Unassign { count, select, 1 {1 asset} other {# assets} } from customer", + "unassign-assets-action-title": "Unassign { count, plural, 1 {1 asset} other {# assets} } from customer", "assign-new-asset": "Assign new asset", "delete-asset-title": "Are you sure you want to delete the asset '{{assetName}}'?", "delete-asset-text": "Be careful, after the confirmation the asset and all related data will become unrecoverable.", - "delete-assets-title": "Are you sure you want to delete { count, select, 1 {1 asset} other {# assets} }?", - "delete-assets-action-title": "Delete { count, select, 1 {1 asset} other {# assets} }", + "delete-assets-title": "Are you sure you want to delete { count, plural, 1 {1 asset} other {# assets} }?", + "delete-assets-action-title": "Delete { count, plural, 1 {1 asset} other {# assets} }", "delete-assets-text": "Be careful, after the confirmation all selected assets will be removed and all related data will become unrecoverable.", "make-public-asset-title": "Are you sure you want to make the asset '{{assetName}}' public?", "make-public-asset-text": "After the confirmation the asset and all its data will be made public and accessible by others.", @@ -229,7 +229,7 @@ "unassign-asset-title": "Are you sure you want to unassign the asset '{{assetName}}'?", "unassign-asset-text": "After the confirmation the asset will be unassigned and won't be accessible by the customer.", "unassign-asset": "Unassign asset", - "unassign-assets-title": "Are you sure you want to unassign { count, select, 1 {1 asset} other {# assets} }?", + "unassign-assets-title": "Are you sure you want to unassign { count, plural, 1 {1 asset} other {# assets} }?", "unassign-assets-text": "After the confirmation all selected assets will be unassigned and won't be accessible by the customer.", "copyId": "Copy asset Id", "idCopiedMessage": "Asset Id has been copied to clipboard", @@ -252,7 +252,7 @@ "key-required": "Attribute key is required.", "value": "Value", "value-required": "Attribute value is required.", - "delete-attributes-title": "Are you sure you want to delete { count, select, 1 {1 attribute} other {# attributes} }?", + "delete-attributes-title": "Are you sure you want to delete { count, plural, 1 {1 attribute} other {# attributes} }?", "delete-attributes-text": "Be careful, after the confirmation all selected attributes will be removed.", "delete-attributes": "Delete attributes", "enter-attribute-value": "Enter attribute value", @@ -262,8 +262,8 @@ "prev-widget": "Previous widget", "add-to-dashboard": "Add to dashboard", "add-widget-to-dashboard": "Add widget to dashboard", - "selected-attributes": "{ count, select, 1 {1 attribute} other {# attributes} } selected", - "selected-telemetry": "{ count, select, 1 {1 telemetry unit} other {# telemetry units} } selected" + "selected-attributes": "{ count, plural, 1 {1 attribute} other {# attributes} } selected", + "selected-telemetry": "{ count, plural, 1 {1 telemetry unit} other {# telemetry units} } selected" }, "audit-log": { "audit": "Audit", @@ -351,8 +351,8 @@ "customer-details": "Customer details", "delete-customer-title": "Are you sure you want to delete the customer '{{customerTitle}}'?", "delete-customer-text": "Be careful, after the confirmation the customer and all related data will become unrecoverable.", - "delete-customers-title": "Are you sure you want to delete { count, select, 1 {1 customer} other {# customers} }?", - "delete-customers-action-title": "Delete { count, select, 1 {1 customer} other {# customers} }", + "delete-customers-title": "Are you sure you want to delete { count, plural, 1 {1 customer} other {# customers} }?", + "delete-customers-action-title": "Delete { count, plural, 1 {1 customer} other {# customers} }", "delete-customers-text": "Be careful, after the confirmation all selected customers will be removed and all related data will become unrecoverable.", "manage-users": "Manage users", "manage-assets": "Manage assets", @@ -411,20 +411,20 @@ "add-dashboard-text": "Add new dashboard", "assign-dashboards": "Assign dashboards", "assign-new-dashboard": "Assign new dashboard", - "assign-dashboards-text": "Assign { count, select, 1 {1 dashboard} other {# dashboards} } to customers", - "unassign-dashboards-action-text": "Unassign { count, select, 1 {1 dashboard} other {# dashboards} } from customers", + "assign-dashboards-text": "Assign { count, plural, 1 {1 dashboard} other {# dashboards} } to customers", + "unassign-dashboards-action-text": "Unassign { count, plural, 1 {1 dashboard} other {# dashboards} } from customers", "delete-dashboards": "Delete dashboards", "unassign-dashboards": "Unassign dashboards", - "unassign-dashboards-action-title": "Unassign { count, select, 1 {1 dashboard} other {# dashboards} } from customer", + "unassign-dashboards-action-title": "Unassign { count, plural, 1 {1 dashboard} other {# dashboards} } from customer", "delete-dashboard-title": "Are you sure you want to delete the dashboard '{{dashboardTitle}}'?", "delete-dashboard-text": "Be careful, after the confirmation the dashboard and all related data will become unrecoverable.", - "delete-dashboards-title": "Are you sure you want to delete { count, select, 1 {1 dashboard} other {# dashboards} }?", - "delete-dashboards-action-title": "Delete { count, select, 1 {1 dashboard} other {# dashboards} }", + "delete-dashboards-title": "Are you sure you want to delete { count, plural, 1 {1 dashboard} other {# dashboards} }?", + "delete-dashboards-action-title": "Delete { count, plural, 1 {1 dashboard} other {# dashboards} }", "delete-dashboards-text": "Be careful, after the confirmation all selected dashboards will be removed and all related data will become unrecoverable.", "unassign-dashboard-title": "Are you sure you want to unassign the dashboard '{{dashboardTitle}}'?", "unassign-dashboard-text": "After the confirmation the dashboard will be unassigned and won't be accessible by the customer.", "unassign-dashboard": "Unassign dashboard", - "unassign-dashboards-title": "Are you sure you want to unassign { count, select, 1 {1 dashboard} other {# dashboards} }?", + "unassign-dashboards-title": "Are you sure you want to unassign { count, plural, 1 {1 dashboard} other {# dashboards} }?", "unassign-dashboards-text": "After the confirmation all selected dashboards will be unassigned and won't be accessible by the customer.", "public-dashboard-title": "Dashboard is now public", "public-dashboard-text": "Your dashboard {{dashboardTitle}} is now public and accessible via next public link:", @@ -501,7 +501,7 @@ "manage-states": "Manage dashboard states", "states": "Dashboard states", "search-states": "Search dashboard states", - "selected-states": "{ count, select, 1 {1 dashboard state} other {# dashboard states} } selected", + "selected-states": "{ count, plural, 1 {1 dashboard state} other {# dashboard states} } selected", "edit-state": "Edit dashboard state", "delete-state": "Delete dashboard state", "add-state": "Add dashboard state", @@ -534,11 +534,11 @@ "alarm": "Alarm fields", "timeseries-required": "Entity timeseries are required.", "timeseries-or-attributes-required": "Entity timeseries/attributes are required.", - "maximum-timeseries-or-attributes": "Maximum { count, select, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", + "maximum-timeseries-or-attributes": "Maximum { count, plural, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", "alarm-fields-required": "Alarm fields are required.", "function-types": "Function types", "function-types-required": "Function types are required.", - "maximum-function-types": "Maximum { count, select, 1 {1 function type is allowed.} other {# function types are allowed} }" + "maximum-function-types": "Maximum { count, plural, 1 {1 function type is allowed.} other {# function types are allowed} }" }, "datasource": { "type": "Datasource type", @@ -590,11 +590,11 @@ "manage-credentials": "Manage credentials", "delete": "Delete device", "assign-devices": "Assign devices", - "assign-devices-text": "Assign { count, select, 1 {1 device} other {# devices} } to customer", + "assign-devices-text": "Assign { count, plural, 1 {1 device} other {# devices} } to customer", "delete-devices": "Delete devices", "unassign-from-customer": "Unassign from customer", "unassign-devices": "Unassign devices", - "unassign-devices-action-title": "Unassign { count, select, 1 {1 device} other {# devices} } from customer", + "unassign-devices-action-title": "Unassign { count, plural, 1 {1 device} other {# devices} } from customer", "assign-new-device": "Assign new device", "make-public-device-title": "Are you sure you want to make the device '{{deviceName}}' public?", "make-public-device-text": "After the confirmation the device and all its data will be made public and accessible by others.", @@ -603,13 +603,13 @@ "view-credentials": "View credentials", "delete-device-title": "Are you sure you want to delete the device '{{deviceName}}'?", "delete-device-text": "Be careful, after the confirmation the device and all related data will become unrecoverable.", - "delete-devices-title": "Are you sure you want to delete { count, select, 1 {1 device} other {# devices} }?", - "delete-devices-action-title": "Delete { count, select, 1 {1 device} other {# devices} }", + "delete-devices-title": "Are you sure you want to delete { count, plural, 1 {1 device} other {# devices} }?", + "delete-devices-action-title": "Delete { count, plural, 1 {1 device} other {# devices} }", "delete-devices-text": "Be careful, after the confirmation all selected devices will be removed and all related data will become unrecoverable.", "unassign-device-title": "Are you sure you want to unassign the device '{{deviceName}}'?", "unassign-device-text": "After the confirmation the device will be unassigned and won't be accessible by the customer.", "unassign-device": "Unassign device", - "unassign-devices-title": "Are you sure you want to unassign { count, select, 1 {1 device} other {# devices} }?", + "unassign-devices-title": "Are you sure you want to unassign { count, plural, 1 {1 device} other {# devices} }?", "unassign-devices-text": "After the confirmation all selected devices will be unassigned and won't be accessible by the customer.", "device-credentials": "Device Credentials", "credentials-type": "Credentials type", @@ -695,51 +695,51 @@ "type-required": "Entity type is required.", "type-device": "Device", "type-devices": "Devices", - "list-of-devices": "{ count, select, 1 {One device} other {List of # devices} }", + "list-of-devices": "{ count, plural, 1 {One device} other {List of # devices} }", "device-name-starts-with": "Devices whose names start with '{{prefix}}'", "type-asset": "Asset", "type-assets": "Assets", - "list-of-assets": "{ count, select, 1 {One asset} other {List of # assets} }", + "list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }", "asset-name-starts-with": "Assets whose names start with '{{prefix}}'", "type-rule": "Rule", "type-rules": "Rules", - "list-of-rules": "{ count, select, 1 {One rule} other {List of # rules} }", + "list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }", "rule-name-starts-with": "Rules whose names start with '{{prefix}}'", "type-plugin": "Plugin", "type-plugins": "Plugins", - "list-of-plugins": "{ count, select, 1 {One plugin} other {List of # plugins} }", + "list-of-plugins": "{ count, plural, 1 {One plugin} other {List of # plugins} }", "plugin-name-starts-with": "Plugins whose names start with '{{prefix}}'", "type-tenant": "Tenant", "type-tenants": "Tenants", - "list-of-tenants": "{ count, select, 1 {One tenant} other {List of # tenants} }", + "list-of-tenants": "{ count, plural, 1 {One tenant} other {List of # tenants} }", "tenant-name-starts-with": "Tenants whose names start with '{{prefix}}'", "type-customer": "Customer", "type-customers": "Customers", - "list-of-customers": "{ count, select, 1 {One customer} other {List of # customers} }", + "list-of-customers": "{ count, plural, 1 {One customer} other {List of # customers} }", "customer-name-starts-with": "Customers whose names start with '{{prefix}}'", "type-user": "User", "type-users": "Users", - "list-of-users": "{ count, select, 1 {One user} other {List of # users} }", + "list-of-users": "{ count, plural, 1 {One user} other {List of # users} }", "user-name-starts-with": "Users whose names start with '{{prefix}}'", "type-dashboard": "Dashboard", "type-dashboards": "Dashboards", - "list-of-dashboards": "{ count, select, 1 {One dashboard} other {List of # dashboards} }", + "list-of-dashboards": "{ count, plural, 1 {One dashboard} other {List of # dashboards} }", "dashboard-name-starts-with": "Dashboards whose names start with '{{prefix}}'", "type-alarm": "Alarm", "type-alarms": "Alarms", - "list-of-alarms": "{ count, select, 1 {One alarms} other {List of # alarms} }", + "list-of-alarms": "{ count, plural, 1 {One alarms} other {List of # alarms} }", "alarm-name-starts-with": "Alarms whose names start with '{{prefix}}'", "type-rulechain": "Rule chain", "type-rulechains": "Rule chains", - "list-of-rulechains": "{ count, select, 1 {One rule chain} other {List of # rule chains} }", + "list-of-rulechains": "{ count, plural, 1 {One rule chain} other {List of # rule chains} }", "rulechain-name-starts-with": "Rule chains whose names start with '{{prefix}}'", "type-rulenode": "Rule node", "type-rulenodes": "Rule nodes", - "list-of-rulenodes": "{ count, select, 1 {One rule node} other {List of # rule nodes} }", + "list-of-rulenodes": "{ count, plural, 1 {One rule node} other {List of # rule nodes} }", "rulenode-name-starts-with": "Rule nodes whose names start with '{{prefix}}'", "type-current-customer": "Current Customer", "search": "Search entities", - "selected-entities": "{ count, select, 1 {1 entity} other {# entities} } selected", + "selected-entities": "{ count, plural, 1 {1 entity} other {# entities} } selected", "entity-name": "Entity name", "details": "Entity details", "no-entities-prompt": "No entities found", @@ -776,7 +776,7 @@ }, "extension": { "extensions": "Extensions", - "selected-extensions": "{ count, select, 1 {1 extension} other {# extensions} } selected", + "selected-extensions": "{ count, plural, 1 {1 extension} other {# extensions} } selected", "type": "Type", "key": "Key", "value": "Value", @@ -790,7 +790,7 @@ "edit": "Edit extension", "delete-extension-title": "Are you sure you want to delete the extension '{{extensionId}}'?", "delete-extension-text": "Be careful, after the confirmation the extension and all related data will become unrecoverable.", - "delete-extensions-title": "Are you sure you want to delete { count, select, 1 {1 extension} other {# extensions} }?", + "delete-extensions-title": "Are you sure you want to delete { count, plural, 1 {1 extension} other {# extensions} }?", "delete-extensions-text": "Be careful, after the confirmation all selected extensions will be removed.", "converters": "Converters", "converter-id": "Converter id", @@ -943,8 +943,8 @@ "grid": { "delete-item-title": "Are you sure you want to delete this item?", "delete-item-text": "Be careful, after the confirmation this item and all related data will become unrecoverable.", - "delete-items-title": "Are you sure you want to delete { count, select, 1 {1 item} other {# items} }?", - "delete-items-action-title": "Delete { count, select, 1 {1 item} other {# items} }", + "delete-items-title": "Are you sure you want to delete { count, plural, 1 {1 item} other {# items} }?", + "delete-items-action-title": "Delete { count, plural, 1 {1 item} other {# items} }", "delete-items-text": "Be careful, after the confirmation all selected items will be removed and all related data will become unrecoverable.", "add-item-text": "Add new item", "no-items-text": "No items found", @@ -1045,7 +1045,7 @@ }, "from-relations": "Outbound relations", "to-relations": "Inbound relations", - "selected-relations": "{ count, select, 1 {1 relation} other {# relations} } selected", + "selected-relations": "{ count, plural, 1 {1 relation} other {# relations} } selected", "type": "Type", "to-entity-type": "To entity type", "to-entity-name": "To entity name", @@ -1061,11 +1061,11 @@ "edit": "Edit relation", "delete-to-relation-title": "Are you sure you want to delete relation to the entity '{{entityName}}'?", "delete-to-relation-text": "Be careful, after the confirmation the entity '{{entityName}}' will be unrelated from the current entity.", - "delete-to-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-to-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-to-relations-text": "Be careful, after the confirmation all selected relations will be removed and corresponding entities will be unrelated from the current entity.", "delete-from-relation-title": "Are you sure you want to delete relation from the entity '{{entityName}}'?", "delete-from-relation-text": "Be careful, after the confirmation current entity will be unrelated from the entity '{{entityName}}'.", - "delete-from-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-from-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-from-relations-text": "Be careful, after the confirmation all selected relations will be removed and current entity will be unrelated from the corresponding entities.", "remove-relation-filter": "Remove relation filter", "add-relation-filter": "Add relation filter", @@ -1088,8 +1088,8 @@ "set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.", "delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?", "delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.", - "delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?", - "delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }", + "delete-rulechains-title": "Are you sure you want to delete { count, plural, 1 {1 rule chain} other {# rule chains} }?", + "delete-rulechains-action-title": "Delete { count, plural, 1 {1 rule chain} other {# rule chains} }", "delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.", "add-rulechain-text": "Add new rule chain", "no-rulechains-text": "No rule chains found", @@ -1187,8 +1187,8 @@ "tenant-details": "Tenant details", "delete-tenant-title": "Are you sure you want to delete the tenant '{{tenantTitle}}'?", "delete-tenant-text": "Be careful, after the confirmation the tenant and all related data will become unrecoverable.", - "delete-tenants-title": "Are you sure you want to delete { count, select, 1 {1 tenant} other {# tenants} }?", - "delete-tenants-action-title": "Delete { count, select, 1 {1 tenant} other {# tenants} }", + "delete-tenants-title": "Are you sure you want to delete { count, plural, 1 {1 tenant} other {# tenants} }?", + "delete-tenants-action-title": "Delete { count, plural, 1 {1 tenant} other {# tenants} }", "delete-tenants-text": "Be careful, after the confirmation all selected tenants will be removed and all related data will become unrecoverable.", "title": "Title", "title-required": "Title is required.", @@ -1202,10 +1202,10 @@ "tenant-required": "Tenant is required" }, "timeinterval": { - "seconds-interval": "{ seconds, select, 1 {1 second} other {# seconds} }", - "minutes-interval": "{ minutes, select, 1 {1 minute} other {# minutes} }", - "hours-interval": "{ hours, select, 1 {1 hour} other {# hours} }", - "days-interval": "{ days, select, 1 {1 day} other {# days} }", + "seconds-interval": "{ seconds, plural, 1 {1 second} other {# seconds} }", + "minutes-interval": "{ minutes, plural, 1 {1 minute} other {# minutes} }", + "hours-interval": "{ hours, plural, 1 {1 hour} other {# hours} }", + "days-interval": "{ days, plural, 1 {1 day} other {# days} }", "days": "Days", "hours": "Hours", "minutes": "Minutes", @@ -1213,10 +1213,10 @@ "advanced": "Advanced" }, "timewindow": { - "days": "{ days, select, 1 { day } other {# days } }", - "hours": "{ hours, select, 0 { hour } 1 {1 hour } other {# hours } }", - "minutes": "{ minutes, select, 0 { minute } 1 {1 minute } other {# minutes } }", - "seconds": "{ seconds, select, 0 { second } 1 {1 second } other {# seconds } }", + "days": "{ days, plural, 1 { day } other {# days } }", + "hours": "{ hours, plural, 0 { hour } 1 {1 hour } other {# hours } }", + "minutes": "{ minutes, plural, 0 { minute } 1 {1 minute } other {# minutes } }", + "seconds": "{ seconds, plural, 0 { second } 1 {1 second } other {# seconds } }", "realtime": "Realtime", "history": "History", "last-prefix": "last", @@ -1242,8 +1242,8 @@ "user-details": "User details", "delete-user-title": "Are you sure you want to delete the user '{{userEmail}}'?", "delete-user-text": "Be careful, after the confirmation the user and all related data will become unrecoverable.", - "delete-users-title": "Are you sure you want to delete { count, select, 1 {1 user} other {# users} }?", - "delete-users-action-title": "Delete { count, select, 1 {1 user} other {# users} }", + "delete-users-title": "Are you sure you want to delete { count, plural, 1 {1 user} other {# users} }?", + "delete-users-action-title": "Delete { count, plural, 1 {1 user} other {# users} }", "delete-users-text": "Be careful, after the confirmation all selected users will be removed and all related data will become unrecoverable.", "activation-email-sent-message": "Activation email was successfully sent!", "resend-activation": "Resend activation", @@ -1360,8 +1360,8 @@ "widgets-bundle-details": "Widgets bundle details", "delete-widgets-bundle-title": "Are you sure you want to delete the widgets bundle '{{widgetsBundleTitle}}'?", "delete-widgets-bundle-text": "Be careful, after the confirmation the widgets bundle and all related data will become unrecoverable.", - "delete-widgets-bundles-title": "Are you sure you want to delete { count, select, 1 {1 widgets bundle} other {# widgets bundles} }?", - "delete-widgets-bundles-action-title": "Delete { count, select, 1 {1 widgets bundle} other {# widgets bundles} }", + "delete-widgets-bundles-title": "Are you sure you want to delete { count, plural, 1 {1 widgets bundle} other {# widgets bundles} }?", + "delete-widgets-bundles-action-title": "Delete { count, plural, 1 {1 widgets bundle} other {# widgets bundles} }", "delete-widgets-bundles-text": "Be careful, after the confirmation all selected widgets bundles will be removed and all related data will become unrecoverable.", "no-widgets-bundles-matching": "No widgets bundles matching '{{widgetsBundle}}' were found.", "widgets-bundle-required": "Widgets bundle is required.", @@ -1397,7 +1397,7 @@ "use-dashboard-timewindow": "Use dashboard timewindow", "display-legend": "Display legend", "datasources": "Datasources", - "maximum-datasources": "Maximum { count, select, 1 {1 datasource is allowed.} other {# datasources are allowed} }", + "maximum-datasources": "Maximum { count, plural, 1 {1 datasource is allowed.} other {# datasources are allowed} }", "datasource-type": "Type", "datasource-parameters": "Parameters", "remove-datasource": "Remove datasource", diff --git a/ui/src/app/locale/locale.constant-es_ES.json b/ui/src/app/locale/locale.constant-es_ES.json index 98a31ed9bb..9e5951f0c8 100644 --- a/ui/src/app/locale/locale.constant-es_ES.json +++ b/ui/src/app/locale/locale.constant-es_ES.json @@ -123,15 +123,15 @@ "acknowledge": "Acknowledge", "clear": "Clear", "search": "Search alarms", - "selected-alarms": "{ count, select, 1 {1 alarm} other {# alarms} } selected", + "selected-alarms": "{ count, plural, 1 {1 alarm} other {# alarms} } selected", "no-data": "No data to display", "polling-interval": "Alarms polling interval (sec)", "polling-interval-required": "Alarms polling interval is required.", "min-polling-interval-message": "At least 1 sec polling interval is allowed.", - "aknowledge-alarms-title": "Acknowledge { count, select, 1 {1 alarm} other {# alarms} }", - "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, select, 1 {1 alarm} other {# alarms} }?", - "clear-alarms-title": "Clear { count, select, 1 {1 alarm} other {# alarms} }", - "clear-alarms-text": "Are you sure you want to clear { count, select, 1 {1 alarm} other {# alarms} }?" + "aknowledge-alarms-title": "Acknowledge { count, plural, 1 {1 alarm} other {# alarms} }", + "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, plural, 1 {1 alarm} other {# alarms} }?", + "clear-alarms-title": "Clear { count, plural, 1 {1 alarm} other {# alarms} }", + "clear-alarms-text": "Are you sure you want to clear { count, plural, 1 {1 alarm} other {# alarms} }?" }, "alias": { "add": "Add alias", @@ -209,15 +209,15 @@ "add-asset-text": "Add new asset", "asset-details": "Asset details", "assign-assets": "Assign assets", - "assign-assets-text": "Assign { count, select, 1 {1 asset} other {# assets} } to customer", + "assign-assets-text": "Assign { count, plural, 1 {1 asset} other {# assets} } to customer", "delete-assets": "Delete assets", "unassign-assets": "Unassign assets", - "unassign-assets-action-title": "Unassign { count, select, 1 {1 asset} other {# assets} } from customer", + "unassign-assets-action-title": "Unassign { count, plural, 1 {1 asset} other {# assets} } from customer", "assign-new-asset": "Assign new asset", "delete-asset-title": "Are you sure you want to delete the asset '{{assetName}}'?", "delete-asset-text": "Be careful, after the confirmation the asset and all related data will become unrecoverable.", - "delete-assets-title": "Are you sure you want to delete { count, select, 1 {1 asset} other {# assets} }?", - "delete-assets-action-title": "Delete { count, select, 1 {1 asset} other {# assets} }", + "delete-assets-title": "Are you sure you want to delete { count, plural, 1 {1 asset} other {# assets} }?", + "delete-assets-action-title": "Delete { count, plural, 1 {1 asset} other {# assets} }", "delete-assets-text": "Be careful, after the confirmation all selected assets will be removed and all related data will become unrecoverable.", "make-public-asset-title": "Are you sure you want to make the asset '{{assetName}}' public?", "make-public-asset-text": "After the confirmation the asset and all its data will be made public and accessible by others.", @@ -226,7 +226,7 @@ "unassign-asset-title": "Are you sure you want to unassign the asset '{{assetName}}'?", "unassign-asset-text": "After the confirmation the asset will be unassigned and won't be accessible by the customer.", "unassign-asset": "Unassign asset", - "unassign-assets-title": "Are you sure you want to unassign { count, select, 1 {1 asset} other {# assets} }?", + "unassign-assets-title": "Are you sure you want to unassign { count, plural, 1 {1 asset} other {# assets} }?", "unassign-assets-text": "After the confirmation all selected assets will be unassigned and won't be accessible by the customer.", "copyId": "Copy asset Id", "idCopiedMessage": "Asset Id has been copied to clipboard", @@ -248,7 +248,7 @@ "key-required": "Clave del atributo requerida.", "value": "Valor", "value-required": "Valor del atributo requerido.", - "delete-attributes-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 atributo} other {# atributos} }?", + "delete-attributes-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 atributo} other {# atributos} }?", "delete-attributes-text": "Ten cuidado, luego de confirmar el atributo será eliminado, y la información relacionada será irrecuperable.", "delete-attributes": "Borrar atributo", "enter-attribute-value": "Ingresar valor del atributo", @@ -258,8 +258,8 @@ "prev-widget": "Widget anterior", "add-to-dashboard": "Agregar al Panel", "add-widget-to-dashboard": "Agregar widget al Panel", - "selected-attributes": "{ count, select, 1 {1 atributo} other {# atributos} } seleccionados", - "selected-telemetry": "{ count, select, 1 {1 unidad de telemetría } other {# unidades de telemetría} } seleccionadas." + "selected-attributes": "{ count, plural, 1 {1 atributo} other {# atributos} } seleccionados", + "selected-telemetry": "{ count, plural, 1 {1 unidad de telemetría } other {# unidades de telemetría} } seleccionadas." }, "audit-log": { "audit": "Audit", @@ -342,8 +342,8 @@ "customer-details": "Detalles del cliente", "delete-customer-title": "¿Estás seguro que quieres eliminar el cliente '{{customerTitle}}'?", "delete-customer-text": "Ten cuidado, luego de confirmar el cliente será eliminado y toda la información relacionada será irrecuperable.", - "delete-customers-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 cliente} other {# clientes} }?", - "delete-customers-action-title": "Borrar { count, select, 1 {1 cliente} other {# clientes} }", + "delete-customers-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 cliente} other {# clientes} }?", + "delete-customers-action-title": "Borrar { count, plural, 1 {1 cliente} other {# clientes} }", "delete-customers-text": "Ten cuidado, luego de confirmar todos los clientes seleccionados serán eliminados y su información relacionada será irrecuperable.", "manage-users": "Gestionar usuarios", "manage-devices": "Gestionar dispositivos", @@ -385,19 +385,19 @@ "add-dashboard-text": "Agregar nuevo panel", "assign-dashboards": "Asignar paneles", "assign-new-dashboard": "Asignar nuevo panel", - "assign-dashboards-text": "Asignar { count, select, 1 {1 panel} other {# paneles} } al cliente", + "assign-dashboards-text": "Asignar { count, plural, 1 {1 panel} other {# paneles} } al cliente", "delete-dashboards": "Eliminar paneles", "unassign-dashboards": "Desasignar paneles", - "unassign-dashboards-action-title": "Desasignar { count, select, 1 {1 paneles} other {# paneles} } del cliente", + "unassign-dashboards-action-title": "Desasignar { count, plural, 1 {1 paneles} other {# paneles} } del cliente", "delete-dashboard-title": "¿Estás seguro que quieres eliminar el panel '{{dashboardTitle}}'?", "delete-dashboard-text": "Ten cuidado, el panel seleccionado será eliminado y la información relacionada sera irrecuperable.", - "delete-dashboards-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 panel} other {# paneles} }?", - "delete-dashboards-action-title": "Eliminar { count, select, 1 {1 panel} other {# paneles} }", + "delete-dashboards-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 panel} other {# paneles} }?", + "delete-dashboards-action-title": "Eliminar { count, plural, 1 {1 panel} other {# paneles} }", "delete-dashboards-text": "Ten cuidado, los paneles seleccionados serán eliminados y la información relacionada será irrecuperable.", "unassign-dashboard-title": "¿Estás seguro que quieres desasignar el panel '{{dashboardTitle}}'?", "unassign-dashboard-text": "Luego de confirmar, el panel será desasignado y no podrá ser accesible por el cliente.", "unassign-dashboard": "Desasignar panel", - "unassign-dashboards-title": "¿Estás seguro que quieres desasignar { count, select, 1 {1 panel} other {# paneles} }?", + "unassign-dashboards-title": "¿Estás seguro que quieres desasignar { count, plural, 1 {1 panel} other {# paneles} }?", "unassign-dashboards-text": "Luego de confirmar, los paneles seleccionados serán desasignados y no podrán ser accesibles por el cliente.", "public-dashboard-title": "El panel ahora es público", "public-dashboard-text": "Tu panel {{dashboardTitle}} es ahora público y podrá ser accedido desde: aquí:", @@ -527,11 +527,11 @@ "manage-credentials": "Gestionar credenciales", "delete": "Eliminar dispositivo", "assign-devices": "Asignar dispositivo", - "assign-devices-text": "Asignar { count, select, 1 {1 dispositivo} other {# dispositivos} } al cliente", + "assign-devices-text": "Asignar { count, plural, 1 {1 dispositivo} other {# dispositivos} } al cliente", "delete-devices": "Eliminar dispositivo", "unassign-from-customer": "Desasignar del cliente", "unassign-devices": "Desasignar dispositivos", - "unassign-devices-action-title": "Desasignar { count, select, 1 {1 dispositivo} other {# dispositivos} } del cliente", + "unassign-devices-action-title": "Desasignar { count, plural, 1 {1 dispositivo} other {# dispositivos} } del cliente", "assign-new-device": "Asignar nuevo dispositivo", "make-public-device-title": "¿Estás seguro que quieres hacer el dispositivo '{{deviceName}}' público?", "make-public-device-text": "Luego de confirmar, el dispositivo y la información relacionada serán públicos y podrá ser accesible por otros.", @@ -540,13 +540,13 @@ "view-credentials": "Ver credenciales", "delete-device-title": "¿Estás seguro que quieres eliminar el dispositivo '{{deviceName}}'?", "delete-device-text": "Ten cuidado, luego de confirmar los dispositivos serán eliminados y la información relacionada será irrecuperable.", - "delete-devices-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 dispositivo} other {# dispositivos} }?", - "delete-devices-action-title": "Eliminar { count, select, 1 {1 dispositivo} other {# dispositivos} }", + "delete-devices-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 dispositivo} other {# dispositivos} }?", + "delete-devices-action-title": "Eliminar { count, plural, 1 {1 dispositivo} other {# dispositivos} }", "delete-devices-text": "Ten cuidado, luego de confirmar los dispositivos seleccionados serán eliminados y la información relacionada será irrecuperable.", "unassign-device-title": "¿Estás seguro que quieres desasignar el dispositivo '{{deviceName}}'?", "unassign-device-text": "Luego de confirmar el dispositivo será desasignado y no podrá ser accesible por el cliente.", "unassign-device": "Desasignar dispositivo", - "unassign-devices-title": "¿Estás seguro que quieres desasignar { count, select, 1 {1 dispositivo} other {# dispositivos} }?", + "unassign-devices-title": "¿Estás seguro que quieres desasignar { count, plural, 1 {1 dispositivo} other {# dispositivos} }?", "unassign-devices-text": "Luego de confirmar los dispositivos seleccionados serán desasignados y no podrán ser accedidos por el cliente.", "device-credentials": "Credenciales del dispositivo", "credentials-type": "Tipo de credencial", @@ -623,47 +623,47 @@ "type-required": "Entity type is required.", "type-device": "Device", "type-devices": "Devices", - "list-of-devices": "{ count, select, 1 {One device} other {List of # devices} }", + "list-of-devices": "{ count, plural, 1 {One device} other {List of # devices} }", "device-name-starts-with": "Devices whose names start with '{{prefix}}'", "type-asset": "Asset", "type-assets": "Assets", - "list-of-assets": "{ count, select, 1 {One asset} other {List of # assets} }", + "list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }", "asset-name-starts-with": "Assets whose names start with '{{prefix}}'", "type-rule": "Rule", "type-rules": "Rules", - "list-of-rules": "{ count, select, 1 {One rule} other {List of # rules} }", + "list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }", "rule-name-starts-with": "Rules whose names start with '{{prefix}}'", "type-plugin": "Plugin", "type-plugins": "Plugins", - "list-of-plugins": "{ count, select, 1 {One plugin} other {List of # plugins} }", + "list-of-plugins": "{ count, plural, 1 {One plugin} other {List of # plugins} }", "plugin-name-starts-with": "Plugins whose names start with '{{prefix}}'", "type-tenant": "Tenant", "type-tenants": "Tenants", - "list-of-tenants": "{ count, select, 1 {One tenant} other {List of # tenants} }", + "list-of-tenants": "{ count, plural, 1 {One tenant} other {List of # tenants} }", "tenant-name-starts-with": "Tenants whose names start with '{{prefix}}'", "type-customer": "Customer", "type-customers": "Customers", - "list-of-customers": "{ count, select, 1 {One customer} other {List of # customers} }", + "list-of-customers": "{ count, plural, 1 {One customer} other {List of # customers} }", "customer-name-starts-with": "Customers whose names start with '{{prefix}}'", "type-user": "User", "type-users": "Users", - "list-of-users": "{ count, select, 1 {One user} other {List of # users} }", + "list-of-users": "{ count, plural, 1 {One user} other {List of # users} }", "user-name-starts-with": "Users whose names start with '{{prefix}}'", "type-dashboard": "Dashboard", "type-dashboards": "Dashboards", - "list-of-dashboards": "{ count, select, 1 {One dashboard} other {List of # dashboards} }", + "list-of-dashboards": "{ count, plural, 1 {One dashboard} other {List of # dashboards} }", "dashboard-name-starts-with": "Dashboards whose names start with '{{prefix}}'", "type-alarm": "Alarm", "type-alarms": "Alarms", - "list-of-alarms": "{ count, select, 1 {One alarms} other {List of # alarms} }", + "list-of-alarms": "{ count, plural, 1 {One alarms} other {List of # alarms} }", "alarm-name-starts-with": "Alarms whose names start with '{{prefix}}'", "type-rulechain": "Rule chain", "type-rulechains": "Rule chains", - "list-of-rulechains": "{ count, select, 1 {One rule chain} other {List of # rule chains} }", + "list-of-rulechains": "{ count, plural, 1 {One rule chain} other {List of # rule chains} }", "rulechain-name-starts-with": "Rule chains whose names start with '{{prefix}}'", "type-current-customer": "Current Customer", "search": "Search entities", - "selected-entities": "{ count, select, 1 {1 entity} other {# entities} } selected", + "selected-entities": "{ count, plural, 1 {1 entity} other {# entities} } selected", "entity-name": "Entity name", "details": "Entity details", "no-entities-prompt": "No entities found", @@ -690,7 +690,7 @@ }, "extension": { "extensions": "Extensions", - "selected-extensions": "{ count, select, 1 {1 extension} other {# extensions} } selected", + "selected-extensions": "{ count, plural, 1 {1 extension} other {# extensions} } selected", "type": "Type", "key": "Key", "value": "Value", @@ -704,7 +704,7 @@ "edit": "Edit extension", "delete-extension-title": "Are you sure you want to delete the extension '{{extensionId}}'?", "delete-extension-text": "Be careful, after the confirmation the extension and all related data will become unrecoverable.", - "delete-extensions-title": "Are you sure you want to delete { count, select, 1 {1 extension} other {# extensions} }?", + "delete-extensions-title": "Are you sure you want to delete { count, plural, 1 {1 extension} other {# extensions} }?", "delete-extensions-text": "Be careful, after the confirmation all selected extensions will be removed.", "converters": "Converters", "converter-id": "Converter id", @@ -857,8 +857,8 @@ "grid": { "delete-item-title": "¿Estás seguro que quieres eliminar este item?", "delete-item-text": "Ten cuidado, luego de confirmar el item será eliminado y la información relacionada será irrecuperable.", - "delete-items-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 item} other {# items} }?", - "delete-items-action-title": "Eliminar { count, select, 1 {1 item} other {# items} }", + "delete-items-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 item} other {# items} }?", + "delete-items-action-title": "Eliminar { count, plural, 1 {1 item} other {# items} }", "delete-items-text": "Ten cuidado, luego de confirmar los items seleccionados serán eliminados y la información relacionada será irrecuperable.", "add-item-text": "Agregar nuevo item", "no-items-text": "Ningún item encontrado", @@ -958,7 +958,7 @@ }, "from-relations": "Outbound relations", "to-relations": "Inbound relations", - "selected-relations": "{ count, select, 1 {1 relation} other {# relations} } selected", + "selected-relations": "{ count, plural, 1 {1 relation} other {# relations} } selected", "type": "Type", "to-entity-type": "To entity type", "to-entity-name": "To entity name", @@ -974,11 +974,11 @@ "edit": "Edit relation", "delete-to-relation-title": "Are you sure you want to delete relation to the entity '{{entityName}}'?", "delete-to-relation-text": "Be careful, after the confirmation the entity '{{entityName}}' will be unrelated from the current entity.", - "delete-to-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-to-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-to-relations-text": "Be careful, after the confirmation all selected relations will be removed and corresponding entities will be unrelated from the current entity.", "delete-from-relation-title": "Are you sure you want to delete relation from the entity '{{entityName}}'?", "delete-from-relation-text": "Be careful, after the confirmation current entity will be unrelated from the entity '{{entityName}}'.", - "delete-from-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-from-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-from-relations-text": "Be careful, after the confirmation all selected relations will be removed and current entity will be unrelated from the corresponding entities.", "remove-relation-filter": "Remove relation filter", "add-relation-filter": "Add relation filter", @@ -1001,8 +1001,8 @@ "set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.", "delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?", "delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.", - "delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?", - "delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }", + "delete-rulechains-title": "Are you sure you want to delete { count, plural, 1 {1 rule chain} other {# rule chains} }?", + "delete-rulechains-action-title": "Delete { count, plural, 1 {1 rule chain} other {# rule chains} }", "delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.", "add-rulechain-text": "Add new rule chain", "no-rulechains-text": "No rule chains found", @@ -1091,18 +1091,18 @@ "tenant-details": "Detalles del Tenant", "delete-tenant-title": "¿Estás seguro que quieres eliminar el tenant '{{tenantTitle}}'?", "delete-tenant-text": "Ten cuidado, luego de confirmar el tenant será eliminado y la información relacionada será irrecuperable.", - "delete-tenants-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 tenant} other {# tenants} }?", - "delete-tenants-action-title": "Eliminar { count, select, 1 {1 tenant} other {# tenants} }", + "delete-tenants-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 tenant} other {# tenants} }?", + "delete-tenants-action-title": "Eliminar { count, plural, 1 {1 tenant} other {# tenants} }", "delete-tenants-text": "Ten cuidado, luego de confirmar los tenants seleccionados serán eliminados y la información relacionada será irrecuperable.", "title": "Título", "title-required": "Título requerido.", "description": "Descripción" }, "timeinterval": { - "seconds-interval": "{ seconds, select, 1 {1 segundo} other {# segundos} }", - "minutes-interval": "{ minutes, select, 1 {1 minuto} other {# minutos} }", - "hours-interval": "{ hours, select, 1 {1 hora} other {# horas} }", - "days-interval": "{ days, select, 1 {1 día} other {# días} }", + "seconds-interval": "{ seconds, plural, 1 {1 segundo} other {# segundos} }", + "minutes-interval": "{ minutes, plural, 1 {1 minuto} other {# minutos} }", + "hours-interval": "{ hours, plural, 1 {1 hora} other {# horas} }", + "days-interval": "{ days, plural, 1 {1 día} other {# días} }", "days": "Días", "hours": "Horas", "minutes": "Minutos", @@ -1110,10 +1110,10 @@ "advanced": "Avanzado" }, "timewindow": { - "days": "{ days, select, 1 { día } other {# días } }", - "hours": "{ hours, select, 0 { horas } 1 {1 hora } other {# horas } }", - "minutes": "{ minutes, select, 0 { minutos } 1 {1 minuto } other {# minutos } }", - "seconds": "{ seconds, select, 0 { segundos } 1 {1 segundo } other {# segundos } }", + "days": "{ days, plural, 1 { día } other {# días } }", + "hours": "{ hours, plural, 0 { horas } 1 {1 hora } other {# horas } }", + "minutes": "{ minutes, plural, 0 { minutos } 1 {1 minuto } other {# minutos } }", + "seconds": "{ seconds, plural, 0 { segundos } 1 {1 segundo } other {# segundos } }", "realtime": "Tiempo-real", "history": "Histórico", "last-prefix": "último", @@ -1138,8 +1138,8 @@ "user-details": "Detalles del usuario", "delete-user-title": "¿Estás seguro que quieres eliminar el usuario '{{userEmail}}'?", "delete-user-text": "Ten cuidado, luego de confirmar el usuario seleccionado será eliminado y la información relacionada será irrecuperable.", - "delete-users-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 usuario} other {# usuarios} }?", - "delete-users-action-title": "Borrar { count, select, 1 {1 usuario} other {# usuarios} }", + "delete-users-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 usuario} other {# usuarios} }?", + "delete-users-action-title": "Borrar { count, plural, 1 {1 usuario} other {# usuarios} }", "delete-users-text": "Ten cuidado, luego de confirmar los usuarios seleccionados serán eliminados y la información relacionada será irrecuperable.", "activation-email-sent-message": "Mail de activación enviado con éxito!", "resend-activation": "Reenviar activación", @@ -1240,8 +1240,8 @@ "widgets-bundle-details": "Detalles del paquete de Widgets", "delete-widgets-bundle-title": "¿Estás seguro que desea eliminar el paquete de widgets '{{widgetsBundleTitle}}'?", "delete-widgets-bundle-text": "Ten cuidado, luego de confirmar todos los paquetes seleccionados serán eliminados y su información relacionada será irrecuperable.", - "delete-widgets-bundles-title": "¿Estás seguro que deseas eliminar { count, select, 1 {1 paquete de widgets} other {# paquetes de widgets} }?", - "delete-widgets-bundles-action-title": "Eliminar { count, select, 1 {1 paquete de widgets} other {# paquetes de widgets} }", + "delete-widgets-bundles-title": "¿Estás seguro que deseas eliminar { count, plural, 1 {1 paquete de widgets} other {# paquetes de widgets} }?", + "delete-widgets-bundles-action-title": "Eliminar { count, plural, 1 {1 paquete de widgets} other {# paquetes de widgets} }", "delete-widgets-bundles-text": "Ten cuidado, luego de confirmar todos los paquetes seleccionados serán eliminados y la información relacionada será irrecuperable.", "no-widgets-bundles-matching": "Ningún paquete '{{widgetsBundle}}' encontrado.", "widgets-bundle-required": "Paquete de widget requerido.", diff --git a/ui/src/app/locale/locale.constant-it_IT.json b/ui/src/app/locale/locale.constant-it_IT.json index 21118137b3..1454d36a1b 100644 --- a/ui/src/app/locale/locale.constant-it_IT.json +++ b/ui/src/app/locale/locale.constant-it_IT.json @@ -126,15 +126,15 @@ "acknowledge": "Conferma", "clear": "Cancella", "search": "Ricerca allarmi", - "selected-alarms": "{ count, select, 1 {1 allarme selezionato} other {# allarmi selezionati} }", + "selected-alarms": "{ count, plural, 1 {1 allarme selezionato} other {# allarmi selezionati} }", "no-data": "Nessun dato da visualizzare", "polling-interval": "Intervallo di polling (sec) Allarmi", "polling-interval-required": "Intervallo di polling Allarmi richiesto.", "min-polling-interval-message": "L'intervallo di polling deve essere di almeno 1 sec.", - "aknowledge-alarms-title": "Conferma { count, select, 1 {1 allarme} other {# allarmi} }", - "aknowledge-alarms-text": "Sei sicuro di voler confermare { count, select, 1 {1 allarme} other {# allarmi} }?", - "clear-alarms-title": "Elimina { count, select, 1 {1 allarme} other {# allarmi} }", - "clear-alarms-text": "Sei sicuro di voler eliminare { count, select, 1 {1 allarme} other {# allarmi} }?" + "aknowledge-alarms-title": "Conferma { count, plural, 1 {1 allarme} other {# allarmi} }", + "aknowledge-alarms-text": "Sei sicuro di voler confermare { count, plural, 1 {1 allarme} other {# allarmi} }?", + "clear-alarms-title": "Elimina { count, plural, 1 {1 allarme} other {# allarmi} }", + "clear-alarms-text": "Sei sicuro di voler eliminare { count, plural, 1 {1 allarme} other {# allarmi} }?" }, "alias": { "add": "Aggiungi alias", @@ -212,15 +212,15 @@ "add-asset-text": "Aggiungi un nuovo asset", "asset-details": "Dettagli Asset", "assign-assets": "Assegna asset", - "assign-assets-text": "Assegna { count, select, 1 {1 asset} other {# assets} } al cliente", + "assign-assets-text": "Assegna { count, plural, 1 {1 asset} other {# assets} } al cliente", "delete-assets": "Cancella asset", "unassign-assets": "Annulla assegnazione asset", - "unassign-assets-action-title": "Unassign { count, select, 1 {1 asset} other {# assets} } from customer", + "unassign-assets-action-title": "Unassign { count, plural, 1 {1 asset} other {# assets} } from customer", "assign-new-asset": "Assegna un nuovo asset", "delete-asset-title": "Sei sicuro di voler cancellare l'asset '{{assetName}}'?", "delete-asset-text": "Attenzione, dopo la conferma l'asset e tutti i relativi dati non saranno più recuperabili.", - "delete-assets-title": "Sei sicuro di voler eliminare { count, select, 1 {1 asset} other {# asset} }?", - "delete-assets-action-title": "Elimina { count, select, 1 {1 asset} other {# asset} }", + "delete-assets-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 asset} other {# asset} }?", + "delete-assets-action-title": "Elimina { count, plural, 1 {1 asset} other {# asset} }", "delete-assets-text": "Attenzione, dopo la modifica tutti gli asset selezionati saranno rimossi e tutti i relativi dati non saranno più recuperabili.", "make-public-asset-title": "Sei sicuro di voler rendere pubblico l'asset '{{assetName}}'?", "make-public-asset-text": "Dopo la conferma l'asset e tutti i suoi dati saranno resi pubblici e accessibili dagli altri.", @@ -229,7 +229,7 @@ "unassign-asset-title": "Sei sicuro di voler annullare l'assegnazione dell'asset '{{assetName}}'?", "unassign-asset-text": "Dopo la conferma l'assegnazione dell'asset sarà annullata e l'asset non sarà più accessibile dal cliente.", "unassign-asset": "Annulla assegnazione asset", - "unassign-assets-title": "Sei sicuro di voler annullare l'assegnazione di { count, select, 1 {1 asset} other {# asset} }?", + "unassign-assets-title": "Sei sicuro di voler annullare l'assegnazione di { count, plural, 1 {1 asset} other {# asset} }?", "unassign-assets-text": "Dopo la conferma sarà annullata l'assegnazione di tutti gli asset selezionati e questi non saranno più accessibili dal cliente.", "copyId": "Copia Id asset", "idCopiedMessage": "Id Asset copiato negli Appunti", @@ -252,7 +252,7 @@ "key-required": "Attributo chiave richiesto.", "value": "Valore", "value-required": "Attributo valore richiesto.", - "delete-attributes-title": "Sei sicuro di voler eliminare { count, select, 1 {1 attributo} other {# attributi} }?", + "delete-attributes-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 attributo} other {# attributi} }?", "delete-attributes-text": "Attenzione, dopo la conferma tutti gli attributi selezionati saranno rimossi.", "delete-attributes": "Elimina attributi", "enter-attribute-value": "Inserisci il valore dell'attributo", @@ -262,8 +262,8 @@ "prev-widget": "Widget precedente", "add-to-dashboard": "Aggiungi alla dashboard", "add-widget-to-dashboard": "Aggiungi widget alla dashboard", - "selected-attributes": "{ count, select, 1 {1 attributo selezionato} other {# attributi selezionati} }", - "selected-telemetry": "{ count, select, 1 {1 unità di telemetria selezionata} other {# unità di telemetria selezionate} }" + "selected-attributes": "{ count, plural, 1 {1 attributo selezionato} other {# attributi selezionati} }", + "selected-telemetry": "{ count, plural, 1 {1 unità di telemetria selezionata} other {# unità di telemetria selezionate} }" }, "audit-log": { "audit": "Audit", @@ -351,8 +351,8 @@ "customer-details": "Dettagli cliente", "delete-customer-title": "Sei sicuro di voler eliminare il cliente '{{customerTitle}}'?", "delete-customer-text": "Attenzione, dopo la conferma il cliente e tutti i suoi dati non saranno più recuperabili.", - "delete-customers-title": "Sei sicuro di voler cancellare { count, select, 1 {1 cliente} other {# clienti} }?", - "delete-customers-action-title": "Elimina { count, select, 1 {1 cliente} other {# clienti} }", + "delete-customers-title": "Sei sicuro di voler cancellare { count, plural, 1 {1 cliente} other {# clienti} }?", + "delete-customers-action-title": "Elimina { count, plural, 1 {1 cliente} other {# clienti} }", "delete-customers-text": "Attenzione, dopo la conferma tutti i clienti selezionati saranno rimossi e i loro dati non saranno più recuperabili.", "manage-users": "Gestisci utenti", "manage-assets": "Gestisci asset", @@ -411,20 +411,20 @@ "add-dashboard-text": "Aggiungi nuova dashboard", "assign-dashboards": "Assegna dashboard", "assign-new-dashboard": "Assegna nuova dashboard", - "assign-dashboards-text": "Assegna { count, select, 1 {1 dashboard} other {# dashboard} } ai clienti", - "unassign-dashboards-action-text": "Annulla assegnazione { count, select, 1 {1 dashboard} other {# dashboards} } ai clienti", + "assign-dashboards-text": "Assegna { count, plural, 1 {1 dashboard} other {# dashboard} } ai clienti", + "unassign-dashboards-action-text": "Annulla assegnazione { count, plural, 1 {1 dashboard} other {# dashboards} } ai clienti", "delete-dashboards": "Elimina dashboard", "unassign-dashboards": "Annulla assegnazione dashboard", - "unassign-dashboards-action-title": "Annulla assegnazione { count, select, 1 {1 dashboard} other {# dashboards} } al cliente", + "unassign-dashboards-action-title": "Annulla assegnazione { count, plural, 1 {1 dashboard} other {# dashboards} } al cliente", "delete-dashboard-title": "Sei sicuro di voler cancellare la dashboard '{{dashboardTitle}}'?", "delete-dashboard-text": "Attenzione, dopo la conferma la dashboard e tutti i suoi dati non saranno più recuperabili.", - "delete-dashboards-title": "Sei sicuro di voler eliminare { count, select, 1 {1 dashboard} other {# dashboard} }?", - "delete-dashboards-action-title": "Cancella { count, select, 1 {1 dashboard} other {# dashboard} }", + "delete-dashboards-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 dashboard} other {# dashboard} }?", + "delete-dashboards-action-title": "Cancella { count, plural, 1 {1 dashboard} other {# dashboard} }", "delete-dashboards-text": "Attenzione, dopo la conferma tutte le dashboard selezionate saranno eliminate e tutti i loro dati non saranno più recuperabili.", "unassign-dashboard-title": "Sei sicuro di voler annullare l'assegnazione della dashboard '{{dashboardTitle}}'?", "unassign-dashboard-text": "Dopo la conferma sarà annullata l'assegnazione della dashboard e questa non sarà più accessibile dal cliente.", "unassign-dashboard": "Annulla assegnazione dashboard", - "unassign-dashboards-title": "Sei sicuro di voler annullare l'assegnazione di { count, select, 1 {1 dashboard} other {# dashboard} }?", + "unassign-dashboards-title": "Sei sicuro di voler annullare l'assegnazione di { count, plural, 1 {1 dashboard} other {# dashboard} }?", "unassign-dashboards-text": "Dopo la conferma sarà annullata l'assegnazione di tutte le dashboards selezionate e queste non saranno più accessibili dal cliente.", "public-dashboard-title": "La Dashboard è ora pubblica", "public-dashboard-text": "La dashboard {{dashboardTitle}} è ora pubblica e accessibile al link:", @@ -501,7 +501,7 @@ "manage-states": "Manage dashboard states", "states": "Dashboard states", "search-states": "Search dashboard states", - "selected-states": "{ count, select, 1 {1 dashboard state} other {# dashboard states} } selected", + "selected-states": "{ count, plural, 1 {1 dashboard state} other {# dashboard states} } selected", "edit-state": "Edit dashboard state", "delete-state": "Delete dashboard state", "add-state": "Add dashboard state", @@ -534,11 +534,11 @@ "alarm": "Campi allarme", "timeseries-required": "Entity timeseries are required.", "timeseries-or-attributes-required": "Entity timeseries/attributes are required.", - "maximum-timeseries-or-attributes": "Maximum { count, select, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", + "maximum-timeseries-or-attributes": "Maximum { count, plural, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", "alarm-fields-required": "Campi allarme obbligatori.", "function-types": "Tipi funzione", "function-types-required": "Tipi funzione obbligatorio.", - "maximum-function-types": "Massimo { count, select, 1 {1 tipo di funzione consentito.} other {# tipi di funzione consentiti} }" + "maximum-function-types": "Massimo { count, plural, 1 {1 tipo di funzione consentito.} other {# tipi di funzione consentiti} }" }, "datasource": { "type": "Tipo sorgente dati", @@ -590,11 +590,11 @@ "manage-credentials": "Gestisci credenziali", "delete": "Elimina dispositivo", "assign-devices": "Assegna dispositivi", - "assign-devices-text": "Assegna { count, select, 1 {1 dispositivo} other {# dispositivi} } al cliente", + "assign-devices-text": "Assegna { count, plural, 1 {1 dispositivo} other {# dispositivi} } al cliente", "delete-devices": "Elimina dispositivi", "unassign-from-customer": "Annulla assegnazione al cliente", "unassign-devices": "Annulla assegnazione dispositivi", - "unassign-devices-action-title": "Annulla assegnazione { count, select, 1 {1 dispositivo} other {# dispositivi} } al cliente", + "unassign-devices-action-title": "Annulla assegnazione { count, plural, 1 {1 dispositivo} other {# dispositivi} } al cliente", "assign-new-device": "Assegna nuovo dispositivo", "make-public-device-title": "Sei sicuro di voler rendere pubblico il dispositivo '{{deviceName}}'?", "make-public-device-text": "Dopo la conferma il dispositivo e tutti i suoi dati saranno resi pubblici e accessibili dagli altri.", @@ -603,13 +603,13 @@ "view-credentials": "Visualizza credenziali", "delete-device-title": "Sei sicuro di voler eliminare il dispositivo '{{deviceName}}'?", "delete-device-text": "Attenzione, dopo la conferma il dispositivo e tutti i suoi dati non saranno più recuperabili.", - "delete-devices-title": "Sei sicuro di voler eliminare { count, select, 1 {1 dispositivo} other {# dispositivi} }?", - "delete-devices-action-title": "Elimina { count, select, 1 {1 dispositivo} other {# dispositivi} }", + "delete-devices-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 dispositivo} other {# dispositivi} }?", + "delete-devices-action-title": "Elimina { count, plural, 1 {1 dispositivo} other {# dispositivi} }", "delete-devices-text": "Attenzione, dopo la conferma tutti i dispositivi selezionati saranno elimininati e i relativi dati non saranno più recuperabili.", "unassign-device-title": "Sei sicuro di voler annullare l'assegnazione del dispositivo '{{deviceName}}'?", "unassign-device-text": "Dopo la conferma sarà annullata l'assegnazione del dispositivo e questo non sarà più accessibile dal cliente.", "unassign-device": "Annulla assegnazione dispositivo", - "unassign-devices-title": "Sei sicuro di voler annullare la'ssegnazione di { count, select, 1 {1 dispositivo} other {# dispositivi} }?", + "unassign-devices-title": "Sei sicuro di voler annullare la'ssegnazione di { count, plural, 1 {1 dispositivo} other {# dispositivi} }?", "unassign-devices-text": "Dopo la conferma sarà annullata l'assegnazione di tutti i dispositivi selezionati e questi non saranno più accessibili dal cliente.", "device-credentials": "Credenziali Dispositivo", "credentials-type": "Tipo credenziali", @@ -695,47 +695,47 @@ "type-required": "Tipo entità obbligatorio.", "type-device": "Dispositivo", "type-devices": "Dispositivi", - "list-of-devices": "{ count, select, 1 {Un dispositivo} other {Lista di # dispositivi} }", + "list-of-devices": "{ count, plural, 1 {Un dispositivo} other {Lista di # dispositivi} }", "device-name-starts-with": "Dispositivi i cui nomi iniziano per '{{prefix}}'", "type-asset": "Asset", "type-assets": "Asset", - "list-of-assets": "{ count, select, 1 {Un asset} other {Lista di # asset} }", + "list-of-assets": "{ count, plural, 1 {Un asset} other {Lista di # asset} }", "asset-name-starts-with": "Asset i cui nomi iniziano per '{{prefix}}'", "type-rule": "Regola", "type-rules": "Regole", - "list-of-rules": "{ count, select, 1 {Una regola} other {Lista di # regole} }", + "list-of-rules": "{ count, plural, 1 {Una regola} other {Lista di # regole} }", "rule-name-starts-with": "Regole i cui nomi iniziano per '{{prefix}}'", "type-plugin": "Plugin", "type-plugins": "Plugin", - "list-of-plugins": "{ count, select, 1 {Un plugin} other {Lista di # plugin} }", + "list-of-plugins": "{ count, plural, 1 {Un plugin} other {Lista di # plugin} }", "plugin-name-starts-with": "Plugin i cui nomi iniziano per '{{prefix}}'", "type-tenant": "Tenant", "type-tenants": "Tenants", - "list-of-tenants": "{ count, select, 1 {One tenant} other {List of # tenants} }", + "list-of-tenants": "{ count, plural, 1 {One tenant} other {List of # tenants} }", "tenant-name-starts-with": "Tenants whose names start with '{{prefix}}'", "type-customer": "Cliente", "type-customers": "Clienti", - "list-of-customers": "{ count, select, 1 {Un cliente} other {Lista di # clienti} }", + "list-of-customers": "{ count, plural, 1 {Un cliente} other {Lista di # clienti} }", "customer-name-starts-with": "Clienti i cui nomi iniziano per '{{prefix}}'", "type-user": "Utente", "type-users": "Utenti", - "list-of-users": "{ count, select, 1 {Un utente} other {Lista of # utenti} }", + "list-of-users": "{ count, plural, 1 {Un utente} other {Lista of # utenti} }", "user-name-starts-with": "Utenti i cui nomi iniziano per '{{prefix}}'", "type-dashboard": "Dashboard", "type-dashboards": "Dashboard", - "list-of-dashboards": "{ count, select, 1 {Una dashboard} other {Lista di # dashboard} }", + "list-of-dashboards": "{ count, plural, 1 {Una dashboard} other {Lista di # dashboard} }", "dashboard-name-starts-with": "Dashboard i cui nomi iniziano per '{{prefix}}'", "type-alarm": "Allarme", "type-alarms": "Allarmi", - "list-of-alarms": "{ count, select, 1 {Un allarme} other {Lista di # allarmi} }", + "list-of-alarms": "{ count, plural, 1 {Un allarme} other {Lista di # allarmi} }", "alarm-name-starts-with": "Allarmi i cui nomi iniziano per '{{prefix}}'", "type-rulechain": "Rule chain", "type-rulechains": "Rule chains", - "list-of-rulechains": "{ count, select, 1 {One rule chain} other {List of # rule chains} }", + "list-of-rulechains": "{ count, plural, 1 {One rule chain} other {List of # rule chains} }", "rulechain-name-starts-with": "Rule chains whose names start with '{{prefix}}'", "type-current-customer": "Current Customer", "search": "Ricerca entità", - "selected-entities": "{ count, select, 1 {1 entità selezionata} other {# entità selezionate} }", + "selected-entities": "{ count, plural, 1 {1 entità selezionata} other {# entità selezionate} }", "entity-name": "Nome entità", "details": "Dettagli entità", "no-entities-prompt": "Nessuna entità trovata", @@ -772,7 +772,7 @@ }, "extension": { "extensions": "Estensioni", - "selected-extensions": "{ count, select, 1 {1 estensione selezionata} other {# estensioni selezionate} }", + "selected-extensions": "{ count, plural, 1 {1 estensione selezionata} other {# estensioni selezionate} }", "type": "Tipo", "key": "Chiave", "value": "Valore", @@ -786,7 +786,7 @@ "edit": "Modifica estensione", "delete-extension-title": "Sei sicuro di voler eliminare l'estensione '{{extensionId}}'?", "delete-extension-text": "Attenzione, dopo la conferma l'estensione e tutti i suoi data non saranno più recuperabili.", - "delete-extensions-title": "Sei sicuro di voler eliminare { count, select, 1 {1 estensione} other {# estensioni} }?", + "delete-extensions-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 estensione} other {# estensioni} }?", "delete-extensions-text": "Attenzione, dopo la conferma tutte le estensioni selezionate saranno eliminate.", "converters": "Converters", "converter-id": "Converter id", @@ -939,8 +939,8 @@ "grid": { "delete-item-title": "Are you sure you want to delete this item?", "delete-item-text": "Be careful, after the confirmation this item and all related data will become unrecoverable.", - "delete-items-title": "Are you sure you want to delete { count, select, 1 {1 item} other {# items} }?", - "delete-items-action-title": "Delete { count, select, 1 {1 item} other {# items} }", + "delete-items-title": "Are you sure you want to delete { count, plural, 1 {1 item} other {# items} }?", + "delete-items-action-title": "Delete { count, plural, 1 {1 item} other {# items} }", "delete-items-text": "Be careful, after the confirmation all selected items will be removed and all related data will become unrecoverable.", "add-item-text": "Add new item", "no-items-text": "No items found", @@ -1041,7 +1041,7 @@ }, "from-relations": "Outbound relations", "to-relations": "Inbound relations", - "selected-relations": "{ count, select, 1 {1 relation} other {# relations} } selected", + "selected-relations": "{ count, plural, 1 {1 relation} other {# relations} } selected", "type": "Tipo", "to-entity-type": "A tipo entità", "to-entity-name": "A nome entità", @@ -1057,11 +1057,11 @@ "edit": "Edit relation", "delete-to-relation-title": "Are you sure you want to delete relation to the entity '{{entityName}}'?", "delete-to-relation-text": "Attenzione, dopo la conferma l'entità '{{entityName}}' sarà scollegata dall'entità corrente.", - "delete-to-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-to-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-to-relations-text": "Be careful, after the confirmation all selected relations will be removed and corresponding entities will be unrelated from the current entity.", "delete-from-relation-title": "Are you sure you want to delete relation from the entity '{{entityName}}'?", "delete-from-relation-text": "Be careful, after the confirmation current entity will be unrelated from the entity '{{entityName}}'.", - "delete-from-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-from-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-from-relations-text": "Be careful, after the confirmation all selected relations will be removed and current entity will be unrelated from the corresponding entities.", "remove-relation-filter": "Remove relation filter", "add-relation-filter": "Add relation filter", @@ -1084,8 +1084,8 @@ "set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.", "delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?", "delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.", - "delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?", - "delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }", + "delete-rulechains-title": "Are you sure you want to delete { count, plural, 1 {1 rule chain} other {# rule chains} }?", + "delete-rulechains-action-title": "Delete { count, plural, 1 {1 rule chain} other {# rule chains} }", "delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.", "add-rulechain-text": "Add new rule chain", "no-rulechains-text": "No rule chains found", @@ -1175,8 +1175,8 @@ "tenant-details": "Dettagli tenant", "delete-tenant-title": "Sei sicuro di voler eliminare il tenant '{{tenantTitle}}'?", "delete-tenant-text": "Attenzione, dopo la conferma il tenant e tutti i suoi dati non saranno più recuperabili.", - "delete-tenants-title": "Sei sicuro di voler eliminare { count, select, 1 {1 tenant} other {# tenant} }?", - "delete-tenants-action-title": "Elimina { count, select, 1 {1 tenant} other {# tenant} }", + "delete-tenants-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 tenant} other {# tenant} }?", + "delete-tenants-action-title": "Elimina { count, plural, 1 {1 tenant} other {# tenant} }", "delete-tenants-text": "Attenzione, dopo la conferma tutti i tenant selezionati saranno eliminati e tutti i loro dati non saranno più recuperabili.", "title": "Titolo", "title-required": "Titolo obbligatorio.", @@ -1190,10 +1190,10 @@ "tenant-required": "Tenant obbligatorio" }, "timeinterval": { - "seconds-interval": "{ seconds, select, 1 {1 secondo} other {# secondi} }", - "minutes-interval": "{ minutes, select, 1 {1 minuto} other {# minuti} }", - "hours-interval": "{ hours, select, 1 {1 ora} other {# ore} }", - "days-interval": "{ days, select, 1 {1 giorno} other {# giorni} }", + "seconds-interval": "{ seconds, plural, 1 {1 secondo} other {# secondi} }", + "minutes-interval": "{ minutes, plural, 1 {1 minuto} other {# minuti} }", + "hours-interval": "{ hours, plural, 1 {1 ora} other {# ore} }", + "days-interval": "{ days, plural, 1 {1 giorno} other {# giorni} }", "days": "Giorni", "hours": "Ore", "minutes": "Minuti", @@ -1201,10 +1201,10 @@ "advanced": "Avanzate" }, "timewindow": { - "days": "{ days, select, 1 { giorno } other {# giorni } }", - "hours": "{ hours, select, 0 { hour } 1 {1 ora } other {# ore } }", - "minutes": "{ minutes, select, 0 { minute } 1 {1 minuto } other {# minuti } }", - "seconds": "{ seconds, select, 0 { second } 1 {1 secondo } other {# secondi } }", + "days": "{ days, plural, 1 { giorno } other {# giorni } }", + "hours": "{ hours, plural, 0 { hour } 1 {1 ora } other {# ore } }", + "minutes": "{ minutes, plural, 0 { minute } 1 {1 minuto } other {# minuti } }", + "seconds": "{ seconds, plural, 0 { second } 1 {1 secondo } other {# secondi } }", "realtime": "Realtime", "history": "Cronologia", "last-prefix": "last", @@ -1230,8 +1230,8 @@ "user-details": "Dettagli utente", "delete-user-title": "Sei sicuro di voler eliminare l'utente '{{userEmail}}'?", "delete-user-text": "Attenzione, dopo la conferma l'utente e tutti i suoi dati non saranno più recuperabili.", - "delete-users-title": "Sei sicuro di voler eliminare { count, select, 1 {1 utente} other {# utenti} }?", - "delete-users-action-title": "Elimina { count, select, 1 {1 utente} other {# utenti} }", + "delete-users-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 utente} other {# utenti} }?", + "delete-users-action-title": "Elimina { count, plural, 1 {1 utente} other {# utenti} }", "delete-users-text": "Attenzione, dopo la conferma tutti gli utenti selezionati saranno eliminati e tutti i relativi dati non saranno più recuperabili.", "activation-email-sent-message": "Email di attivazione inviata con successo!", "resend-activation": "Resend activation", @@ -1348,8 +1348,8 @@ "widgets-bundle-details": "Dettagli bundle widget", "delete-widgets-bundle-title": "Sei sicuro di voler eliminare il bundle widget '{{widgetsBundleTitle}}'?", "delete-widgets-bundle-text": "Attenzione, dopo la conferma il bundle widget e tutti i suoi dati non saranno più recuperabili.", - "delete-widgets-bundles-title": "Sei sicuro di voler eliminare { count, select, 1 {1 bundle widget} other {# bundle widget} }?", - "delete-widgets-bundles-action-title": "Elimina { count, select, 1 {1 bundle widget} other {# bundle widget} }", + "delete-widgets-bundles-title": "Sei sicuro di voler eliminare { count, plural, 1 {1 bundle widget} other {# bundle widget} }?", + "delete-widgets-bundles-action-title": "Elimina { count, plural, 1 {1 bundle widget} other {# bundle widget} }", "delete-widgets-bundles-text": "Attenzione, dopo la conferma tutti i bundle widget selezionati saranno rimossi e tutti i loro dati non saranno più recuperabili.", "no-widgets-bundles-matching": "Nessun bundle widget corrispondente a '{{widgetsBundle}}' è stato trovato.", "widgets-bundle-required": "Bundle widget obbligatorio.", @@ -1385,7 +1385,7 @@ "use-dashboard-timewindow": "Use dashboard timewindow", "display-legend": "Mostra legenda", "datasources": "Sorgenti dei dati", - "maximum-datasources": "Massimo { count, select, 1 {1 sorgente dati consentita.} other {# sorgenti dati consentite} }", + "maximum-datasources": "Massimo { count, plural, 1 {1 sorgente dati consentita.} other {# sorgenti dati consentite} }", "datasource-type": "Tipo", "datasource-parameters": "Parametri", "remove-datasource": "Rimuovi sorgente dati", diff --git a/ui/src/app/locale/locale.constant-ko_KR.json b/ui/src/app/locale/locale.constant-ko_KR.json index 87ae3cae17..a0d9e0dd8e 100644 --- a/ui/src/app/locale/locale.constant-ko_KR.json +++ b/ui/src/app/locale/locale.constant-ko_KR.json @@ -127,15 +127,15 @@ "acknowledge": "Acknowledge", "clear": "Clear", "search": "Search alarms", - "selected-alarms": "{ count, select, 1 {1 alarm} other {# alarms} } selected", + "selected-alarms": "{ count, plural, 1 {1 alarm} other {# alarms} } selected", "no-data": "No data to display", "polling-interval": "Alarms polling interval (sec)", "polling-interval-required": "Alarms polling interval is required.", "min-polling-interval-message": "At least 1 sec polling interval is allowed.", - "aknowledge-alarms-title": "Acknowledge { count, select, 1 {1 alarm} other {# alarms} }", - "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, select, 1 {1 alarm} other {# alarms} }?", - "clear-alarms-title": "Clear { count, select, 1 {1 alarm} other {# alarms} }", - "clear-alarms-text": "Are you sure you want to clear { count, select, 1 {1 alarm} other {# alarms} }?" + "aknowledge-alarms-title": "Acknowledge { count, plural, 1 {1 alarm} other {# alarms} }", + "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, plural, 1 {1 alarm} other {# alarms} }?", + "clear-alarms-title": "Clear { count, plural, 1 {1 alarm} other {# alarms} }", + "clear-alarms-text": "Are you sure you want to clear { count, plural, 1 {1 alarm} other {# alarms} }?" }, "alias": { "add": "Add alias", @@ -213,15 +213,15 @@ "add-asset-text": "Add new asset", "asset-details": "Asset details", "assign-assets": "Assign assets", - "assign-assets-text": "Assign { count, select, 1 {1 asset} other {# assets} } to customer", + "assign-assets-text": "Assign { count, plural, 1 {1 asset} other {# assets} } to customer", "delete-assets": "Delete assets", "unassign-assets": "Unassign assets", - "unassign-assets-action-title": "Unassign { count, select, 1 {1 asset} other {# assets} } from customer", + "unassign-assets-action-title": "Unassign { count, plural, 1 {1 asset} other {# assets} } from customer", "assign-new-asset": "Assign new asset", "delete-asset-title": "Are you sure you want to delete the asset '{{assetName}}'?", "delete-asset-text": "Be careful, after the confirmation the asset and all related data will become unrecoverable.", - "delete-assets-title": "Are you sure you want to delete { count, select, 1 {1 asset} other {# assets} }?", - "delete-assets-action-title": "Delete { count, select, 1 {1 asset} other {# assets} }", + "delete-assets-title": "Are you sure you want to delete { count, plural, 1 {1 asset} other {# assets} }?", + "delete-assets-action-title": "Delete { count, plural, 1 {1 asset} other {# assets} }", "delete-assets-text": "Be careful, after the confirmation all selected assets will be removed and all related data will become unrecoverable.", "make-public-asset-title": "Are you sure you want to make the asset '{{assetName}}' public?", "make-public-asset-text": "After the confirmation the asset and all its data will be made public and accessible by others.", @@ -230,7 +230,7 @@ "unassign-asset-title": "Are you sure you want to unassign the asset '{{assetName}}'?", "unassign-asset-text": "After the confirmation the asset will be unassigned and won't be accessible by the customer.", "unassign-asset": "Unassign asset", - "unassign-assets-title": "Are you sure you want to unassign { count, select, 1 {1 asset} other {# assets} }?", + "unassign-assets-title": "Are you sure you want to unassign { count, plural, 1 {1 asset} other {# assets} }?", "unassign-assets-text": "After the confirmation all selected assets will be unassigned and won't be accessible by the customer.", "copyId": "Copy asset Id", "idCopiedMessage": "Asset Id has been copied to clipboard", @@ -252,7 +252,7 @@ "key-required": "속성 key를 입력하세요.", "value": "Value", "value-required": "속성 value를 입력하세요.", - "delete-attributes-title": "{ count, select, 1 {속성} other {여러 속성들을} } 삭제하시겠습니까??", + "delete-attributes-title": "{ count, plural, 1 {속성} other {여러 속성들을} } 삭제하시겠습니까??", "delete-attributes-text": "모든 선택된 속성들이 제거 될 것이므로 주의하십시오.", "delete-attributes": "속성 삭제", "enter-attribute-value": "속성 값 입력", @@ -262,8 +262,8 @@ "prev-widget": "이전 위젯", "add-to-dashboard": "대시보드에 추가", "add-widget-to-dashboard": "대시보드에 위젯 추가", - "selected-attributes": "{ count, select, 1 {속성 1개} other {속성 #개} } 선택됨", - "selected-telemetry": "{ count, select, 1 {최근 데이터 1개} other {최근 데이터 #개} } 선택됨" + "selected-attributes": "{ count, plural, 1 {속성 1개} other {속성 #개} } 선택됨", + "selected-telemetry": "{ count, plural, 1 {최근 데이터 1개} other {최근 데이터 #개} } 선택됨" }, "audit-log": { "audit": "Audit", @@ -346,8 +346,8 @@ "customer-details": "커스터머 상세정보", "delete-customer-title": "'{{customerTitle}}' 커스터머를 삭제하시겠습니까?", "delete-customer-text": "커스터머 및 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", - "delete-customers-title": "{ count, select, 1 {커스터머 1개} other {커스터머 #개} }를 삭제하시겠습니까?", - "delete-customers-action-title": "{ count, select, 1 {커스터머 1개} other {커스터머 #개} } 삭제", + "delete-customers-title": "{ count, plural, 1 {커스터머 1개} other {커스터머 #개} }를 삭제하시겠습니까?", + "delete-customers-action-title": "{ count, plural, 1 {커스터머 1개} other {커스터머 #개} } 삭제", "delete-customers-text": "선택된 커스터머는 삭제되고 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", "manage-users": "사용자 관리", "manage-devices": "디바이스 관리", @@ -397,19 +397,19 @@ "add-dashboard-text": "대시보드 추가", "assign-dashboards": "대시보드 지정", "assign-new-dashboard": "새 대시보드 할당", - "assign-dashboards-text": "{ count, select, 1 {대시보드 1개} other {대시보드 #개} }를 커스터머 할당", + "assign-dashboards-text": "{ count, plural, 1 {대시보드 1개} other {대시보드 #개} }를 커스터머 할당", "delete-dashboards": "대시보드 삭제", "unassign-dashboards": "대시보드 할당 취소", - "unassign-dashboards-action-title": "{ count, select, 1 {대시보드 1개} other {대시보드 #개} }를 커스터머 할당 취소", + "unassign-dashboards-action-title": "{ count, plural, 1 {대시보드 1개} other {대시보드 #개} }를 커스터머 할당 취소", "delete-dashboard-title": "'{{dashboardTitle}}' 대시보드를 삭제하시겠습니까?", "delete-dashboard-text": "대시보드 및 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", - "delete-dashboards-title": "{ count, select, 1 {대시보드 1개} other {대시보드 #개} }를 삭제하시겠습니까?", - "delete-dashboards-action-title": "{ count, select, 1 {대시보드 1개} other {대시보드 #개} } 삭제", + "delete-dashboards-title": "{ count, plural, 1 {대시보드 1개} other {대시보드 #개} }를 삭제하시겠습니까?", + "delete-dashboards-action-title": "{ count, plural, 1 {대시보드 1개} other {대시보드 #개} } 삭제", "delete-dashboards-text": "선택된 대시보드가 삭제되고 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", "unassign-dashboard-title": "'{{dashboardTitle}}' 대시보드 할당을 해제하시겠습니까?", "unassign-dashboard-text": "대시보드가 할당 해제되고 커스터머는 액세스 할 수 없게됩니다.", "unassign-dashboard": "대시보드 할달 취소", - "unassign-dashboards-title": "{ count, select, 1 {대시보드 1개} other {대시보드 #개} }의 할당을 취소하시겠습니까?", + "unassign-dashboards-title": "{ count, plural, 1 {대시보드 1개} other {대시보드 #개} }의 할당을 취소하시겠습니까?", "unassign-dashboards-text": "선택된 대시보드가 할당 해제되고 커스터머는 액세스 할 수 없게됩니다.", "select-dashboard": "대시보드 선택", "no-dashboards-matching": "'{{entity}}'와 일치하는 대시보드가 없습니다.", @@ -472,11 +472,11 @@ "attributes": "Attributes", "timeseries-required": "디바이스 timeseries 를 입력하세요.", "timeseries-or-attributes-required": "디바이스 timeseries/attributes 를 입력하세요.", - "maximum-timeseries-or-attributes": "Maximum { count, select, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", + "maximum-timeseries-or-attributes": "Maximum { count, plural, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", "alarm-fields-required": "Alarm fields are required.", "function-types": "함수 유형", "function-types-required": "함수 유형을 입력하세요.", - "maximum-function-types": "Maximum { count, select, 1 {1 function type is allowed.} other {# function types are allowed} }" + "maximum-function-types": "Maximum { count, plural, 1 {1 function type is allowed.} other {# function types are allowed} }" }, "datasource": { "type": "데이터소스 유형", @@ -526,22 +526,22 @@ "manage-credentials": "크리덴셜 관리", "delete": "디바이스 삭제", "assign-devices": "디바이스 할당", - "assign-devices-text": "{ count, select, 1 {디바이스 1개} other {디바이스 #개} }를 커서터머에 할당", + "assign-devices-text": "{ count, plural, 1 {디바이스 1개} other {디바이스 #개} }를 커서터머에 할당", "delete-devices": "디바이스 삭제", "unassign-from-customer": "커스터머 할당 해제", "unassign-devices": "디바이스 할당 취소", - "unassign-devices-action-title": "{ count, select, 1 {디바이스 1개} other {디바이스 #개} }를 커스터머에게서 할당 해제", + "unassign-devices-action-title": "{ count, plural, 1 {디바이스 1개} other {디바이스 #개} }를 커스터머에게서 할당 해제", "assign-new-device": "새로운 디바이스 할당", "view-credentials": "크리덴셜 보기", "delete-device-title": "'{{deviceName}}' 디바이스를 삭제하시겠습니까?", "delete-device-text": "디바이스 및 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", - "delete-devices-title": "{ count, select, 1 {디바이스 1개} other {디바이스 #개} }를 삭제하시겠습니까?", - "delete-devices-action-title": "{ count, select, 1 {디바이스 1개} other {디바이스 #개} } 삭제", + "delete-devices-title": "{ count, plural, 1 {디바이스 1개} other {디바이스 #개} }를 삭제하시겠습니까?", + "delete-devices-action-title": "{ count, plural, 1 {디바이스 1개} other {디바이스 #개} } 삭제", "delete-devices-text": "선택된 디바이스가 삭제되고 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", "unassign-device-title": "'{{deviceName}}' 디바이스 할당을 해제하시겠습니까?", "unassign-device-text": "디바이스가 할당 해제되고 커스터머는 액세스 할 수 없게됩니다.", "unassign-device": "디바이스 할당 취소", - "unassign-devices-title": "{ count, select, 1 {디바이스 1개} other {디바이스 #개} }의 할당을 해제하시겠습니까??", + "unassign-devices-title": "{ count, plural, 1 {디바이스 1개} other {디바이스 #개} }의 할당을 해제하시겠습니까??", "unassign-devices-text": "선택된 디바이스가 할당 해제되고 커스터머는 액세스 할 수 없게됩니다.", "device-credentials": "디바이스 크리덴셜", "credentials-type": "크리덴셜 타입", @@ -616,47 +616,47 @@ "type-required": "Entity type is required.", "type-device": "Device", "type-devices": "Devices", - "list-of-devices": "{ count, select, 1 {One device} other {List of # devices} }", + "list-of-devices": "{ count, plural, 1 {One device} other {List of # devices} }", "device-name-starts-with": "Devices whose names start with '{{prefix}}'", "type-asset": "Asset", "type-assets": "Assets", - "list-of-assets": "{ count, select, 1 {One asset} other {List of # assets} }", + "list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }", "asset-name-starts-with": "Assets whose names start with '{{prefix}}'", "type-rule": "Rule", "type-rules": "Rules", - "list-of-rules": "{ count, select, 1 {One rule} other {List of # rules} }", + "list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }", "rule-name-starts-with": "Rules whose names start with '{{prefix}}'", "type-plugin": "Plugin", "type-plugins": "Plugins", - "list-of-plugins": "{ count, select, 1 {One plugin} other {List of # plugins} }", + "list-of-plugins": "{ count, plural, 1 {One plugin} other {List of # plugins} }", "plugin-name-starts-with": "Plugins whose names start with '{{prefix}}'", "type-tenant": "Tenant", "type-tenants": "Tenants", - "list-of-tenants": "{ count, select, 1 {One tenant} other {List of # tenants} }", + "list-of-tenants": "{ count, plural, 1 {One tenant} other {List of # tenants} }", "tenant-name-starts-with": "Tenants whose names start with '{{prefix}}'", "type-customer": "Customer", "type-customers": "Customers", - "list-of-customers": "{ count, select, 1 {One customer} other {List of # customers} }", + "list-of-customers": "{ count, plural, 1 {One customer} other {List of # customers} }", "customer-name-starts-with": "Customers whose names start with '{{prefix}}'", "type-user": "User", "type-users": "Users", - "list-of-users": "{ count, select, 1 {One user} other {List of # users} }", + "list-of-users": "{ count, plural, 1 {One user} other {List of # users} }", "user-name-starts-with": "Users whose names start with '{{prefix}}'", "type-dashboard": "Dashboard", "type-dashboards": "Dashboards", - "list-of-dashboards": "{ count, select, 1 {One dashboard} other {List of # dashboards} }", + "list-of-dashboards": "{ count, plural, 1 {One dashboard} other {List of # dashboards} }", "dashboard-name-starts-with": "Dashboards whose names start with '{{prefix}}'", "type-alarm": "Alarm", "type-alarms": "Alarms", - "list-of-alarms": "{ count, select, 1 {One alarms} other {List of # alarms} }", + "list-of-alarms": "{ count, plural, 1 {One alarms} other {List of # alarms} }", "alarm-name-starts-with": "Alarms whose names start with '{{prefix}}'", "type-rulechain": "Rule chain", "type-rulechains": "Rule chains", - "list-of-rulechains": "{ count, select, 1 {One rule chain} other {List of # rule chains} }", + "list-of-rulechains": "{ count, plural, 1 {One rule chain} other {List of # rule chains} }", "rulechain-name-starts-with": "Rule chains whose names start with '{{prefix}}'", "type-current-customer": "Current Customer", "search": "Search entities", - "selected-entities": "{ count, select, 1 {1 entity} other {# entities} } selected", + "selected-entities": "{ count, plural, 1 {1 entity} other {# entities} } selected", "entity-name": "Entity name", "details": "Entity details", "no-entities-prompt": "No entities found", @@ -693,7 +693,7 @@ }, "extension": { "extensions": "Extensions", - "selected-extensions": "{ count, select, 1 {1 extension} other {# extensions} } selected", + "selected-extensions": "{ count, plural, 1 {1 extension} other {# extensions} } selected", "type": "Type", "key": "Key", "value": "Value", @@ -707,7 +707,7 @@ "edit": "Edit extension", "delete-extension-title": "Are you sure you want to delete the extension '{{extensionId}}'?", "delete-extension-text": "Be careful, after the confirmation the extension and all related data will become unrecoverable.", - "delete-extensions-title": "Are you sure you want to delete { count, select, 1 {1 extension} other {# extensions} }?", + "delete-extensions-title": "Are you sure you want to delete { count, plural, 1 {1 extension} other {# extensions} }?", "delete-extensions-text": "Be careful, after the confirmation all selected extensions will be removed.", "converters": "Converters", "converter-id": "Converter id", @@ -860,8 +860,8 @@ "grid": { "delete-item-title": "이 항목을 삭제 하시겠습니까?", "delete-item-text": "항목과 모든 관련 데이터를 복구 할 수 없으므로 주의하십시오.", - "delete-items-title": "{ count, select, 1 {아이템 1개} other {아이템 #개} }를 삭제하시겠습니까?", - "delete-items-action-title": "{ count, select, 1 {아이템 1개} other {아이템 #개} } 삭제", + "delete-items-title": "{ count, plural, 1 {아이템 1개} other {아이템 #개} }를 삭제하시겠습니까?", + "delete-items-action-title": "{ count, plural, 1 {아이템 1개} other {아이템 #개} } 삭제", "delete-items-text": "선택한 모든 아이템이 제거되고 관련된 모든 데이터는 복구 할 수 없으므로 주의하십시오.", "add-item-text": "새로운 아이템 추가", "no-items-text": "아이템이 없습니다.", @@ -962,7 +962,7 @@ }, "from-relations": "Outbound relations", "to-relations": "Inbound relations", - "selected-relations": "{ count, select, 1 {1 relation} other {# relations} } selected", + "selected-relations": "{ count, plural, 1 {1 relation} other {# relations} } selected", "type": "Type", "to-entity-type": "To entity type", "to-entity-name": "To entity name", @@ -978,11 +978,11 @@ "edit": "Edit relation", "delete-to-relation-title": "Are you sure you want to delete relation to the entity '{{entityName}}'?", "delete-to-relation-text": "Be careful, after the confirmation the entity '{{entityName}}' will be unrelated from the current entity.", - "delete-to-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-to-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-to-relations-text": "Be careful, after the confirmation all selected relations will be removed and corresponding entities will be unrelated from the current entity.", "delete-from-relation-title": "Are you sure you want to delete relation from the entity '{{entityName}}'?", "delete-from-relation-text": "Be careful, after the confirmation current entity will be unrelated from the entity '{{entityName}}'.", - "delete-from-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-from-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-from-relations-text": "Be careful, after the confirmation all selected relations will be removed and current entity will be unrelated from the corresponding entities.", "remove-relation-filter": "Remove relation filter", "add-relation-filter": "Add relation filter", @@ -1005,8 +1005,8 @@ "set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.", "delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?", "delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.", - "delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?", - "delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }", + "delete-rulechains-title": "Are you sure you want to delete { count, plural, 1 {1 rule chain} other {# rule chains} }?", + "delete-rulechains-action-title": "Delete { count, plural, 1 {1 rule chain} other {# rule chains} }", "delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.", "add-rulechain-text": "Add new rule chain", "no-rulechains-text": "No rule chains found", @@ -1095,8 +1095,8 @@ "tenant-details": "테넌트 상세정보", "delete-tenant-title": "'{{tenantTitle}}' 테넌트를 삭제하시겠습니까?", "delete-tenant-text": "테넌트와 관련된 모든 정보를 복구할 수 없으므로 주의하십시오.", - "delete-tenants-title": "{ count, select, 1 {테넌트 1개} other {테넌트 #개} }를 삭제하시겠습니까?", - "delete-tenants-action-title": "{ count, select, 1 {테넌트 1개} other {테넌트 #개} } 삭제", + "delete-tenants-title": "{ count, plural, 1 {테넌트 1개} other {테넌트 #개} }를 삭제하시겠습니까?", + "delete-tenants-action-title": "{ count, plural, 1 {테넌트 1개} other {테넌트 #개} } 삭제", "delete-tenants-text": "선택된 테넌트가 삭제되고 관련된 모든 정보를 복구할 수 없으므로 주의하십시오.", "title": "타이틀", "title-required": "타이틀을 입력하세요.", @@ -1110,10 +1110,10 @@ "tenant-required": "Tenant is required" }, "timeinterval": { - "seconds-interval": "{ seconds, select, 1 {1 second} other {# seconds} }", - "minutes-interval": "{ minutes, select, 1 {1 minute} other {# minutes} }", - "hours-interval": "{ hours, select, 1 {1 hour} other {# hours} }", - "days-interval": "{ days, select, 1 {1 day} other {# days} }", + "seconds-interval": "{ seconds, plural, 1 {1 second} other {# seconds} }", + "minutes-interval": "{ minutes, plural, 1 {1 minute} other {# minutes} }", + "hours-interval": "{ hours, plural, 1 {1 hour} other {# hours} }", + "days-interval": "{ days, plural, 1 {1 day} other {# days} }", "days": "Days", "hours": "Hours", "minutes": "Minutes", @@ -1121,10 +1121,10 @@ "advanced": "고급" }, "timewindow": { - "days": "{ days, select, 1 { day } other {# days } }", - "hours": "{ hours, select, 0 { hour } 1 {1 hour } other {# hours } }", - "minutes": "{ minutes, select, 0 { minute } 1 {1 minute } other {# minutes } }", - "seconds": "{ seconds, select, 0 { second } 1 {1 second } other {# seconds } }", + "days": "{ days, plural, 1 { day } other {# days } }", + "hours": "{ hours, plural, 0 { hour } 1 {1 hour } other {# hours } }", + "minutes": "{ minutes, plural, 0 { minute } 1 {1 minute } other {# minutes } }", + "seconds": "{ seconds, plural, 0 { second } 1 {1 second } other {# seconds } }", "realtime": "Realtime", "history": "History", "last-prefix": "last", @@ -1149,8 +1149,8 @@ "user-details": "사용자 상세정보", "delete-user-title": "'{{userEmail}}' 사용자를 삭제하시겠습니까?", "delete-user-text": "사용자와 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", - "delete-users-title": "{ count, select, 1 {사용자 1명} other {사용자 #명} }을 삭제하시겠니까?", - "delete-users-action-title": "{ count, select, 1 {사용자 1명} other {사용자 #명} } 삭제", + "delete-users-title": "{ count, plural, 1 {사용자 1명} other {사용자 #명} }을 삭제하시겠니까?", + "delete-users-action-title": "{ count, plural, 1 {사용자 1명} other {사용자 #명} } 삭제", "delete-users-text": "선택된 사용자가 삭제된고 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", "activation-email-sent-message": "활성화 이메일을 보냈습니다!", "resend-activation": "활성화 재전송", @@ -1262,8 +1262,8 @@ "widgets-bundle-details": "위젯 번들 상세정보", "delete-widgets-bundle-title": "'{{widgetsBundleTitle}}' 위젯 번들을 삭제하시겠습니까?", "delete-widgets-bundle-text": "위젯 번들과 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", - "delete-widgets-bundles-title": "{ count, select, 1 {위젯 번들 1개} other {위젯 번들 #개} }를 삭제하시겠습니까?", - "delete-widgets-bundles-action-title": "{ count, select, 1 {위젯 번들 1개} other {위젯 번들 #개} } 삭제", + "delete-widgets-bundles-title": "{ count, plural, 1 {위젯 번들 1개} other {위젯 번들 #개} }를 삭제하시겠습니까?", + "delete-widgets-bundles-action-title": "{ count, plural, 1 {위젯 번들 1개} other {위젯 번들 #개} } 삭제", "delete-widgets-bundles-text": "선택된 위젯 번들이 삭제되고 관련된 모든 데이터를 복구할 수 없으므로 주의하십시오.", "no-widgets-bundles-matching": "'{{widgetsBundle}}' 와(과) 일치하는 위젯 번들을 찾을 수 없습니다.", "widgets-bundle-required": "위젯 번들을 입력하세요.", diff --git a/ui/src/app/locale/locale.constant-ru_RU.json b/ui/src/app/locale/locale.constant-ru_RU.json index 0a0edf1277..2e384e95dc 100644 --- a/ui/src/app/locale/locale.constant-ru_RU.json +++ b/ui/src/app/locale/locale.constant-ru_RU.json @@ -123,15 +123,15 @@ "acknowledge": "Acknowledge", "clear": "Clear", "search": "Search alarms", - "selected-alarms": "{ count, select, 1 {1 alarm} other {# alarms} } selected", + "selected-alarms": "{ count, plural, 1 {1 alarm} other {# alarms} } selected", "no-data": "No data to display", "polling-interval": "Alarms polling interval (sec)", "polling-interval-required": "Alarms polling interval is required.", "min-polling-interval-message": "At least 1 sec polling interval is allowed.", - "aknowledge-alarms-title": "Acknowledge { count, select, 1 {1 alarm} other {# alarms} }", - "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, select, 1 {1 alarm} other {# alarms} }?", - "clear-alarms-title": "Clear { count, select, 1 {1 alarm} other {# alarms} }", - "clear-alarms-text": "Are you sure you want to clear { count, select, 1 {1 alarm} other {# alarms} }?" + "aknowledge-alarms-title": "Acknowledge { count, plural, 1 {1 alarm} other {# alarms} }", + "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, plural, 1 {1 alarm} other {# alarms} }?", + "clear-alarms-title": "Clear { count, plural, 1 {1 alarm} other {# alarms} }", + "clear-alarms-text": "Are you sure you want to clear { count, plural, 1 {1 alarm} other {# alarms} }?" }, "alias": { "add": "Add alias", @@ -209,15 +209,15 @@ "add-asset-text": "Add new asset", "asset-details": "Asset details", "assign-assets": "Assign assets", - "assign-assets-text": "Assign { count, select, 1 {1 asset} other {# assets} } to customer", + "assign-assets-text": "Assign { count, plural, 1 {1 asset} other {# assets} } to customer", "delete-assets": "Delete assets", "unassign-assets": "Unassign assets", - "unassign-assets-action-title": "Unassign { count, select, 1 {1 asset} other {# assets} } from customer", + "unassign-assets-action-title": "Unassign { count, plural, 1 {1 asset} other {# assets} } from customer", "assign-new-asset": "Assign new asset", "delete-asset-title": "Are you sure you want to delete the asset '{{assetName}}'?", "delete-asset-text": "Be careful, after the confirmation the asset and all related data will become unrecoverable.", - "delete-assets-title": "Are you sure you want to delete { count, select, 1 {1 asset} other {# assets} }?", - "delete-assets-action-title": "Delete { count, select, 1 {1 asset} other {# assets} }", + "delete-assets-title": "Are you sure you want to delete { count, plural, 1 {1 asset} other {# assets} }?", + "delete-assets-action-title": "Delete { count, plural, 1 {1 asset} other {# assets} }", "delete-assets-text": "Be careful, after the confirmation all selected assets will be removed and all related data will become unrecoverable.", "make-public-asset-title": "Are you sure you want to make the asset '{{assetName}}' public?", "make-public-asset-text": "After the confirmation the asset and all its data will be made public and accessible by others.", @@ -226,7 +226,7 @@ "unassign-asset-title": "Are you sure you want to unassign the asset '{{assetName}}'?", "unassign-asset-text": "After the confirmation the asset will be unassigned and won't be accessible by the customer.", "unassign-asset": "Unassign asset", - "unassign-assets-title": "Are you sure you want to unassign { count, select, 1 {1 asset} other {# assets} }?", + "unassign-assets-title": "Are you sure you want to unassign { count, plural, 1 {1 asset} other {# assets} }?", "unassign-assets-text": "After the confirmation all selected assets will be unassigned and won't be accessible by the customer.", "copyId": "Copy asset Id", "idCopiedMessage": "Asset Id has been copied to clipboard", @@ -476,7 +476,7 @@ "manage-states": "Manage dashboard states", "states": "Dashboard states", "search-states": "Search dashboard states", - "selected-states": "{ count, select, 1 {1 dashboard state} other {# dashboard states} } selected", + "selected-states": "{ count, plural, 1 {1 dashboard state} other {# dashboard states} } selected", "edit-state": "Edit dashboard state", "delete-state": "Delete dashboard state", "add-state": "Add dashboard state", @@ -508,11 +508,11 @@ "attributes": "Атрибуты", "timeseries-required": "Выборка по времени обязательна.", "timeseries-or-attributes-required": "Выборка по времени/атрибуты обязательны.", - "maximum-timeseries-or-attributes": "Maximum { count, select, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", + "maximum-timeseries-or-attributes": "Maximum { count, plural, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", "alarm-fields-required": "Alarm fields are required.", "function-types": "Тип функции", "function-types-required": "Тип функции обязателен.", - "maximum-function-types": "Maximum { count, select, 1 {1 function type is allowed.} other {# function types are allowed} }" + "maximum-function-types": "Maximum { count, plural, 1 {1 function type is allowed.} other {# function types are allowed} }" }, "datasource": { "type": "Тип источника данных", @@ -659,47 +659,47 @@ "type-required": "Entity type is required.", "type-device": "Device", "type-devices": "Devices", - "list-of-devices": "{ count, select, 1 {One device} other {List of # devices} }", + "list-of-devices": "{ count, plural, 1 {One device} other {List of # devices} }", "device-name-starts-with": "Devices whose names start with '{{prefix}}'", "type-asset": "Asset", "type-assets": "Assets", - "list-of-assets": "{ count, select, 1 {One asset} other {List of # assets} }", + "list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }", "asset-name-starts-with": "Assets whose names start with '{{prefix}}'", "type-rule": "Rule", "type-rules": "Rules", - "list-of-rules": "{ count, select, 1 {One rule} other {List of # rules} }", + "list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }", "rule-name-starts-with": "Rules whose names start with '{{prefix}}'", "type-plugin": "Plugin", "type-plugins": "Plugins", - "list-of-plugins": "{ count, select, 1 {One plugin} other {List of # plugins} }", + "list-of-plugins": "{ count, plural, 1 {One plugin} other {List of # plugins} }", "plugin-name-starts-with": "Plugins whose names start with '{{prefix}}'", "type-tenant": "Tenant", "type-tenants": "Tenants", - "list-of-tenants": "{ count, select, 1 {One tenant} other {List of # tenants} }", + "list-of-tenants": "{ count, plural, 1 {One tenant} other {List of # tenants} }", "tenant-name-starts-with": "Tenants whose names start with '{{prefix}}'", "type-customer": "Customer", "type-customers": "Customers", - "list-of-customers": "{ count, select, 1 {One customer} other {List of # customers} }", + "list-of-customers": "{ count, plural, 1 {One customer} other {List of # customers} }", "customer-name-starts-with": "Customers whose names start with '{{prefix}}'", "type-user": "User", "type-users": "Users", - "list-of-users": "{ count, select, 1 {One user} other {List of # users} }", + "list-of-users": "{ count, plural, 1 {One user} other {List of # users} }", "user-name-starts-with": "Users whose names start with '{{prefix}}'", "type-dashboard": "Dashboard", "type-dashboards": "Dashboards", - "list-of-dashboards": "{ count, select, 1 {One dashboard} other {List of # dashboards} }", + "list-of-dashboards": "{ count, plural, 1 {One dashboard} other {List of # dashboards} }", "dashboard-name-starts-with": "Dashboards whose names start with '{{prefix}}'", "type-alarm": "Alarm", "type-alarms": "Alarms", - "list-of-alarms": "{ count, select, 1 {One alarms} other {List of # alarms} }", + "list-of-alarms": "{ count, plural, 1 {One alarms} other {List of # alarms} }", "alarm-name-starts-with": "Alarms whose names start with '{{prefix}}'", "type-rulechain": "Rule chain", "type-rulechains": "Rule chains", - "list-of-rulechains": "{ count, select, 1 {One rule chain} other {List of # rule chains} }", + "list-of-rulechains": "{ count, plural, 1 {One rule chain} other {List of # rule chains} }", "rulechain-name-starts-with": "Rule chains whose names start with '{{prefix}}'", "type-current-customer": "Current Customer", "search": "Search entities", - "selected-entities": "{ count, select, 1 {1 entity} other {# entities} } selected", + "selected-entities": "{ count, plural, 1 {1 entity} other {# entities} } selected", "entity-name": "Entity name", "details": "Entity details", "no-entities-prompt": "No entities found", @@ -736,7 +736,7 @@ }, "extension": { "extensions": "Extensions", - "selected-extensions": "{ count, select, 1 {1 extension} other {# extensions} } selected", + "selected-extensions": "{ count, plural, 1 {1 extension} other {# extensions} } selected", "type": "Type", "key": "Key", "value": "Value", @@ -750,7 +750,7 @@ "edit": "Edit extension", "delete-extension-title": "Are you sure you want to delete the extension '{{extensionId}}'?", "delete-extension-text": "Be careful, after the confirmation the extension and all related data will become unrecoverable.", - "delete-extensions-title": "Are you sure you want to delete { count, select, 1 {1 extension} other {# extensions} }?", + "delete-extensions-title": "Are you sure you want to delete { count, plural, 1 {1 extension} other {# extensions} }?", "delete-extensions-text": "Be careful, after the confirmation all selected extensions will be removed.", "converters": "Converters", "converter-id": "Converter id", @@ -1005,7 +1005,7 @@ }, "from-relations": "Outbound relations", "to-relations": "Inbound relations", - "selected-relations": "{ count, select, 1 {1 relation} other {# relations} } selected", + "selected-relations": "{ count, plural, 1 {1 relation} other {# relations} } selected", "type": "Type", "to-entity-type": "To entity type", "to-entity-name": "To entity name", @@ -1021,11 +1021,11 @@ "edit": "Edit relation", "delete-to-relation-title": "Are you sure you want to delete relation to the entity '{{entityName}}'?", "delete-to-relation-text": "Be careful, after the confirmation the entity '{{entityName}}' will be unrelated from the current entity.", - "delete-to-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-to-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-to-relations-text": "Be careful, after the confirmation all selected relations will be removed and corresponding entities will be unrelated from the current entity.", "delete-from-relation-title": "Are you sure you want to delete relation from the entity '{{entityName}}'?", "delete-from-relation-text": "Be careful, after the confirmation current entity will be unrelated from the entity '{{entityName}}'.", - "delete-from-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?", + "delete-from-relations-title": "Are you sure you want to delete { count, plural, 1 {1 relation} other {# relations} }?", "delete-from-relations-text": "Be careful, after the confirmation all selected relations will be removed and current entity will be unrelated from the corresponding entities.", "remove-relation-filter": "Remove relation filter", "add-relation-filter": "Add relation filter", @@ -1048,8 +1048,8 @@ "set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.", "delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?", "delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.", - "delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?", - "delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }", + "delete-rulechains-title": "Are you sure you want to delete { count, plural, 1 {1 rule chain} other {# rule chains} }?", + "delete-rulechains-action-title": "Delete { count, plural, 1 {1 rule chain} other {# rule chains} }", "delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.", "add-rulechain-text": "Add new rule chain", "no-rulechains-text": "No rule chains found", diff --git a/ui/src/app/locale/locale.constant-zh_CN.json b/ui/src/app/locale/locale.constant-zh_CN.json index 5f36af4730..b55305a68e 100644 --- a/ui/src/app/locale/locale.constant-zh_CN.json +++ b/ui/src/app/locale/locale.constant-zh_CN.json @@ -126,15 +126,15 @@ "acknowledge": "应答", "clear": "清除", "search": "搜索警告", - "selected-alarms": "已选择 { count, select, 1 {1 警告} other {# 警告} } ", + "selected-alarms": "已选择 { count, plural, 1 {1 警告} other {# 警告} } ", "no-data": "无数据显示", "polling-interval": "警告轮询间隔(秒)", "polling-interval-required": "警告轮询间隔必填。", "min-polling-interval-message": "轮询间隔至少是1秒。", - "aknowledge-alarms-title": "应答 { count, select, 1 {1 警告} other {# 警告} }", - "aknowledge-alarms-text": "确定要应答 { count, select, 1 {1 警告} other {# 警告} }?", - "clear-alarms-title": "清除 { count, select, 1 {1 警告} other {# 警告} }", - "clear-alarms-text": "确定要清除 { count, select, 1 {1 警告} other {# 警告} }?" + "aknowledge-alarms-title": "应答 { count, plural, 1 {1 警告} other {# 警告} }", + "aknowledge-alarms-text": "确定要应答 { count, plural, 1 {1 警告} other {# 警告} }?", + "clear-alarms-title": "清除 { count, plural, 1 {1 警告} other {# 警告} }", + "clear-alarms-text": "确定要清除 { count, plural, 1 {1 警告} other {# 警告} }?" }, "alias": { "add": "添加别名", @@ -212,15 +212,15 @@ "add-asset-text": "添加新资产", "asset-details": "资产详情", "assign-assets": "分配资产", - "assign-assets-text": "分配 { count, select, 1 {1 资产} other {# 资产} } 给客户", + "assign-assets-text": "分配 { count, plural, 1 {1 资产} other {# 资产} } 给客户", "delete-assets": "删除资产", "unassign-assets": "取消分配资产", - "unassign-assets-action-title": "从客户处取消分配 { count, select, 1 {1 资产} other {# 资产} } ", + "unassign-assets-action-title": "从客户处取消分配 { count, plural, 1 {1 资产} other {# 资产} } ", "assign-new-asset": "分配新资产", "delete-asset-title": "确定要删除资产 '{{assetName}}'?", "delete-asset-text": "小心!确认后资产及其所有相关数据将不可恢复。", - "delete-assets-title": "确定要删除 { count, select, 1 {1 资产} other {# 资产} }?", - "delete-assets-action-title": "删除 { count, select, 1 {1 资产} other {# 资产} }", + "delete-assets-title": "确定要删除 { count, plural, 1 {1 资产} other {# 资产} }?", + "delete-assets-action-title": "删除 { count, plural, 1 {1 资产} other {# 资产} }", "delete-assets-text": "小心,确认后,所有选定的资产将被删除,所有相关的数据将变得不可恢复。", "make-public-asset-title": "你确定你想创建公开'{{assetName}}'资产?", "make-public-asset-text": "确认后,资产及其所有数据将被公开并被他人访问。", @@ -229,7 +229,7 @@ "unassign-asset-title": "您确定要取消对'{{assetName}}'资产的分配吗?", "unassign-asset-text": "确认后,资产将未分配,客户无法访问。", "unassign-asset": "未分配资产", - "unassign-assets-title": "您确定要取消分配 { count, select, 1 {1 资产} other {# 资产} }吗?", + "unassign-assets-title": "您确定要取消分配 { count, plural, 1 {1 资产} other {# 资产} }吗?", "unassign-assets-text": "确认后,所有选定的资产将被分配,客户无法访问。", "copyId": "复制资产ID", "idCopiedMessage": "资产ID已经复制到粘贴板", @@ -252,7 +252,7 @@ "key-required": "属性键必填。", "value": "值", "value-required": "属性值必填。", - "delete-attributes-title": "您确定要删除 { count, select, 1 {1 属性} other {# 属性} }吗?", + "delete-attributes-title": "您确定要删除 { count, plural, 1 {1 属性} other {# 属性} }吗?", "delete-attributes-text": "注意,确认后所有选中的属性都会被删除。", "delete-attributes": "删除属性", "enter-attribute-value": "输入属性值", @@ -262,8 +262,8 @@ "prev-widget": "上一个部件", "add-to-dashboard": "添加到仪表板", "add-widget-to-dashboard": "将部件添加到仪表板", - "selected-attributes": "{ count, select, 1 {1 属性} other {# 属性} } 被选中", - "selected-telemetry": "{ count, select, 1 {1 遥测} other {# 遥测} } 被选中" + "selected-attributes": "{ count, plural, 1 {1 属性} other {# 属性} } 被选中", + "selected-telemetry": "{ count, plural, 1 {1 遥测} other {# 遥测} } 被选中" }, "audit-log": { "audit": "审计", @@ -351,8 +351,8 @@ "customer-details": "客户详情", "delete-customer-title": "您确定要删除客户'{{customerTitle}}'吗?", "delete-customer-text": "小心!确认后,客户及其所有相关数据将不可恢复。", - "delete-customers-title": "您确定要删除 { count, select, 1 {1 客户} other {# 客户} }吗?", - "delete-customers-action-title": "删除 { count, select, 1 {1 客户} other {# 客户} }", + "delete-customers-title": "您确定要删除 { count, plural, 1 {1 客户} other {# 客户} }吗?", + "delete-customers-action-title": "删除 { count, plural, 1 {1 客户} other {# 客户} }", "delete-customers-text": "小心!确认后,所有选定的客户将被删除,所有相关数据将不可恢复。", "manage-users": "管理用户", "manage-assets": "管理资产", @@ -411,20 +411,20 @@ "add-dashboard-text": "添加新的仪表板", "assign-dashboards": "分配仪表板", "assign-new-dashboard": "分配新的仪表板", - "assign-dashboards-text": "分配 { count, select, 1 {1 仪表板} other {# 仪表板} } 给客户", - "unassign-dashboards-action-text": "未分配 { count, select, 1 {1 仪表板} other {# 仪表板} } 给客户", + "assign-dashboards-text": "分配 { count, plural, 1 {1 仪表板} other {# 仪表板} } 给客户", + "unassign-dashboards-action-text": "未分配 { count, plural, 1 {1 仪表板} other {# 仪表板} } 给客户", "delete-dashboards": "删除仪表板", "unassign-dashboards": "取消分配仪表板", - "unassign-dashboards-action-title": "从客户处取消分配 { count, select, 1 {1 仪表板} other {# 仪表板} } ", + "unassign-dashboards-action-title": "从客户处取消分配 { count, plural, 1 {1 仪表板} other {# 仪表板} } ", "delete-dashboard-title": "您确定要删除仪表板 '{{dashboardTitle}}'吗?", "delete-dashboard-text": "小心!确认后仪表板及其所有相关数据将不可恢复。", - "delete-dashboards-title": "你确定你要删除 { count, select, 1 {1 仪表板} other {# 仪表板} }吗?", - "delete-dashboards-action-title": "删除 { count, select, 1 {1 仪表板} other {# 仪表板} }", + "delete-dashboards-title": "你确定你要删除 { count, plural, 1 {1 仪表板} other {# 仪表板} }吗?", + "delete-dashboards-action-title": "删除 { count, plural, 1 {1 仪表板} other {# 仪表板} }", "delete-dashboards-text": "小心!确认后所有选定的仪表板将被删除,所有相关数据将不可恢复。", "unassign-dashboard-title": "您确定要取消分配仪表板 '{{dashboardTitle}}'吗?", "unassign-dashboard-text": "确认后,面板将被取消分配,客户将无法访问。", "unassign-dashboard": "取消分配仪表板", - "unassign-dashboards-title": "您确定要取消分配仪表板 { count, select, 1 {1 仪表板} other {# 仪表板} } 吗?", + "unassign-dashboards-title": "您确定要取消分配仪表板 { count, plural, 1 {1 仪表板} other {# 仪表板} } 吗?", "unassign-dashboards-text": "确认后,所有选定的仪表板将被取消分配,客户将无法访问。", "public-dashboard-title": "仪表板现已公布", "public-dashboard-text": "你的仪表板 {{dashboardTitle}} 已被公开,可通过如下 链接访问:", @@ -500,7 +500,7 @@ "manage-states": "仪表板状态管理", "states": "仪表板状态", "search-states": "仪表板状态检索", - "selected-states": "{ count, select, 1 {1 仪表板状态} other {# 仪表板状态} } 选中", + "selected-states": "{ count, plural, 1 {1 仪表板状态} other {# 仪表板状态} } 选中", "edit-state": "仪表板状态编辑", "delete-state": "删除仪表板状态", "add-state": "添加仪表板状态", @@ -533,11 +533,11 @@ "alarm": "报警字段", "timeseries-required": "需要设备时间序列。", "timeseries-or-attributes-required": "设备时间/属性必填。", - "maximum-timeseries-or-attributes": "最大允许 { count, select, 1 {1 时间序列/属性} other {# 时间序列/属性} }", + "maximum-timeseries-or-attributes": "最大允许 { count, plural, 1 {1 时间序列/属性} other {# 时间序列/属性} }", "alarm-fields-required": "警告字段必填。", "function-types": "函数类型", "function-types-required": "需要函数类型。", - "maximum-function-types": "至少需要 { count, select, 1 {1 函数类型} other {# 函数类型} }" + "maximum-function-types": "至少需要 { count, plural, 1 {1 函数类型} other {# 函数类型} }" }, "datasource": { "type": "数据源类型", @@ -694,47 +694,47 @@ "type-required": "实体类型必填。", "type-device": "设备", "type-devices": "设备", - "list-of-devices": "{ count, select, 1 {设备} other {# 设备列表} }", + "list-of-devices": "{ count, plural, 1 {设备} other {# 设备列表} }", "device-name-starts-with": "以 '{{prefix}}' 开头的设备", "type-asset": "资产", "type-assets": "资产", - "list-of-assets": "{ count, select, 1 {资产} other {# 资产列表} }", + "list-of-assets": "{ count, plural, 1 {资产} other {# 资产列表} }", "asset-name-starts-with": "以 '{{prefix}}' 开头的资产", "type-rule": "规则", "type-rules": "规则", - "list-of-rules": "{ count, select, 1 {规则} other {# 规则列表} }", + "list-of-rules": "{ count, plural, 1 {规则} other {# 规则列表} }", "rule-name-starts-with": "以 '{{prefix}}' 开头的规则", "type-plugin": "插件", "type-plugins": "插件", - "list-of-plugins": "{ count, select, 1 {插件} other {# 插件列表} }", + "list-of-plugins": "{ count, plural, 1 {插件} other {# 插件列表} }", "plugin-name-starts-with": "以 '{{prefix}}' 开头的插件", "type-tenant": "租户", "type-tenants": "租户", - "list-of-tenants": "{ count, select, 1 {租户} other {# 租户列表} }", + "list-of-tenants": "{ count, plural, 1 {租户} other {# 租户列表} }", "tenant-name-starts-with": "以 '{{prefix}}' 开头的租户", "type-customer": "客户", "type-customers": "客户", - "list-of-customers": "{ count, select, 1 {客户} other {# 客户列表} }", + "list-of-customers": "{ count, plural, 1 {客户} other {# 客户列表} }", "customer-name-starts-with": "以 '{{prefix}}' 开头的客户", "type-user": "用户", "type-users": "用户", - "list-of-users": "{ count, select, 1 {用户} other {# 用户列表} }", + "list-of-users": "{ count, plural, 1 {用户} other {# 用户列表} }", "user-name-starts-with": "以 '{{prefix}}' 开头的用户", "type-dashboard": "仪表板", "type-dashboards": "仪表板", - "list-of-dashboards": "{ count, select, 1 {仪表板} other {# 仪表板列表} }", + "list-of-dashboards": "{ count, plural, 1 {仪表板} other {# 仪表板列表} }", "dashboard-name-starts-with": "以 '{{prefix}}' 开头的仪表板", "type-alarm": "警告", "type-alarms": "警告", - "list-of-alarms": "{ count, select, 1 {警告} other {# 警告列表} }", + "list-of-alarms": "{ count, plural, 1 {警告} other {# 警告列表} }", "alarm-name-starts-with": "以 '{{prefix}}' 开头的警告", "type-rulechain": "规则链", "type-rulechains": "规则链库", - "list-of-rulechains": "{ count, select, 1 {一个规则链} other {# 规则链列表} }", + "list-of-rulechains": "{ count, plural, 1 {一个规则链} other {# 规则链列表} }", "rulechain-name-starts-with": "规则链前缀名称 '{{prefix}}'", "type-current-customer": "当前客户", "search": "实体检索", - "selected-entities": "{ count, select, 1 {1 实体} other {# 实体} } 被选中", + "selected-entities": "{ count, plural, 1 {1 实体} other {# 实体} } 被选中", "entity-name": "实体名", "details": "实体详情", "no-entities-prompt": "没有找到实体", @@ -771,7 +771,7 @@ }, "extension": { "extensions": "扩展", - "selected-extensions": "{ count, select, 1 {1 扩展} 其它 {# 扩展} } 被选择", + "selected-extensions": "{ count, plural, 1 {1 扩展} 其它 {# 扩展} } 被选择", "type": "类型", "key": "健名", "value": "值", @@ -785,7 +785,7 @@ "edit": "编辑扩展", "delete-extension-title": "确实要删除扩展名'{{extensionId}}'吗?", "delete-extension-text": "小心,确认后,扩展和所有相关数据将变得不可恢复。", - "delete-extensions-title": "您确定要删除 { count, select, 1 {1 表达式} 其它 {# 表达式} }吗?", + "delete-extensions-title": "您确定要删除 { count, plural, 1 {1 表达式} 其它 {# 表达式} }吗?", "delete-extensions-text": "小心,确认后,所有选定的扩展将被删除。", "converters": "转换器", "converter-id": "转换器序号", @@ -937,8 +937,8 @@ "grid": { "delete-item-title": "您确定要删除此项吗?", "delete-item-text": "注意,确认后此项及其所有相关数据将变得不可恢复。", - "delete-items-title": "你确定你要删除 { count, select, 1 {1 项} other {# 项} }吗?", - "delete-items-action-title": "删除 { count, select, 1 {1 项} other {# 项} }", + "delete-items-title": "你确定你要删除 { count, plural, 1 {1 项} other {# 项} }吗?", + "delete-items-action-title": "删除 { count, plural, 1 {1 项} other {# 项} }", "delete-items-text": "注意,确认后所有选择的项目将被删除,所有相关数据将不可恢复。", "add-item-text": "添加新项目", "no-items-text": "没有找到项目", @@ -1039,7 +1039,7 @@ }, "from-relations": "向外的关联", "to-relations": "向内的关联", - "selected-relations": "{ count, select, 1 {1 关联} other {# 关联} } 被选中", + "selected-relations": "{ count, plural, 1 {1 关联} other {# 关联} } 被选中", "type": "类型", "to-entity-type": "到实体类型", "to-entity-name": "到实体名称", @@ -1055,11 +1055,11 @@ "edit": "编辑关联", "delete-to-relation-title": "确定要删除实体 '{{entityName}}' 的关联吗?", "delete-to-relation-text": "确定删除后实体 '{{entityName}}' 将取消与当前实体的关联关系。", - "delete-to-relations-title": "确定要删除 { count, select, 1 {1 关联} other {# 关联} }?", + "delete-to-relations-title": "确定要删除 { count, plural, 1 {1 关联} other {# 关联} }?", "delete-to-relations-text": "确定删除所有选择的关联关系后,与当前实体对应的所有关联关系将被移除。", "delete-from-relation-title": "确定要从实体 '{{entityName}}' 删除关联吗?", "delete-from-relation-text": "确定删除后,当前实体将与实体 '{{entityName}}' 取消关联", - "delete-from-relations-title": "确定删除 { count, select, 1 {1 关联} other {# 关联} } 吗?", + "delete-from-relations-title": "确定删除 { count, plural, 1 {1 关联} other {# 关联} } 吗?", "delete-from-relations-text": "确定删除所有选择的关联关系后,当前实体将与对应的实体取消关联", "remove-relation-filter": "移除关联过滤器", "add-relation-filter": "添加关联过滤器", @@ -1086,8 +1086,8 @@ "set-root-rulechain-text": "确认之后,规则链将变为根规格链,并将处理所有传入的传输消息。", "delete-rulechain-title": " 确实要删除规则链'{{ruleChainName}}'吗?", "delete-rulechain-text": "小心,在确认规则链和所有相关数据将变得不可恢复。", - "delete-rulechains-title": "确实要删除{count, select, 1 { 1 规则链}其他{# 规则链库}}吗?", - "delete-rulechains-action-title": "删除 { count, select, 1 {1 规则链} other {# 规则链库} }", + "delete-rulechains-title": "确实要删除{count, plural, 1 { 1 规则链}其他{# 规则链库}}吗?", + "delete-rulechains-action-title": "删除 { count, plural, 1 {1 规则链} other {# 规则链库} }", "delete-rulechains-text": "小心,确认后,所有选定的规则链将被删除,所有相关的数据将变得不可恢复。", "add-rulechain-text": "添加新的规则链", "no-rulechains-text": "规则链没有发现", @@ -1178,7 +1178,7 @@ "delete-tenant-title": "您确定要删除租户'{{tenantTitle}}'吗?", "delete-tenant-text": "小心!确认后,租户和所有相关数据将不可恢复。", "delete-tenants-title": "您确定要删除 {count,select,1 {1 租户} other {# 租户}} 吗?", - "delete-tenants-action-title": "删除 { count, select, 1 {1 租户} other {# 租户} }", + "delete-tenants-action-title": "删除 { count, plural, 1 {1 租户} other {# 租户} }", "delete-tenants-text": "小心!确认后,所有选定的租户将被删除,所有相关数据将不可恢复。", "title": "标题", "title-required": "标题必填。", @@ -1192,10 +1192,10 @@ "tenant-required": "租户必填" }, "timeinterval": { - "seconds-interval": "{ seconds, select, 1 {1 秒} other {# 秒} }", - "minutes-interval": "{ minutes, select, 1 {1 分} other {# 分} }", - "hours-interval": "{ hours, select, 1 {1 小时} other {# 小时} }", - "days-interval": "{ days, select, 1 {1 天} other {# 天} }", + "seconds-interval": "{ seconds, plural, 1 {1 秒} other {# 秒} }", + "minutes-interval": "{ minutes, plural, 1 {1 分} other {# 分} }", + "hours-interval": "{ hours, plural, 1 {1 小时} other {# 小时} }", + "days-interval": "{ days, plural, 1 {1 天} other {# 天} }", "days": "天", "hours": "时", "minutes": "分", @@ -1203,10 +1203,10 @@ "advanced": "高级" }, "timewindow": { - "days": "{ days, select, 1 { 天 } other {# 天 } }", - "hours": "{ hours, select, 0 { 小时 } 1 {1 小时 } other {# 小时 } }", - "minutes": "{ minutes, select, 0 { 分 } 1 {1 分 } other {# 分 } }", - "seconds": "{ seconds, select, 0 { 秒 } 1 {1 秒 } other {# 秒 } }", + "days": "{ days, plural, 1 { 天 } other {# 天 } }", + "hours": "{ hours, plural, 0 { 小时 } 1 {1 小时 } other {# 小时 } }", + "minutes": "{ minutes, plural, 0 { 分 } 1 {1 分 } other {# 分 } }", + "seconds": "{ seconds, plural, 0 { 秒 } 1 {1 秒 } other {# 秒 } }", "realtime": "实时", "history": "历史", "last-prefix": "最后", @@ -1232,8 +1232,8 @@ "user-details": "用户详细信息", "delete-user-title": "您确定要删除用户 '{{userEmail}}' 吗?", "delete-user-text": "小心!确认后,用户和所有相关数据将不可恢复。", - "delete-users-title": "你确定你要删除 { count, select, 1 {1 用户} other {# 用户} } 吗?", - "delete-users-action-title": "删除 { count, select, 1 {1 用户} other {# 用户} }", + "delete-users-title": "你确定你要删除 { count, plural, 1 {1 用户} other {# 用户} } 吗?", + "delete-users-action-title": "删除 { count, plural, 1 {1 用户} other {# 用户} }", "delete-users-text": "小心!确认后,所有选定的用户将被删除,所有相关数据将不可恢复。", "activation-email-sent-message": "激活电子邮件已成功发送!", "resend-activation": "重新发送激活", @@ -1351,8 +1351,8 @@ "widgets-bundle-details": "部件包详细信息", "delete-widgets-bundle-title": "您确定要删除部件包 '{{widgetsBundleTitle}}'吗?", "delete-widgets-bundle-text": "小心!确认后,部件包和所有相关数据将不可恢复。", - "delete-widgets-bundles-title": "你确定你要删除 { count, select, 1 {1 部件包} other {# 部件包} } 吗?", - "delete-widgets-bundles-action-title": "删除 { count, select, 1 {1 部件包} other {# 部件包} }", + "delete-widgets-bundles-title": "你确定你要删除 { count, plural, 1 {1 部件包} other {# 部件包} } 吗?", + "delete-widgets-bundles-action-title": "删除 { count, plural, 1 {1 部件包} other {# 部件包} }", "delete-widgets-bundles-text": "小心!确认后,所有选定的部件包将被删除,所有相关数据将不可恢复。", "no-widgets-bundles-matching": "没有找到与 '{{widgetsBundle}}' 匹配的部件包。", "widgets-bundle-required": "需要部件包。", @@ -1388,7 +1388,7 @@ "use-dashboard-timewindow": "使用仪表板的时间窗口", "display-legend": "显示图例", "datasources": "数据源", - "maximum-datasources": "最大允许 { count, select, 1 {1 数据} other {# 数据} }", + "maximum-datasources": "最大允许 { count, plural, 1 {1 数据} other {# 数据} }", "datasource-type": "类型", "datasource-parameters": "参数", "remove-datasource": "移除数据源", From 4985d08dfa146852186f1cbecd3b79b71d621f4a Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Thu, 19 Jul 2018 12:58:58 +0300 Subject: [PATCH 4/4] UI: Fix select target dashboard state dialog. --- ui/src/app/dashboard/states/select-target-state.tpl.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/app/dashboard/states/select-target-state.tpl.html b/ui/src/app/dashboard/states/select-target-state.tpl.html index 5fd31221ac..a9a434859e 100644 --- a/ui/src/app/dashboard/states/select-target-state.tpl.html +++ b/ui/src/app/dashboard/states/select-target-state.tpl.html @@ -41,8 +41,8 @@ - - {{ 'action.save' | translate }} + + {{ 'action.select' | translate }} {{ 'action.cancel' | translate }}