Commit e389cca6daf0e65ba08e01c49a28423e5361c2db

Authored by iglilaw
1 parent a7b16a39

Added missing strings

... ... @@ -98,6 +98,159 @@ export default function addLocaleRussian(locales) {
98 98 "enable-tls": "Включить TLS",
99 99 "send-test-mail": "Отправить пробное письмо"
100 100 },
  101 + "alarm": { // TODO
  102 + "alarm": "Alarm",
  103 + "alarms": "Alarms",
  104 + "select-alarm": "Select alarm",
  105 + "no-alarms-matching": "No alarms matching '{{entity}}' were found.",
  106 + "alarm-required": "Alarm is required",
  107 + "alarm-status": "Alarm status",
  108 + "search-status": {
  109 + "ANY": "Any",
  110 + "ACTIVE": "Active",
  111 + "CLEARED": "Cleared",
  112 + "ACK": "Acknowledged",
  113 + "UNACK": "Unacknowledged"
  114 + },
  115 + "display-status": {
  116 + "ACTIVE_UNACK": "Active Unacknowledged",
  117 + "ACTIVE_ACK": "Active Acknowledged",
  118 + "CLEARED_UNACK": "Cleared Unacknowledged",
  119 + "CLEARED_ACK": "Cleared Acknowledged"
  120 + },
  121 + "no-alarms-prompt": "No alarms found",
  122 + "created-time": "Created time",
  123 + "type": "Type",
  124 + "severity": "Severity",
  125 + "originator": "Originator",
  126 + "originator-type": "Originator type",
  127 + "details": "Details",
  128 + "status": "Status",
  129 + "alarm-details": "Alarm details",
  130 + "start-time": "Start time",
  131 + "end-time": "End time",
  132 + "ack-time": "Acknowledged time",
  133 + "clear-time": "Cleared time",
  134 + "severity-critical": "Critical",
  135 + "severity-major": "Major",
  136 + "severity-minor": "Minor",
  137 + "severity-warning": "Warning",
  138 + "severity-indeterminate": "Indeterminate",
  139 + "acknowledge": "Acknowledge",
  140 + "clear": "Clear",
  141 + "search": "Search alarms",
  142 + "selected-alarms": "{ count, select, 1 {1 alarm} other {# alarms} } selected",
  143 + "no-data": "No data to display",
  144 + "polling-interval": "Alarms polling interval (sec)",
  145 + "polling-interval-required": "Alarms polling interval is required.",
  146 + "min-polling-interval-message": "At least 1 sec polling interval is allowed.",
  147 + "aknowledge-alarms-title": "Acknowledge { count, select, 1 {1 alarm} other {# alarms} }",
  148 + "aknowledge-alarms-text": "Are you sure you want to acknowledge { count, select, 1 {1 alarm} other {# alarms} }?",
  149 + "clear-alarms-title": "Clear { count, select, 1 {1 alarm} other {# alarms} }",
  150 + "clear-alarms-text": "Are you sure you want to clear { count, select, 1 {1 alarm} other {# alarms} }?"
  151 + },
  152 + "alias": { // TODO
  153 + "add": "Add alias",
  154 + "edit": "Edit alias",
  155 + "name": "Alias name",
  156 + "name-required": "Alias name is required",
  157 + "duplicate-alias": "Alias with same name is already exists.",
  158 + "filter-type-single-entity": "Single entity",
  159 + "filter-type-entity-list": "Entity list",
  160 + "filter-type-entity-name": "Entity name",
  161 + "filter-type-state-entity": "Entity from dashboard state",
  162 + "filter-type-state-entity-description": "Entity taken from dashboard state parameters",
  163 + "filter-type-asset-type": "Asset type",
  164 + "filter-type-asset-type-description": "Assets of type '{{assetType}}'",
  165 + "filter-type-asset-type-and-name-description": "Assets of type '{{assetType}}' and with name starting with '{{prefix}}'",
  166 + "filter-type-device-type": "Device type",
  167 + "filter-type-device-type-description": "Devices of type '{{deviceType}}'",
  168 + "filter-type-device-type-and-name-description": "Devices of type '{{deviceType}}' and with name starting with '{{prefix}}'",
  169 + "filter-type-relations-query": "Relations query",
  170 + "filter-type-relations-query-description": "{{entities}} that have {{relationType}} relation {{direction}} {{rootEntity}}",
  171 + "filter-type-asset-search-query": "Asset search query",
  172 + "filter-type-asset-search-query-description": "Assets with types {{assetTypes}} that have {{relationType}} relation {{direction}} {{rootEntity}}",
  173 + "filter-type-device-search-query": "Device search query",
  174 + "filter-type-device-search-query-description": "Devices with types {{deviceTypes}} that have {{relationType}} relation {{direction}} {{rootEntity}}",
  175 + "entity-filter": "Entity filter",
  176 + "resolve-multiple": "Resolve as multiple entities",
  177 + "filter-type": "Filter type",
  178 + "filter-type-required": "Filter type is required.",
  179 + "entity-filter-no-entity-matched": "No entities matching specified filter were found.",
  180 + "no-entity-filter-specified": "No entity filter specified",
  181 + "root-state-entity": "Use dashboard state entity as root",
  182 + "root-entity": "Root entity",
  183 + "state-entity-parameter-name": "State entity parameter name",
  184 + "default-state-entity": "Default state entity",
  185 + "default-entity-parameter-name": "By default",
  186 + "max-relation-level": "Max relation level",
  187 + "unlimited-level": "Unlimited level",
  188 + "state-entity": "Dashboard state entity",
  189 + "all-entities": "All entities",
  190 + "any-relation": "any"
  191 + },
  192 + "asset": { // TODO
  193 + "asset": "Asset",
  194 + "assets": "Assets",
  195 + "management": "Asset management",
  196 + "view-assets": "View Assets",
  197 + "add": "Add Asset",
  198 + "assign-to-customer": "Assign to customer",
  199 + "assign-asset-to-customer": "Assign Asset(s) To Customer",
  200 + "assign-asset-to-customer-text": "Please select the assets to assign to the customer",
  201 + "no-assets-text": "No assets found",
  202 + "assign-to-customer-text": "Please select the customer to assign the asset(s)",
  203 + "public": "Public",
  204 + "assignedToCustomer": "Assigned to customer",
  205 + "make-public": "Make asset public",
  206 + "make-private": "Make asset private",
  207 + "unassign-from-customer": "Unassign from customer",
  208 + "delete": "Delete asset",
  209 + "asset-public": "Asset is public",
  210 + "asset-type": "Asset type",
  211 + "asset-type-required": "Asset type is required.",
  212 + "select-asset-type": "Select asset type",
  213 + "enter-asset-type": "Enter asset type",
  214 + "any-asset": "Any asset",
  215 + "no-asset-types-matching": "No asset types matching '{{entitySubtype}}' were found.",
  216 + "asset-type-list-empty": "No asset types selected.",
  217 + "asset-types": "Asset types",
  218 + "name": "Name",
  219 + "name-required": "Name is required.",
  220 + "description": "Description",
  221 + "type": "Type",
  222 + "type-required": "Type is required.",
  223 + "details": "Details",
  224 + "events": "Events",
  225 + "add-asset-text": "Add new asset",
  226 + "asset-details": "Asset details",
  227 + "assign-assets": "Assign assets",
  228 + "assign-assets-text": "Assign { count, select, 1 {1 asset} other {# assets} } to customer",
  229 + "delete-assets": "Delete assets",
  230 + "unassign-assets": "Unassign assets",
  231 + "unassign-assets-action-title": "Unassign { count, select, 1 {1 asset} other {# assets} } from customer",
  232 + "assign-new-asset": "Assign new asset",
  233 + "delete-asset-title": "Are you sure you want to delete the asset '{{assetName}}'?",
  234 + "delete-asset-text": "Be careful, after the confirmation the asset and all related data will become unrecoverable.",
  235 + "delete-assets-title": "Are you sure you want to delete { count, select, 1 {1 asset} other {# assets} }?",
  236 + "delete-assets-action-title": "Delete { count, select, 1 {1 asset} other {# assets} }",
  237 + "delete-assets-text": "Be careful, after the confirmation all selected assets will be removed and all related data will become unrecoverable.",
  238 + "make-public-asset-title": "Are you sure you want to make the asset '{{assetName}}' public?",
  239 + "make-public-asset-text": "After the confirmation the asset and all its data will be made public and accessible by others.",
  240 + "make-private-asset-title": "Are you sure you want to make the asset '{{assetName}}' private?",
  241 + "make-private-asset-text": "After the confirmation the asset and all its data will be made private and won't be accessible by others.",
  242 + "unassign-asset-title": "Are you sure you want to unassign the asset '{{assetName}}'?",
  243 + "unassign-asset-text": "After the confirmation the asset will be unassigned and won't be accessible by the customer.",
  244 + "unassign-asset": "Unassign asset",
  245 + "unassign-assets-title": "Are you sure you want to unassign { count, select, 1 {1 asset} other {# assets} }?",
  246 + "unassign-assets-text": "After the confirmation all selected assets will be unassigned and won't be accessible by the customer.",
  247 + "copyId": "Copy asset Id",
  248 + "idCopiedMessage": "Asset Id has been copied to clipboard",
  249 + "select-asset": "Select asset",
  250 + "no-assets-matching": "No assets matching '{{entity}}' were found.",
  251 + "asset-required": "Asset is required",
  252 + "name-starts-with": "Asset name starts with"
  253 + },
