From b8a8db3b3bc5479b56b1f0139fa359c51be46e45 Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Tue, 14 Jan 2025 10:48:07 +0200 Subject: [PATCH] UI: Updated rule node config translate keys --- .../assign-customer-config.component.html | 8 +- .../action/attributes-config.component.html | 24 +- .../action/clear-alarm-config.component.html | 6 +- .../action/clear-alarm-config.component.ts | 4 +- .../action/create-alarm-config.component.html | 34 +- .../action/create-alarm-config.component.ts | 4 +- .../create-relation-config.component.html | 22 +- .../create-relation-config.component.ts | 18 +- .../delete-attributes-config.component.html | 24 +- .../delete-relation-config.component.html | 8 +- .../delete-relation-config.component.ts | 18 +- .../device-profile-config.component.html | 10 +- .../action/device-state-config.component.html | 2 +- .../action/generator-config.component.html | 26 +- .../action/generator-config.component.ts | 8 +- .../gps-geo-action-config.component.html | 76 +- .../rule-node/action/log-config.component.ts | 4 +- .../math-function-config.component.html | 32 +- .../action/msg-count-config.component.html | 10 +- .../action/msg-delay-config.component.html | 24 +- .../push-to-cloud-config.component.html | 8 +- .../action/push-to-edge-config.component.html | 8 +- .../action/rpc-reply-config.component.html | 10 +- .../action/rpc-request-config.component.html | 6 +- ...save-to-custom-table-config.component.html | 28 +- ...-rest-api-call-reply-config.component.html | 8 +- .../action/timeseries-config.component.html | 16 +- .../unassign-customer-config.component.html | 10 +- .../arguments-map-config.component.html | 24 +- .../common/credentials-config.component.html | 36 +- ...vice-relations-query-config.component.html | 20 +- .../common/example-hint.component.html | 2 +- .../common/kv-map-config-old.component.html | 6 +- .../common/kv-map-config.component.html | 8 +- .../math-function-autocomplete.component.html | 4 +- .../message-types-config.component.html | 10 +- .../common/message-types-config.component.ts | 2 +- ...t-message-type-autocomplete.component.html | 10 +- .../relations-query-config-old.component.html | 4 +- .../relations-query-config.component.html | 14 +- .../common/select-attributes.component.html | 24 +- .../common/sv-map-config.component.html | 6 +- .../calculate-delta-config.component.html | 44 +- .../customer-attributes-config.component.html | 18 +- .../device-attributes-config.component.html | 12 +- .../entity-details-config.component.html | 10 +- ...h-device-credentials-config.component.html | 2 +- ...emetry-from-database-config.component.html | 66 +- ...riginator-attributes-config.component.html | 10 +- .../originator-fields-config.component.html | 20 +- .../related-attributes-config.component.html | 30 +- .../tenant-attributes-config.component.html | 18 +- .../azure-iot-hub-config.component.html | 50 +- .../external/kafka-config.component.html | 58 +- .../external/lambda-config.component.html | 48 +- .../external/mqtt-config.component.html | 44 +- .../external/pubsub-config.component.html | 26 +- .../external/rabbit-mq-config.component.html | 44 +- .../rest-api-call-config.component.html | 66 +- .../external/send-email-config.component.html | 50 +- .../external/send-sms-config.component.html | 14 +- .../external/slack-config.component.html | 12 +- .../external/sns-config.component.html | 18 +- .../external/sqs-config.component.html | 38 +- .../filter/check-alarm-status.component.html | 4 +- .../check-message-config.component.html | 20 +- .../check-relation-config.component.html | 8 +- .../gps-geo-filter-config.component.html | 50 +- .../filter/message-type-config.component.html | 2 +- .../originator-type-config.component.html | 8 +- .../filter/script-config.component.ts | 4 +- .../filter/switch-config.component.ts | 4 +- .../flow/rule-chain-input.component.html | 4 +- .../flow/rule-chain-output.component.html | 2 +- .../rule-node/rule-node-config.models.ts | 188 +-- .../change-originator-config.component.html | 8 +- .../copy-keys-config.component.html | 10 +- .../deduplication-config.component.html | 38 +- .../delete-keys-config.component.html | 10 +- .../node-json-path-config.component.html | 6 +- .../rename-keys-config.component.html | 14 +- .../transformation/script-config.component.ts | 4 +- .../to-email-config.component.html | 40 +- .../to-email-config.component.ts | 12 +- .../assets/locale/locale.constant-en_US.json | 1463 +++++++++-------- 85 files changed, 1615 insertions(+), 1608 deletions(-) diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/assign-customer-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/assign-customer-config.component.html index 486764f936..4ec27d83e7 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/assign-customer-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/assign-customer-config.component.html @@ -18,17 +18,17 @@
- tb.rulenode.customer-name-pattern + rule-node-config.customer-name-pattern - {{ 'tb.rulenode.customer-name-pattern-required' | translate }} + {{ 'rule-node-config.customer-name-pattern-required' | translate }} - tb.rulenode.customer-name-pattern-hint + rule-node-config.customer-name-pattern-hint
- {{ 'tb.rulenode.create-customer-if-not-exists' | translate }} + {{ 'rule-node-config.create-customer-if-not-exists' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/attributes-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/attributes-config.component.html index 80633ca0d3..258f856e91 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/attributes-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/attributes-config.component.html @@ -17,11 +17,11 @@ -->
- +
- {{ 'tb.rulenode.attributes-scope' | translate }} + {{ 'rule-node-config.attributes-scope' | translate }} @@ -30,7 +30,7 @@ - {{ 'tb.rulenode.attributes-scope-value' | translate }} + {{ 'rule-node-config.attributes-scope-value' | translate }}
- tb.rulenode.alarm-type + rule-node-config.alarm-type - {{ 'tb.rulenode.alarm-type-required' | translate }} + {{ 'rule-node-config.alarm-type-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/clear-alarm-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/action/clear-alarm-config.component.ts index f132d737eb..cf96982621 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/clear-alarm-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/clear-alarm-config.component.ts @@ -47,7 +47,7 @@ export class ClearAlarmConfigComponent extends RuleNodeConfigurationComponent { readonly hasScript = true; - readonly testScriptLabel = 'tb.rulenode.test-details-function'; + readonly testScriptLabel = 'rule-node-config.test-details-function'; constructor(protected store: Store, private fb: UntypedFormBuilder, @@ -103,7 +103,7 @@ export class ClearAlarmConfigComponent extends RuleNodeConfigurationComponent { this.nodeScriptTestService.testNodeScript( script, 'json', - this.translate.instant('tb.rulenode.details'), + this.translate.instant('rule-node-config.details'), 'Details', ['msg', 'metadata', 'msgType'], this.ruleNodeId, diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.html index 9b1efd0f1a..9ec4238081 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.html @@ -17,10 +17,10 @@ -->
- {{ 'tb.rulenode.use-message-alarm-data' | translate }} + {{ 'rule-node-config.use-message-alarm-data' | translate }} - {{ 'tb.rulenode.overwrite-alarm-details' | translate }} + {{ 'rule-node-config.overwrite-alarm-details' | translate }}
@@ -67,41 +67,41 @@
- tb.rulenode.alarm-type + rule-node-config.alarm-type - {{ 'tb.rulenode.alarm-type-required' | translate }} + {{ 'rule-node-config.alarm-type-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - {{ 'tb.rulenode.use-alarm-severity-pattern' | translate }} + {{ 'rule-node-config.use-alarm-severity-pattern' | translate }} - tb.rulenode.alarm-severity + rule-node-config.alarm-severity {{ alarmSeverityTranslationMap.get(severity) | translate }} - {{ 'tb.rulenode.alarm-severity-required' | translate }} + {{ 'rule-node-config.alarm-severity-required' | translate }} - tb.rulenode.alarm-severity-pattern + rule-node-config.alarm-severity-pattern - {{ 'tb.rulenode.alarm-severity-required' | translate }} + {{ 'rule-node-config.alarm-severity-required' | translate }} - + - {{ 'tb.rulenode.propagate' | translate }} + {{ 'rule-node-config.propagate' | translate }}
- tb.rulenode.relation-types-list + rule-node-config.relation-types-list close - - tb.rulenode.relation-types-list-hint + rule-node-config.relation-types-list-hint
- {{ 'tb.rulenode.propagate-to-owner' | translate }} + {{ 'rule-node-config.propagate-to-owner' | translate }} - {{ 'tb.rulenode.propagate-to-tenant' | translate }} + {{ 'rule-node-config.propagate-to-tenant' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.ts index b5639f15ac..a68eedfbfc 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/create-alarm-config.component.ts @@ -54,7 +54,7 @@ export class CreateAlarmConfigComponent extends RuleNodeConfigurationComponent { readonly hasScript = true; - readonly testScriptLabel = 'tb.rulenode.test-details-function'; + readonly testScriptLabel = 'rule-node-config.test-details-function'; constructor(protected store: Store, private fb: UntypedFormBuilder, @@ -143,7 +143,7 @@ export class CreateAlarmConfigComponent extends RuleNodeConfigurationComponent { this.nodeScriptTestService.testNodeScript( script, 'json', - this.translate.instant('tb.rulenode.details'), + this.translate.instant('rule-node-config.details'), 'Details', ['msg', 'metadata', 'msgType'], this.ruleNodeId, diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.html index abbdb99f53..362bb4d9b6 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.html @@ -17,7 +17,7 @@ -->
-
tb.rulenode.relation-parameters
+
rule-node-config.relation-parameters
relation.direction @@ -35,7 +35,7 @@
-
tb.rulenode.target-entity
+
rule-node-config.target-entity
- tb.rulenode.profile-name + rule-node-config.profile-name
- -
- {{ 'tb.rulenode.create-entity-if-not-exists' | translate }} + {{ 'rule-node-config.create-entity-if-not-exists' | translate }}
- tb.rulenode.advanced-settings + rule-node-config.advanced-settings
-
- {{ 'tb.rulenode.remove-current-relations' | translate }} + {{ 'rule-node-config.remove-current-relations' | translate }}
-
- {{ 'tb.rulenode.change-originator-to-related-entity' | translate }} + {{ 'rule-node-config.change-originator-to-related-entity' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.ts index 53c8da3bd6..b48a530b57 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/create-relation-config.component.ts @@ -30,8 +30,8 @@ export class CreateRelationConfigComponent extends RuleNodeConfigurationComponen directionTypes = Object.keys(EntitySearchDirection); directionTypeTranslations = new Map( [ - [EntitySearchDirection.FROM, 'tb.rulenode.search-direction-from'], - [EntitySearchDirection.TO, 'tb.rulenode.search-direction-to'], + [EntitySearchDirection.FROM, 'rule-node-config.search-direction-from'], + [EntitySearchDirection.TO, 'rule-node-config.search-direction-to'], ] ); @@ -39,13 +39,13 @@ export class CreateRelationConfigComponent extends RuleNodeConfigurationComponen entityTypeNamePatternTranslation = new Map( [ - [EntityType.DEVICE, 'tb.rulenode.device-name-pattern'], - [EntityType.ASSET, 'tb.rulenode.asset-name-pattern'], - [EntityType.ENTITY_VIEW, 'tb.rulenode.entity-view-name-pattern'], - [EntityType.CUSTOMER, 'tb.rulenode.customer-title-pattern'], - [EntityType.USER, 'tb.rulenode.user-name-pattern'], - [EntityType.DASHBOARD, 'tb.rulenode.dashboard-name-pattern'], - [EntityType.EDGE, 'tb.rulenode.edge-name-pattern'] + [EntityType.DEVICE, 'rule-node-config.device-name-pattern'], + [EntityType.ASSET, 'rule-node-config.asset-name-pattern'], + [EntityType.ENTITY_VIEW, 'rule-node-config.entity-view-name-pattern'], + [EntityType.CUSTOMER, 'rule-node-config.customer-title-pattern'], + [EntityType.USER, 'rule-node-config.user-name-pattern'], + [EntityType.DASHBOARD, 'rule-node-config.dashboard-name-pattern'], + [EntityType.EDGE, 'rule-node-config.edge-name-pattern'] ] ); diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/delete-attributes-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/delete-attributes-config.component.html index 7050cae88a..0f62bec757 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/delete-attributes-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/delete-attributes-config.component.html @@ -17,11 +17,11 @@ -->
- +
- {{ 'tb.rulenode.attributes-scope' | translate }} + {{ 'rule-node-config.attributes-scope' | translate }} @@ -30,7 +30,7 @@ - {{ 'tb.rulenode.attributes-scope-value' | translate }} + {{ 'rule-node-config.attributes-scope-value' | translate }}
- {{ 'tb.rulenode.attributes-keys' | translate }} + {{ 'rule-node-config.attributes-keys' | translate }} - {{ 'tb.rulenode.attributes-keys-required' | translate }} - tb.rulenode.general-pattern-hint + {{ 'rule-node-config.attributes-keys-required' | translate }} + rule-node-config.general-pattern-hint
- tb.rulenode.advanced-settings + rule-node-config.advanced-settings -
- {{ 'tb.rulenode.send-attributes-deleted-notification' | translate }} + {{ 'rule-node-config.send-attributes-deleted-notification' | translate }}
-
- {{ 'tb.rulenode.notify-device' | translate }} + {{ 'rule-node-config.notify-device' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.html index bfd091dc57..3270f95a53 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.html @@ -17,7 +17,7 @@ -->
-
tb.rulenode.relation-parameters
+
rule-node-config.relation-parameters
relation.direction @@ -34,10 +34,10 @@
-
- {{ 'tb.rulenode.delete-relation-with-specific-entity' | translate }} + {{ 'rule-node-config.delete-relation-with-specific-entity' | translate }}
@@ -56,7 +56,7 @@
+ [hintText]="'rule-node-config.kv-map-single-pattern-hint'">
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.ts index a59793f767..34337f95ad 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/delete-relation-config.component.ts @@ -31,20 +31,20 @@ export class DeleteRelationConfigComponent extends RuleNodeConfigurationComponen directionTypeTranslations = new Map( [ - [EntitySearchDirection.FROM, 'tb.rulenode.del-relation-direction-from'], - [EntitySearchDirection.TO, 'tb.rulenode.del-relation-direction-to'], + [EntitySearchDirection.FROM, 'rule-node-config.del-relation-direction-from'], + [EntitySearchDirection.TO, 'rule-node-config.del-relation-direction-to'], ] ); entityTypeNamePatternTranslation = new Map( [ - [EntityType.DEVICE, 'tb.rulenode.device-name-pattern'], - [EntityType.ASSET, 'tb.rulenode.asset-name-pattern'], - [EntityType.ENTITY_VIEW, 'tb.rulenode.entity-view-name-pattern'], - [EntityType.CUSTOMER, 'tb.rulenode.customer-title-pattern'], - [EntityType.USER, 'tb.rulenode.user-name-pattern'], - [EntityType.DASHBOARD, 'tb.rulenode.dashboard-name-pattern'], - [EntityType.EDGE, 'tb.rulenode.edge-name-pattern'] + [EntityType.DEVICE, 'rule-node-config.device-name-pattern'], + [EntityType.ASSET, 'rule-node-config.asset-name-pattern'], + [EntityType.ENTITY_VIEW, 'rule-node-config.entity-view-name-pattern'], + [EntityType.CUSTOMER, 'rule-node-config.customer-title-pattern'], + [EntityType.USER, 'rule-node-config.user-name-pattern'], + [EntityType.DASHBOARD, 'rule-node-config.dashboard-name-pattern'], + [EntityType.EDGE, 'rule-node-config.edge-name-pattern'] ] ); diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/device-profile-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/device-profile-config.component.html index bb897c6a2d..74594f1400 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/device-profile-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/device-profile-config.component.html @@ -16,17 +16,17 @@ -->
-
tb.rulenode.device-profile-node-hint
-
rule-node-config.device-profile-node-hint
+
- {{ 'tb.rulenode.persist-alarm-rules' | translate }} + {{ 'rule-node-config.persist-alarm-rules' | translate }}
-
- {{ 'tb.rulenode.fetch-alarm-rules' | translate }} + {{ 'rule-node-config.fetch-alarm-rules' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/device-state-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/device-state-config.component.html index cae70173ff..812c5e9aed 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/device-state-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/device-state-config.component.html @@ -17,7 +17,7 @@ -->
- {{ 'tb.rulenode.select-device-connectivity-event' | translate }} + {{ 'rule-node-config.select-device-connectivity-event' | translate }} {{ messageTypeNames.get(eventOption) }} diff --git a/ui-ngx/src/app/modules/home/components/rule-node/action/generator-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/action/generator-config.component.html index a3ef3821bd..cdddbf60da 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/action/generator-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/action/generator-config.component.html @@ -17,33 +17,33 @@ -->
-
tb.rulenode.generation-parameters
+
rule-node-config.generation-parameters
- tb.rulenode.message-count + rule-node-config.message-count - {{ 'tb.rulenode.message-count-required' | translate }} + {{ 'rule-node-config.message-count-required' | translate }} - {{ 'tb.rulenode.min-message-count-message' | translate }} + {{ 'rule-node-config.min-message-count-message' | translate }} - tb.rulenode.generation-frequency-seconds + rule-node-config.generation-frequency-seconds - {{ 'tb.rulenode.generation-frequency-required' | translate }} + {{ 'rule-node-config.generation-frequency-required' | translate }} - {{ 'tb.rulenode.min-generation-frequency-message' | translate }} + {{ 'rule-node-config.min-generation-frequency-message' | translate }}
-
tb.rulenode.originator
+
rule-node-config.originator
- tb.rulenode.generator-function + rule-node-config.generator-function - {{ 'tb.rulenode.script-lang-tbel' | translate }} + {{ 'rule-node-config.script-lang-tbel' | translate }} - {{ 'tb.rulenode.script-lang-js' | translate }} + {{ 'rule-node-config.script-lang-js' | translate }}
tb.rulenode.no-arguments-prompt + class="tb-prompt flex items-center justify-center">rule-node-config.no-arguments-prompt
-
@@ -55,12 +55,12 @@ help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.device-profile' | translate } }}">help
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/example-hint.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/example-hint.component.html index b10c9f16b8..238fdce6af 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/example-hint.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/example-hint.component.html @@ -24,6 +24,6 @@ tb-help-popup-placement="right" trigger-style="letter-spacing:0.25px; font-size:12px" [tb-help-popup-style]="{maxWidth: '820px'}" - trigger-text="{{ 'tb.key-val.see-examples' | translate }}"> + trigger-text="{{ 'rule-node-config.key-val.see-examples' | translate }}"> diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/kv-map-config-old.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/kv-map-config-old.component.html index 761b9c9491..6678008fd0 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/kv-map-config-old.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/kv-map-config-old.component.html @@ -44,7 +44,7 @@ type="button" (click)="removeKeyVal($index)" [disabled]="isLoading$ | async" - matTooltip="{{ 'tb.key-val.remove-entry' | translate }}" + matTooltip="{{ 'rule-node-config.key-val.remove-entry' | translate }}" matTooltipPosition="above"> close @@ -53,7 +53,7 @@
- tb.rulenode.map-fields-required + rule-node-config.map-fields-required
- {{ 'tb.key-val.unique-key-value-pair-error' | translate: + {{ 'rule-node-config.key-val.unique-key-value-pair-error' | translate: { valText: valText, keyText: keyText @@ -54,7 +54,7 @@ mat-icon-button (click)="removeKeyVal($index)" [disabled]="disabled" - matTooltip="{{ 'tb.key-val.remove-mapping-entry' | translate }}" + matTooltip="{{ 'rule-node-config.key-val.remove-mapping-entry' | translate }}" matTooltipPosition="above"> delete @@ -65,7 +65,7 @@
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/math-function-autocomplete.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/math-function-autocomplete.component.html index 6a2bf514ad..eb122fe028 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/math-function-autocomplete.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/math-function-autocomplete.component.html @@ -16,7 +16,7 @@ --> - tb.rulenode.functions-field-input + rule-node-config.functions-field-input - tb.rulenode.no-option-found + rule-node-config.no-option-found diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.html index df52912735..174933847e 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.html @@ -47,25 +47,25 @@
- tb.rulenode.no-message-types-found + rule-node-config.no-message-types-found
- {{ 'tb.rulenode.no-message-type-matching' | translate : + {{ 'rule-node-config.no-message-type-matching' | translate : {messageType: truncate.transform(searchText, true, 6, '...')} }} - tb.rulenode.create-new-message-type + rule-node-config.create-new-message-type
help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.message-type' | translate } }}">help - {{ 'tb.rulenode.select-message-types-required' | translate }} + {{ 'rule-node-config.select-message-types-required' | translate }} diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.ts index 278819cb80..686c6150aa 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/message-types-config.component.ts @@ -56,7 +56,7 @@ export class MessageTypesConfigComponent extends PageComponent implements Contro label: string; @Input() - placeholder = 'tb.rulenode.add-message-type'; + placeholder = 'rule-node-config.add-message-type'; @Input() disabled: boolean; diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/output-message-type-autocomplete.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/output-message-type-autocomplete.component.html index 832c633d5d..83e2547286 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/output-message-type-autocomplete.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/output-message-type-autocomplete.component.html @@ -17,7 +17,7 @@ -->
- {{'tb.rulenode.output-message-type' | translate}} + {{'rule-node-config.output-message-type' | translate}} {{msgType.name}} @@ -25,7 +25,7 @@ - {{'tb.rulenode.message-type-value' | translate}} + {{'rule-node-config.message-type-value' | translate}} - {{ 'tb.rulenode.message-type-value-required' | translate }} + {{ 'rule-node-config.message-type-value-required' | translate }} - {{ 'tb.rulenode.message-type-value-max-length' | translate }} + {{ 'rule-node-config.message-type-value-max-length' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config-old.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config-old.component.html index d60e993e88..6fb7a86005 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config-old.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config-old.component.html @@ -29,12 +29,12 @@ - tb.rulenode.max-relation-level + rule-node-config.max-relation-level diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config.component.html index 748076957d..01afac76b6 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/relations-query-config.component.html @@ -16,35 +16,35 @@ -->
-
tb.rulenode.relations-query
+
rule-node-config.relations-query
relation.direction - {{ directionTypeTranslations.get(type) | translate }} tb.rulenode.relations-query-config-direction-suffix + {{ directionTypeTranslations.get(type) | translate }} rule-node-config.relations-query-config-direction-suffix - tb.rulenode.max-relation-level + rule-node-config.max-relation-level - {{ 'tb.rulenode.max-relation-level-error' | translate }} + {{ 'rule-node-config.max-relation-level-error' | translate }} - {{ 'tb.rulenode.max-relation-level-invalid' | translate }} + {{ 'rule-node-config.max-relation-level-invalid' | translate }}
-
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/select-attributes.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/select-attributes.component.html index 06d63535e9..08de169272 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/select-attributes.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/select-attributes.component.html @@ -16,38 +16,38 @@ -->
- + [placeholder]="'rule-node-config.add-attribute-key' | translate" + [label]="'rule-node-config.client-attributes' | translate" formControlName="clientAttributeNames"> + [placeholder]="'rule-node-config.add-attribute-key' | translate" + [label]="'rule-node-config.shared-attributes' | translate" formControlName="sharedAttributeNames"> + [placeholder]="'rule-node-config.add-attribute-key' | translate" + [label]="'rule-node-config.server-attributes' | translate" formControlName="serverAttributeNames"> + [placeholder]="'rule-node-config.add-telemetry-key' | translate" + [label]="'rule-node-config.latest-telemetry' | translate" formControlName="latestTsKeyNames"> -
- {{ 'tb.rulenode.fetch-latest-telemetry-with-timestamp' | translate }} + {{ 'rule-node-config.fetch-latest-telemetry-with-timestamp' | translate }}
@@ -55,5 +55,5 @@ help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.field-name' | translate } }}">help diff --git a/ui-ngx/src/app/modules/home/components/rule-node/common/sv-map-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/common/sv-map-config.component.html index 6deeb54f67..21ed014ec3 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/common/sv-map-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/common/sv-map-config.component.html @@ -19,7 +19,7 @@
{{ labelText }}
- tb.rulenode.map-fields-required + rule-node-config.map-fields-required
{{ requiredText }} @@ -51,7 +51,7 @@ mat-icon-button (click)="removeKeyVal($index)" [disabled]="isLoading$ | async" - matTooltip="{{ 'tb.key-val.remove-mapping-entry' | translate }}" + matTooltip="{{ 'rule-node-config.key-val.remove-mapping-entry' | translate }}" matTooltipPosition="above"> delete @@ -63,7 +63,7 @@
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/calculate-delta-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/calculate-delta-config.component.html index b727008bb3..6d9924f4f8 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/calculate-delta-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/calculate-delta-config.component.html @@ -18,74 +18,74 @@
- {{ 'tb.rulenode.input-value-key' | translate }} + {{ 'rule-node-config.input-value-key' | translate }} - {{ 'tb.rulenode.input-value-key-required' | translate }} + {{ 'rule-node-config.input-value-key-required' | translate }} - {{ 'tb.rulenode.output-value-key' | translate }} + {{ 'rule-node-config.output-value-key' | translate }} - {{ 'tb.rulenode.output-value-key-required' | translate }} + {{ 'rule-node-config.output-value-key-required' | translate }}
- {{ 'tb.rulenode.number-of-digits-after-floating-point' | translate }} + {{ 'rule-node-config.number-of-digits-after-floating-point' | translate }} - {{ 'tb.rulenode.number-of-digits-after-floating-point-range' | translate }} + {{ 'rule-node-config.number-of-digits-after-floating-point-range' | translate }} - {{ 'tb.rulenode.number-of-digits-after-floating-point-range' | translate }} + {{ 'rule-node-config.number-of-digits-after-floating-point-range' | translate }}
-
- {{ 'tb.rulenode.failure-if-delta-negative' | translate }} + {{ 'rule-node-config.failure-if-delta-negative' | translate }}
-
- {{ 'tb.rulenode.use-caching' | translate }} + {{ 'rule-node-config.use-caching' | translate }}
-
- {{ 'tb.rulenode.add-time-difference-between-readings' | translate: + {{ 'rule-node-config.add-time-difference-between-readings' | translate: { inputValueKey: calculateDeltaConfigForm.get('inputValueKey').valid ? - calculateDeltaConfigForm.get('inputValueKey').value : 'tb.rulenode.input-value-key' | translate } }} + calculateDeltaConfigForm.get('inputValueKey').value : 'rule-node-config.input-value-key' | translate } }}
- {{ 'tb.rulenode.period-value-key' | translate }} + {{ 'rule-node-config.period-value-key' | translate }} - {{ 'tb.rulenode.period-value-key-required' | translate }} + {{ 'rule-node-config.period-value-key-required' | translate }}
-
- {{ 'tb.rulenode.exclude-zero-deltas' | translate }} + {{ 'rule-node-config.exclude-zero-deltas' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/customer-attributes-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/customer-attributes-config.component.html index 182d580eec..20377be84b 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/customer-attributes-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/customer-attributes-config.component.html @@ -16,7 +16,7 @@ -->
-
tb.rulenode.mapping-of-customers
+
rule-node-config.mapping-of-customers
@@ -29,18 +29,18 @@
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/device-attributes-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/device-attributes-config.component.html index c17edb1e92..f2c33cf0b5 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/device-attributes-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/device-attributes-config.component.html @@ -17,7 +17,7 @@ -->
-
tb.rulenode.device-relations-query
+
rule-node-config.device-relations-query
@@ -25,22 +25,22 @@
-
tb.rulenode.related-device-attributes
+
rule-node-config.related-device-attributes
- tb.rulenode.at-least-one-field-required + rule-node-config.at-least-one-field-required
+ [labelText]="'rule-node-config.add-selected-attributes-to' | translate">
-
- {{ 'tb.rulenode.tell-failure' | translate }} + {{ 'rule-node-config.tell-failure' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/entity-details-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/entity-details-config.component.html index 1065aa6a09..07fc97a716 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/entity-details-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/entity-details-config.component.html @@ -18,18 +18,18 @@
+ matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.detail' | translate } }}"> help
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/fetch-device-credentials-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/fetch-device-credentials-config.component.html index a76d3341d7..aa210dfcc1 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/fetch-device-credentials-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/fetch-device-credentials-config.component.html @@ -17,7 +17,7 @@ -->
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/get-telemetry-from-database-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/get-telemetry-from-database-config.component.html index 9b656096f8..6dafe65457 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/get-telemetry-from-database-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/get-telemetry-from-database-config.component.html @@ -16,47 +16,47 @@ -->
- + [requiredText]="'rule-node-config.timeseries-keys-required' | translate" + [label]="'rule-node-config.timeseries-keys' | translate" formControlName="latestTsKeyNames" + [hint]="'rule-node-config.general-pattern-hint' | translate">
+ trigger-text="{{ 'rule-node-config.key-val.see-examples' | translate }}">
help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.timeseries-key' | translate } }}">help
-
tb.rulenode.fetch-interval
-
rule-node-config.fetch-interval
+
- {{ 'tb.rulenode.use-metadata-dynamic-interval' | translate }} + {{ 'rule-node-config.use-metadata-dynamic-interval' | translate }}
- {{ 'tb.rulenode.interval-start' | translate }} + {{ 'rule-node-config.interval-start' | translate }} - {{ 'tb.rulenode.start-interval-value-required' | translate }} + {{ 'rule-node-config.start-interval-value-required' | translate }} - {{ 'tb.rulenode.time-value-range' | translate }} + {{ 'rule-node-config.time-value-range' | translate }} - {{ 'tb.rulenode.time-value-range' | translate }} + {{ 'rule-node-config.time-value-range' | translate }} - {{ 'tb.rulenode.time-unit' | translate }} + {{ 'rule-node-config.time-unit' | translate }} {{ timeUnitsTranslationMap.get(timeUnit) | translate }} @@ -66,20 +66,20 @@
- {{ 'tb.rulenode.interval-end' | translate }} + {{ 'rule-node-config.interval-end' | translate }} - {{ 'tb.rulenode.end-interval-value-required' | translate }} + {{ 'rule-node-config.end-interval-value-required' | translate }} - {{ 'tb.rulenode.time-value-range' | translate }} + {{ 'rule-node-config.time-value-range' | translate }} - {{ 'tb.rulenode.time-value-range' | translate }} + {{ 'rule-node-config.time-value-range' | translate }} - {{ 'tb.rulenode.time-unit' | translate }} + {{ 'rule-node-config.time-unit' | translate }} {{ timeUnitsTranslationMap.get(timeUnit) | translate }} @@ -91,7 +91,7 @@ error_outline
- {{ 'tb.rulenode.fetch-timeseries-from-to' | translate: + {{ 'rule-node-config.fetch-timeseries-from-to' | translate: { startInterval: getTelemetryFromDatabaseConfigForm.get('interval.startInterval').value, endInterval: getTelemetryFromDatabaseConfigForm.get('interval.endInterval').value, @@ -100,7 +100,7 @@ } }} - {{ "tb.rulenode.fetch-timeseries-from-to-invalid" | translate }} + {{ "rule-node-config.fetch-timeseries-from-to-invalid" | translate }}
@@ -108,29 +108,29 @@
- {{ 'tb.rulenode.start-interval' | translate }} + {{ 'rule-node-config.start-interval' | translate }} - {{ 'tb.rulenode.start-interval-required' | translate }} + {{ 'rule-node-config.start-interval-required' | translate }} - {{ 'tb.rulenode.end-interval' | translate }} + {{ 'rule-node-config.end-interval' | translate }} - {{ 'tb.rulenode.end-interval-required' | translate }} + {{ 'rule-node-config.end-interval-required' | translate }} -
-
tb.rulenode.fetch-strategy
+
rule-node-config.fetch-strategy
@@ -155,7 +155,7 @@
- {{ "tb.rulenode.order-by-timestamp" | translate }} + {{ "rule-node-config.order-by-timestamp" | translate }} {{ samplingOrdersTranslate.get(order) | translate }} @@ -163,17 +163,17 @@ - {{ "tb.rulenode.limit" | translate }} + {{ "rule-node-config.limit" | translate }} - {{ "tb.rulenode.limit-hint" | translate }} + {{ "rule-node-config.limit-hint" | translate }} - {{ 'tb.rulenode.limit-required' | translate }} + {{ 'rule-node-config.limit-required' | translate }} - {{ 'tb.rulenode.limit-range' | translate }} + {{ 'rule-node-config.limit-range' | translate }} - {{ 'tb.rulenode.limit-range' | translate }} + {{ 'rule-node-config.limit-range' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-attributes-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-attributes-config.component.html index caf7c63d11..6c767c3664 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-attributes-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-attributes-config.component.html @@ -18,23 +18,23 @@
-
tb.rulenode.originator-attributes
+
rule-node-config.originator-attributes
- tb.rulenode.at-least-one-field-required + rule-node-config.at-least-one-field-required
-
-
+
- {{ 'tb.rulenode.tell-failure' | translate }} + {{ 'rule-node-config.tell-failure' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-fields-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-fields-config.component.html index 6ec066f230..4f5ed6cf13 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-fields-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/originator-fields-config.component.html @@ -21,21 +21,21 @@ [selectOptions]="originatorFields" targetKeyPrefix="originator" formControlName="dataMapping" - [requiredText]="'tb.rulenode.attr-mapping-required' | translate" - [labelText]="'tb.rulenode.originator-fields-mapping' | translate" - [selectText]="'tb.rulenode.source-field' | translate" - [selectRequiredText]="'tb.rulenode.source-field-required' | translate" - [valText]="'tb.rulenode.target-key' | translate" - [valRequiredText]="'tb.rulenode.target-key-required' | translate" - [hintText]="'tb.rulenode.originator-fields-sv-map-hint' | translate" + [requiredText]="'rule-node-config.attr-mapping-required' | translate" + [labelText]="'rule-node-config.originator-fields-mapping' | translate" + [selectText]="'rule-node-config.source-field' | translate" + [selectRequiredText]="'rule-node-config.source-field-required' | translate" + [valText]="'rule-node-config.target-key' | translate" + [valRequiredText]="'rule-node-config.target-key-required' | translate" + [hintText]="'rule-node-config.originator-fields-sv-map-hint' | translate" popupHelpLink="rulenode/originator_fields_node_fields_templatization"> - -
+
- {{ 'tb.rulenode.skip-empty-fields' | translate }} + {{ 'rule-node-config.skip-empty-fields' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/related-attributes-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/related-attributes-config.component.html index a7d9f74e1d..677ffb52eb 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/enrichment/related-attributes-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/enrichment/related-attributes-config.component.html @@ -21,7 +21,7 @@ formControlName="relationsQuery">
-
tb.rulenode.data-to-fetch
+
rule-node-config.data-to-fetch
{{ data.name }} @@ -31,28 +31,28 @@ [hidden]="relatedAttributesConfigForm.get('dataToFetch').value === DataToFetch.FIELDS" required formControlName="kvMap" - [requiredText]="'tb.rulenode.attr-mapping-required' | translate" - [labelText]="selectTranslation('tb.rulenode.latest-telemetry-mapping','tb.rulenode.attributes-mapping') | translate" - [keyText]="selectTranslation('tb.rulenode.source-telemetry','tb.rulenode.source-attribute') | translate" - [keyRequiredText]="selectTranslation('tb.rulenode.source-telemetry-required','tb.rulenode.source-attribute-required') | translate" - [valText]="'tb.rulenode.target-key' | translate" - [valRequiredText]="'tb.rulenode.target-key-required' | translate" - [hintText]="'tb.rulenode.kv-map-pattern-hint'" + [requiredText]="'rule-node-config.attr-mapping-required' | translate" + [labelText]="selectTranslation('rule-node-config.latest-telemetry-mapping','rule-node-config.attributes-mapping') | translate" + [keyText]="selectTranslation('rule-node-config.source-telemetry','rule-node-config.source-attribute') | translate" + [keyRequiredText]="selectTranslation('rule-node-config.source-telemetry-required','rule-node-config.source-attribute-required') | translate" + [valText]="'rule-node-config.target-key' | translate" + [valRequiredText]="'rule-node-config.target-key-required' | translate" + [hintText]="'rule-node-config.kv-map-pattern-hint'" popupHelpLink="rulenode/related_entity_data_node_fields_templatization">
-
tb.rulenode.mapping-of-tenant
+
rule-node-config.mapping-of-tenant
@@ -29,17 +29,17 @@ + ('rule-node-config.add-mapped-latest-telemetry-to' | translate) : ('rule-node-config.add-mapped-attribute-to' | translate)">
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/azure-iot-hub-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/azure-iot-hub-config.component.html index 44fe7d2ebd..59dcb40fec 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/azure-iot-hub-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/azure-iot-hub-config.component.html @@ -17,45 +17,45 @@ -->
- tb.rulenode.topic + rule-node-config.topic - {{ 'tb.rulenode.topic-required' | translate }} + {{ 'rule-node-config.topic-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - tb.rulenode.hostname + rule-node-config.hostname - {{ 'tb.rulenode.hostname-required' | translate }} + {{ 'rule-node-config.hostname-required' | translate }} - tb.rulenode.device-id + rule-node-config.device-id - {{ 'tb.rulenode.device-id-required' | translate }} + {{ 'rule-node-config.device-id-required' | translate }} - tb.rulenode.credentials + rule-node-config.credentials {{ azureIotHubCredentialsTypeTranslationsMap.get(azureIotHubConfigForm.get('credentials.type').value) | translate }}
- tb.rulenode.credentials-type + rule-node-config.credentials-type {{ azureIotHubCredentialsTypeTranslationsMap.get(credentialsType) | translate }} - {{ 'tb.rulenode.credentials-type-required' | translate }} + {{ 'rule-node-config.credentials-type-required' | translate }}
@@ -63,20 +63,20 @@ - tb.rulenode.sas-key + rule-node-config.sas-key - {{ 'tb.rulenode.sas-key-required' | translate }} + {{ 'rule-node-config.sas-key-required' | translate }} + label="{{'rule-node-config.azure-ca-cert' | translate}}" + noFileText="rule-node-config.no-file" + dropLabel="{{'rule-node-config.drop-file' | translate}}"> @@ -84,9 +84,9 @@ inputId="caCertSelect" [existingFileName]="azureIotHubConfigForm.get('credentials.caCertFileName').value" (fileNameChanged)="azureIotHubConfigForm.get('credentials.caCertFileName').setValue($event)" - label="{{'tb.rulenode.azure-ca-cert' | translate}}" - noFileText="tb.rulenode.no-file" - dropLabel="{{'tb.rulenode.drop-file' | translate}}"> + label="{{'rule-node-config.azure-ca-cert' | translate}}" + noFileText="rule-node-config.no-file" + dropLabel="{{'rule-node-config.drop-file' | translate}}"> + label="{{'rule-node-config.cert' | translate}}" + noFileText="rule-node-config.no-file" + dropLabel="{{'rule-node-config.drop-file' | translate}}"> + label="{{'rule-node-config.private-key' | translate}}" + noFileText="rule-node-config.no-file" + dropLabel="{{'rule-node-config.drop-file' | translate}}"> - tb.rulenode.private-key-password + rule-node-config.private-key-password diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/kafka-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/kafka-config.component.html index 6bb1438a00..f23bbd353c 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/kafka-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/kafka-config.component.html @@ -17,56 +17,56 @@ -->
- tb.rulenode.topic-pattern + rule-node-config.topic-pattern - {{ 'tb.rulenode.topic-pattern-required' | translate }} + {{ 'rule-node-config.topic-pattern-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - tb.rulenode.key-pattern + rule-node-config.key-pattern - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint -
tb.rulenode.key-pattern-hint
+
rule-node-config.key-pattern-hint
- tb.rulenode.bootstrap-servers + rule-node-config.bootstrap-servers - {{ 'tb.rulenode.bootstrap-servers-required' | translate }} + {{ 'rule-node-config.bootstrap-servers-required' | translate }} - tb.rulenode.retries + rule-node-config.retries - {{ 'tb.rulenode.min-retries-message' | translate }} + {{ 'rule-node-config.min-retries-message' | translate }} - tb.rulenode.batch-size-bytes + rule-node-config.batch-size-bytes - {{ 'tb.rulenode.min-batch-size-bytes-message' | translate }} + {{ 'rule-node-config.min-batch-size-bytes-message' | translate }} - tb.rulenode.linger-ms + rule-node-config.linger-ms - {{ 'tb.rulenode.min-linger-ms-message' | translate }} + {{ 'rule-node-config.min-linger-ms-message' | translate }} - tb.rulenode.buffer-memory-bytes + rule-node-config.buffer-memory-bytes - {{ 'tb.rulenode.min-buffer-memory-bytes-message' | translate }} + {{ 'rule-node-config.min-buffer-memory-bytes-message' | translate }} - tb.rulenode.acks + rule-node-config.acks {{ ackValue }} @@ -74,34 +74,34 @@ - tb.rulenode.key-serializer + rule-node-config.key-serializer - {{ 'tb.rulenode.key-serializer-required' | translate }} + {{ 'rule-node-config.key-serializer-required' | translate }} - tb.rulenode.value-serializer + rule-node-config.value-serializer - {{ 'tb.rulenode.value-serializer-required' | translate }} + {{ 'rule-node-config.value-serializer-required' | translate }} - + + keyText="rule-node-config.key" + keyRequiredText="rule-node-config.key-required" + valText="rule-node-config.value" + valRequiredText="rule-node-config.value-required"> - {{ 'tb.rulenode.add-metadata-key-values-as-kafka-headers' | translate }} + {{ 'rule-node-config.add-metadata-key-values-as-kafka-headers' | translate }} -
tb.rulenode.add-metadata-key-values-as-kafka-headers-hint
+
rule-node-config.add-metadata-key-values-as-kafka-headers-hint
- tb.rulenode.charset-encoding + rule-node-config.charset-encoding {{ ToByteStandartCharsetTypeTranslationMap.get(charset) | translate }} diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/lambda-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/lambda-config.component.html index a6907082fc..2ea8fa3957 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/lambda-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/lambda-config.component.html @@ -18,23 +18,23 @@
-
tb.rulenode.function-configuration
+
rule-node-config.function-configuration
-
- {{'tb.rulenode.function-name' | translate}} + {{'rule-node-config.function-name' | translate}} - {{'tb.rulenode.function-name-required' | translate}} + {{'rule-node-config.function-name-required' | translate}} - {{'tb.rulenode.qualifier' | translate}} + {{'rule-node-config.qualifier' | translate}} - tb.rulenode.qualifier-hint + rule-node-config.qualifier-hint
@@ -42,28 +42,28 @@
- tb.rulenode.aws-credentials + rule-node-config.aws-credentials
- tb.rulenode.aws-access-key-id + rule-node-config.aws-access-key-id - {{ 'tb.rulenode.aws-access-key-id-required' | translate }} + {{ 'rule-node-config.aws-access-key-id-required' | translate }} - tb.rulenode.aws-secret-access-key + rule-node-config.aws-secret-access-key - {{ 'tb.rulenode.aws-secret-access-key-required' | translate }} + {{ 'rule-node-config.aws-secret-access-key-required' | translate }} - tb.rulenode.aws-region + rule-node-config.aws-region - {{ 'tb.rulenode.aws-region-required' | translate }} + {{ 'rule-node-config.aws-region-required' | translate }}
@@ -72,41 +72,41 @@
- tb.rulenode.advanced-settings + rule-node-config.advanced-settings
- tb.rulenode.connection-timeout + rule-node-config.connection-timeout - {{ 'tb.rulenode.connection-timeout-required' | translate }} + {{ 'rule-node-config.connection-timeout-required' | translate }} - {{ 'tb.rulenode.connection-timeout-min' | translate }} + {{ 'rule-node-config.connection-timeout-min' | translate }} help + matTooltip="{{ 'rule-node-config.connection-timeout-hint' | translate }}">help - tb.rulenode.request-timeout + rule-node-config.request-timeout - {{ 'tb.rulenode.request-timeout-required' | translate }} + {{ 'rule-node-config.request-timeout-required' | translate }} - {{ 'tb.rulenode.request-timeout-min' | translate }} + {{ 'rule-node-config.request-timeout-min' | translate }} help + matTooltip="{{ 'rule-node-config.request-timeout-hint' | translate }}">help
-
- {{ 'tb.rulenode.tell-failure-aws-lambda' | translate }} + {{ 'rule-node-config.tell-failure-aws-lambda' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/mqtt-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/mqtt-config.component.html index 989a8829b7..a57da12587 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/mqtt-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/mqtt-config.component.html @@ -17,69 +17,69 @@ -->
- tb.rulenode.topic-pattern + rule-node-config.topic-pattern - {{ 'tb.rulenode.topic-pattern-required' | translate }} + {{ 'rule-node-config.topic-pattern-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint
- tb.rulenode.host + rule-node-config.host - {{ 'tb.rulenode.host-required' | translate }} + {{ 'rule-node-config.host-required' | translate }} - tb.rulenode.port + rule-node-config.port - {{ 'tb.rulenode.port-required' | translate }} + {{ 'rule-node-config.port-required' | translate }} - {{ 'tb.rulenode.port-range' | translate }} + {{ 'rule-node-config.port-range' | translate }} - {{ 'tb.rulenode.port-range' | translate }} + {{ 'rule-node-config.port-range' | translate }} - tb.rulenode.connect-timeout + rule-node-config.connect-timeout - {{ 'tb.rulenode.connect-timeout-required' | translate }} + {{ 'rule-node-config.connect-timeout-required' | translate }} - {{ 'tb.rulenode.connect-timeout-range' | translate }} + {{ 'rule-node-config.connect-timeout-range' | translate }} - {{ 'tb.rulenode.connect-timeout-range' | translate }} + {{ 'rule-node-config.connect-timeout-range' | translate }}
- tb.rulenode.client-id + rule-node-config.client-id - {{'tb.rulenode.client-id-hint' | translate}} + {{'rule-node-config.client-id-hint' | translate}} - {{ 'tb.rulenode.append-client-id-suffix' | translate }} + {{ 'rule-node-config.append-client-id-suffix' | translate }} -
{{ "tb.rulenode.client-id-suffix-hint" | translate }}
+
{{ "rule-node-config.client-id-suffix-hint" | translate }}
- {{ 'tb.rulenode.parse-to-plain-text' | translate }} + {{ 'rule-node-config.parse-to-plain-text' | translate }} -
{{ "tb.rulenode.parse-to-plain-text-hint" | translate }}
+
{{ "rule-node-config.parse-to-plain-text-hint" | translate }}
- {{ 'tb.rulenode.clean-session' | translate }} + {{ 'rule-node-config.clean-session' | translate }} - {{ "tb.rulenode.retained-message" | translate }} + {{ "rule-node-config.retained-message" | translate }} - {{ 'tb.rulenode.enable-ssl' | translate }} + {{ 'rule-node-config.enable-ssl' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/pubsub-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/pubsub-config.component.html index eb5c700400..b3d303765a 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/pubsub-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/pubsub-config.component.html @@ -17,17 +17,17 @@ -->
- tb.rulenode.gcp-project-id + rule-node-config.gcp-project-id - {{ 'tb.rulenode.gcp-project-id-required' | translate }} + {{ 'rule-node-config.gcp-project-id-required' | translate }} - tb.rulenode.pubsub-topic-name + rule-node-config.pubsub-topic-name - {{ 'tb.rulenode.pubsub-topic-name-required' | translate }} + {{ 'rule-node-config.pubsub-topic-name-required' | translate }} + label="{{'rule-node-config.gcp-service-account-key' | translate}}" + noFileText="rule-node-config.no-file" + dropLabel="{{'rule-node-config.drop-file' | translate}}"> - -
+ +
+ keyText="rule-node-config.name" + keyRequiredText="rule-node-config.name-required" + valText="rule-node-config.value" + valRequiredText="rule-node-config.value-required">
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/rabbit-mq-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/rabbit-mq-config.component.html index 0ef6b40877..c04b0be902 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/rabbit-mq-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/rabbit-mq-config.component.html @@ -17,15 +17,15 @@ -->
- tb.rulenode.exchange-name-pattern + rule-node-config.exchange-name-pattern - tb.rulenode.routing-key-pattern + rule-node-config.routing-key-pattern - tb.rulenode.message-properties + rule-node-config.message-properties {{ property }} @@ -34,63 +34,63 @@
- tb.rulenode.host + rule-node-config.host - {{ 'tb.rulenode.host-required' | translate }} + {{ 'rule-node-config.host-required' | translate }} - tb.rulenode.port + rule-node-config.port - {{ 'tb.rulenode.port-required' | translate }} + {{ 'rule-node-config.port-required' | translate }} - {{ 'tb.rulenode.port-range' | translate }} + {{ 'rule-node-config.port-range' | translate }} - {{ 'tb.rulenode.port-range' | translate }} + {{ 'rule-node-config.port-range' | translate }}
- tb.rulenode.virtual-host + rule-node-config.virtual-host - tb.rulenode.username + rule-node-config.username - tb.rulenode.password + rule-node-config.password - {{ 'tb.rulenode.automatic-recovery' | translate }} + {{ 'rule-node-config.automatic-recovery' | translate }} - tb.rulenode.connection-timeout-ms + rule-node-config.connection-timeout-ms - {{ 'tb.rulenode.min-connection-timeout-ms-message' | translate }} + {{ 'rule-node-config.min-connection-timeout-ms-message' | translate }} - tb.rulenode.handshake-timeout-ms + rule-node-config.handshake-timeout-ms - {{ 'tb.rulenode.min-handshake-timeout-ms-message' | translate }} + {{ 'rule-node-config.min-handshake-timeout-ms-message' | translate }} - + + keyText="rule-node-config.key" + keyRequiredText="rule-node-config.key-required" + valText="rule-node-config.value" + valRequiredText="rule-node-config.value-required">
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/rest-api-call-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/rest-api-call-config.component.html index 5dfca5144a..0bae38471f 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/rest-api-call-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/rest-api-call-config.component.html @@ -17,15 +17,15 @@ -->
- tb.rulenode.endpoint-url-pattern + rule-node-config.endpoint-url-pattern - {{ 'tb.rulenode.endpoint-url-pattern-required' | translate }} + {{ 'rule-node-config.endpoint-url-pattern-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - tb.rulenode.request-method + rule-node-config.request-method {{ requestType }} @@ -33,26 +33,26 @@ - {{ 'tb.rulenode.enable-proxy' | translate }} + {{ 'rule-node-config.enable-proxy' | translate }} - {{ 'tb.rulenode.use-simple-client-http-factory' | translate }} + {{ 'rule-node-config.use-simple-client-http-factory' | translate }} - {{ 'tb.rulenode.parse-to-plain-text' | translate }} + {{ 'rule-node-config.parse-to-plain-text' | translate }} -
tb.rulenode.parse-to-plain-text-hint
+
rule-node-config.parse-to-plain-text-hint
- {{ 'tb.rulenode.ignore-request-body' | translate }} + {{ 'rule-node-config.ignore-request-body' | translate }}
- {{ 'tb.rulenode.use-system-proxy-properties' | translate }} + {{ 'rule-node-config.use-system-proxy-properties' | translate }}
- tb.rulenode.proxy-scheme + rule-node-config.proxy-scheme {{ proxyScheme }} @@ -60,71 +60,71 @@ - tb.rulenode.proxy-host + rule-node-config.proxy-host - {{ 'tb.rulenode.proxy-host-required' | translate }} + {{ 'rule-node-config.proxy-host-required' | translate }} - tb.rulenode.proxy-port + rule-node-config.proxy-port - {{ 'tb.rulenode.proxy-port-required' | translate }} + {{ 'rule-node-config.proxy-port-required' | translate }} - {{ 'tb.rulenode.proxy-port-range' | translate }} + {{ 'rule-node-config.proxy-port-range' | translate }}
- tb.rulenode.proxy-user + rule-node-config.proxy-user - tb.rulenode.proxy-password + rule-node-config.proxy-password
- tb.rulenode.read-timeout + rule-node-config.read-timeout - tb.rulenode.read-timeout-hint + rule-node-config.read-timeout-hint - {{ 'tb.rulenode.int-range' | translate }} + {{ 'rule-node-config.int-range' | translate }} - tb.rulenode.max-parallel-requests-count + rule-node-config.max-parallel-requests-count - tb.rulenode.max-parallel-requests-count-hint + rule-node-config.max-parallel-requests-count-hint - {{ 'tb.rulenode.int-range' | translate }} + {{ 'rule-node-config.int-range' | translate }} - tb.rulenode.max-response-size + rule-node-config.max-response-size - tb.rulenode.max-response-size-hint + rule-node-config.max-response-size-hint - {{ 'tb.rulenode.memory-buffer-size-range' | translate: { max: MemoryBufferSizeInKbLimit } }} + {{ 'rule-node-config.memory-buffer-size-range' | translate: { max: MemoryBufferSizeInKbLimit } }} - -
+ +
+ keyText="rule-node-config.header" + keyRequiredText="rule-node-config.header-required" + valText="rule-node-config.value" + valRequiredText="rule-node-config.value-required">
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/send-email-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/send-email-config.component.html index cbc4ec7a4a..f24c20038b 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/send-email-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/send-email-config.component.html @@ -17,11 +17,11 @@ -->
- {{ 'tb.rulenode.use-system-smtp-settings' | translate }} + {{ 'rule-node-config.use-system-smtp-settings' | translate }}
- tb.rulenode.smtp-protocol + rule-node-config.smtp-protocol {{ smtpProtocol.toUpperCase() }} @@ -30,41 +30,41 @@
- tb.rulenode.smtp-host + rule-node-config.smtp-host - {{ 'tb.rulenode.smtp-host-required' | translate }} + {{ 'rule-node-config.smtp-host-required' | translate }} - tb.rulenode.smtp-port + rule-node-config.smtp-port - {{ 'tb.rulenode.smtp-port-required' | translate }} + {{ 'rule-node-config.smtp-port-required' | translate }} - {{ 'tb.rulenode.smtp-port-range' | translate }} + {{ 'rule-node-config.smtp-port-range' | translate }} - {{ 'tb.rulenode.smtp-port-range' | translate }} + {{ 'rule-node-config.smtp-port-range' | translate }}
- tb.rulenode.timeout-msec + rule-node-config.timeout-msec - {{ 'tb.rulenode.timeout-required' | translate }} + {{ 'rule-node-config.timeout-required' | translate }} - {{ 'tb.rulenode.min-timeout-msec-message' | translate }} + {{ 'rule-node-config.min-timeout-msec-message' | translate }} - {{ 'tb.rulenode.enable-tls' | translate }} + {{ 'rule-node-config.enable-tls' | translate }} - tb.rulenode.tls-version + rule-node-config.tls-version {{ tlsVersion }} @@ -72,44 +72,44 @@ - {{ 'tb.rulenode.enable-proxy' | translate }} + {{ 'rule-node-config.enable-proxy' | translate }}
- tb.rulenode.proxy-host + rule-node-config.proxy-host - {{ 'tb.rulenode.proxy-host-required' | translate }} + {{ 'rule-node-config.proxy-host-required' | translate }} - tb.rulenode.proxy-port + rule-node-config.proxy-port - {{ 'tb.rulenode.proxy-port-required' | translate }} + {{ 'rule-node-config.proxy-port-required' | translate }} - {{ 'tb.rulenode.proxy-port-range' | translate }} + {{ 'rule-node-config.proxy-port-range' | translate }}
- tb.rulenode.proxy-user + rule-node-config.proxy-user - tb.rulenode.proxy-password + rule-node-config.proxy-password
- tb.rulenode.username - + rule-node-config.username + - tb.rulenode.password - + rule-node-config.password +
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/send-sms-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/send-sms-config.component.html index 12f9208c5d..3b4e63308a 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/send-sms-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/send-sms-config.component.html @@ -17,23 +17,23 @@ -->
- tb.rulenode.numbers-to-template + rule-node-config.numbers-to-template - {{ 'tb.rulenode.numbers-to-template-required' | translate }} + {{ 'rule-node-config.numbers-to-template-required' | translate }} - + - tb.rulenode.sms-message-template + rule-node-config.sms-message-template - {{ 'tb.rulenode.sms-message-template-required' | translate }} + {{ 'rule-node-config.sms-message-template-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - {{ 'tb.rulenode.use-system-sms-settings' | translate }} + {{ 'rule-node-config.use-system-sms-settings' | translate }}
- tb.rulenode.message-template + rule-node-config.message-template - {{ 'tb.rulenode.message-template-required' | translate }} + {{ 'rule-node-config.message-template-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - {{ 'tb.rulenode.use-system-slack-settings' | translate }} + {{ 'rule-node-config.use-system-slack-settings' | translate }} - tb.rulenode.slack-api-token + rule-node-config.slack-api-token - {{ 'tb.rulenode.slack-api-token-required' | translate }} + {{ 'rule-node-config.slack-api-token-required' | translate }} diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/sns-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/sns-config.component.html index f4e4aa738d..a5be9017a3 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/sns-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/sns-config.component.html @@ -17,32 +17,32 @@ -->
- tb.rulenode.topic-arn-pattern + rule-node-config.topic-arn-pattern - {{ 'tb.rulenode.topic-arn-pattern-required' | translate }} + {{ 'rule-node-config.topic-arn-pattern-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - tb.rulenode.aws-access-key-id + rule-node-config.aws-access-key-id - {{ 'tb.rulenode.aws-access-key-id-required' | translate }} + {{ 'rule-node-config.aws-access-key-id-required' | translate }} - tb.rulenode.aws-secret-access-key + rule-node-config.aws-secret-access-key - {{ 'tb.rulenode.aws-secret-access-key-required' | translate }} + {{ 'rule-node-config.aws-secret-access-key-required' | translate }} - tb.rulenode.aws-region + rule-node-config.aws-region - {{ 'tb.rulenode.aws-region-required' | translate }} + {{ 'rule-node-config.aws-region-required' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/external/sqs-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/external/sqs-config.component.html index a7272e6d66..2956cc4ab0 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/external/sqs-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/external/sqs-config.component.html @@ -17,7 +17,7 @@ -->
- tb.rulenode.queue-type + rule-node-config.queue-type {{ sqsQueueTypeTranslationsMap.get(type) | translate }} @@ -25,52 +25,52 @@ - tb.rulenode.queue-url-pattern + rule-node-config.queue-url-pattern - {{ 'tb.rulenode.queue-url-pattern-required' | translate }} + {{ 'rule-node-config.queue-url-pattern-required' | translate }} - tb.rulenode.general-pattern-hint + rule-node-config.general-pattern-hint - tb.rulenode.delay-seconds + rule-node-config.delay-seconds - {{ 'tb.rulenode.min-delay-seconds-message' | translate }} + {{ 'rule-node-config.min-delay-seconds-message' | translate }} - {{ 'tb.rulenode.max-delay-seconds-message' | translate }} + {{ 'rule-node-config.max-delay-seconds-message' | translate }} - -
+ +
+ keyText="rule-node-config.name" + keyRequiredText="rule-node-config.name-required" + valText="rule-node-config.value" + valRequiredText="rule-node-config.value-required"> - tb.rulenode.aws-access-key-id + rule-node-config.aws-access-key-id - {{ 'tb.rulenode.aws-access-key-id-required' | translate }} + {{ 'rule-node-config.aws-access-key-id-required' | translate }} - tb.rulenode.aws-secret-access-key + rule-node-config.aws-secret-access-key - {{ 'tb.rulenode.aws-secret-access-key-required' | translate }} + {{ 'rule-node-config.aws-secret-access-key-required' | translate }} - tb.rulenode.aws-region + rule-node-config.aws-region - {{ 'tb.rulenode.aws-region-required' | translate }} + {{ 'rule-node-config.aws-region-required' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/check-alarm-status.component.html b/ui-ngx/src/app/modules/home/components/rule-node/filter/check-alarm-status.component.html index 329b876e1e..b8f0faf15f 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/check-alarm-status.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/check-alarm-status.component.html @@ -17,9 +17,9 @@ -->
-
tb.rulenode.alarm-status
+
rule-node-config.alarm-status
- tb.rulenode.alarm-required + rule-node-config.alarm-required
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/check-message-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/filter/check-message-config.component.html index 7ded71d798..6566912570 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/check-message-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/check-message-config.component.html @@ -17,29 +17,29 @@ -->
-
tb.rulenode.fields-to-check
+
rule-node-config.fields-to-check
- tb.rulenode.at-least-one-field-required + rule-node-config.at-least-one-field-required
help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.field-name' | translate } }}">help help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.field-name' | translate } }}">help -
- {{ 'tb.rulenode.check-all-keys' | translate }} + {{ 'rule-node-config.check-all-keys' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/check-relation-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/filter/check-relation-config.component.html index 2a4b61792e..b9763b280f 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/check-relation-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/check-relation-config.component.html @@ -16,13 +16,13 @@ -->
-
tb.rulenode.relation-search-parameters
+
rule-node-config.relation-search-parameters
{{ 'relation.direction' | translate }} - {{ entitySearchDirectionTranslationsMap.get(direction) | translate }} tb.rulenode.relations-query-config-direction-suffix + {{ entitySearchDirectionTranslationsMap.get(direction) | translate }} rule-node-config.relations-query-config-direction-suffix @@ -30,10 +30,10 @@ required formControlName="relationType"> -
- {{ 'tb.rulenode.check-relation-to-specific-entity' | translate }} + {{ 'rule-node-config.check-relation-to-specific-entity' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/gps-geo-filter-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/filter/gps-geo-filter-config.component.html index 738e834450..ac09e2156a 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/gps-geo-filter-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/gps-geo-filter-config.component.html @@ -17,32 +17,32 @@ -->
-
tb.rulenode.coordinate-field-names
+
rule-node-config.coordinate-field-names
- {{ 'tb.rulenode.latitude-field-name' | translate }} + {{ 'rule-node-config.latitude-field-name' | translate }} - {{ 'tb.rulenode.latitude-field-name-required' | translate }} + {{ 'rule-node-config.latitude-field-name-required' | translate }} - {{ 'tb.rulenode.longitude-field-name' | translate }} + {{ 'rule-node-config.longitude-field-name' | translate }} - {{ 'tb.rulenode.longitude-field-name-required' | translate }} + {{ 'rule-node-config.longitude-field-name-required' | translate }}
-
tb.rulenode.coordinate-field-hint
+
rule-node-config.coordinate-field-hint
-
tb.rulenode.geofence-configuration
+
rule-node-config.geofence-configuration
- {{ 'tb.rulenode.perimeter-type' | translate }} + {{ 'rule-node-config.perimeter-type' | translate }} {{ perimeterTypeTranslationMap.get(type) | translate }} @@ -50,63 +50,63 @@
- {{ 'tb.rulenode.fetch-perimeter-info-from-metadata' | translate }} + {{ 'rule-node-config.fetch-perimeter-info-from-metadata' | translate }}
- {{ 'tb.rulenode.perimeter-key-name' | translate }} + {{ 'rule-node-config.perimeter-key-name' | translate }} - {{ 'tb.rulenode.perimeter-key-name-required' | translate }} + {{ 'rule-node-config.perimeter-key-name-required' | translate }} - {{ 'tb.rulenode.perimeter-key-name-hint' | translate }} + {{ 'rule-node-config.perimeter-key-name-hint' | translate }}
- {{ 'tb.rulenode.circle-center-latitude' | translate }} + {{ 'rule-node-config.circle-center-latitude' | translate }} - {{ 'tb.rulenode.circle-center-latitude-required' | translate }} + {{ 'rule-node-config.circle-center-latitude-required' | translate }} - {{ 'tb.rulenode.circle-center-longitude' | translate }} + {{ 'rule-node-config.circle-center-longitude' | translate }} - {{ 'tb.rulenode.circle-center-longitude-required' | translate }} + {{ 'rule-node-config.circle-center-longitude-required' | translate }}
- {{ 'tb.rulenode.range' | translate }} + {{ 'rule-node-config.range' | translate }} - {{ 'tb.rulenode.range-required' | translate }} + {{ 'rule-node-config.range-required' | translate }} - {{ 'tb.rulenode.range-units' | translate }} + {{ 'rule-node-config.range-units' | translate }} {{ rangeUnitTranslationMap.get(type) | translate }} - {{ 'tb.rulenode.range-units-required' | translate }} + {{ 'rule-node-config.range-units-required' | translate }}
@@ -114,11 +114,11 @@ - {{ 'tb.rulenode.polygon-definition' | translate }} + {{ 'rule-node-config.polygon-definition' | translate }} - {{ 'tb.rulenode.polygon-definition-hint' | translate }} + {{ 'rule-node-config.polygon-definition-hint' | translate }} - {{ 'tb.rulenode.polygon-definition-required' | translate }} + {{ 'rule-node-config.polygon-definition-required' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/message-type-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/filter/message-type-config.component.html index 1b347ca1d1..847ab255f5 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/message-type-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/message-type-config.component.html @@ -18,7 +18,7 @@
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/originator-type-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/filter/originator-type-config.component.html index 233106bd8e..1dc3cf34a2 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/originator-type-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/originator-type-config.component.html @@ -20,12 +20,12 @@ formControlName="originatorTypes" [allowedEntityTypes]="allowedEntityTypes" [ignoreAuthorityFilter]="true" - [emptyInputPlaceholder]="'tb.rulenode.add-entity-type' | translate" - [filledInputPlaceholder]="'tb.rulenode.add-entity-type' | translate" - [label]="'tb.rulenode.select-entity-types' | translate" + [emptyInputPlaceholder]="'rule-node-config.add-entity-type' | translate" + [filledInputPlaceholder]="'rule-node-config.add-entity-type' | translate" + [label]="'rule-node-config.select-entity-types' | translate" required> help + matTooltip="{{ 'rule-node-config.chip-help' | translate: { inputName: 'rule-node-config.entity-type' | translate } }}">help
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/script-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/filter/script-config.component.ts index 643f66448f..a5e4ffdea6 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/script-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/script-config.component.ts @@ -43,7 +43,7 @@ export class ScriptConfigComponent extends RuleNodeConfigurationComponent { readonly hasScript = true; - readonly testScriptLabel = 'tb.rulenode.test-filter-function'; + readonly testScriptLabel = 'rule-node-config.test-filter-function'; constructor(protected store: Store, private fb: UntypedFormBuilder, @@ -104,7 +104,7 @@ export class ScriptConfigComponent extends RuleNodeConfigurationComponent { this.nodeScriptTestService.testNodeScript( script, 'filter', - this.translate.instant('tb.rulenode.filter'), + this.translate.instant('rule-node-config.filter'), 'Filter', ['msg', 'metadata', 'msgType'], this.ruleNodeId, diff --git a/ui-ngx/src/app/modules/home/components/rule-node/filter/switch-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/filter/switch-config.component.ts index a77e5d3e29..c444effd08 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/filter/switch-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/filter/switch-config.component.ts @@ -46,7 +46,7 @@ export class SwitchConfigComponent extends RuleNodeConfigurationComponent { readonly hasScript = true; - readonly testScriptLabel = 'tb.rulenode.test-switch-function'; + readonly testScriptLabel = 'rule-node-config.test-switch-function'; constructor(private fb: UntypedFormBuilder, private nodeScriptTestService: NodeScriptTestService, @@ -106,7 +106,7 @@ export class SwitchConfigComponent extends RuleNodeConfigurationComponent { this.nodeScriptTestService.testNodeScript( script, 'switch', - this.translate.instant('tb.rulenode.switch'), + this.translate.instant('rule-node-config.switch'), 'Switch', ['msg', 'metadata', 'msgType'], this.ruleNodeId, diff --git a/ui-ngx/src/app/modules/home/components/rule-node/flow/rule-chain-input.component.html b/ui-ngx/src/app/modules/home/components/rule-node/flow/rule-chain-input.component.html index a91b9980d4..6bee899138 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/flow/rule-chain-input.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/flow/rule-chain-input.component.html @@ -17,10 +17,10 @@ -->
-
- {{ 'tb.rulenode.forward-msg-default-rule-chain' | translate }} + {{ 'rule-node-config.forward-msg-default-rule-chain' | translate }}
-
+
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/rule-node-config.models.ts b/ui-ngx/src/app/modules/home/components/rule-node/rule-node-config.models.ts index 6562a732aa..a358bbaf12 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/rule-node-config.models.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/rule-node-config.models.ts @@ -34,27 +34,27 @@ export interface OriginatorValuesDescriptions { export const originatorSourceTranslations = new Map( [ - [OriginatorSource.CUSTOMER, 'tb.rulenode.originator-customer'], - [OriginatorSource.TENANT, 'tb.rulenode.originator-tenant'], - [OriginatorSource.RELATED, 'tb.rulenode.originator-related'], - [OriginatorSource.ALARM_ORIGINATOR, 'tb.rulenode.originator-alarm-originator'], - [OriginatorSource.ENTITY, 'tb.rulenode.originator-entity'], + [OriginatorSource.CUSTOMER, 'rule-node-config.originator-customer'], + [OriginatorSource.TENANT, 'rule-node-config.originator-tenant'], + [OriginatorSource.RELATED, 'rule-node-config.originator-related'], + [OriginatorSource.ALARM_ORIGINATOR, 'rule-node-config.originator-alarm-originator'], + [OriginatorSource.ENTITY, 'rule-node-config.originator-entity'], ] ); export const originatorSourceDescTranslations = new Map( [ - [OriginatorSource.CUSTOMER, 'tb.rulenode.originator-customer-desc'], - [OriginatorSource.TENANT, 'tb.rulenode.originator-tenant-desc'], - [OriginatorSource.RELATED, 'tb.rulenode.originator-related-entity-desc'], - [OriginatorSource.ALARM_ORIGINATOR, 'tb.rulenode.originator-alarm-originator-desc'], - [OriginatorSource.ENTITY, 'tb.rulenode.originator-entity-by-name-pattern-desc'], + [OriginatorSource.CUSTOMER, 'rule-node-config.originator-customer-desc'], + [OriginatorSource.TENANT, 'rule-node-config.originator-tenant-desc'], + [OriginatorSource.RELATED, 'rule-node-config.originator-related-entity-desc'], + [OriginatorSource.ALARM_ORIGINATOR, 'rule-node-config.originator-alarm-originator-desc'], + [OriginatorSource.ENTITY, 'rule-node-config.originator-entity-by-name-pattern-desc'], ] ); export const allowedOriginatorFields: EntityField[] = [ entityFields.createdTime, entityFields.name, - {value: 'type', name: 'tb.rulenode.profile-name', keyName: 'originatorProfileName'}, + {value: 'type', name: 'rule-node-config.profile-name', keyName: 'originatorProfileName'}, entityFields.firstName, entityFields.lastName, entityFields.email, @@ -67,8 +67,8 @@ export const allowedOriginatorFields: EntityField[] = [ entityFields.zip, entityFields.phone, entityFields.label, - {value: 'id', name: 'tb.rulenode.id', keyName: 'id'}, - {value: 'additionalInfo', name: 'tb.rulenode.additional-info', keyName: 'additionalInfo'} + {value: 'id', name: 'rule-node-config.id', keyName: 'id'}, + {value: 'additionalInfo', name: 'rule-node-config.additional-info', keyName: 'additionalInfo'} ]; export const OriginatorFieldsMappingValues = new Map( @@ -100,8 +100,8 @@ export enum PerimeterType { export const perimeterTypeTranslations = new Map( [ - [PerimeterType.CIRCLE, 'tb.rulenode.perimeter-circle'], - [PerimeterType.POLYGON, 'tb.rulenode.perimeter-polygon'], + [PerimeterType.CIRCLE, 'rule-node-config.perimeter-circle'], + [PerimeterType.POLYGON, 'rule-node-config.perimeter-polygon'], ] ); @@ -115,11 +115,11 @@ export enum TimeUnit { export const timeUnitTranslations = new Map( [ - [TimeUnit.MILLISECONDS, 'tb.rulenode.time-unit-milliseconds'], - [TimeUnit.SECONDS, 'tb.rulenode.time-unit-seconds'], - [TimeUnit.MINUTES, 'tb.rulenode.time-unit-minutes'], - [TimeUnit.HOURS, 'tb.rulenode.time-unit-hours'], - [TimeUnit.DAYS, 'tb.rulenode.time-unit-days'] + [TimeUnit.MILLISECONDS, 'rule-node-config.time-unit-milliseconds'], + [TimeUnit.SECONDS, 'rule-node-config.time-unit-seconds'], + [TimeUnit.MINUTES, 'rule-node-config.time-unit-minutes'], + [TimeUnit.HOURS, 'rule-node-config.time-unit-hours'], + [TimeUnit.DAYS, 'rule-node-config.time-unit-days'] ] ); @@ -133,11 +133,11 @@ export enum RangeUnit { export const rangeUnitTranslations = new Map( [ - [RangeUnit.METER, 'tb.rulenode.range-unit-meter'], - [RangeUnit.KILOMETER, 'tb.rulenode.range-unit-kilometer'], - [RangeUnit.FOOT, 'tb.rulenode.range-unit-foot'], - [RangeUnit.MILE, 'tb.rulenode.range-unit-mile'], - [RangeUnit.NAUTICAL_MILE, 'tb.rulenode.range-unit-nautical-mile'] + [RangeUnit.METER, 'rule-node-config.range-unit-meter'], + [RangeUnit.KILOMETER, 'rule-node-config.range-unit-kilometer'], + [RangeUnit.FOOT, 'rule-node-config.range-unit-foot'], + [RangeUnit.MILE, 'rule-node-config.range-unit-mile'], + [RangeUnit.NAUTICAL_MILE, 'rule-node-config.range-unit-nautical-mile'] ] ); @@ -162,17 +162,17 @@ export interface SvMapOption { export const entityDetailsTranslations = new Map( [ - [EntityDetailsField.ID, 'tb.rulenode.entity-details-id'], - [EntityDetailsField.TITLE, 'tb.rulenode.entity-details-title'], - [EntityDetailsField.COUNTRY, 'tb.rulenode.entity-details-country'], - [EntityDetailsField.STATE, 'tb.rulenode.entity-details-state'], - [EntityDetailsField.CITY, 'tb.rulenode.entity-details-city'], - [EntityDetailsField.ZIP, 'tb.rulenode.entity-details-zip'], - [EntityDetailsField.ADDRESS, 'tb.rulenode.entity-details-address'], - [EntityDetailsField.ADDRESS2, 'tb.rulenode.entity-details-address2'], - [EntityDetailsField.PHONE, 'tb.rulenode.entity-details-phone'], - [EntityDetailsField.EMAIL, 'tb.rulenode.entity-details-email'], - [EntityDetailsField.ADDITIONAL_INFO, 'tb.rulenode.entity-details-additional_info'] + [EntityDetailsField.ID, 'rule-node-config.entity-details-id'], + [EntityDetailsField.TITLE, 'rule-node-config.entity-details-title'], + [EntityDetailsField.COUNTRY, 'rule-node-config.entity-details-country'], + [EntityDetailsField.STATE, 'rule-node-config.entity-details-state'], + [EntityDetailsField.CITY, 'rule-node-config.entity-details-city'], + [EntityDetailsField.ZIP, 'rule-node-config.entity-details-zip'], + [EntityDetailsField.ADDRESS, 'rule-node-config.entity-details-address'], + [EntityDetailsField.ADDRESS2, 'rule-node-config.entity-details-address2'], + [EntityDetailsField.PHONE, 'rule-node-config.entity-details-phone'], + [EntityDetailsField.EMAIL, 'rule-node-config.entity-details-email'], + [EntityDetailsField.ADDITIONAL_INFO, 'rule-node-config.entity-details-additional_info'] ] ); @@ -184,17 +184,17 @@ export enum FetchMode { export const deduplicationStrategiesTranslations = new Map( [ - [FetchMode.FIRST, 'tb.rulenode.first'], - [FetchMode.LAST, 'tb.rulenode.last'], - [FetchMode.ALL, 'tb.rulenode.all'] + [FetchMode.FIRST, 'rule-node-config.first'], + [FetchMode.LAST, 'rule-node-config.last'], + [FetchMode.ALL, 'rule-node-config.all'] ] ); export const deduplicationStrategiesHintTranslations = new Map( [ - [FetchMode.FIRST, 'tb.rulenode.first-mode-hint'], - [FetchMode.LAST, 'tb.rulenode.last-mode-hint'], - [FetchMode.ALL, 'tb.rulenode.all-mode-hint'] + [FetchMode.FIRST, 'rule-node-config.first-mode-hint'], + [FetchMode.LAST, 'rule-node-config.last-mode-hint'], + [FetchMode.ALL, 'rule-node-config.all-mode-hint'] ] ); @@ -211,24 +211,24 @@ export enum DataToFetch { export const dataToFetchTranslations = new Map( [ - [DataToFetch.ATTRIBUTES, 'tb.rulenode.attributes'], - [DataToFetch.LATEST_TELEMETRY, 'tb.rulenode.latest-telemetry'], - [DataToFetch.FIELDS, 'tb.rulenode.fields'] + [DataToFetch.ATTRIBUTES, 'rule-node-config.attributes'], + [DataToFetch.LATEST_TELEMETRY, 'rule-node-config.latest-telemetry'], + [DataToFetch.FIELDS, 'rule-node-config.fields'] ] ); export const msgMetadataLabelTranslations = new Map( [ - [DataToFetch.ATTRIBUTES, 'tb.rulenode.add-mapped-attribute-to'], - [DataToFetch.LATEST_TELEMETRY, 'tb.rulenode.add-mapped-latest-telemetry-to'], - [DataToFetch.FIELDS, 'tb.rulenode.add-mapped-fields-to'] + [DataToFetch.ATTRIBUTES, 'rule-node-config.add-mapped-attribute-to'], + [DataToFetch.LATEST_TELEMETRY, 'rule-node-config.add-mapped-latest-telemetry-to'], + [DataToFetch.FIELDS, 'rule-node-config.add-mapped-fields-to'] ] ); export const samplingOrderTranslations = new Map( [ - [SamplingOrder.ASC, 'tb.rulenode.ascending'], - [SamplingOrder.DESC, 'tb.rulenode.descending'] + [SamplingOrder.ASC, 'rule-node-config.ascending'], + [SamplingOrder.DESC, 'rule-node-config.descending'] ] ); @@ -239,8 +239,8 @@ export enum SqsQueueType { export const sqsQueueTypeTranslations = new Map( [ - [SqsQueueType.STANDARD, 'tb.rulenode.sqs-queue-standard'], - [SqsQueueType.FIFO, 'tb.rulenode.sqs-queue-fifo'], + [SqsQueueType.STANDARD, 'rule-node-config.sqs-queue-standard'], + [SqsQueueType.FIFO, 'rule-node-config.sqs-queue-fifo'], ] ); @@ -249,9 +249,9 @@ export const credentialsTypes: credentialsType[] = ['anonymous', 'basic', 'cert. export const credentialsTypeTranslations = new Map( [ - ['anonymous', 'tb.rulenode.credentials-anonymous'], - ['basic', 'tb.rulenode.credentials-basic'], - ['cert.PEM', 'tb.rulenode.credentials-pem'] + ['anonymous', 'rule-node-config.credentials-anonymous'], + ['basic', 'rule-node-config.credentials-basic'], + ['cert.PEM', 'rule-node-config.credentials-pem'] ] ); @@ -260,8 +260,8 @@ export const azureIotHubCredentialsTypes: AzureIotHubCredentialsType[] = ['sas', export const azureIotHubCredentialsTypeTranslations = new Map( [ - ['sas', 'tb.rulenode.credentials-sas'], - ['cert.PEM', 'tb.rulenode.credentials-pem'] + ['sas', 'rule-node-config.credentials-sas'], + ['cert.PEM', 'rule-node-config.credentials-pem'] ] ); @@ -283,12 +283,12 @@ export const ToByteStandartCharsetTypes = [ export const ToByteStandartCharsetTypeTranslations = new Map( [ - ['US-ASCII', 'tb.rulenode.charset-us-ascii'], - ['ISO-8859-1', 'tb.rulenode.charset-iso-8859-1'], - ['UTF-8', 'tb.rulenode.charset-utf-8'], - ['UTF-16BE', 'tb.rulenode.charset-utf-16be'], - ['UTF-16LE', 'tb.rulenode.charset-utf-16le'], - ['UTF-16', 'tb.rulenode.charset-utf-16'], + ['US-ASCII', 'rule-node-config.charset-us-ascii'], + ['ISO-8859-1', 'rule-node-config.charset-iso-8859-1'], + ['UTF-8', 'rule-node-config.charset-utf-8'], + ['UTF-16BE', 'rule-node-config.charset-utf-16be'], + ['UTF-16LE', 'rule-node-config.charset-utf-16le'], + ['UTF-16', 'rule-node-config.charset-utf-16'], ] ); @@ -720,23 +720,23 @@ export enum FetchTo { } export const FetchFromToTranslation = new Map([ - [FetchTo.DATA, 'tb.rulenode.message-to-metadata'], - [FetchTo.METADATA, 'tb.rulenode.metadata-to-message'], + [FetchTo.DATA, 'rule-node-config.message-to-metadata'], + [FetchTo.METADATA, 'rule-node-config.metadata-to-message'], ]); export const FetchFromTranslation = new Map([ - [FetchTo.DATA, 'tb.rulenode.from-message'], - [FetchTo.METADATA, 'tb.rulenode.from-metadata'], + [FetchTo.DATA, 'rule-node-config.from-message'], + [FetchTo.METADATA, 'rule-node-config.from-metadata'], ]); export const FetchToTranslation = new Map([ - [FetchTo.DATA, 'tb.rulenode.message'], - [FetchTo.METADATA, 'tb.rulenode.metadata'], + [FetchTo.DATA, 'rule-node-config.message'], + [FetchTo.METADATA, 'rule-node-config.metadata'], ]); export const FetchToRenameTranslation = new Map([ - [FetchTo.DATA, 'tb.rulenode.message'], - [FetchTo.METADATA, 'tb.rulenode.message-metadata'], + [FetchTo.DATA, 'rule-node-config.message'], + [FetchTo.METADATA, 'rule-node-config.message-metadata'], ]); export interface ArgumentTypeData { @@ -748,36 +748,36 @@ export const ArgumentTypeMap = new Map([ [ ArgumentType.MESSAGE_BODY, { - name: 'tb.rulenode.message-body-type', - description: 'Fetch argument value from incoming message' + name: 'rule-node-config.message-body-type', + description: 'rule-node-config.message-body-type-description' } ], [ ArgumentType.MESSAGE_METADATA, { - name: 'tb.rulenode.message-metadata-type', - description: 'Fetch argument value from incoming message metadata' + name: 'rule-node-config.message-metadata-type', + description: 'rule-node-config.message-metadata-type-description' } ], [ ArgumentType.ATTRIBUTE, { - name: 'tb.rulenode.attribute-type', - description: 'Fetch attribute value from database' + name: 'rule-node-config.attribute-type', + description: 'rule-node-config.attribute-type-description' } ], [ ArgumentType.TIME_SERIES, { - name: 'tb.rulenode.time-series-type', - description: 'Fetch latest time-series value from database' + name: 'rule-node-config.time-series-type', + description: 'rule-node-config.time-series-type-description' } ], [ ArgumentType.CONSTANT, { - name: 'tb.rulenode.constant-type', - description: 'Define constant value' + name: 'rule-node-config.constant-type', + description: 'rule-node-config.constant-type-description' } ] ]); @@ -786,29 +786,29 @@ export const ArgumentTypeResultMap = new Map([ - [AttributeScope.SHARED_SCOPE, 'tb.rulenode.shared-scope'], - [AttributeScope.SERVER_SCOPE, 'tb.rulenode.server-scope'], - [AttributeScope.CLIENT_SCOPE, 'tb.rulenode.client-scope'] + [AttributeScope.SHARED_SCOPE, 'rule-node-config.shared-scope'], + [AttributeScope.SERVER_SCOPE, 'rule-node-config.server-scope'], + [AttributeScope.CLIENT_SCOPE, 'rule-node-config.client-scope'] ]); export enum PresenceMonitoringStrategy { @@ -847,14 +847,14 @@ export const PresenceMonitoringStrategiesData = new Map
- tb.rulenode.new-originator + rule-node-config.new-originator @@ -37,7 +37,7 @@
-
@@ -49,11 +49,11 @@ class="mat-mdc-form-field flex"> - tb.rulenode.entity-name-pattern + rule-node-config.entity-name-pattern - {{ 'tb.rulenode.entity-name-pattern-required' | translate }} + {{ 'rule-node-config.entity-name-pattern-required' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/copy-keys-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/transformation/copy-keys-config.component.html index 85cf878a4b..ccaa44bea1 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/copy-keys-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/copy-keys-config.component.html @@ -17,19 +17,19 @@ -->
+ matTooltip="{{ 'rule-node-config.use-regular-expression-hint' | translate }}"> help diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/deduplication-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/transformation/deduplication-config.component.html index 5d5ec40580..e85ea71399 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/deduplication-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/deduplication-config.component.html @@ -17,34 +17,34 @@ -->
- {{'tb.rulenode.interval' | translate}} + {{'rule-node-config.interval' | translate}} - {{'tb.rulenode.interval-required' | translate}} + {{'rule-node-config.interval-required' | translate}} - {{'tb.rulenode.interval-min-error' | translate}} + {{'rule-node-config.interval-min-error' | translate}} help + matTooltip="{{ 'rule-node-config.interval-hint' | translate }}">help
-
tb.rulenode.strategy
+
rule-node-config.strategy
{{ deduplicationStrategiesTranslations.get(strategy) | translate }} - - - @@ -58,40 +58,40 @@
- tb.rulenode.advanced-settings + rule-node-config.advanced-settings
- {{'tb.rulenode.max-pending-msgs' | translate}} + {{'rule-node-config.max-pending-msgs' | translate}} - {{'tb.rulenode.max-pending-msgs-required' | translate}} + {{'rule-node-config.max-pending-msgs-required' | translate}} - {{'tb.rulenode.max-pending-msgs-max-error' | translate}} + {{'rule-node-config.max-pending-msgs-max-error' | translate}} - {{'tb.rulenode.max-pending-msgs-min-error' | translate}} + {{'rule-node-config.max-pending-msgs-min-error' | translate}} help + matTooltip="{{ 'rule-node-config.max-pending-msgs-hint' | translate }}">help - {{'tb.rulenode.max-retries' | translate}} + {{'rule-node-config.max-retries' | translate}} - {{'tb.rulenode.max-retries-required' | translate}} + {{'rule-node-config.max-retries-required' | translate}} - {{'tb.rulenode.max-retries-max-error' | translate}} + {{'rule-node-config.max-retries-max-error' | translate}} - {{'tb.rulenode.max-retries-min-error' | translate}} + {{'rule-node-config.max-retries-min-error' | translate}} help + matTooltip="{{ 'rule-node-config.max-retries-hint' | translate }}">help
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/delete-keys-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/transformation/delete-keys-config.component.html index 23737bab9f..2bab63f4d6 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/delete-keys-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/delete-keys-config.component.html @@ -17,18 +17,18 @@ -->
+ matTooltip="{{ 'rule-node-config.use-regular-expression-delete-hint' | translate }}"> help diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/node-json-path-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/transformation/node-json-path-config.component.html index c1d3c8e2e4..94f8046b1b 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/node-json-path-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/node-json-path-config.component.html @@ -17,9 +17,9 @@ -->
- {{ 'tb.rulenode.json-path-expression' | translate }} + {{ 'rule-node-config.json-path-expression' | translate }} - {{ 'tb.rulenode.json-path-expression-hint' | translate }} - {{ 'tb.rulenode.json-path-expression-required' | translate }} + {{ 'rule-node-config.json-path-expression-hint' | translate }} + {{ 'rule-node-config.json-path-expression-required' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/rename-keys-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/transformation/rename-keys-config.component.html index 3099a31e4e..7543875f19 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/rename-keys-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/rename-keys-config.component.html @@ -16,7 +16,7 @@ -->
-
tb.rulenode.rename-keys-in
+
rule-node-config.rename-keys-in
@@ -28,13 +28,13 @@
+ requiredText="{{'rule-node-config.attr-mapping-required' | translate}}" + keyText="{{'rule-node-config.current-key-name' | translate}}" + keyRequiredText="{{'rule-node-config.key-name-required' | translate}}" + valText="{{'rule-node-config.new-key-name' | translate}}" + valRequiredText="{{'rule-node-config.new-key-name-required' | translate}}">
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/script-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/transformation/script-config.component.ts index 7e462ee039..848a9dd2e9 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/script-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/script-config.component.ts @@ -46,7 +46,7 @@ export class TransformScriptConfigComponent extends RuleNodeConfigurationCompone readonly hasScript = true; - readonly testScriptLabel = 'tb.rulenode.test-transformer-function'; + readonly testScriptLabel = 'rule-node-config.test-transformer-function'; constructor(private fb: FormBuilder, private nodeScriptTestService: NodeScriptTestService, @@ -104,7 +104,7 @@ export class TransformScriptConfigComponent extends RuleNodeConfigurationCompone this.nodeScriptTestService.testNodeScript( script, 'update', - this.translate.instant('tb.rulenode.transformer'), + this.translate.instant('rule-node-config.transformer'), 'Transform', ['msg', 'metadata', 'msgType'], this.ruleNodeId, diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.html b/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.html index 87106d836d..373a4c6b57 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.html +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.html @@ -17,13 +17,13 @@ -->
-
tb.rulenode.email-sender
+
rule-node-config.email-sender
- tb.rulenode.from-template + rule-node-config.from-template - {{ 'tb.rulenode.email-from-template-hint' | translate }} + {{ 'rule-node-config.email-from-template-hint' | translate }}
@@ -33,25 +33,25 @@ tb-help-popup-placement="right" trigger-style="letter-spacing:0.25px; font-size:12px;" [tb-help-popup-style]="{maxWidth: '820px'}" - trigger-text="{{ 'tb.key-val.see-examples' | translate }}">
+ trigger-text="{{ 'rule-node-config.key-val.see-examples' | translate }}">
- {{ 'tb.rulenode.from-template-required' | translate }} + {{ 'rule-node-config.from-template-required' | translate }}
-
tb.rulenode.recipients
- rule-node-config.recipients
+
- tb.rulenode.to-template + rule-node-config.to-template - {{ 'tb.rulenode.to-template-required' | translate }} + {{ 'rule-node-config.to-template-required' | translate }} - tb.rulenode.cc-template + rule-node-config.cc-template - tb.rulenode.bcc-template + rule-node-config.bcc-template - {{ 'tb.rulenode.subject-template-required' | translate }} + {{ 'rule-node-config.subject-template-required' | translate }} - tb.rulenode.mail-body-type + rule-node-config.mail-body-type @@ -118,12 +118,12 @@ - tb.rulenode.body-type-template + rule-node-config.body-type-template - tb.mail-body-type.after-template-evaluation-hint + rule-node-config.mail-body-types.after-template-evaluation-hint - tb.rulenode.body-template + rule-node-config.body-template - {{ 'tb.rulenode.body-template-required' | translate }} + {{ 'rule-node-config.body-template-required' | translate }}
diff --git a/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.ts b/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.ts index 3c922a7067..97282025fd 100644 --- a/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/rule-node/transformation/to-email-config.component.ts @@ -29,18 +29,18 @@ export class ToEmailConfigComponent extends RuleNodeConfigurationComponent { toEmailConfigForm: FormGroup; mailBodyTypes = [ { - name: 'tb.mail-body-type.plain-text', - description: 'tb.mail-body-type.plain-text-description', + name: 'rule-node-config.mail-body-types.plain-text', + description: 'rule-node-config.mail-body-types.plain-text-description', value: 'false', }, { - name: 'tb.mail-body-type.html', - description: 'tb.mail-body-type.html-text-description', + name: 'rule-node-config.mail-body-types.html', + description: 'rule-node-config.mail-body-types.html-text-description', value: 'true', }, { - name: 'tb.mail-body-type.use-body-type-template', - description: 'tb.mail-body-type.dynamic-text-description', + name: 'rule-node-config.mail-body-types.use-body-type-template', + description: 'rule-node-config.mail-body-types.dynamic-text-description', value: 'dynamic', } ]; diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json index cbae98683c..2fb67adbba 100644 --- a/ui-ngx/src/assets/locale/locale.constant-en_US.json +++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json @@ -4359,6 +4359,741 @@ "queue-hint": "Select a queue for message forwarding to another queue. 'Main' queue is used by default.", "queue-singleton-hint": "Select a queue for message forwarding in multi-instance environments. 'Main' queue is used by default." }, + "rule-node-config": { + "id": "Id", + "additional-info": "Additional Info", + "advanced-settings": "Advanced settings", + "create-entity-if-not-exists": "Create new entity if it doesn't exist", + "create-entity-if-not-exists-hint": "If enabled, a new entity with specified parameters will be created unless it already exists. Existing entities will be used as is for relation.", + "select-device-connectivity-event": "Select device connectivity event", + "entity-name-pattern": "Name pattern", + "device-name-pattern": "Device name", + "asset-name-pattern": "Asset name", + "entity-view-name-pattern": "Entity view name", + "customer-title-pattern": "Customer title", + "dashboard-name-pattern": "Dashboard title", + "user-name-pattern": "User email", + "edge-name-pattern": "Edge name", + "entity-name-pattern-required": "Name pattern is required", + "entity-name-pattern-hint": "Name pattern field support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "copy-message-type": "Copy message type", + "entity-type-pattern": "Type pattern", + "entity-type-pattern-required": "Type pattern is required", + "message-type-value": "Message type value", + "message-type-value-required": "Message type value is required", + "message-type-value-max-length": "Message type value should be less than 256", + "output-message-type": "Output message type", + "entity-cache-expiration": "Entities cache expiration time (sec)", + "entity-cache-expiration-hint": "Specifies maximum time interval allowed to store found entity records. 0 value means that records will never expire.", + "entity-cache-expiration-required": "Entities cache expiration time is required.", + "entity-cache-expiration-range": "Entities cache expiration time should be greater than or equal to 0.", + "customer-name-pattern": "Customer title", + "customer-name-pattern-required": "Customer title is required", + "customer-name-pattern-hint": "Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "create-customer-if-not-exists": "Create new customer if it doesn't exist", + "unassign-from-customer": "Unassign from specific customer if originator is dashboard", + "unassign-from-customer-tooltip": "Only dashboards can be assigned to multiple customers at once. \nIf the message originator is a dashboard, you need to explicitly specify the customer's title to unassign from.", + "customer-cache-expiration": "Customers cache expiration time (sec)", + "customer-cache-expiration-hint": "Specifies maximum time interval allowed to store found customer records. 0 value means that records will never expire.", + "customer-cache-expiration-required": "Customers cache expiration time is required.", + "customer-cache-expiration-range": "Customers cache expiration time should be greater than or equal to 0.", + "interval-start": "Interval start", + "interval-end": "Interval end", + "time-unit": "Time unit", + "fetch-mode": "Fetch mode", + "order-by-timestamp": "Order by timestamp", + "limit": "Limit", + "limit-hint": "Min limit value is 2, max - 1000. If you want to fetch a single entry, select fetch mode 'First' or 'Last'.", + "limit-required": "Limit is required.", + "limit-range": "Limit should be in a range from 2 to 1000.", + "time-unit-milliseconds": "Milliseconds", + "time-unit-seconds": "Seconds", + "time-unit-minutes": "Minutes", + "time-unit-hours": "Hours", + "time-unit-days": "Days", + "time-value-range": "Allowing range from 1 to 2147483647.", + "start-interval-value-required": "Interval start is required.", + "end-interval-value-required": "Interval end is required.", + "filter": "Filter", + "switch": "Switch", + "math-templatization-tooltip": "This field support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "add-message-type": "Add message type", + "select-message-types-required": "At least one message type should be selected.", + "select-message-types": "Select message types", + "no-message-types-found": "No message types found", + "no-message-type-matching": "'{{messageType}}' not found.", + "create-new-message-type": "Create a new one.", + "message-types-required": "Message types are required.", + "client-attributes": "Client attributes", + "shared-attributes": "Shared attributes", + "server-attributes": "Server attributes", + "attributes-keys": "Attributes keys", + "attributes-keys-required": "Attributes keys are required", + "attributes-scope": "Attributes scope", + "attributes-scope-value": "Attributes scope value", + "attributes-scope-value-copy": "Copy attributes scope value", + "attributes-scope-hint": "Use the 'scope' metadata key to dynamically set the attribute scope per message. If provided, this overrides the scope set in the configuration.", + "notify-device": "Force notification to the device", + "send-attributes-updated-notification": "Send attributes updated notification", + "send-attributes-updated-notification-hint": "Send notification about updated attributes as a separate message to the rule engine queue.", + "send-attributes-deleted-notification": "Send attributes deleted notification", + "send-attributes-deleted-notification-hint": "Send notification about deleted attributes as a separate message to the rule engine queue.", + "update-attributes-only-on-value-change": "Save attributes only if the value changes", + "update-attributes-only-on-value-change-hint": "Updates the attributes on every incoming message disregarding if their value has changed. Increases API usage and reduces performance.", + "update-attributes-only-on-value-change-hint-enabled": "Updates the attributes only if their value has changed. If the value is not changed, no update to the attribute timestamp nor attribute change notification will be sent.", + "fetch-credentials-to-metadata": "Fetch credentials to metadata", + "notify-device-on-update-hint": "If enabled, force notification to the device about shared attributes update. If disabled, the notification behavior is controlled by the 'notifyDevice' parameter from the incoming message metadata. To turn off the notification, the message metadata must contain the 'notifyDevice' parameter set to 'false'. Any other case will trigger the notification to the device.", + "notify-device-on-delete-hint": "If enabled, force notification to the device about shared attributes removal. If disabled, the notification behavior is controlled by the 'notifyDevice' parameter from the incoming message metadata. To turn on the notification, the message metadata must contain the 'notifyDevice' parameter set to 'true'. In any other case, the notification will not be triggered to the device.", + "latest-timeseries": "Latest time series data keys", + "timeseries-keys": "Time series keys", + "timeseries-keys-required": "At least one time series key should be selected.", + "add-timeseries-key": "Add time series key", + "add-message-field": "Add message field", + "relation-search-parameters": "Relation search parameters", + "relation-parameters": "Relation parameters", + "add-metadata-field": "Add metadata field", + "data-keys": "Message field names", + "copy-from": "Copy from", + "data-to-metadata": "Data to metadata", + "metadata-to-data": "Metadata to data", + "use-regular-expression-hint": "Use regular expression to copy keys by pattern.\n\nTips & tricks:\nPress 'Enter' to complete field name input.\nPress 'Backspace' to delete field name. Multiple field names supported.", + "interval": "Interval", + "interval-required": "Interval is required", + "interval-hint": "Deduplication interval in seconds.", + "interval-min-error": "Min allowed value is 1", + "max-pending-msgs": "Max pending messages", + "max-pending-msgs-hint": "Maximum number of messages that are stored in memory for each unique deduplication id.", + "max-pending-msgs-required": "Max pending messages is required", + "max-pending-msgs-max-error": "Max allowed value is 1000", + "max-pending-msgs-min-error": "Min allowed value is 1", + "max-retries": "Max retries", + "max-retries-required": "Max retries is required", + "max-retries-hint": "Maximum number of retries to push the deduplicated messages into the queue. 10 seconds delay is used between retries", + "max-retries-max-error": "Max allowed value is 100", + "max-retries-min-error": "Min allowed value is 0", + "strategy": "Strategy", + "strategy-required": "Strategy is required", + "strategy-all-hint": "Return all messages that arrived during deduplication period as a single JSON array message. Where each element represents object with msg and metadata inner properties.", + "strategy-first-hint": "Return first message that arrived during deduplication period.", + "strategy-last-hint": "Return last message that arrived during deduplication period.", + "first": "First", + "last": "Last", + "all": "All", + "output-msg-type-hint": "The message type of the deduplication result.", + "queue-name-hint": "The queue name where the deduplication result will be published.", + "keys": "Keys", + "keys-required": "Keys are required", + "rename-keys-in": "Rename keys in", + "data": "Data", + "message": "Message", + "metadata": "Metadata", + "current-key-name": "Current key name", + "key-name-required": "Key name is required", + "new-key-name": "New key name", + "new-key-name-required": "New key name is required", + "metadata-keys": "Metadata field names", + "json-path-expression": "JSON path expression", + "json-path-expression-required": "JSON path expression is required", + "json-path-expression-hint": "JSONPath specifies a path to an element or a set of elements in a JSON structure. '$' represents the root object or array.", + "relations-query": "Relations query", + "device-relations-query": "Device relations query", + "max-relation-level": "Max relation level", + "max-relation-level-error": "Value should be greater than 0 or unspecified.", + "max-relation-level-invalid": "Value should be an integer.", + "relation-type": "Relation type", + "relation-type-pattern": "Relation type pattern", + "relation-type-pattern-required": "Relation type pattern is required", + "relation-types-list": "Relation types to propagate", + "relation-types-list-hint": "If Propagate relation types are not selected, alarms will be propagated without filtering by relation type.", + "unlimited-level": "Unlimited level", + "latest-telemetry": "Latest telemetry", + "add-telemetry-key": "Add telemetry key", + "delete-from": "Delete from", + "use-regular-expression-delete-hint": "Use regular expression to delete keys by pattern.\n\nTips & tricks:\nPress 'Enter' to complete field name input.\nPress 'Backspace' to delete field name.\nMultiple field names supported.", + "fetch-into": "Fetch into", + "attr-mapping": "Attributes mapping:", + "source-attribute": "Source attribute key", + "source-attribute-required": "Source attribute key is required.", + "source-telemetry": "Source telemetry key", + "source-telemetry-required": "Source telemetry key is required.", + "target-key": "Target key", + "target-key-required": "Target key is required.", + "attr-mapping-required": "At least one mapping entry should be specified.", + "fields-mapping": "Fields mapping", + "fields-mapping-hint": "If the message field is set to $entityId, the message originator's id will be saved to the specified table column.", + "relations-query-config-direction-suffix": "originator", + "profile-name": "Profile name", + "fetch-circle-parameter-info-from-metadata-hint": "Metadata field '{{perimeterKeyName}}' should be defined in next format: {\"latitude\":48.196, \"longitude\":24.6532, \"radius\":100.0, \"radiusUnit\":\"METER\"}", + "fetch-poligon-parameter-info-from-metadata-hint": "Metadata field '{{perimeterKeyName}}' should be defined in next format: [[48.19736,24.65235],[48.19800,24.65060],...,[48.19849,24.65420]]", + "short-templatization-tooltip": "Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "fields-mapping-required": "At least one field mapping should be specified.", + "at-least-one-field-required": "At least one input field must have a value(s) provided.", + "originator-fields-sv-map-hint": "Target key fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "sv-map-hint": "Only target key fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "source-field": "Source field", + "source-field-required": "Source field is required.", + "originator-source": "Originator source", + "new-originator": "New originator", + "originator-customer": "Customer", + "originator-tenant": "Tenant", + "originator-related": "Related entity", + "originator-alarm-originator": "Alarm Originator", + "originator-entity": "Entity by name pattern", + "clone-message": "Clone message", + "transform": "Transform", + "default-ttl": "Default TTL in seconds", + "default-ttl-required": "Default TTL is required.", + "default-ttl-hint": "Rule node will fetch Time-to-Live (TTL) value from the message metadata. If no value is present, it defaults to the TTL specified in the configuration. If the value is set to 0, the TTL from the tenant profile configuration will be applied.", + "default-ttl-zero-hint": "TTL will not be applied if its value is set to 0.", + "min-default-ttl-message": "Only 0 minimum TTL is allowed.", + "generation-parameters": "Generation parameters", + "message-count": "Generated messages limit (0 - unlimited)", + "message-count-required": "Generated messages limit is required.", + "min-message-count-message": "Only 0 minimum message count is allowed.", + "period-seconds": "Period in seconds", + "period-seconds-required": "Period is required.", + "generation-frequency-seconds": "Generation frequency in seconds", + "generation-frequency-required": "Generation frequency is required.", + "min-generation-frequency-message": "Only 1 second minimum is allowed.", + "script-lang-tbel": "TBEL", + "script-lang-js": "JS", + "use-metadata-period-in-seconds-patterns": "Use period in seconds pattern", + "use-metadata-period-in-seconds-patterns-hint": "If selected, rule node use period in seconds interval pattern from message metadata or data assuming that intervals are in the seconds.", + "period-in-seconds-pattern": "Period in seconds pattern", + "period-in-seconds-pattern-required": "Period in seconds pattern is required", + "min-period-seconds-message": "Only 1 second minimum period is allowed.", + "originator": "Originator", + "message-body": "Message body", + "message-metadata": "Message metadata", + "generate": "Generate", + "current-rule-node": "Current Rule Node", + "current-tenant": "Current Tenant", + "generator-function": "Generator function", + "test-generator-function": "Test generator function", + "generator": "Generator", + "test-filter-function": "Test filter function", + "test-switch-function": "Test switch function", + "test-transformer-function": "Test transformer function", + "transformer": "Transformer", + "alarm-create-condition": "Alarm create condition", + "test-condition-function": "Test condition function", + "alarm-clear-condition": "Alarm clear condition", + "alarm-details-builder": "Alarm details builder", + "test-details-function": "Test details function", + "alarm-type": "Alarm type", + "select-entity-types": "Select entity types", + "alarm-type-required": "Alarm type is required.", + "alarm-severity": "Alarm severity", + "alarm-severity-required": "Alarm severity is required", + "alarm-severity-pattern": "Alarm severity pattern", + "alarm-status-filter": "Alarm status filter", + "alarm-status-list-empty": "Alarm status list is empty", + "no-alarm-status-matching": "No alarm status matching were found.", + "propagate": "Propagate alarm to related entities", + "propagate-to-owner": "Propagate alarm to entity owner (Customer or Tenant)", + "propagate-to-tenant": "Propagate alarm to Tenant", + "condition": "Condition", + "details": "Details", + "to-string": "To string", + "test-to-string-function": "Test to string function", + "from-template": "From", + "from-template-required": "From is required", + "message-to-metadata": "Message to metadata", + "metadata-to-message": "Metadata to message", + "from-message": "From message", + "from-metadata": "From metadata", + "to-template": "To", + "to-template-required": "To Template is required", + "mail-address-list-template-hint": "Comma separated address list, use ${metadataKey} for value from metadata, $[messageKey] for value from message body", + "cc-template": "Cc", + "bcc-template": "Bcc", + "subject-template": "Subject", + "subject-template-required": "Subject Template is required", + "body-template": "Body", + "body-template-required": "Body Template is required", + "dynamic-mail-body-type": "Dynamic mail body type", + "mail-body-type": "Mail body type", + "body-type-template": "Body type template", + "reply-routing-configuration": "Reply Routing Configuration", + "rpc-reply-routing-configuration-hint": "These configuration parameters specify the metadata key names used to identify the service, session, and request for sending a reply back.", + "reply-routing-configuration-hint": "These configuration parameters specify the metadata key names used to identify the service and request for sending a reply back.", + "request-id-metadata-attribute": "Request Id", + "service-id-metadata-attribute": "Service Id", + "session-id-metadata-attribute": "Session Id", + "timeout-sec": "Timeout in seconds", + "timeout-required": "Timeout is required", + "min-timeout-message": "Only 0 minimum timeout value is allowed.", + "endpoint-url-pattern": "Endpoint URL pattern", + "endpoint-url-pattern-required": "Endpoint URL pattern is required", + "request-method": "Request method", + "use-simple-client-http-factory": "Use simple client HTTP factory", + "ignore-request-body": "Without request body", + "parse-to-plain-text": "Parse to plain text", + "parse-to-plain-text-hint": "If selected, request body message payload will be transformed from JSON string to plain text, e.g. msg = \"Hello,\\t\"world\"\" will be parsed to Hello, \"world\"", + "read-timeout": "Read timeout in millis", + "read-timeout-hint": "The value of 0 means an infinite timeout", + "max-parallel-requests-count": "Max number of parallel requests", + "max-parallel-requests-count-hint": "The value of 0 specifies no limit in parallel processing", + "max-response-size": "Max response size (in KB)", + "max-response-size-hint": "The maximum amount of memory allocated for buffering data when decoding or encoding HTTP messages, such as JSON or XML payloads", + "headers": "Headers", + "headers-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body in header/value fields", + "header": "Header", + "header-required": "Header is required", + "value": "Value", + "value-required": "Value is required", + "topic-pattern": "Topic pattern", + "key-pattern": "Key pattern", + "key-pattern-hint": "Optional. If a valid partition number is specified, it will be used when sending the record. If no partition is specified, the key will be used instead. If neither is specified, a partition will be assigned in a round-robin fashion.", + "topic-pattern-required": "Topic pattern is required", + "topic": "Topic", + "topic-required": "Topic is required", + "bootstrap-servers": "Bootstrap servers", + "bootstrap-servers-required": "Bootstrap servers value is required", + "other-properties": "Other properties", + "key": "Key", + "key-required": "Key is required", + "retries": "Automatically retry times if fails", + "min-retries-message": "Only 0 minimum retries is allowed.", + "batch-size-bytes": "Produces batch size in bytes", + "min-batch-size-bytes-message": "Only 0 minimum batch size is allowed.", + "linger-ms": "Time to buffer locally (ms)", + "min-linger-ms-message": "Only 0 ms minimum value is allowed.", + "buffer-memory-bytes": "Client buffer max size in bytes", + "min-buffer-memory-message": "Only 0 minimum buffer size is allowed.", + "memory-buffer-size-range": "Memory buffer size must be between 0 and {{max}} KB", + "acks": "Number of acknowledgments", + "key-serializer": "Key serializer", + "key-serializer-required": "Key serializer is required", + "value-serializer": "Value serializer", + "value-serializer-required": "Value serializer is required", + "topic-arn-pattern": "Topic ARN pattern", + "topic-arn-pattern-required": "Topic ARN pattern is required", + "aws-access-key-id": "AWS Access Key ID", + "aws-access-key-id-required": "AWS Access Key ID is required", + "aws-secret-access-key": "AWS Secret Access Key", + "aws-secret-access-key-required": "AWS Secret Access Key is required", + "aws-region": "AWS Region", + "aws-region-required": "AWS Region is required", + "exchange-name-pattern": "Exchange name pattern", + "routing-key-pattern": "Routing key pattern", + "message-properties": "Message properties", + "host": "Host", + "host-required": "Host is required", + "port": "Port", + "port-required": "Port is required", + "port-range": "Port should be in a range from 1 to 65535.", + "virtual-host": "Virtual host", + "username": "Username", + "password": "Password", + "automatic-recovery": "Automatic recovery", + "connection-timeout-ms": "Connection timeout (ms)", + "min-connection-timeout-ms-message": "Only 0 ms minimum value is allowed.", + "handshake-timeout-ms": "Handshake timeout (ms)", + "min-handshake-timeout-ms-message": "Only 0 ms minimum value is allowed.", + "client-properties": "Client properties", + "queue-url-pattern": "Queue URL pattern", + "queue-url-pattern-required": "Queue URL pattern is required", + "delay-seconds": "Delay (seconds)", + "min-delay-seconds-message": "Only 0 seconds minimum value is allowed.", + "max-delay-seconds-message": "Only 900 seconds maximum value is allowed.", + "name": "Name", + "name-required": "Name is required", + "queue-type": "Queue type", + "sqs-queue-standard": "Standard", + "sqs-queue-fifo": "FIFO", + "gcp-project-id": "GCP project ID", + "gcp-project-id-required": "GCP project ID is required", + "gcp-service-account-key": "GCP service account key file", + "gcp-service-account-key-required": "GCP service account key file is required", + "pubsub-topic-name": "Topic name", + "pubsub-topic-name-required": "Topic name is required", + "message-attributes": "Message attributes", + "message-attributes-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body in name/value fields", + "connect-timeout": "Connection timeout (sec)", + "connect-timeout-required": "Connection timeout is required.", + "connect-timeout-range": "Connection timeout should be in a range from 1 to 200.", + "client-id": "Client ID", + "client-id-hint": "Optional. Leave empty for auto-generated Client ID. Be careful when specifying the Client ID. Majority of the MQTT brokers will not allow multiple connections with the same Client ID. To connect to such brokers, your mqtt Client ID must be unique. When platform is running in a micro-services mode, the copy of rule node is launched in each micro-service. This will automatically lead to multiple mqtt clients with the same ID and may cause failures of the rule node. To avoid such failures enable \"Add Service ID as suffix to Client ID\" option below.", + "append-client-id-suffix": "Add Service ID as suffix to Client ID", + "client-id-suffix-hint": "Optional. Applied when \"Client ID\" specified explicitly. If selected then Service ID will be added to Client ID as a suffix. Helps to avoid failures when platform is running in a micro-services mode.", + "device-id": "Device ID", + "device-id-required": "Device ID is required.", + "clean-session": "Clean session", + "enable-ssl": "Enable SSL", + "credentials": "Credentials", + "credentials-type": "Credentials type", + "credentials-type-required": "Credentials type is required.", + "credentials-anonymous": "Anonymous", + "credentials-basic": "Basic", + "credentials-pem": "PEM", + "credentials-pem-hint": "At least Server CA certificate file or a pair of Client certificate and Client private key files are required", + "credentials-sas": "Shared Access Signature", + "sas-key": "SAS Key", + "sas-key-required": "SAS Key is required.", + "hostname": "Hostname", + "hostname-required": "Hostname is required.", + "azure-ca-cert": "CA certificate file", + "username-required": "Username is required.", + "password-required": "Password is required.", + "ca-cert": "Server CA certificate file", + "private-key": "Client private key file", + "cert": "Client certificate file", + "no-file": "No file selected.", + "drop-file": "Drop a file or click to select a file to upload.", + "private-key-password": "Private key password", + "use-system-smtp-settings": "Use system SMTP settings", + "use-metadata-dynamic-interval": "Use dynamic interval", + "metadata-dynamic-interval-hint": "Interval start and end input fields support templatization. Note that the substituted template value should be set in milliseconds. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "use-metadata-interval-patterns-hint": "If selected, rule node use start and end interval patterns from message metadata or data assuming that intervals are in the milliseconds.", + "use-message-alarm-data": "Use message alarm data", + "overwrite-alarm-details": "Overwrite alarm details", + "use-alarm-severity-pattern": "Use alarm severity pattern", + "check-all-keys": "Check that all specified fields are present", + "check-all-keys-hint": "If selected, checks that all specified keys are present in the message data and metadata.", + "check-relation-to-specific-entity": "Check relation to specific entity", + "check-relation-to-specific-entity-tooltip": "If enabled, checks the presence of relation with a specific entity otherwise, checks the presence of relation with any entity. In both cases, relation lookup is based on configured direction and type.", + "check-relation-hint": "Checks existence of relation to specific entity or to any entity based on direction and relation type.", + "delete-relation-with-specific-entity": "Delete relation with specific entity", + "delete-relation-with-specific-entity-hint": "If enabled, will delete the relation with just one specific entity. Otherwise, the relation will be removed with all matching entities.", + "delete-relation-hint": "Deletes relation from the originator of the incoming message to the specified entity or list of entities based on direction and type.", + "remove-current-relations": "Remove current relations", + "remove-current-relations-hint": "Removes current relations from the originator of the incoming message based on direction and type.", + "change-originator-to-related-entity": "Change originator to related entity", + "change-originator-to-related-entity-hint": "Used to process submitted message as a message from another entity.", + "start-interval": "Interval start", + "end-interval": "Interval end", + "start-interval-required": "Interval start is required.", + "end-interval-required": "Interval end is required.", + "smtp-protocol": "Protocol", + "smtp-host": "SMTP host", + "smtp-host-required": "SMTP host is required.", + "smtp-port": "SMTP port", + "smtp-port-required": "You must supply a smtp port.", + "smtp-port-range": "SMTP port should be in a range from 1 to 65535.", + "timeout-msec": "Timeout ms", + "min-timeout-msec-message": "Only 0 ms minimum value is allowed.", + "enter-username": "Enter username", + "enter-password": "Enter password", + "enable-tls": "Enable TLS", + "tls-version": "TLS version", + "enable-proxy": "Enable proxy", + "use-system-proxy-properties": "Use system proxy properties", + "proxy-host": "Proxy host", + "proxy-host-required": "Proxy host is required.", + "proxy-port": "Proxy port", + "proxy-port-required": "Proxy port is required.", + "proxy-port-range": "Proxy port should be in a range from 1 to 65535.", + "proxy-user": "Proxy user", + "proxy-password": "Proxy password", + "proxy-scheme": "Proxy scheme", + "numbers-to-template": "Phone Numbers To Template", + "numbers-to-template-required": "Phone Numbers To Template is required", + "numbers-to-template-hint": "Comma separated Phone Numbers, use ${metadataKey} for value from metadata, $[messageKey] for value from message body", + "sms-message-template": "SMS message Template", + "sms-message-template-required": "SMS message Template is required", + "use-system-sms-settings": "Use system SMS provider settings", + "min-period-0-seconds-message": "Only 0 second minimum period is allowed.", + "max-pending-messages": "Maximum pending messages", + "max-pending-messages-required": "Maximum pending messages is required.", + "max-pending-messages-range": "Maximum pending messages should be in a range from 1 to 100000.", + "originator-types-filter": "Originator types filter", + "interval-seconds": "Interval in seconds", + "interval-seconds-required": "Interval is required.", + "int-range": "Value must not exceed the maximum integer limit (2147483648)", + "min-interval-seconds-message": "Only 1 second minimum interval is allowed.", + "output-timeseries-key-prefix": "Output time series key prefix", + "output-timeseries-key-prefix-required": "Output time series key prefix required.", + "separator-hint": "You should press \"Enter\" to complete field input.", + "select-details": "Select details", + "entity-details-id": "Id", + "entity-details-title": "Title", + "entity-details-country": "Country", + "entity-details-state": "State", + "entity-details-city": "City", + "entity-details-zip": "Zip", + "entity-details-address": "Address", + "entity-details-address2": "Address2", + "entity-details-additional_info": "Additional Info", + "entity-details-phone": "Phone", + "entity-details-email": "Email", + "email-sender": "Email sender", + "fields-to-check": "Fields to check", + "add-detail": "Add detail", + "check-all-keys-tooltip": "If enabled, checks the presence of all fields listed in the message and metadata field names within the incoming message and its metadata.", + "fields-to-check-hint": "Press \"Enter\" to complete field name input. Multiple field names supported.", + "entity-details-list-empty": "At least one detail should be selected.", + "alarm-status": "Alarm status", + "alarm-required": "At least one alarm status should be selected.", + "no-entity-details-matching": "No entity details matching were found.", + "custom-table-name": "Custom table name", + "custom-table-name-required": "Table Name is required", + "custom-table-hint": "The table must be created in your Cassandra cluster and its name must start with the prefix 'cs_tb_' to avoid the data insertion to the common TB tables. Enter the table name here without the 'cs_tb_' prefix.", + "message-field": "Message field", + "message-field-required": "Message field is required.", + "table-col": "Table column", + "table-col-required": "Table column is required.", + "latitude-field-name": "Latitude field name", + "longitude-field-name": "Longitude field name", + "latitude-field-name-required": "Latitude field name is required.", + "longitude-field-name-required": "Longitude field name is required.", + "fetch-perimeter-info-from-metadata": "Fetch perimeter information from metadata", + "fetch-perimeter-info-from-metadata-tooltip": "If perimeter type is set to 'Polygon' the value of metadata field '{{perimeterKeyName}}' will be set as perimeter definition without additional parsing of the value. Otherwise, if perimeter type is set to 'Circle' the value of '{{perimeterKeyName}}' metadata field will be parsed to extract 'latitude', 'longitude', 'radius', 'radiusUnit' fields that uses for circle perimeter definition.", + "perimeter-key-name": "Perimeter key name", + "perimeter-key-name-hint": "Metadata field name that includes perimeter information.", + "perimeter-key-name-required": "Perimeter key name is required.", + "perimeter-circle": "Circle", + "perimeter-polygon": "Polygon", + "perimeter-type": "Perimeter type", + "circle-center-latitude": "Center latitude", + "circle-center-latitude-required": "Center latitude is required.", + "circle-center-longitude": "Center longitude", + "circle-center-longitude-required": "Center longitude is required.", + "range-unit-meter": "Meter", + "range-unit-kilometer": "Kilometer", + "range-unit-foot": "Foot", + "range-unit-mile": "Mile", + "range-unit-nautical-mile": "Nautical mile", + "range-units": "Range units", + "range-units-required": "Range units is required.", + "range": "Range", + "range-required": "Range is required.", + "polygon-definition": "Polygon definition", + "polygon-definition-required": "Polygon definition is required.", + "polygon-definition-hint": "Use the following format for manual definition of polygon: [[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]].", + "min-inside-duration": "Minimal inside duration", + "min-inside-duration-value-required": "Minimal inside duration is required", + "min-inside-duration-time-unit": "Minimal inside duration time unit", + "min-outside-duration": "Minimal outside duration", + "min-outside-duration-value-required": "Minimal outside duration is required", + "min-outside-duration-time-unit": "Minimal outside duration time unit", + "tell-failure-if-absent": "Tell Failure", + "tell-failure-if-absent-hint": "If at least one selected key doesn't exist the outbound message will report \"Failure\".", + "get-latest-value-with-ts": "Fetch timestamp for the latest telemetry values", + "get-latest-value-with-ts-hint": "If selected, the latest telemetry values will also include timestamp, e.g: \"temp\": \"{\"ts\":1574329385897, \"value\":42}\"", + "ignore-null-strings": "Ignore null strings", + "ignore-null-strings-hint": "If selected rule node will ignore entity fields with empty value.", + "add-metadata-key-values-as-kafka-headers": "Add Message metadata key-value pairs to Kafka record headers", + "add-metadata-key-values-as-kafka-headers-hint": "If selected, key-value pairs from message metadata will be added to the outgoing records headers as byte arrays with predefined charset encoding.", + "charset-encoding": "Charset encoding", + "charset-encoding-required": "Charset encoding is required.", + "charset-us-ascii": "US-ASCII", + "charset-iso-8859-1": "ISO-8859-1", + "charset-utf-8": "UTF-8", + "charset-utf-16be": "UTF-16BE", + "charset-utf-16le": "UTF-16LE", + "charset-utf-16": "UTF-16", + "select-queue-hint": "The queue name can be selected from a drop-down list or add a custom name.", + "device-profile-node-hint": "Useful if you have duration or repeating conditions to ensure continuity of alarm state evaluation.", + "persist-alarm-rules": "Persist state of alarm rules", + "persist-alarm-rules-hint": "If enabled, the rule node will store the state of processing to the database.", + "fetch-alarm-rules": "Fetch state of alarm rules", + "fetch-alarm-rules-hint": "If enabled, the rule node will restore the state of processing on initialization and ensure that alarms are raised even after server restarts. Otherwise, the state will be restored when the first message from the device arrives.", + "input-value-key": "Input value key", + "input-value-key-required": "Input value key is required.", + "output-value-key": "Output value key", + "output-value-key-required": "Output value key is required.", + "number-of-digits-after-floating-point": "Number of digits after floating point", + "number-of-digits-after-floating-point-range": "Number of digits after floating point should be in a range from 0 to 15.", + "failure-if-delta-negative": "Tell Failure if delta is negative", + "failure-if-delta-negative-tooltip": "Rule node forces failure of message processing if delta value is negative.", + "use-caching": "Use caching", + "use-caching-tooltip": "Rule node will cache the value of \"{{inputValueKey}}\" that arrives from the incoming message to improve performance. Note that the cache will not be updated if you modify the \"{{inputValueKey}}\" value elsewhere.", + "add-time-difference-between-readings": "Add the time difference between \"{{inputValueKey}}\" readings", + "add-time-difference-between-readings-tooltip": "If enabled, the rule node will add the \"{{periodValueKey}}\" to the outbound message.", + "period-value-key": "Period value key", + "period-value-key-required": "Period value key is required.", + "general-pattern-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body.", + "alarm-severity-pattern-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body. Alarm severity should be system (CRITICAL, MAJOR etc.)", + "output-node-name-hint": "The rule node name corresponds to the relation type of the output message, and it is used to forward messages to other rule nodes in the caller rule chain.", + "skip-latest-persistence": "Skip latest persistence", + "skip-latest-persistence-hint": "Rule node will not update values for incoming keys for the latest time series data. Useful for highly loaded use-cases to decrease the pressure on the DB.", + "use-server-ts": "Use server ts", + "use-server-ts-hint": "Rule node will use the timestamp of message processing instead of the timestamp from the message. Useful for all sorts of sequential processing if you merge messages from multiple sources (devices, assets, etc).", + "kv-map-pattern-hint": "All input fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "kv-map-single-pattern-hint": "Input field support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "shared-scope": "Shared scope", + "server-scope": "Server scope", + "client-scope": "Client scope", + "attribute-type": "Attribute", + "attribute-type-description": "Fetch attribute value from database", + "attribute-type-result-description": "Store result as an entity attribute in the database", + "constant-type": "Constant", + "constant-type-description": "Define constant value", + "time-series-type": "Time series", + "time-series-type-description": "Fetch latest time-series value from database", + "time-series-type-result-description": "Store result as an entity time-series in the database", + "message-body-type": "Message", + "message-body-type-description": "Fetch argument value from incoming message", + "message-body-type-result-description": "Add result to the outgoing message", + "message-metadata-type": "Metadata", + "message-metadata-type-description": "Fetch argument value from incoming message metadata", + "message-metadata-result-description": "Add result to the outgoing message metadata", + "argument-tile": "Arguments", + "no-arguments-prompt": "No arguments configured", + "result-title": "Result", + "functions-field-input": "Functions", + "no-option-found": "No option found", + "argument-source-field-input": "Source", + "argument-source-field-input-required": "Argument source is required.", + "argument-key-field-input": "Key", + "argument-key-field-input-required": "Argument key is required.", + "constant-value-field-input": "Constant value", + "constant-value-field-input-required": "Constant value is required.", + "attribute-scope-field-input": "Attribute scope", + "attribute-scope-field-input-required": "Attribute scope os required.", + "default-value-field-input": "Default value", + "type-field-input": "Type", + "type-field-input-required": "Type is required.", + "key-field-input": "Key", + "add-entity-type": "Add entity type", + "add-device-profile": "Add device profile", + "key-field-input-required": "Key is required.", + "number-floating-point-field-input": "Number of digits after floating point", + "number-floating-point-field-input-hint": "Use 0 to convert result to integer", + "add-to-message-field-input": "Add to message", + "add-to-metadata-field-input": "Add to metadata", + "custom-expression-field-input": "Mathematical Expression", + "custom-expression-field-input-required": "Mathematical expression is required", + "custom-expression-field-input-hint": "Specify a mathematical expression to evaluate. Default expression demonstrates how to transform Fahrenheit to Celsius", + "retained-message": "Retained", + "attributes-mapping": "Attributes mapping", + "latest-telemetry-mapping": "Latest telemetry mapping", + "add-mapped-attribute-to": "Add mapped attributes to", + "add-mapped-latest-telemetry-to": "Add mapped latest telemetry to", + "add-mapped-fields-to": "Add mapped fields to", + "add-selected-details-to": "Add selected details to", + "clear-selected-types": "Clear selected types", + "clear-selected-details": "Clear selected details", + "clear-selected-fields": "Clear selected fields", + "clear-selected-keys": "Clear selected keys", + "geofence-configuration": "Geofence configuration", + "coordinate-field-names": "Coordinate field names", + "coordinate-field-hint": "Rule node tries to retrieve the specified fields from the message. If they are not present, it will look them up in the metadata.", + "presence-monitoring-strategy": "Presence monitoring strategy", + "presence-monitoring-strategy-on-first-message": "On first message", + "presence-monitoring-strategy-on-each-message": "On each message", + "presence-monitoring-strategy-on-first-message-hint": "Reports presence status 'Inside' or 'Outside' on the first message after the configured minimal duration has passed since previous presence status 'Entered' or 'Left' update.", + "presence-monitoring-strategy-on-each-message-hint": "Reports presence status 'Inside' or 'Outside' on each message after presence status 'Entered' or 'Left' update.", + "fetch-credentials-to": "Fetch credentials to", + "add-originator-attributes-to": "Add originator attributes to", + "originator-attributes": "Originator attributes", + "fetch-latest-telemetry-with-timestamp": "Fetch latest telemetry with timestamp", + "fetch-latest-telemetry-with-timestamp-tooltip": "If selected, latest telemetry values will be added to the outbound metadata with timestamp, e.g: \"{{latestTsKeyName}}\": \"{\"ts\":1574329385897, \"value\":42}\"", + "tell-failure": "Tell failure if any of the attributes are missing", + "tell-failure-tooltip": "If at least one selected key doesn't exist the outbound message will report \"Failure\".", + "created-time": "Created time", + "chip-help": "Press 'Enter' to complete {{inputName}} input. \nPress 'Backspace' to delete {{inputName}}. \nMultiple values supported.", + "detail": "detail", + "field-name": "field name", + "device-profile": "device profile", + "entity-type": "entity type", + "message-type": "message type", + "timeseries-key": "time series key", + "type": "Type", + "first-name": "First name", + "last-name": "Last name", + "label": "Label", + "originator-fields-mapping": "Originator fields mapping", + "add-mapped-originator-fields-to": "Add mapped originator fields to", + "fields": "Fields", + "skip-empty-fields": "Skip empty fields", + "skip-empty-fields-tooltip": "Fields with empty values will not be added to the output message/output metadata.", + "fetch-interval": "Fetch interval", + "fetch-strategy": "Fetch strategy", + "fetch-timeseries-from-to": "Fetch time series from {{startInterval}} {{startIntervalTimeUnit}} ago to {{endInterval}} {{endIntervalTimeUnit}} ago.", + "fetch-timeseries-from-to-invalid": "Fetch time series invalid (\"Interval start\" should be less than \"Interval end\").", + "use-metadata-dynamic-interval-tooltip": "If selected, the rule node will use dynamic interval start and end based on the message and metadata patterns.", + "all-mode-hint": "If selected fetch mode \"All\" rule node will retrieve telemetry from the fetch interval with configurable query parameters.", + "first-mode-hint": "If selected fetch mode \"First\" rule node will retrieve the closest telemetry to the fetch interval's start.", + "last-mode-hint": "If selected fetch mode \"Last\" rule node will retrieve the closest telemetry to the fetch interval's end.", + "ascending": "Ascending", + "descending": "Descending", + "min": "Min", + "max": "Max", + "average": "Average", + "sum": "Sum", + "count": "Count", + "none": "None", + "last-level-relation-tooltip": "If selected, the rule node will search related entities only on the level set in the max relation level.", + "last-level-device-relation-tooltip": "If selected, the rule node will search related devices only on the level set in the max relation level.", + "data-to-fetch": "Data to fetch", + "mapping-of-customers": "Mapping of customer's", + "map-fields-required": "All mapping fields are required.", + "attributes": "Attributes", + "related-device-attributes": "Related device attributes", + "add-selected-attributes-to": "Add selected attributes to", + "device-profiles": "Device profiles", + "mapping-of-tenant": "Mapping of tenant's", + "add-attribute-key": "Add attribute key", + "message-template": "Message template", + "message-template-required": "Message template is required", + "use-system-slack-settings": "Use system slack settings", + "slack-api-token": "Slack API token", + "slack-api-token-required": "Slack API token is required", + "keys-mapping": "keys mapping", + "add-key": "Add key", + "recipients": "Recipients", + "message-subject-and-content": "Message subject and content", + "template-rules-hint": "Both input fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the message metadata.", + "originator-customer-desc": "Use customer of incoming message originator as new originator.", + "originator-tenant-desc": "Use current tenant as new originator.", + "originator-related-entity-desc": "Use related entity as new originator. Lookup based on configured relation type and direction.", + "originator-alarm-originator-desc": "Use alarm originator as new originator. Only if incoming message originator is alarm entity.", + "originator-entity-by-name-pattern-desc": "Use entity fetched from DB as new originator. Lookup based on entity type and specified name pattern.", + "email-from-template-hint": "Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "recipients-block-main-hint": "Comma-separated address list. All input fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", + "forward-msg-default-rule-chain": "Forward message to the originator's default rule chain", + "forward-msg-default-rule-chain-tooltip": "If enabled, message will be forwarded to the originator's default rule chain, or rule chain from configuration, if originator has no default rule chain defined in the entity profile.", + "exclude-zero-deltas": "Exclude zero deltas from outbound message", + "exclude-zero-deltas-hint": "If enabled, the \"{{outputValueKey}}\" output key will be added to the outbound message if its value is not zero.", + "exclude-zero-deltas-time-difference-hint": "If enabled, the \"{{outputValueKey}}\" and \"{{periodValueKey}}\" output keys will be added to the outbound message only if the \"{{outputValueKey}}\" value is not zero.", + "search-direction-from": "From originator to target entity", + "search-direction-to": "From target entity to originator", + "del-relation-direction-from": "From originator", + "del-relation-direction-to": "To originator", + "target-entity": "Target entity", + "function-configuration": "Function configuration", + "function-name": "Function name", + "function-name-required": "Function name is required.", + "qualifier": "Qualifier", + "qualifier-hint": "If the qualifier is not specified, the default qualifier \"$LATEST\" will be used.", + "aws-credentials": "AWS Credentials", + "connection-timeout": "Connection timeout", + "connection-timeout-required": "Connection timeout is required.", + "connection-timeout-min": "Min connection timeout is 0.", + "connection-timeout-hint": "The amount of time to wait in seconds when initially establishing a connection before giving up and timing out. A value of 0 means infinity, and is not recommended.", + "request-timeout": "Request timeout", + "request-timeout-required": "Request timeout is required", + "request-timeout-min": "Min request timeout is 0", + "request-timeout-hint": "The amount of time to wait in seconds for the request to complete before giving up and timing out. A value of 0 means infinity, and is not recommended.", + "tell-failure-aws-lambda": "Tell Failure if AWS Lambda function execution raises exception", + "tell-failure-aws-lambda-hint": "Rule node forces failure of message processing if AWS Lambda function execution raises exception.", + "key-val": { + "key": "Key", + "value": "Value", + "see-examples": "See examples.", + "remove-entry": "Remove entry", + "remove-mapping-entry": "Remove mapping entry", + "add-mapping-entry": "Add mapping", + "add-entry": "Add entry", + "copy-key-values-from": "Copy key-values from", + "delete-key-values": "Delete key-values", + "delete-key-values-from": "Delete key-values from", + "at-least-one-key-error": "At least one key should be selected.", + "unique-key-value-pair-error": "'{{keyText}}' must be different from the '{{valText}}'!" + }, + "mail-body-types": { + "plain-text": "Plain text", + "html": "HTML", + "dynamic": "Dynamic", + "use-body-type-template": "Use body type template", + "plain-text-description": "Simple, unformatted text with no special styling or formating.", + "html-text-description": "Allows you to use HTML tags for formatting, links and images in your mai body.", + "dynamic-text-description": "Allows to use Plain Text or HTML body type dynamically based on templatization feature.", + "after-template-evaluation-hint": "After template evaluation value should be true for HTML, and false for Plain text." + } + }, "timezone": { "timezone": "Time zone", "select-timezone": "Select time zone", @@ -4481,734 +5216,6 @@ "too-many-requests": "Too many requests", "too-many-updates": "Too many updates" }, - "tb": { - "rulenode": { - "id": "Id", - "additional-info": "Additional Info", - "advanced-settings": "Advanced settings", - "create-entity-if-not-exists": "Create new entity if it doesn't exist", - "create-entity-if-not-exists-hint": "If enabled, a new entity with specified parameters will be created unless it already exists. Existing entities will be used as is for relation.", - "select-device-connectivity-event": "Select device connectivity event", - "entity-name-pattern": "Name pattern", - "device-name-pattern": "Device name", - "asset-name-pattern": "Asset name", - "entity-view-name-pattern": "Entity view name", - "customer-title-pattern": "Customer title", - "dashboard-name-pattern": "Dashboard title", - "user-name-pattern": "User email", - "edge-name-pattern": "Edge name", - "entity-name-pattern-required": "Name pattern is required", - "entity-name-pattern-hint": "Name pattern field support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "copy-message-type": "Copy message type", - "entity-type-pattern": "Type pattern", - "entity-type-pattern-required": "Type pattern is required", - "message-type-value": "Message type value", - "message-type-value-required": "Message type value is required", - "message-type-value-max-length": "Message type value should be less than 256", - "output-message-type": "Output message type", - "entity-cache-expiration": "Entities cache expiration time (sec)", - "entity-cache-expiration-hint": "Specifies maximum time interval allowed to store found entity records. 0 value means that records will never expire.", - "entity-cache-expiration-required": "Entities cache expiration time is required.", - "entity-cache-expiration-range": "Entities cache expiration time should be greater than or equal to 0.", - "customer-name-pattern": "Customer title", - "customer-name-pattern-required": "Customer title is required", - "customer-name-pattern-hint": "Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "create-customer-if-not-exists": "Create new customer if it doesn't exist", - "unassign-from-customer": "Unassign from specific customer if originator is dashboard", - "unassign-from-customer-tooltip": "Only dashboards can be assigned to multiple customers at once. \nIf the message originator is a dashboard, you need to explicitly specify the customer's title to unassign from.", - "customer-cache-expiration": "Customers cache expiration time (sec)", - "customer-cache-expiration-hint": "Specifies maximum time interval allowed to store found customer records. 0 value means that records will never expire.", - "customer-cache-expiration-required": "Customers cache expiration time is required.", - "customer-cache-expiration-range": "Customers cache expiration time should be greater than or equal to 0.", - "interval-start": "Interval start", - "interval-end": "Interval end", - "time-unit": "Time unit", - "fetch-mode": "Fetch mode", - "order-by-timestamp": "Order by timestamp", - "limit": "Limit", - "limit-hint": "Min limit value is 2, max - 1000. If you want to fetch a single entry, select fetch mode 'First' or 'Last'.", - "limit-required": "Limit is required.", - "limit-range": "Limit should be in a range from 2 to 1000.", - "time-unit-milliseconds": "Milliseconds", - "time-unit-seconds": "Seconds", - "time-unit-minutes": "Minutes", - "time-unit-hours": "Hours", - "time-unit-days": "Days", - "time-value-range": "Allowing range from 1 to 2147483647.", - "start-interval-value-required": "Interval start is required.", - "end-interval-value-required": "Interval end is required.", - "filter": "Filter", - "switch": "Switch", - "math-templatization-tooltip": "This field support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "add-message-type": "Add message type", - "select-message-types-required": "At least one message type should be selected.", - "select-message-types": "Select message types", - "no-message-types-found": "No message types found", - "no-message-type-matching": "'{{messageType}}' not found.", - "create-new-message-type": "Create a new one.", - "message-types-required": "Message types are required.", - "client-attributes": "Client attributes", - "shared-attributes": "Shared attributes", - "server-attributes": "Server attributes", - "attributes-keys": "Attributes keys", - "attributes-keys-required": "Attributes keys are required", - "attributes-scope": "Attributes scope", - "attributes-scope-value": "Attributes scope value", - "attributes-scope-value-copy": "Copy attributes scope value", - "attributes-scope-hint": "Use the 'scope' metadata key to dynamically set the attribute scope per message. If provided, this overrides the scope set in the configuration.", - "notify-device": "Force notification to the device", - "send-attributes-updated-notification": "Send attributes updated notification", - "send-attributes-updated-notification-hint": "Send notification about updated attributes as a separate message to the rule engine queue.", - "send-attributes-deleted-notification": "Send attributes deleted notification", - "send-attributes-deleted-notification-hint": "Send notification about deleted attributes as a separate message to the rule engine queue.", - "update-attributes-only-on-value-change": "Save attributes only if the value changes", - "update-attributes-only-on-value-change-hint": "Updates the attributes on every incoming message disregarding if their value has changed. Increases API usage and reduces performance.", - "update-attributes-only-on-value-change-hint-enabled": "Updates the attributes only if their value has changed. If the value is not changed, no update to the attribute timestamp nor attribute change notification will be sent.", - "fetch-credentials-to-metadata": "Fetch credentials to metadata", - "notify-device-on-update-hint": "If enabled, force notification to the device about shared attributes update. If disabled, the notification behavior is controlled by the 'notifyDevice' parameter from the incoming message metadata. To turn off the notification, the message metadata must contain the 'notifyDevice' parameter set to 'false'. Any other case will trigger the notification to the device.", - "notify-device-on-delete-hint": "If enabled, force notification to the device about shared attributes removal. If disabled, the notification behavior is controlled by the 'notifyDevice' parameter from the incoming message metadata. To turn on the notification, the message metadata must contain the 'notifyDevice' parameter set to 'true'. In any other case, the notification will not be triggered to the device.", - "latest-timeseries": "Latest time series data keys", - "timeseries-keys": "Time series keys", - "timeseries-keys-required": "At least one time series key should be selected.", - "add-timeseries-key": "Add time series key", - "add-message-field": "Add message field", - "relation-search-parameters": "Relation search parameters", - "relation-parameters": "Relation parameters", - "add-metadata-field": "Add metadata field", - "data-keys": "Message field names", - "copy-from": "Copy from", - "data-to-metadata": "Data to metadata", - "metadata-to-data": "Metadata to data", - "use-regular-expression-hint": "Use regular expression to copy keys by pattern.\n\nTips & tricks:\nPress 'Enter' to complete field name input.\nPress 'Backspace' to delete field name. Multiple field names supported.", - "interval": "Interval", - "interval-required": "Interval is required", - "interval-hint": "Deduplication interval in seconds.", - "interval-min-error": "Min allowed value is 1", - "max-pending-msgs": "Max pending messages", - "max-pending-msgs-hint": "Maximum number of messages that are stored in memory for each unique deduplication id.", - "max-pending-msgs-required": "Max pending messages is required", - "max-pending-msgs-max-error": "Max allowed value is 1000", - "max-pending-msgs-min-error": "Min allowed value is 1", - "max-retries": "Max retries", - "max-retries-required": "Max retries is required", - "max-retries-hint": "Maximum number of retries to push the deduplicated messages into the queue. 10 seconds delay is used between retries", - "max-retries-max-error": "Max allowed value is 100", - "max-retries-min-error": "Min allowed value is 0", - "strategy": "Strategy", - "strategy-required": "Strategy is required", - "strategy-all-hint": "Return all messages that arrived during deduplication period as a single JSON array message. Where each element represents object with msg and metadata inner properties.", - "strategy-first-hint": "Return first message that arrived during deduplication period.", - "strategy-last-hint": "Return last message that arrived during deduplication period.", - "first": "First", - "last": "Last", - "all": "All", - "output-msg-type-hint": "The message type of the deduplication result.", - "queue-name-hint": "The queue name where the deduplication result will be published.", - "keys": "Keys", - "keys-required": "Keys are required", - "rename-keys-in": "Rename keys in", - "data": "Data", - "message": "Message", - "metadata": "Metadata", - "current-key-name": "Current key name", - "key-name-required": "Key name is required", - "new-key-name": "New key name", - "new-key-name-required": "New key name is required", - "metadata-keys": "Metadata field names", - "json-path-expression": "JSON path expression", - "json-path-expression-required": "JSON path expression is required", - "json-path-expression-hint": "JSONPath specifies a path to an element or a set of elements in a JSON structure. '$' represents the root object or array.", - "relations-query": "Relations query", - "device-relations-query": "Device relations query", - "max-relation-level": "Max relation level", - "max-relation-level-error": "Value should be greater than 0 or unspecified.", - "max-relation-level-invalid": "Value should be an integer.", - "relation-type": "Relation type", - "relation-type-pattern": "Relation type pattern", - "relation-type-pattern-required": "Relation type pattern is required", - "relation-types-list": "Relation types to propagate", - "relation-types-list-hint": "If Propagate relation types are not selected, alarms will be propagated without filtering by relation type.", - "unlimited-level": "Unlimited level", - "latest-telemetry": "Latest telemetry", - "add-telemetry-key": "Add telemetry key", - "delete-from": "Delete from", - "use-regular-expression-delete-hint": "Use regular expression to delete keys by pattern.\n\nTips & tricks:\nPress 'Enter' to complete field name input.\nPress 'Backspace' to delete field name.\nMultiple field names supported.", - "fetch-into": "Fetch into", - "attr-mapping": "Attributes mapping:", - "source-attribute": "Source attribute key", - "source-attribute-required": "Source attribute key is required.", - "source-telemetry": "Source telemetry key", - "source-telemetry-required": "Source telemetry key is required.", - "target-key": "Target key", - "target-key-required": "Target key is required.", - "attr-mapping-required": "At least one mapping entry should be specified.", - "fields-mapping": "Fields mapping", - "fields-mapping-hint": "If the message field is set to $entityId, the message originator's id will be saved to the specified table column.", - "relations-query-config-direction-suffix": "originator", - "profile-name": "Profile name", - "fetch-circle-parameter-info-from-metadata-hint": "Metadata field '{{perimeterKeyName}}' should be defined in next format: {\"latitude\":48.196, \"longitude\":24.6532, \"radius\":100.0, \"radiusUnit\":\"METER\"}", - "fetch-poligon-parameter-info-from-metadata-hint": "Metadata field '{{perimeterKeyName}}' should be defined in next format: [[48.19736,24.65235],[48.19800,24.65060],...,[48.19849,24.65420]]", - "short-templatization-tooltip": "Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "fields-mapping-required": "At least one field mapping should be specified.", - "at-least-one-field-required": "At least one input field must have a value(s) provided.", - "originator-fields-sv-map-hint": "Target key fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "sv-map-hint": "Only target key fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "source-field": "Source field", - "source-field-required": "Source field is required.", - "originator-source": "Originator source", - "new-originator": "New originator", - "originator-customer": "Customer", - "originator-tenant": "Tenant", - "originator-related": "Related entity", - "originator-alarm-originator": "Alarm Originator", - "originator-entity": "Entity by name pattern", - "clone-message": "Clone message", - "transform": "Transform", - "default-ttl": "Default TTL in seconds", - "default-ttl-required": "Default TTL is required.", - "default-ttl-hint": "Rule node will fetch Time-to-Live (TTL) value from the message metadata. If no value is present, it defaults to the TTL specified in the configuration. If the value is set to 0, the TTL from the tenant profile configuration will be applied.", - "default-ttl-zero-hint": "TTL will not be applied if its value is set to 0.", - "min-default-ttl-message": "Only 0 minimum TTL is allowed.", - "generation-parameters": "Generation parameters", - "message-count": "Generated messages limit (0 - unlimited)", - "message-count-required": "Generated messages limit is required.", - "min-message-count-message": "Only 0 minimum message count is allowed.", - "period-seconds": "Period in seconds", - "period-seconds-required": "Period is required.", - "generation-frequency-seconds": "Generation frequency in seconds", - "generation-frequency-required": "Generation frequency is required.", - "min-generation-frequency-message": "Only 1 second minimum is allowed.", - "script-lang-tbel": "TBEL", - "script-lang-js": "JS", - "use-metadata-period-in-seconds-patterns": "Use period in seconds pattern", - "use-metadata-period-in-seconds-patterns-hint": "If selected, rule node use period in seconds interval pattern from message metadata or data assuming that intervals are in the seconds.", - "period-in-seconds-pattern": "Period in seconds pattern", - "period-in-seconds-pattern-required": "Period in seconds pattern is required", - "min-period-seconds-message": "Only 1 second minimum period is allowed.", - "originator": "Originator", - "message-body": "Message body", - "message-metadata": "Message metadata", - "generate": "Generate", - "current-rule-node": "Current Rule Node", - "current-tenant": "Current Tenant", - "generator-function": "Generator function", - "test-generator-function": "Test generator function", - "generator": "Generator", - "test-filter-function": "Test filter function", - "test-switch-function": "Test switch function", - "test-transformer-function": "Test transformer function", - "transformer": "Transformer", - "alarm-create-condition": "Alarm create condition", - "test-condition-function": "Test condition function", - "alarm-clear-condition": "Alarm clear condition", - "alarm-details-builder": "Alarm details builder", - "test-details-function": "Test details function", - "alarm-type": "Alarm type", - "select-entity-types": "Select entity types", - "alarm-type-required": "Alarm type is required.", - "alarm-severity": "Alarm severity", - "alarm-severity-required": "Alarm severity is required", - "alarm-severity-pattern": "Alarm severity pattern", - "alarm-status-filter": "Alarm status filter", - "alarm-status-list-empty": "Alarm status list is empty", - "no-alarm-status-matching": "No alarm status matching were found.", - "propagate": "Propagate alarm to related entities", - "propagate-to-owner": "Propagate alarm to entity owner (Customer or Tenant)", - "propagate-to-tenant": "Propagate alarm to Tenant", - "condition": "Condition", - "details": "Details", - "to-string": "To string", - "test-to-string-function": "Test to string function", - "from-template": "From", - "from-template-required": "From is required", - "message-to-metadata": "Message to metadata", - "metadata-to-message": "Metadata to message", - "from-message": "From message", - "from-metadata": "From metadata", - "to-template": "To", - "to-template-required": "To Template is required", - "mail-address-list-template-hint": "Comma separated address list, use ${metadataKey} for value from metadata, $[messageKey] for value from message body", - "cc-template": "Cc", - "bcc-template": "Bcc", - "subject-template": "Subject", - "subject-template-required": "Subject Template is required", - "body-template": "Body", - "body-template-required": "Body Template is required", - "dynamic-mail-body-type": "Dynamic mail body type", - "mail-body-type": "Mail body type", - "body-type-template": "Body type template", - "reply-routing-configuration": "Reply Routing Configuration", - "rpc-reply-routing-configuration-hint": "These configuration parameters specify the metadata key names used to identify the service, session, and request for sending a reply back.", - "reply-routing-configuration-hint": "These configuration parameters specify the metadata key names used to identify the service and request for sending a reply back.", - "request-id-metadata-attribute": "Request Id", - "service-id-metadata-attribute": "Service Id", - "session-id-metadata-attribute": "Session Id", - "timeout-sec": "Timeout in seconds", - "timeout-required": "Timeout is required", - "min-timeout-message": "Only 0 minimum timeout value is allowed.", - "endpoint-url-pattern": "Endpoint URL pattern", - "endpoint-url-pattern-required": "Endpoint URL pattern is required", - "request-method": "Request method", - "use-simple-client-http-factory": "Use simple client HTTP factory", - "ignore-request-body": "Without request body", - "parse-to-plain-text": "Parse to plain text", - "parse-to-plain-text-hint": "If selected, request body message payload will be transformed from JSON string to plain text, e.g. msg = \"Hello,\\t\"world\"\" will be parsed to Hello, \"world\"", - "read-timeout": "Read timeout in millis", - "read-timeout-hint": "The value of 0 means an infinite timeout", - "max-parallel-requests-count": "Max number of parallel requests", - "max-parallel-requests-count-hint": "The value of 0 specifies no limit in parallel processing", - "max-response-size": "Max response size (in KB)", - "max-response-size-hint": "The maximum amount of memory allocated for buffering data when decoding or encoding HTTP messages, such as JSON or XML payloads", - "headers": "Headers", - "headers-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body in header/value fields", - "header": "Header", - "header-required": "Header is required", - "value": "Value", - "value-required": "Value is required", - "topic-pattern": "Topic pattern", - "key-pattern": "Key pattern", - "key-pattern-hint": "Optional. If a valid partition number is specified, it will be used when sending the record. If no partition is specified, the key will be used instead. If neither is specified, a partition will be assigned in a round-robin fashion.", - "topic-pattern-required": "Topic pattern is required", - "topic": "Topic", - "topic-required": "Topic is required", - "bootstrap-servers": "Bootstrap servers", - "bootstrap-servers-required": "Bootstrap servers value is required", - "other-properties": "Other properties", - "key": "Key", - "key-required": "Key is required", - "retries": "Automatically retry times if fails", - "min-retries-message": "Only 0 minimum retries is allowed.", - "batch-size-bytes": "Produces batch size in bytes", - "min-batch-size-bytes-message": "Only 0 minimum batch size is allowed.", - "linger-ms": "Time to buffer locally (ms)", - "min-linger-ms-message": "Only 0 ms minimum value is allowed.", - "buffer-memory-bytes": "Client buffer max size in bytes", - "min-buffer-memory-message": "Only 0 minimum buffer size is allowed.", - "memory-buffer-size-range": "Memory buffer size must be between 0 and {{max}} KB", - "acks": "Number of acknowledgments", - "key-serializer": "Key serializer", - "key-serializer-required": "Key serializer is required", - "value-serializer": "Value serializer", - "value-serializer-required": "Value serializer is required", - "topic-arn-pattern": "Topic ARN pattern", - "topic-arn-pattern-required": "Topic ARN pattern is required", - "aws-access-key-id": "AWS Access Key ID", - "aws-access-key-id-required": "AWS Access Key ID is required", - "aws-secret-access-key": "AWS Secret Access Key", - "aws-secret-access-key-required": "AWS Secret Access Key is required", - "aws-region": "AWS Region", - "aws-region-required": "AWS Region is required", - "exchange-name-pattern": "Exchange name pattern", - "routing-key-pattern": "Routing key pattern", - "message-properties": "Message properties", - "host": "Host", - "host-required": "Host is required", - "port": "Port", - "port-required": "Port is required", - "port-range": "Port should be in a range from 1 to 65535.", - "virtual-host": "Virtual host", - "username": "Username", - "password": "Password", - "automatic-recovery": "Automatic recovery", - "connection-timeout-ms": "Connection timeout (ms)", - "min-connection-timeout-ms-message": "Only 0 ms minimum value is allowed.", - "handshake-timeout-ms": "Handshake timeout (ms)", - "min-handshake-timeout-ms-message": "Only 0 ms minimum value is allowed.", - "client-properties": "Client properties", - "queue-url-pattern": "Queue URL pattern", - "queue-url-pattern-required": "Queue URL pattern is required", - "delay-seconds": "Delay (seconds)", - "min-delay-seconds-message": "Only 0 seconds minimum value is allowed.", - "max-delay-seconds-message": "Only 900 seconds maximum value is allowed.", - "name": "Name", - "name-required": "Name is required", - "queue-type": "Queue type", - "sqs-queue-standard": "Standard", - "sqs-queue-fifo": "FIFO", - "gcp-project-id": "GCP project ID", - "gcp-project-id-required": "GCP project ID is required", - "gcp-service-account-key": "GCP service account key file", - "gcp-service-account-key-required": "GCP service account key file is required", - "pubsub-topic-name": "Topic name", - "pubsub-topic-name-required": "Topic name is required", - "message-attributes": "Message attributes", - "message-attributes-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body in name/value fields", - "connect-timeout": "Connection timeout (sec)", - "connect-timeout-required": "Connection timeout is required.", - "connect-timeout-range": "Connection timeout should be in a range from 1 to 200.", - "client-id": "Client ID", - "client-id-hint": "Optional. Leave empty for auto-generated Client ID. Be careful when specifying the Client ID. Majority of the MQTT brokers will not allow multiple connections with the same Client ID. To connect to such brokers, your mqtt Client ID must be unique. When platform is running in a micro-services mode, the copy of rule node is launched in each micro-service. This will automatically lead to multiple mqtt clients with the same ID and may cause failures of the rule node. To avoid such failures enable \"Add Service ID as suffix to Client ID\" option below.", - "append-client-id-suffix": "Add Service ID as suffix to Client ID", - "client-id-suffix-hint": "Optional. Applied when \"Client ID\" specified explicitly. If selected then Service ID will be added to Client ID as a suffix. Helps to avoid failures when platform is running in a micro-services mode.", - "device-id": "Device ID", - "device-id-required": "Device ID is required.", - "clean-session": "Clean session", - "enable-ssl": "Enable SSL", - "credentials": "Credentials", - "credentials-type": "Credentials type", - "credentials-type-required": "Credentials type is required.", - "credentials-anonymous": "Anonymous", - "credentials-basic": "Basic", - "credentials-pem": "PEM", - "credentials-pem-hint": "At least Server CA certificate file or a pair of Client certificate and Client private key files are required", - "credentials-sas": "Shared Access Signature", - "sas-key": "SAS Key", - "sas-key-required": "SAS Key is required.", - "hostname": "Hostname", - "hostname-required": "Hostname is required.", - "azure-ca-cert": "CA certificate file", - "username-required": "Username is required.", - "password-required": "Password is required.", - "ca-cert": "Server CA certificate file", - "private-key": "Client private key file", - "cert": "Client certificate file", - "no-file": "No file selected.", - "drop-file": "Drop a file or click to select a file to upload.", - "private-key-password": "Private key password", - "use-system-smtp-settings": "Use system SMTP settings", - "use-metadata-dynamic-interval": "Use dynamic interval", - "metadata-dynamic-interval-hint": "Interval start and end input fields support templatization. Note that the substituted template value should be set in milliseconds. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "use-metadata-interval-patterns-hint": "If selected, rule node use start and end interval patterns from message metadata or data assuming that intervals are in the milliseconds.", - "use-message-alarm-data": "Use message alarm data", - "overwrite-alarm-details": "Overwrite alarm details", - "use-alarm-severity-pattern": "Use alarm severity pattern", - "check-all-keys": "Check that all specified fields are present", - "check-all-keys-hint": "If selected, checks that all specified keys are present in the message data and metadata.", - "check-relation-to-specific-entity": "Check relation to specific entity", - "check-relation-to-specific-entity-tooltip": "If enabled, checks the presence of relation with a specific entity otherwise, checks the presence of relation with any entity. In both cases, relation lookup is based on configured direction and type.", - "check-relation-hint": "Checks existence of relation to specific entity or to any entity based on direction and relation type.", - "delete-relation-with-specific-entity": "Delete relation with specific entity", - "delete-relation-with-specific-entity-hint": "If enabled, will delete the relation with just one specific entity. Otherwise, the relation will be removed with all matching entities.", - "delete-relation-hint": "Deletes relation from the originator of the incoming message to the specified entity or list of entities based on direction and type.", - "remove-current-relations": "Remove current relations", - "remove-current-relations-hint": "Removes current relations from the originator of the incoming message based on direction and type.", - "change-originator-to-related-entity": "Change originator to related entity", - "change-originator-to-related-entity-hint": "Used to process submitted message as a message from another entity.", - "start-interval": "Interval start", - "end-interval": "Interval end", - "start-interval-required": "Interval start is required.", - "end-interval-required": "Interval end is required.", - "smtp-protocol": "Protocol", - "smtp-host": "SMTP host", - "smtp-host-required": "SMTP host is required.", - "smtp-port": "SMTP port", - "smtp-port-required": "You must supply a smtp port.", - "smtp-port-range": "SMTP port should be in a range from 1 to 65535.", - "timeout-msec": "Timeout ms", - "min-timeout-msec-message": "Only 0 ms minimum value is allowed.", - "enter-username": "Enter username", - "enter-password": "Enter password", - "enable-tls": "Enable TLS", - "tls-version": "TLS version", - "enable-proxy": "Enable proxy", - "use-system-proxy-properties": "Use system proxy properties", - "proxy-host": "Proxy host", - "proxy-host-required": "Proxy host is required.", - "proxy-port": "Proxy port", - "proxy-port-required": "Proxy port is required.", - "proxy-port-range": "Proxy port should be in a range from 1 to 65535.", - "proxy-user": "Proxy user", - "proxy-password": "Proxy password", - "proxy-scheme": "Proxy scheme", - "numbers-to-template": "Phone Numbers To Template", - "numbers-to-template-required": "Phone Numbers To Template is required", - "numbers-to-template-hint": "Comma separated Phone Numbers, use ${metadataKey} for value from metadata, $[messageKey] for value from message body", - "sms-message-template": "SMS message Template", - "sms-message-template-required": "SMS message Template is required", - "use-system-sms-settings": "Use system SMS provider settings", - "min-period-0-seconds-message": "Only 0 second minimum period is allowed.", - "max-pending-messages": "Maximum pending messages", - "max-pending-messages-required": "Maximum pending messages is required.", - "max-pending-messages-range": "Maximum pending messages should be in a range from 1 to 100000.", - "originator-types-filter": "Originator types filter", - "interval-seconds": "Interval in seconds", - "interval-seconds-required": "Interval is required.", - "int-range": "Value must not exceed the maximum integer limit (2147483648)", - "min-interval-seconds-message": "Only 1 second minimum interval is allowed.", - "output-timeseries-key-prefix": "Output time series key prefix", - "output-timeseries-key-prefix-required": "Output time series key prefix required.", - "separator-hint": "You should press \"Enter\" to complete field input.", - "select-details": "Select details", - "entity-details-id": "Id", - "entity-details-title": "Title", - "entity-details-country": "Country", - "entity-details-state": "State", - "entity-details-city": "City", - "entity-details-zip": "Zip", - "entity-details-address": "Address", - "entity-details-address2": "Address2", - "entity-details-additional_info": "Additional Info", - "entity-details-phone": "Phone", - "entity-details-email": "Email", - "email-sender": "Email sender", - "fields-to-check": "Fields to check", - "add-detail": "Add detail", - "check-all-keys-tooltip": "If enabled, checks the presence of all fields listed in the message and metadata field names within the incoming message and its metadata.", - "fields-to-check-hint": "Press \"Enter\" to complete field name input. Multiple field names supported.", - "entity-details-list-empty": "At least one detail should be selected.", - "alarm-status": "Alarm status", - "alarm-required": "At least one alarm status should be selected.", - "no-entity-details-matching": "No entity details matching were found.", - "custom-table-name": "Custom table name", - "custom-table-name-required": "Table Name is required", - "custom-table-hint": "The table must be created in your Cassandra cluster and its name must start with the prefix 'cs_tb_' to avoid the data insertion to the common TB tables. Enter the table name here without the 'cs_tb_' prefix.", - "message-field": "Message field", - "message-field-required": "Message field is required.", - "table-col": "Table column", - "table-col-required": "Table column is required.", - "latitude-field-name": "Latitude field name", - "longitude-field-name": "Longitude field name", - "latitude-field-name-required": "Latitude field name is required.", - "longitude-field-name-required": "Longitude field name is required.", - "fetch-perimeter-info-from-metadata": "Fetch perimeter information from metadata", - "fetch-perimeter-info-from-metadata-tooltip": "If perimeter type is set to 'Polygon' the value of metadata field '{{perimeterKeyName}}' will be set as perimeter definition without additional parsing of the value. Otherwise, if perimeter type is set to 'Circle' the value of '{{perimeterKeyName}}' metadata field will be parsed to extract 'latitude', 'longitude', 'radius', 'radiusUnit' fields that uses for circle perimeter definition.", - "perimeter-key-name": "Perimeter key name", - "perimeter-key-name-hint": "Metadata field name that includes perimeter information.", - "perimeter-key-name-required": "Perimeter key name is required.", - "perimeter-circle": "Circle", - "perimeter-polygon": "Polygon", - "perimeter-type": "Perimeter type", - "circle-center-latitude": "Center latitude", - "circle-center-latitude-required": "Center latitude is required.", - "circle-center-longitude": "Center longitude", - "circle-center-longitude-required": "Center longitude is required.", - "range-unit-meter": "Meter", - "range-unit-kilometer": "Kilometer", - "range-unit-foot": "Foot", - "range-unit-mile": "Mile", - "range-unit-nautical-mile": "Nautical mile", - "range-units": "Range units", - "range-units-required": "Range units is required.", - "range": "Range", - "range-required": "Range is required.", - "polygon-definition": "Polygon definition", - "polygon-definition-required": "Polygon definition is required.", - "polygon-definition-hint": "Use the following format for manual definition of polygon: [[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]].", - "min-inside-duration": "Minimal inside duration", - "min-inside-duration-value-required": "Minimal inside duration is required", - "min-inside-duration-time-unit": "Minimal inside duration time unit", - "min-outside-duration": "Minimal outside duration", - "min-outside-duration-value-required": "Minimal outside duration is required", - "min-outside-duration-time-unit": "Minimal outside duration time unit", - "tell-failure-if-absent": "Tell Failure", - "tell-failure-if-absent-hint": "If at least one selected key doesn't exist the outbound message will report \"Failure\".", - "get-latest-value-with-ts": "Fetch timestamp for the latest telemetry values", - "get-latest-value-with-ts-hint": "If selected, the latest telemetry values will also include timestamp, e.g: \"temp\": \"{\"ts\":1574329385897, \"value\":42}\"", - "ignore-null-strings": "Ignore null strings", - "ignore-null-strings-hint": "If selected rule node will ignore entity fields with empty value.", - "add-metadata-key-values-as-kafka-headers": "Add Message metadata key-value pairs to Kafka record headers", - "add-metadata-key-values-as-kafka-headers-hint": "If selected, key-value pairs from message metadata will be added to the outgoing records headers as byte arrays with predefined charset encoding.", - "charset-encoding": "Charset encoding", - "charset-encoding-required": "Charset encoding is required.", - "charset-us-ascii": "US-ASCII", - "charset-iso-8859-1": "ISO-8859-1", - "charset-utf-8": "UTF-8", - "charset-utf-16be": "UTF-16BE", - "charset-utf-16le": "UTF-16LE", - "charset-utf-16": "UTF-16", - "select-queue-hint": "The queue name can be selected from a drop-down list or add a custom name.", - "device-profile-node-hint": "Useful if you have duration or repeating conditions to ensure continuity of alarm state evaluation.", - "persist-alarm-rules": "Persist state of alarm rules", - "persist-alarm-rules-hint": "If enabled, the rule node will store the state of processing to the database.", - "fetch-alarm-rules": "Fetch state of alarm rules", - "fetch-alarm-rules-hint": "If enabled, the rule node will restore the state of processing on initialization and ensure that alarms are raised even after server restarts. Otherwise, the state will be restored when the first message from the device arrives.", - "input-value-key": "Input value key", - "input-value-key-required": "Input value key is required.", - "output-value-key": "Output value key", - "output-value-key-required": "Output value key is required.", - "number-of-digits-after-floating-point": "Number of digits after floating point", - "number-of-digits-after-floating-point-range": "Number of digits after floating point should be in a range from 0 to 15.", - "failure-if-delta-negative": "Tell Failure if delta is negative", - "failure-if-delta-negative-tooltip": "Rule node forces failure of message processing if delta value is negative.", - "use-caching": "Use caching", - "use-caching-tooltip": "Rule node will cache the value of \"{{inputValueKey}}\" that arrives from the incoming message to improve performance. Note that the cache will not be updated if you modify the \"{{inputValueKey}}\" value elsewhere.", - "add-time-difference-between-readings": "Add the time difference between \"{{inputValueKey}}\" readings", - "add-time-difference-between-readings-tooltip": "If enabled, the rule node will add the \"{{periodValueKey}}\" to the outbound message.", - "period-value-key": "Period value key", - "period-value-key-required": "Period value key is required.", - "general-pattern-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body.", - "alarm-severity-pattern-hint": "Use ${metadataKey} for value from metadata, $[messageKey] for value from message body. Alarm severity should be system (CRITICAL, MAJOR etc.)", - "output-node-name-hint": "The rule node name corresponds to the relation type of the output message, and it is used to forward messages to other rule nodes in the caller rule chain.", - "skip-latest-persistence": "Skip latest persistence", - "skip-latest-persistence-hint": "Rule node will not update values for incoming keys for the latest time series data. Useful for highly loaded use-cases to decrease the pressure on the DB.", - "use-server-ts": "Use server ts", - "use-server-ts-hint": "Rule node will use the timestamp of message processing instead of the timestamp from the message. Useful for all sorts of sequential processing if you merge messages from multiple sources (devices, assets, etc).", - "kv-map-pattern-hint": "All input fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "kv-map-single-pattern-hint": "Input field support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "shared-scope": "Shared scope", - "server-scope": "Server scope", - "client-scope": "Client scope", - "attribute-type": "Attribute", - "constant-type": "Constant", - "time-series-type": "Time series", - "message-body-type": "Message", - "message-metadata-type": "Metadata", - "argument-tile": "Arguments", - "no-arguments-prompt": "No arguments configured", - "result-title": "Result", - "functions-field-input": "Functions", - "no-option-found": "No option found", - "argument-source-field-input": "Source", - "argument-source-field-input-required": "Argument source is required.", - "argument-key-field-input": "Key", - "argument-key-field-input-required": "Argument key is required.", - "constant-value-field-input": "Constant value", - "constant-value-field-input-required": "Constant value is required.", - "attribute-scope-field-input": "Attribute scope", - "attribute-scope-field-input-required": "Attribute scope os required.", - "default-value-field-input": "Default value", - "type-field-input": "Type", - "type-field-input-required": "Type is required.", - "key-field-input": "Key", - "add-entity-type": "Add entity type", - "add-device-profile": "Add device profile", - "key-field-input-required": "Key is required.", - "number-floating-point-field-input": "Number of digits after floating point", - "number-floating-point-field-input-hint": "Use 0 to convert result to integer", - "add-to-message-field-input": "Add to message", - "add-to-metadata-field-input": "Add to metadata", - "custom-expression-field-input": "Mathematical Expression", - "custom-expression-field-input-required": "Mathematical expression is required", - "custom-expression-field-input-hint": "Specify a mathematical expression to evaluate. Default expression demonstrates how to transform Fahrenheit to Celsius", - "retained-message": "Retained", - "attributes-mapping": "Attributes mapping", - "latest-telemetry-mapping": "Latest telemetry mapping", - "add-mapped-attribute-to": "Add mapped attributes to", - "add-mapped-latest-telemetry-to": "Add mapped latest telemetry to", - "add-mapped-fields-to": "Add mapped fields to", - "add-selected-details-to": "Add selected details to", - "clear-selected-types": "Clear selected types", - "clear-selected-details": "Clear selected details", - "clear-selected-fields": "Clear selected fields", - "clear-selected-keys": "Clear selected keys", - "geofence-configuration": "Geofence configuration", - "coordinate-field-names": "Coordinate field names", - "coordinate-field-hint": "Rule node tries to retrieve the specified fields from the message. If they are not present, it will look them up in the metadata.", - "presence-monitoring-strategy": "Presence monitoring strategy", - "presence-monitoring-strategy-on-first-message": "On first message", - "presence-monitoring-strategy-on-each-message": "On each message", - "presence-monitoring-strategy-on-first-message-hint": "Reports presence status 'Inside' or 'Outside' on the first message after the configured minimal duration has passed since previous presence status 'Entered' or 'Left' update.", - "presence-monitoring-strategy-on-each-message-hint": "Reports presence status 'Inside' or 'Outside' on each message after presence status 'Entered' or 'Left' update.", - "fetch-credentials-to": "Fetch credentials to", - "add-originator-attributes-to": "Add originator attributes to", - "originator-attributes": "Originator attributes", - "fetch-latest-telemetry-with-timestamp": "Fetch latest telemetry with timestamp", - "fetch-latest-telemetry-with-timestamp-tooltip": "If selected, latest telemetry values will be added to the outbound metadata with timestamp, e.g: \"{{latestTsKeyName}}\": \"{\"ts\":1574329385897, \"value\":42}\"", - "tell-failure": "Tell failure if any of the attributes are missing", - "tell-failure-tooltip": "If at least one selected key doesn't exist the outbound message will report \"Failure\".", - "created-time": "Created time", - "chip-help": "Press 'Enter' to complete {{inputName}} input. \nPress 'Backspace' to delete {{inputName}}. \nMultiple values supported.", - "detail": "detail", - "field-name": "field name", - "device-profile": "device profile", - "entity-type": "entity type", - "message-type": "message type", - "timeseries-key": "time series key", - "type": "Type", - "first-name": "First name", - "last-name": "Last name", - "label": "Label", - "originator-fields-mapping": "Originator fields mapping", - "add-mapped-originator-fields-to": "Add mapped originator fields to", - "fields": "Fields", - "skip-empty-fields": "Skip empty fields", - "skip-empty-fields-tooltip": "Fields with empty values will not be added to the output message/output metadata.", - "fetch-interval": "Fetch interval", - "fetch-strategy": "Fetch strategy", - "fetch-timeseries-from-to": "Fetch time series from {{startInterval}} {{startIntervalTimeUnit}} ago to {{endInterval}} {{endIntervalTimeUnit}} ago.", - "fetch-timeseries-from-to-invalid": "Fetch time series invalid (\"Interval start\" should be less than \"Interval end\").", - "use-metadata-dynamic-interval-tooltip": "If selected, the rule node will use dynamic interval start and end based on the message and metadata patterns.", - "all-mode-hint": "If selected fetch mode \"All\" rule node will retrieve telemetry from the fetch interval with configurable query parameters.", - "first-mode-hint": "If selected fetch mode \"First\" rule node will retrieve the closest telemetry to the fetch interval's start.", - "last-mode-hint": "If selected fetch mode \"Last\" rule node will retrieve the closest telemetry to the fetch interval's end.", - "ascending": "Ascending", - "descending": "Descending", - "min": "Min", - "max": "Max", - "average": "Average", - "sum": "Sum", - "count": "Count", - "none": "None", - "last-level-relation-tooltip": "If selected, the rule node will search related entities only on the level set in the max relation level.", - "last-level-device-relation-tooltip": "If selected, the rule node will search related devices only on the level set in the max relation level.", - "data-to-fetch": "Data to fetch", - "mapping-of-customers": "Mapping of customer's", - "map-fields-required": "All mapping fields are required.", - "attributes": "Attributes", - "related-device-attributes": "Related device attributes", - "add-selected-attributes-to": "Add selected attributes to", - "device-profiles": "Device profiles", - "mapping-of-tenant": "Mapping of tenant's", - "add-attribute-key": "Add attribute key", - "message-template": "Message template", - "message-template-required": "Message template is required", - "use-system-slack-settings": "Use system slack settings", - "slack-api-token": "Slack API token", - "slack-api-token-required": "Slack API token is required", - "keys-mapping": "keys mapping", - "add-key": "Add key", - "recipients": "Recipients", - "message-subject-and-content": "Message subject and content", - "template-rules-hint": "Both input fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the message metadata.", - "originator-customer-desc": "Use customer of incoming message originator as new originator.", - "originator-tenant-desc": "Use current tenant as new originator.", - "originator-related-entity-desc": "Use related entity as new originator. Lookup based on configured relation type and direction.", - "originator-alarm-originator-desc": "Use alarm originator as new originator. Only if incoming message originator is alarm entity.", - "originator-entity-by-name-pattern-desc": "Use entity fetched from DB as new originator. Lookup based on entity type and specified name pattern.", - "email-from-template-hint": "Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "recipients-block-main-hint": "Comma-separated address list. All input fields support templatization. Use $[messageKey] to extract value from the message and ${metadataKey} to extract value from the metadata.", - "forward-msg-default-rule-chain": "Forward message to the originator's default rule chain", - "forward-msg-default-rule-chain-tooltip": "If enabled, message will be forwarded to the originator's default rule chain, or rule chain from configuration, if originator has no default rule chain defined in the entity profile.", - "exclude-zero-deltas": "Exclude zero deltas from outbound message", - "exclude-zero-deltas-hint": "If enabled, the \"{{outputValueKey}}\" output key will be added to the outbound message if its value is not zero.", - "exclude-zero-deltas-time-difference-hint": "If enabled, the \"{{outputValueKey}}\" and \"{{periodValueKey}}\" output keys will be added to the outbound message only if the \"{{outputValueKey}}\" value is not zero.", - "search-direction-from": "From originator to target entity", - "search-direction-to": "From target entity to originator", - "del-relation-direction-from": "From originator", - "del-relation-direction-to": "To originator", - "target-entity": "Target entity", - "function-configuration": "Function configuration", - "function-name": "Function name", - "function-name-required": "Function name is required.", - "qualifier": "Qualifier", - "qualifier-hint": "If the qualifier is not specified, the default qualifier \"$LATEST\" will be used.", - "aws-credentials": "AWS Credentials", - "connection-timeout": "Connection timeout", - "connection-timeout-required": "Connection timeout is required.", - "connection-timeout-min": "Min connection timeout is 0.", - "connection-timeout-hint": "The amount of time to wait in seconds when initially establishing a connection before giving up and timing out. A value of 0 means infinity, and is not recommended.", - "request-timeout": "Request timeout", - "request-timeout-required": "Request timeout is required", - "request-timeout-min": "Min request timeout is 0", - "request-timeout-hint": "The amount of time to wait in seconds for the request to complete before giving up and timing out. A value of 0 means infinity, and is not recommended.", - "tell-failure-aws-lambda": "Tell Failure if AWS Lambda function execution raises exception", - "tell-failure-aws-lambda-hint": "Rule node forces failure of message processing if AWS Lambda function execution raises exception." - }, - "key-val": { - "key": "Key", - "value": "Value", - "see-examples": "See examples.", - "remove-entry": "Remove entry", - "remove-mapping-entry": "Remove mapping entry", - "add-mapping-entry": "Add mapping", - "add-entry": "Add entry", - "copy-key-values-from": "Copy key-values from", - "delete-key-values": "Delete key-values", - "delete-key-values-from": "Delete key-values from", - "at-least-one-key-error": "At least one key should be selected.", - "unique-key-value-pair-error": "'{{keyText}}' must be different from the '{{valText}}'!" - }, - "mail-body-type": { - "plain-text": "Plain text", - "html": "HTML", - "dynamic": "Dynamic", - "use-body-type-template": "Use body type template", - "plain-text-description": "Simple, unformatted text with no special styling or formating.", - "html-text-description": "Allows you to use HTML tags for formatting, links and images in your mai body.", - "dynamic-text-description": "Allows to use Plain Text or HTML body type dynamically based on templatization feature.", - "after-template-evaluation-hint": "After template evaluation value should be true for HTML, and false for Plain text." - } - }, "tenant": { "tenant": "Tenant", "tenants": "Tenants",