101 254 "attribute": {
102 255 "attributes": "Атрибуты",
103 256 "latest-telemetry": "Последняя телеметрия",
... ... @@ -124,6 +277,38 @@ export default function addLocaleRussian(locales) {
124 277 "selected-attributes": "{ count, plural, 1 {Выбран} other {Выбраны} } { count, plural, one {1 атрибут} few {# атрибута} other {# атрибутов} }",
125 278 "selected-telemetry": "{ count, plural, 1 {Выбран} other {Выбраны} } { count, plural, 1 {1 параметр} few {# параметра} other {# параметров} } телеметрии"
126 279 },
  280 + "audit-log": { // TODO
  281 + "audit": "Audit",
  282 + "audit-logs": "Audit Logs",
  283 + "timestamp": "Timestamp",
  284 + "entity-type": "Entity Type",
  285 + "entity-name": "Entity Name",
  286 + "user": "User",
  287 + "type": "Type",
  288 + "status": "Status",
  289 + "details": "Details",
  290 + "type-added": "Added",
  291 + "type-deleted": "Deleted",
  292 + "type-updated": "Updated",
  293 + "type-attributes-updated": "Attributes updated",
  294 + "type-attributes-deleted": "Attributes deleted",
  295 + "type-rpc-call": "RPC call",
  296 + "type-credentials-updated": "Credentials updated",
  297 + "type-assigned-to-customer": "Assigned to Customer",
  298 + "type-unassigned-from-customer": "Unassigned from Customer",
  299 + "type-activated": "Activated",
  300 + "type-suspended": "Suspended",
  301 + "type-credentials-read": "Credentials read",
  302 + "type-attributes-read": "Attributes read",
  303 + "status-success": "Success",
  304 + "status-failure": "Failure",
  305 + "audit-log-details": "Audit log details",
  306 + "no-audit-logs-prompt": "No logs found",
  307 + "action-data": "Action data",
  308 + "failure-details": "Failure details",
  309 + "search": "Search audit logs",
  310 + "clear-search": "Clear search"
  311 + },
127 312 "confirm-on-exit": {
128 313 "message": "У вас есть несохраненные изменения. Вы точно хотите покинуть эту страницу?",
129 314 "html-message": "У вас есть несохраненные изменения.<br/>Вы точно хотите покинуть эту страницу?",
... ... @@ -148,6 +333,11 @@ export default function addLocaleRussian(locales) {
148 333 "enter-password": "Введите пароль",
149 334 "enter-search": "Введите условие поиска"
150 335 },
  336 + "content-type": { // TODO
  337 + "json": "Json",
  338 + "text": "Text",
  339 + "binary": "Binary (Base64)"
  340 + },
151 341 "customer": {
152 342 "customers": "Клиенты",
153 343 "management": "Управление клиентами",
... ... @@ -172,11 +362,22 @@ export default function addLocaleRussian(locales) {
172 362 "delete-customers-action-title": "Удалить { count, plural, one {1 клиента} other {# клиентов} } }",
173 363 "delete-customers-text": "Внимание, после подтверждения клиенты и вся связанная с ними информация будут безвозвратно утеряны.",
174 364 "manage-users": "Управление пользователями",
  365 + "manage-assets": "Manage assets", // TODO
175 366 "manage-devices": "Управление устройствами",
176 367 "manage-dashboards": "Управление дашбордами",
177 368 "title": "Имя",
178 369 "title-required": "Название обязательно.",
179   - "description": "Описание"
  370 + "description": "Описание",
  371 + "details": "Details", // TODO
  372 + "events": "Events", // TODO
  373 + "copyId": "Copy customer Id", // TODO
  374 + "idCopiedMessage": "Customer Id has been copied to clipboard", // TODO
  375 + "select-customer": "Select customer", // TODO
  376 + "no-customers-matching": "No customers matching '{{entity}}' were found.", // TODO
  377 + "customer-required": "Customer is required", // TODO
  378 + "select-default-customer": "Select default customer", // TODO
  379 + "default-customer": "Default customer", // TODO
  380 + "default-customer-required": "Default customer is required in order to debug dashboard on Tenant level" // TODO
180 381 },
181 382 "datetime": {
182 383 "date-from": "Дата с",
... ... @@ -288,13 +489,35 @@ export default function addLocaleRussian(locales) {
288 489 "public": "Общедоступный",
289 490 "public-link": "Общедоступная ссылка",
290 491 "copy-public-link": "Скопировать общедоступную ссылку",
291   - "public-link-copied-message": "Общедоступная ссылка на дашборд скопирована в буфер обмена"
  492 + "public-link-copied-message": "Общедоступная ссылка на дашборд скопирована в буфер обмена",
  493 + "manage-states": "Manage dashboard states", // TODO
  494 + "states": "Dashboard states", // TODO
  495 + "search-states": "Search dashboard states", // TODO
  496 + "selected-states": "{ count, select, 1 {1 dashboard state} other {# dashboard states} } selected", // TODO
  497 + "edit-state": "Edit dashboard state", // TODO
  498 + "delete-state": "Delete dashboard state", // TODO
  499 + "add-state": "Add dashboard state", // TODO
  500 + "state": "Dashboard state", // TODO
  501 + "state-name": "Name", // TODO
  502 + "state-name-required": "Dashboard state name is required.", // TODO
  503 + "state-id": "State Id", // TODO
  504 + "state-id-required": "Dashboard state id is required.", // TODO
  505 + "state-id-exists": "Dashboard state with the same id is already exists.", // TODO
  506 + "is-root-state": "Root state", // TODO
  507 + "delete-state-title": "Delete dashboard state", // TODO
  508 + "delete-state-text": "Are you sure you want delete dashboard state with name '{{stateName}}'?", // TODO
  509 + "show-details": "Show details", // TODO
  510 + "hide-details": "Hide details", // TODO
  511 + "select-state": "Select target state", // TODO
  512 + "state-controller": "State controller" // TODO
292 513 },
293 514 "datakey": {
294 515 "settings": "Настройки",
295 516 "advanced": "Дополнительно",
296 517 "label": "Метка",
297 518 "color": "Цвет",
  519 + "units": "Special symbol to show next to value", // TODO
  520 + "decimals": "Number of digits after floating point", // TODO
298 521 "data-generation-func": "Функция генерации данных",
299 522 "use-data-post-processing-func": "Использовать функцию пост-обработки данных",
300 523 "configuration": "Конфигурация ключа данных",
... ... @@ -302,8 +525,11 @@ export default function addLocaleRussian(locales) {
302 525 "attributes": "Атрибуты",
303 526 "timeseries-required": "Выборка по времени обязательна.",
304 527 "timeseries-or-attributes-required": "Выборка по времени/атрибуты обязательны.",
  528 + "maximum-timeseries-or-attributes": "Maximum { count, select, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }", // TODO
  529 + "alarm-fields-required": "Alarm fields are required.", // TODO
305 530 "function-types": "Тип функции",
306   - "function-types-required": "Тип функции обязателен."
  531 + "function-types-required": "Тип функции обязателен.",
  532 + "maximum-function-types": "Maximum { count, select, 1 {1 function type is allowed.} other {# function types are allowed} }" // TODO
307 533 },
308 534 "datasource": {
309 535 "type": "Тип источника данных",
... ... @@ -408,11 +634,101 @@ export default function addLocaleRussian(locales) {
408 634 "unhandled-error-code": "Код необработанной ошибки: {{errorCode}}",
409 635 "unknown-error": "Неизвестная ошибка"
410 636 },
  637 + "entity": { // TODO
  638 + "entity": "Entity",
  639 + "entities": "Entities",
  640 + "aliases": "Entity aliases",
  641 + "entity-alias": "Entity alias",
  642 + "unable-delete-entity-alias-title": "Unable to delete entity alias",
  643 + "unable-delete-entity-alias-text": "Entity alias '{{entityAlias}}' can't be deleted as it used by the following widget(s):<br/>{{widgetsList}}",
  644 + "duplicate-alias-error": "Duplicate alias found '{{alias}}'.<br>Entity aliases must be unique whithin the dashboard.",
  645 + "missing-entity-filter-error": "Filter is missing for alias '{{alias}}'.",
  646 + "configure-alias": "Configure '{{alias}}' alias",
  647 + "alias": "Alias",
  648 + "alias-required": "Entity alias is required.",
  649 + "remove-alias": "Remove entity alias",
  650 + "add-alias": "Add entity alias",
  651 + "entity-list": "Entity list",
  652 + "entity-type": "Entity type",
  653 + "entity-types": "Entity types",
  654 + "entity-type-list": "Entity type list",
  655 + "any-entity": "Any entity",
  656 + "enter-entity-type": "Enter entity type",
  657 + "no-entities-matching": "No entities matching '{{entity}}' were found.",
  658 + "no-entity-types-matching": "No entity types matching '{{entityType}}' were found.",
  659 + "name-starts-with": "Name starts with",
  660 + "use-entity-name-filter": "Use filter",
  661 + "entity-list-empty": "No entities selected.",
  662 + "entity-type-list-empty": "No entity types selected.",
  663 + "entity-name-filter-required": "Entity name filter is required.",
  664 + "entity-name-filter-no-entity-matched": "No entities starting with '{{entity}}' were found.",
  665 + "all-subtypes": "All",
  666 + "select-entities": "Select entities",
  667 + "no-aliases-found": "No aliases found.",
  668 + "no-alias-matching": "'{{alias}}' not found.",
  669 + "create-new-alias": "Create a new one!",
  670 + "key": "Key",
  671 + "key-name": "Key name",
  672 + "no-keys-found": "No keys found.",
  673 + "no-key-matching": "'{{key}}' not found.",
  674 + "create-new-key": "Create a new one!",
  675 + "type": "Type",
  676 + "type-required": "Entity type is required.",
  677 + "type-device": "Device",
  678 + "type-devices": "Devices",
  679 + "list-of-devices": "{ count, select, 1 {One device} other {List of # devices} }",
  680 + "device-name-starts-with": "Devices whose names start with '{{prefix}}'",
  681 + "type-asset": "Asset",
  682 + "type-assets": "Assets",
  683 + "list-of-assets": "{ count, select, 1 {One asset} other {List of # assets} }",
  684 + "asset-name-starts-with": "Assets whose names start with '{{prefix}}'",
  685 + "type-rule": "Rule",
  686 + "type-rules": "Rules",
  687 + "list-of-rules": "{ count, select, 1 {One rule} other {List of # rules} }",
  688 + "rule-name-starts-with": "Rules whose names start with '{{prefix}}'",
  689 + "type-plugin": "Plugin",
  690 + "type-plugins": "Plugins",
  691 + "list-of-plugins": "{ count, select, 1 {One plugin} other {List of # plugins} }",
  692 + "plugin-name-starts-with": "Plugins whose names start with '{{prefix}}'",
  693 + "type-tenant": "Tenant",
  694 + "type-tenants": "Tenants",
  695 + "list-of-tenants": "{ count, select, 1 {One tenant} other {List of # tenants} }",
  696 + "tenant-name-starts-with": "Tenants whose names start with '{{prefix}}'",
  697 + "type-customer": "Customer",
  698 + "type-customers": "Customers",
  699 + "list-of-customers": "{ count, select, 1 {One customer} other {List of # customers} }",
  700 + "customer-name-starts-with": "Customers whose names start with '{{prefix}}'",
  701 + "type-user": "User",
  702 + "type-users": "Users",
  703 + "list-of-users": "{ count, select, 1 {One user} other {List of # users} }",
  704 + "user-name-starts-with": "Users whose names start with '{{prefix}}'",
  705 + "type-dashboard": "Dashboard",
  706 + "type-dashboards": "Dashboards",
  707 + "list-of-dashboards": "{ count, select, 1 {One dashboard} other {List of # dashboards} }",
  708 + "dashboard-name-starts-with": "Dashboards whose names start with '{{prefix}}'",
  709 + "type-alarm": "Alarm",
  710 + "type-alarms": "Alarms",
  711 + "list-of-alarms": "{ count, select, 1 {One alarms} other {List of # alarms} }",
  712 + "alarm-name-starts-with": "Alarms whose names start with '{{prefix}}'",
  713 + "type-rulechain": "Rule chain",
  714 + "type-rulechains": "Rule chains",
  715 + "list-of-rulechains": "{ count, select, 1 {One rule chain} other {List of # rule chains} }",
  716 + "rulechain-name-starts-with": "Rule chains whose names start with '{{prefix}}'",
  717 + "type-current-customer": "Current Customer",
  718 + "search": "Search entities",
  719 + "selected-entities": "{ count, select, 1 {1 entity} other {# entities} } selected",
  720 + "entity-name": "Entity name",
  721 + "details": "Entity details",
  722 + "no-entities-prompt": "No entities found",
  723 + "no-data": "No data to display"
  724 + },
411 725 "event": {
412 726 "event-type": "Тип события",
413 727 "type-error": "Ошибка",
414 728 "type-lc-event": "Событие жизненного цикла",
415 729 "type-stats": "Статистика",
  730 + "type-debug-rule-node": "Debug", // TODO
  731 + "type-debug-rule-chain": "Debug", // TODO
416 732 "no-events-prompt": "События не найдены",
417 733 "error": "Ошибка",
418 734 "alarm": "Аварийное оповещение",
... ... @@ -420,6 +736,14 @@ export default function addLocaleRussian(locales) {
420 736 "server": "Сервер",
421 737 "body": "Тело",
422 738 "method": "Метод",
  739 + "type": "Type", // TODO
  740 + "entity": "Entity", // TODO
  741 + "message-id": "Message Id", // TODO
  742 + "message-type": "Message Type", // TODO
  743 + "data-type": "Data Type", // TODO
  744 + "relation-type": "Relation Type", // TODO
  745 + "metadata": "Metadata", // TODO
  746 + "data": "Data", // TODO
423 747 "event": "Событие",
424 748 "status": "Статус",
425 749 "success": "Успех",
... ... @@ -427,6 +751,163 @@ export default function addLocaleRussian(locales) {
427 751 "messages-processed": "Сообщения обработаны",
428 752 "errors-occurred": "Возникли ошибки"
429 753 },
  754 + "extension": { // TODO
  755 + "extensions": "Extensions",
  756 + "selected-extensions": "{ count, select, 1 {1 extension} other {# extensions} } selected",
  757 + "type": "Type",
  758 + "key": "Key",
  759 + "value": "Value",
  760 + "id": "Id",
  761 + "extension-id": "Extension id",
  762 + "extension-type": "Extension type",
  763 + "transformer-json": "JSON *",
  764 + "unique-id-required": "Current extension id already exists.",
  765 + "delete": "Delete extension",
  766 + "add": "Add extension",
  767 + "edit": "Edit extension",
  768 + "delete-extension-title": "Are you sure you want to delete the extension '{{extensionId}}'?",
  769 + "delete-extension-text": "Be careful, after the confirmation the extension and all related data will become unrecoverable.",
  770 + "delete-extensions-title": "Are you sure you want to delete { count, select, 1 {1 extension} other {# extensions} }?",
  771 + "delete-extensions-text": "Be careful, after the confirmation all selected extensions will be removed.",
  772 + "converters": "Converters",
  773 + "converter-id": "Converter id",
  774 + "configuration": "Configuration",
  775 + "converter-configurations": "Converter configurations",
  776 + "token": "Security token",
  777 + "add-converter": "Add converter",
  778 + "add-config": "Add converter configuration",
  779 + "device-name-expression": "Device name expression",
  780 + "device-type-expression": "Device type expression",
  781 + "custom": "Custom",
  782 + "to-double": "To Double",
  783 + "transformer": "Transformer",
  784 + "json-required": "Transformer json is required.",
  785 + "json-parse": "Unable to parse transformer json.",
  786 + "attributes": "Attributes",
  787 + "add-attribute": "Add attribute",
  788 + "add-map": "Add mapping element",
  789 + "timeseries": "Timeseries",
  790 + "add-timeseries": "Add timeseries",
  791 + "field-required": "Field is required",
  792 + "brokers": "Brokers",
  793 + "add-broker": "Add broker",
  794 + "host": "Host",
  795 + "port": "Port",
  796 + "port-range": "Port should be in a range from 1 to 65535.",
  797 + "ssl": "Ssl",
  798 + "credentials": "Credentials",
  799 + "username": "Username",
  800 + "password": "Password",
  801 + "retry-interval": "Retry interval in milliseconds",
  802 + "anonymous": "Anonymous",
  803 + "basic": "Basic",
  804 + "pem": "PEM",
  805 + "ca-cert": "CA certificate file *",
  806 + "private-key": "Private key file *",
  807 + "cert": "Certificate file *",
  808 + "no-file": "No file selected.",
  809 + "drop-file": "Drop a file or click to select a file to upload.",
  810 + "mapping": "Mapping",
  811 + "topic-filter": "Topic filter",
  812 + "converter-type": "Converter type",
  813 + "converter-json": "Json",
  814 + "json-name-expression": "Device name json expression",
  815 + "topic-name-expression": "Device name topic expression",
  816 + "json-type-expression": "Device type json expression",
  817 + "topic-type-expression": "Device type topic expression",
  818 + "attribute-key-expression": "Attribute key expression",
  819 + "attr-json-key-expression": "Attribute key json expression",
  820 + "attr-topic-key-expression": "Attribute key topic expression",
  821 + "request-id-expression": "Request id expression",
  822 + "request-id-json-expression": "Request id json expression",
  823 + "request-id-topic-expression": "Request id topic expression",
  824 + "response-topic-expression": "Response topic expression",
  825 + "value-expression": "Value expression",
  826 + "topic": "Topic",
  827 + "timeout": "Timeout in milliseconds",
  828 + "converter-json-required": "Converter json is required.",
  829 + "converter-json-parse": "Unable to parse converter json.",
  830 + "filter-expression": "Filter expression",
  831 + "connect-requests": "Connect requests",
  832 + "add-connect-request": "Add connect request",
  833 + "disconnect-requests": "Disconnect requests",
  834 + "add-disconnect-request": "Add disconnect request",
  835 + "attribute-requests": "Attribute requests",
  836 + "add-attribute-request": "Add attribute request",
  837 + "attribute-updates": "Attribute updates",
  838 + "add-attribute-update": "Add attribute update",
  839 + "server-side-rpc": "Server side RPC",
  840 + "add-server-side-rpc-request": "Add server-side RPC request",
  841 + "device-name-filter": "Device name filter",
  842 + "attribute-filter": "Attribute filter",
  843 + "method-filter": "Method filter",
  844 + "request-topic-expression": "Request topic expression",
  845 + "response-timeout": "Response timeout in milliseconds",
  846 + "topic-expression": "Topic expression",
  847 + "client-scope": "Client scope",
  848 + "add-device": "Add device",
  849 + "opc-server": "Servers",
  850 + "opc-add-server": "Add server",
  851 + "opc-add-server-prompt": "Please add server",
  852 + "opc-application-name": "Application name",
  853 + "opc-application-uri": "Application uri",
  854 + "opc-scan-period-in-seconds": "Scan period in seconds",
  855 + "opc-security": "Security",
  856 + "opc-identity": "Identity",
  857 + "opc-keystore": "Keystore",
  858 + "opc-type": "Type",
  859 + "opc-keystore-type": "Type",
  860 + "opc-keystore-location": "Location *",
  861 + "opc-keystore-password": "Password",
  862 + "opc-keystore-alias": "Alias",
  863 + "opc-keystore-key-password": "Key password",
  864 + "opc-device-node-pattern": "Device node pattern",
  865 + "opc-device-name-pattern": "Device name pattern",
  866 + "modbus-server": "Servers/slaves",
  867 + "modbus-add-server": "Add server/slave",
  868 + "modbus-add-server-prompt": "Please add server/slave",
  869 + "modbus-transport": "Transport",
  870 + "modbus-port-name": "Serial port name",
  871 + "modbus-encoding": "Encoding",
  872 + "modbus-parity": "Parity",
  873 + "modbus-baudrate": "Baud rate",
  874 + "modbus-databits": "Data bits",
  875 + "modbus-stopbits": "Stop bits",
  876 + "modbus-databits-range": "Data bits should be in a range from 7 to 8.",
  877 + "modbus-stopbits-range": "Stop bits should be in a range from 1 to 2.",
  878 + "modbus-unit-id": "Unit ID",
  879 + "modbus-unit-id-range": "Unit ID should be in a range from 1 to 247.",
  880 + "modbus-device-name": "Device name",
  881 + "modbus-poll-period": "Poll period (ms)",
  882 + "modbus-attributes-poll-period": "Attributes poll period (ms)",
  883 + "modbus-timeseries-poll-period": "Timeseries poll period (ms)",
  884 + "modbus-poll-period-range": "Poll period should be positive value.",
  885 + "modbus-tag": "Tag",
  886 + "modbus-function": "Function",
  887 + "modbus-register-address": "Register address",
  888 + "modbus-register-address-range": "Register address should be in a range from 0 to 65535.",
  889 + "modbus-register-bit-index": "Bit index",
  890 + "modbus-register-bit-index-range": "Bit index should be in a range from 0 to 15.",
  891 + "modbus-register-count": "Register count",
  892 + "modbus-register-count-range": "Register count should be a positive value.",
  893 + "modbus-byte-order": "Byte order",
  894 +
  895 + "sync": {
  896 + "status": "Status",
  897 + "sync": "Sync",
  898 + "not-sync": "Not sync",
  899 + "last-sync-time": "Last sync time",
  900 + "not-available": "Not available"
  901 + },
  902 +
  903 + "export-extensions-configuration": "Export extensions configuration",
  904 + "import-extensions-configuration": "Import extensions configuration",
  905 + "import-extensions": "Import extensions",
  906 + "import-extension": "Import extension",
  907 + "export-extension": "Export extension",
  908 + "file": "Extensions file",
  909 + "invalid-file-error": "Invalid extension file"
  910 + },
430 911 "fullscreen": {
431 912 "expand": "Во весь экран",
432 913 "exit": "Выйти из полноэкранного режима",
... ... @@ -469,7 +950,24 @@ export default function addLocaleRussian(locales) {
469 950 },
470 951 "js-func": {
471 952 "no-return-error": "Функция должна возвращать значение!",
472   - "return-type-mismatch": "Функция должна возвращать значение типа '{{type}}'!"
  953 + "return-type-mismatch": "Функция должна возвращать значение типа '{{type}}'!",
  954 + "tidy": "Tidy" // TODO
  955 + },
  956 + "key-val": { // TODO
  957 + "key": "Key",
  958 + "value": "Value",
  959 + "remove-entry": "Remove entry",
  960 + "add-entry": "Add entry",
  961 + "no-data": "No entries"
  962 + },
  963 + "layout": { // TODO
  964 + "layout": "Layout",
  965 + "manage": "Manage layouts",
  966 + "settings": "Layout settings",
  967 + "color": "Color",
  968 + "main": "Main",
  969 + "right": "Right",
  970 + "select": "Select target layout"
473 971 },
474 972 "legend": {
475 973 "position": "Расположение легенды",
... ... @@ -511,6 +1009,140 @@ export default function addLocaleRussian(locales) {
511 1009 "change-password": "Изменить пароль",
512 1010 "current-password": "Текущий пароль"
513 1011 },
  1012 + "relation": { // TODO
  1013 + "relations": "Relations",
  1014 + "direction": "Direction",
  1015 + "search-direction": {
  1016 + "FROM": "From",
  1017 + "TO": "To"
  1018 + },
  1019 + "direction-type": {
  1020 + "FROM": "from",
  1021 + "TO": "to"
  1022 + },
  1023 + "from-relations": "Outbound relations",
  1024 + "to-relations": "Inbound relations",
  1025 + "selected-relations": "{ count, select, 1 {1 relation} other {# relations} } selected",
  1026 + "type": "Type",
  1027 + "to-entity-type": "To entity type",
  1028 + "to-entity-name": "To entity name",
  1029 + "from-entity-type": "From entity type",
  1030 + "from-entity-name": "From entity name",
  1031 + "to-entity": "To entity",
  1032 + "from-entity": "From entity",
  1033 + "delete": "Delete relation",
  1034 + "relation-type": "Relation type",
  1035 + "relation-type-required": "Relation type is required.",
  1036 + "any-relation-type": "Any type",
  1037 + "add": "Add relation",
  1038 + "edit": "Edit relation",
  1039 + "delete-to-relation-title": "Are you sure you want to delete relation to the entity '{{entityName}}'?",
  1040 + "delete-to-relation-text": "Be careful, after the confirmation the entity '{{entityName}}' will be unrelated from the current entity.",
  1041 + "delete-to-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?",
  1042 + "delete-to-relations-text": "Be careful, after the confirmation all selected relations will be removed and corresponding entities will be unrelated from the current entity.",
  1043 + "delete-from-relation-title": "Are you sure you want to delete relation from the entity '{{entityName}}'?",
  1044 + "delete-from-relation-text": "Be careful, after the confirmation current entity will be unrelated from the entity '{{entityName}}'.",
  1045 + "delete-from-relations-title": "Are you sure you want to delete { count, select, 1 {1 relation} other {# relations} }?",
  1046 + "delete-from-relations-text": "Be careful, after the confirmation all selected relations will be removed and current entity will be unrelated from the corresponding entities.",
  1047 + "remove-relation-filter": "Remove relation filter",
  1048 + "add-relation-filter": "Add relation filter",
  1049 + "any-relation": "Any relation",
  1050 + "relation-filters": "Relation filters",
  1051 + "additional-info": "Additional info (JSON)",
  1052 + "invalid-additional-info": "Unable to parse additional info json."
  1053 + },
  1054 + "rulechain": { // TODO
  1055 + "rulechain": "Rule chain",
  1056 + "rulechains": "Rule chains",
  1057 + "root": "Root",
  1058 + "delete": "Delete rule chain",
  1059 + "name": "Name",
  1060 + "name-required": "Name is required.",
  1061 + "description": "Description",
  1062 + "add": "Add Rule Chain",
  1063 + "set-root": "Make rule chain root",
  1064 + "set-root-rulechain-title": "Are you sure you want to make the rule chain '{{ruleChainName}}' root?",
  1065 + "set-root-rulechain-text": "After the confirmation the rule chain will become root and will handle all incoming transport messages.",
  1066 + "delete-rulechain-title": "Are you sure you want to delete the rule chain '{{ruleChainName}}'?",
  1067 + "delete-rulechain-text": "Be careful, after the confirmation the rule chain and all related data will become unrecoverable.",
  1068 + "delete-rulechains-title": "Are you sure you want to delete { count, select, 1 {1 rule chain} other {# rule chains} }?",
  1069 + "delete-rulechains-action-title": "Delete { count, select, 1 {1 rule chain} other {# rule chains} }",
  1070 + "delete-rulechains-text": "Be careful, after the confirmation all selected rule chains will be removed and all related data will become unrecoverable.",
  1071 + "add-rulechain-text": "Add new rule chain",
  1072 + "no-rulechains-text": "No rule chains found",
  1073 + "rulechain-details": "Rule chain details",
  1074 + "details": "Details",
  1075 + "events": "Events",
  1076 + "system": "System",
  1077 + "import": "Import rule chain",
  1078 + "export": "Export rule chain",
  1079 + "export-failed-error": "Unable to export rule chain: {{error}}",
  1080 + "create-new-rulechain": "Create new rule chain",
  1081 + "rulechain-file": "Rule chain file",
  1082 + "invalid-rulechain-file-error": "Unable to import rule chain: Invalid rule chain data structure.",
  1083 + "copyId": "Copy rule chain Id",
  1084 + "idCopiedMessage": "Rule chain Id has been copied to clipboard",
  1085 + "select-rulechain": "Select rule chain",
  1086 + "no-rulechains-matching": "No rule chains matching '{{entity}}' were found.",
  1087 + "rulechain-required": "Rule chain is required",
  1088 + "management": "Rules management",
  1089 + "debug-mode": "Debug mode"
  1090 + },
  1091 + "rulenode": { // TODO
  1092 + "details": "Details",
  1093 + "events": "Events",
  1094 + "search": "Search nodes",
  1095 + "open-node-library": "Open node library",
  1096 + "add": "Add rule node",
  1097 + "name": "Name",
  1098 + "name-required": "Name is required.",
  1099 + "type": "Type",
  1100 + "description": "Description",
  1101 + "delete": "Delete rule node",
  1102 + "select-all-objects": "Select all nodes and connections",
  1103 + "deselect-all-objects": "Deselect all nodes and connections",
  1104 + "delete-selected-objects": "Delete selected nodes and connections",
  1105 + "delete-selected": "Delete selected",
  1106 + "select-all": "Select all",
  1107 + "copy-selected": "Copy selected",
  1108 + "deselect-all": "Deselect all",
  1109 + "rulenode-details": "Rule node details",
  1110 + "debug-mode": "Debug mode",
  1111 + "configuration": "Configuration",
  1112 + "link": "Link",
  1113 + "link-details": "Rule node link details",
  1114 + "add-link": "Add link",
  1115 + "link-label": "Link label",
  1116 + "link-label-required": "Link label is required.",
  1117 + "custom-link-label": "Custom link label",
  1118 + "custom-link-label-required": "Custom link label is required.",
  1119 + "type-filter": "Filter",
  1120 + "type-filter-details": "Filter incoming messages with configured conditions",
  1121 + "type-enrichment": "Enrichment",
  1122 + "type-enrichment-details": "Add additional information into Message Metadata",
  1123 + "type-transformation": "Transformation",
  1124 + "type-transformation-details": "Change Message payload and Metadata",
  1125 + "type-action": "Action",
  1126 + "type-action-details": "Perform special action",
  1127 + "type-external": "External",
  1128 + "type-external-details": "Interacts with external system",
  1129 + "type-rule-chain": "Rule Chain",
  1130 + "type-rule-chain-details": "Forwards incoming messages to specified Rule Chain",
  1131 + "type-input": "Input",
  1132 + "type-input-details": "Logical input of Rule Chain, forwards incoming messages to next related Rule Node",
  1133 + "directive-is-not-loaded": "Defined configuration directive '{{directiveName}}' is not available.",
  1134 + "ui-resources-load-error": "Failed to load configuration ui resources.",
  1135 + "invalid-target-rulechain": "Unable to resolve target rule chain!",
  1136 + "test-script-function": "Test script function",
  1137 + "message": "Message",
  1138 + "message-type": "Message type",
  1139 + "message-type-required": "Message type is required",
  1140 + "metadata": "Metadata",
  1141 + "metadata-required": "Metadata entries can't be empty.",
  1142 + "output": "Output",
  1143 + "test": "Test",
  1144 + "help": "Help"
  1145 + },
514 1146 "tenant": {
515 1147 "tenants": "Владельцы",
516 1148 "management": "Управление владельцами",
... ... @@ -646,6 +1278,18 @@ export default function addLocaleRussian(locales) {
646 1278 "undo": "Откатить изменения в виджете",
647 1279 "export": "Экспортировать виджет"
648 1280 },
  1281 + "widget-action": { // TODO
  1282 + "header-button": "Widget header button",
  1283 + "open-dashboard-state": "Navigate to new dashboard state",
  1284 + "update-dashboard-state": "Update current dashboard state",
  1285 + "open-dashboard": "Navigate to other dashboard",
  1286 + "custom": "Custom action",
  1287 + "target-dashboard-state": "Target dashboard state",
  1288 + "target-dashboard-state-required": "Target dashboard state is required",
  1289 + "set-entity-from-widget": "Set entity from widget",
  1290 + "target-dashboard": "Target dashboard",
  1291 + "open-right-layout": "Open right dashboard layout (mobile view)"
  1292 + },
649 1293 "widgets-bundle": {
650 1294 "current": "Текущий набор",
651 1295 "widgets-bundles": "Наборы виджетов",
... ... @@ -709,6 +1353,20 @@ export default function addLocaleRussian(locales) {
709 1353 "widget-type-file": "Файл типа виджета",
710 1354 "invalid-widget-type-file-error": "Не удалось импортировать виджет: неизвестная схема данных типа виджета."
711 1355 },
  1356 + "icon": { // TODO
  1357 + "icon": "Icon",
  1358 + "select-icon": "Select icon",
  1359 + "material-icons": "Material icons",
  1360 + "show-all": "Show all icons"
  1361 + },
  1362 + "custom": { // TODO
  1363 + "widget-action": {
  1364 + "action-cell-button": "Action cell button",
  1365 + "row-click": "On row click",
  1366 + "marker-click": "On marker click",
  1367 + "tooltip-tag-action": "Tooltip tag action"
  1368 + }
  1369 + },
712 1370 "language": {
713 1371 "language": "Язык",
714 1372 "en_US": "Английский",
... ...