Commit 168a941bb3f4f4d5d6738c6e6b28587ab85587f7

Authored by Igor Kulikov
2 parents db2cd265 14371eac

Merge branch 'master' of github.com:thingsboard/thingsboard

@@ -4,7 +4,7 @@ KAFKA_LISTENERS=INSIDE://:9093,OUTSIDE://:9092 @@ -4,7 +4,7 @@ KAFKA_LISTENERS=INSIDE://:9093,OUTSIDE://:9092
4 KAFKA_ADVERTISED_LISTENERS=INSIDE://:9093,OUTSIDE://kafka:9092 4 KAFKA_ADVERTISED_LISTENERS=INSIDE://:9093,OUTSIDE://kafka:9092
5 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT 5 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
6 KAFKA_INTER_BROKER_LISTENER_NAME=INSIDE 6 KAFKA_INTER_BROKER_LISTENER_NAME=INSIDE
7 -KAFKA_CREATE_TOPICS=js_eval.requests:3:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb_transport.api.requests:3:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600 7 +KAFKA_CREATE_TOPICS=js_eval.requests:100:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb_transport.api.requests:3:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600
8 KAFKA_AUTO_CREATE_TOPICS_ENABLE=false 8 KAFKA_AUTO_CREATE_TOPICS_ENABLE=false
9 KAFKA_LOG_RETENTION_BYTES=1073741824 9 KAFKA_LOG_RETENTION_BYTES=1073741824
10 KAFKA_LOG_SEGMENT_BYTES=268435456 10 KAFKA_LOG_SEGMENT_BYTES=268435456
@@ -79,6 +79,9 @@ export class MapWidgetController implements MapWidgetInterface { @@ -79,6 +79,9 @@ export class MapWidgetController implements MapWidgetInterface {
79 this.map = new MapClass($element, this.settings, this.ctx.$injector); 79 this.map = new MapClass($element, this.settings, this.ctx.$injector);
80 this.map.setImageAlias(this.subscribeForImageAttribute()); 80 this.map.setImageAlias(this.subscribeForImageAttribute());
81 this.map.saveMarkerLocation = this.setMarkerLocation; 81 this.map.saveMarkerLocation = this.setMarkerLocation;
  82 + if (this.settings.draggableMarker) {
  83 + this.map.setDataSources(parseData(this.data));
  84 + }
82 } 85 }
83 86
84 map: LeafletMap; 87 map: LeafletMap;
@@ -252,9 +255,6 @@ export class MapWidgetController implements MapWidgetInterface { @@ -252,9 +255,6 @@ export class MapWidgetController implements MapWidgetInterface {
252 if (this.settings.showPolygon) { 255 if (this.settings.showPolygon) {
253 this.map.updatePolygons(parseData(this.data)); 256 this.map.updatePolygons(parseData(this.data));
254 } 257 }
255 - if (this.settings.draggableMarker) {  
256 - this.map.setDataSources(parseData(this.data));  
257 - }  
258 this.map.updateMarkers(parseData(this.data)); 258 this.map.updateMarkers(parseData(this.data));
259 } 259 }
260 260
@@ -73,6 +73,8 @@ import { DialogService } from '@core/services/dialog.service'; @@ -73,6 +73,8 @@ import { DialogService } from '@core/services/dialog.service';
73 import { CustomDialogService } from '@home/components/widget/dialog/custom-dialog.service'; 73 import { CustomDialogService } from '@home/components/widget/dialog/custom-dialog.service';
74 import { DatePipe } from '@angular/common'; 74 import { DatePipe } from '@angular/common';
75 import { TranslateService } from '@ngx-translate/core'; 75 import { TranslateService } from '@ngx-translate/core';
  76 +import { PageLink } from '@shared/models/page/page-link';
  77 +import { SortOrder } from '@shared/models/page/sort-order';
76 78
77 export interface IWidgetAction { 79 export interface IWidgetAction {
78 name: string; 80 name: string;
@@ -297,6 +299,10 @@ export class WidgetContext { @@ -297,6 +299,10 @@ export class WidgetContext {
297 this.widgetTitle = undefined; 299 this.widgetTitle = undefined;
298 this.widgetActions = undefined; 300 this.widgetActions = undefined;
299 } 301 }
  302 +
  303 + pageLink(pageSize: number, page: number = 0, textSearch: string = null, sortOrder: SortOrder = null): PageLink {
  304 + return new PageLink(pageSize, page, textSearch, sortOrder);
  305 + };
300 } 306 }
301 307
302 export interface IDynamicWidgetComponent { 308 export interface IDynamicWidgetComponent {
@@ -6,7 +6,9 @@ @@ -6,7 +6,9 @@
6 "access-forbidden": "Přístup zakázán", 6 "access-forbidden": "Přístup zakázán",
7 "access-forbidden-text": "Pro přístup do tohoto umístění nemáte přístupová oprávnění!<br/>Pokud si stále přejete získat přístup do tohoto umístění, zkuste se zaregistrovat pod jiným uživatelem.", 7 "access-forbidden-text": "Pro přístup do tohoto umístění nemáte přístupová oprávnění!<br/>Pokud si stále přejete získat přístup do tohoto umístění, zkuste se zaregistrovat pod jiným uživatelem.",
8 "refresh-token-expired": "Relace vypršela", 8 "refresh-token-expired": "Relace vypršela",
9 - "refresh-token-failed": "Nemohu aktualizovat relaci" 9 + "refresh-token-failed": "Nemohu aktualizovat relaci",
  10 + "permission-denied": "Oprávnění zamítnuto",
  11 + "permission-denied-text": "Pro provedení této operace nemáte oprávnění!"
10 }, 12 },
11 "action": { 13 "action": {
12 "activate": "Aktivovat", 14 "activate": "Aktivovat",
@@ -21,6 +23,7 @@ @@ -21,6 +23,7 @@
21 "no": "Ne", 23 "no": "Ne",
22 "update": "Aktualizovat", 24 "update": "Aktualizovat",
23 "remove": "Odstranit", 25 "remove": "Odstranit",
  26 + "select": "Vybrat",
24 "search": "Vyhledat", 27 "search": "Vyhledat",
25 "clear-search": "Zrušit hledání", 28 "clear-search": "Zrušit hledání",
26 "assign": "Přiřadit", 29 "assign": "Přiřadit",
@@ -48,7 +51,10 @@ @@ -48,7 +51,10 @@
48 "paste-reference": "Vložit referenci", 51 "paste-reference": "Vložit referenci",
49 "import": "Importovat", 52 "import": "Importovat",
50 "export": "Exportovat", 53 "export": "Exportovat",
51 - "share-via": "Sdílet přes {{provider}}" 54 + "share-via": "Sdílet přes {{provider}}",
  55 + "continue": "Pokračovat",
  56 + "discard-changes": "Zahodit změny",
  57 + "download": "Stáhnout"
52 }, 58 },
53 "aggregation": { 59 "aggregation": {
54 "aggregation": "Agregace", 60 "aggregation": "Agregace",
@@ -84,7 +90,36 @@ @@ -84,7 +90,36 @@
84 "timeout-invalid": "Tohle nevypadá jako platný časový limit.", 90 "timeout-invalid": "Tohle nevypadá jako platný časový limit.",
85 "enable-tls": "Povolit TLS", 91 "enable-tls": "Povolit TLS",
86 "tls-version": "Verze TLS", 92 "tls-version": "Verze TLS",
87 - "send-test-mail": "Odeslat testovací zprávu" 93 + "enable-proxy": "Povolit proxy",
  94 + "proxy-host": "Host proxy",
  95 + "proxy-host-required": "Host proxy je povinný.",
  96 + "proxy-port": "Port proxy",
  97 + "proxy-port-required": "Port proxy je povinný.",
  98 + "proxy-port-range": "Port proxy by měl být v rozsahu od 1 do 65535.",
  99 + "proxy-user": "Uživatel proxy",
  100 + "proxy-password": "Heslo proxy",
  101 + "send-test-mail": "Odeslat testovací zprávu",
  102 + "security-settings": "Bezpečnostní nastavení",
  103 + "password-policy": "Politika hesel",
  104 + "minimum-password-length": "Minimální délka hesla",
  105 + "minimum-password-length-required": "Minimální délka hesla je povinná",
  106 + "minimum-password-length-range": "Minimální délka hesla by měla být v rozsahu od 5 do 50",
  107 + "minimum-uppercase-letters": "Minimální počet velkých písmen",
  108 + "minimum-uppercase-letters-range": "Minimální počet velkých písmen nemůže být záporný",
  109 + "minimum-lowercase-letters": "Minimální počet malých písmen",
  110 + "minimum-lowercase-letters-range": "Minimální počet malých písmen nemůže být záporný",
  111 + "minimum-digits": "Minimální počet číslic",
  112 + "minimum-digits-range": "Minimální počet číslic nemůže být záporný ",
  113 + "minimum-special-characters": "Minimální počet speciálních znaků",
  114 + "minimum-special-characters-range": "Minimální počet speciálních znaků nemůže být záporný",
  115 + "password-expiration-period-days": "Lhůta expirace hesla ve dnech",
  116 + "password-expiration-period-days-range": "Lhůta expirace hesla ve dnech nemůže být záporná",
  117 + "password-reuse-frequency-days": "Frekvence opětovného použití hesla ve dnech",
  118 + "password-reuse-frequency-days-range": "Frekvence opětovného použití hesla ve dnech nemůže být záporná",
  119 + "general-policy": "Obecná politika",
  120 + "max-failed-login-attempts": "Maximální počet neúspěšných pokusů o přihlášení před zablokováním účtu",
  121 + "minimum-max-failed-login-attempts-range": "Maximální počet neúspěšných pokusů o přihlášení před zablokováním účtu nemůže být záporný",
  122 + "user-lockout-notification-email": "V případě zablokování uživatelského účtu odeslat upozornění na email"
88 }, 123 },
89 "alarm": { 124 "alarm": {
90 "alarm": "Alarm", 125 "alarm": "Alarm",
@@ -140,7 +175,13 @@ @@ -140,7 +175,13 @@
140 "clear-alarms-text": "Jste si jisti, že chcete odstranit { count, plural, 1 {1 alarm} other {# alarmů} }?", 175 "clear-alarms-text": "Jste si jisti, že chcete odstranit { count, plural, 1 {1 alarm} other {# alarmů} }?",
141 "clear-alarm-title": "Odstranit alarm", 176 "clear-alarm-title": "Odstranit alarm",
142 "clear-alarm-text": "Jste si jisti, že chcete alarm odstranit?", 177 "clear-alarm-text": "Jste si jisti, že chcete alarm odstranit?",
143 - "alarm-status-filter": "Filtr stavu alarmu" 178 + "alarm-status-filter": "Filtr stavu alarmu",
  179 + "max-count-load": "Maximální počet nahraných alarmů (0 - neomezeně)",
  180 + "max-count-load-required": "Maximální počet nahraných alarmů je povinný.",
  181 + "max-count-load-error-min": "Minimální hodnota je 0.",
  182 + "fetch-size": "Velikost dávky",
  183 + "fetch-size-required": "Velikost dávky je povinná.",
  184 + "fetch-size-error-min": "Minimální hodnota je 10."
144 }, 185 },
145 "alias": { 186 "alias": {
146 "add": "Přidat alias", 187 "add": "Přidat alias",
@@ -177,6 +218,7 @@ @@ -177,6 +218,7 @@
177 "entity-filter-no-entity-matched": "Žádné entity odpovídající specifikovanému filtru nebyly nalezeny.", 218 "entity-filter-no-entity-matched": "Žádné entity odpovídající specifikovanému filtru nebyly nalezeny.",
178 "no-entity-filter-specified": "Nebyl specifikován žádný filtr entit", 219 "no-entity-filter-specified": "Nebyl specifikován žádný filtr entit",
179 "root-state-entity": "Použít stav entity dashboard jako kořenovou", 220 "root-state-entity": "Použít stav entity dashboard jako kořenovou",
  221 + "last-level-relation": "Nahrát pouze vztah poslední úrovně",
180 "root-entity": "Kořenová entita", 222 "root-entity": "Kořenová entita",
181 "state-entity-parameter-name": "Název parametru stavu entity", 223 "state-entity-parameter-name": "Název parametru stavu entity",
182 "default-state-entity": "Defaultní stav entity", 224 "default-state-entity": "Defaultní stav entity",
@@ -196,7 +238,7 @@ @@ -196,7 +238,7 @@
196 "assign-to-customer": "Přiřadit zákazníkovi", 238 "assign-to-customer": "Přiřadit zákazníkovi",
197 "assign-asset-to-customer": "Přiřadit aktiva zákazníkovi", 239 "assign-asset-to-customer": "Přiřadit aktiva zákazníkovi",
198 "assign-asset-to-customer-text": "Prosím vyberte aktiva, která mají být přiřazena zákazníkovi", 240 "assign-asset-to-customer-text": "Prosím vyberte aktiva, která mají být přiřazena zákazníkovi",
199 - "no-assets-text": "Žádná aktiva nenalezena", 241 + "no-assets-text": "Žádná aktiva nebyla nalezena",
200 "assign-to-customer-text": "Prosím vyberte zákazníka, kterému mají být aktiva přiřazena", 242 "assign-to-customer-text": "Prosím vyberte zákazníka, kterému mají být aktiva přiřazena",
201 "public": "Veřejné", 243 "public": "Veřejné",
202 "assignedToCustomer": "Přiřazeno zákazníkovi", 244 "assignedToCustomer": "Přiřazeno zákazníkovi",
@@ -248,7 +290,11 @@ @@ -248,7 +290,11 @@
248 "no-assets-matching": "Žádná aktiva odpovídající '{{entity}}' nebyla nalezena.", 290 "no-assets-matching": "Žádná aktiva odpovídající '{{entity}}' nebyla nalezena.",
249 "asset-required": "Aktivum je povinné", 291 "asset-required": "Aktivum je povinné",
250 "name-starts-with": "Název aktiva začíná", 292 "name-starts-with": "Název aktiva začíná",
251 - "label": "Název" 293 + "import": "Importovat aktiva",
  294 + "asset-file": "Soubor aktiva",
  295 + "search": "Vyhledat aktiva",
  296 + "selected-assets": "Vybráno { count, plural, 1 {1 aktiv} other {# aktiv} }",
  297 + "label": "Označení"
252 }, 298 },
253 "attribute": { 299 "attribute": {
254 "attributes": "Atributy", 300 "attributes": "Atributy",
@@ -275,7 +321,9 @@ @@ -275,7 +321,9 @@
275 "add-to-dashboard": "Přidat na dashboard", 321 "add-to-dashboard": "Přidat na dashboard",
276 "add-widget-to-dashboard": "Přidat widget na dashboard", 322 "add-widget-to-dashboard": "Přidat widget na dashboard",
277 "selected-attributes": "Vybráno { count, plural, 1 {1 atributů} other {# atributů} }", 323 "selected-attributes": "Vybráno { count, plural, 1 {1 atributů} other {# atributů} }",
278 - "selected-telemetry": "Vybráno { count, plural, 1 {1 jednotek telemetrie} other {# jednotek telemetrie} }" 324 + "selected-telemetry": "Vybráno { count, plural, 1 {1 jednotek telemetrie} other {# jednotek telemetrie} }",
  325 + "no-attributes-text": "Žádné atributy nebyly nalezeny",
  326 + "no-telemetry-text": "Žádná telemetrie nebyla nalezena"
279 }, 327 },
280 "audit-log": { 328 "audit-log": {
281 "audit": "Audit", 329 "audit": "Audit",
@@ -305,10 +353,13 @@ @@ -305,10 +353,13 @@
305 "type-relations-delete": "Všechny vztahy smazány", 353 "type-relations-delete": "Všechny vztahy smazány",
306 "type-alarm-ack": "Přijato", 354 "type-alarm-ack": "Přijato",
307 "type-alarm-clear": "Odstraněno", 355 "type-alarm-clear": "Odstraněno",
  356 + "type-login": "Přihlášení",
  357 + "type-logout": "Odhlášení",
  358 + "type-lockout": "Zablokování",
308 "status-success": "Úspěch", 359 "status-success": "Úspěch",
309 "status-failure": "Chyba", 360 "status-failure": "Chyba",
310 "audit-log-details": "Detail záznamu auditu", 361 "audit-log-details": "Detail záznamu auditu",
311 - "no-audit-logs-prompt": "Žádné záznamy nenalezeny", 362 + "no-audit-logs-prompt": "Žádné záznamy nebyly nalezeny",
312 "action-data": "Data akce", 363 "action-data": "Data akce",
313 "failure-details": "Detail chyby", 364 "failure-details": "Detail chyby",
314 "search": "Prohledat záznamy auditu", 365 "search": "Prohledat záznamy auditu",
@@ -337,7 +388,8 @@ @@ -337,7 +388,8 @@
337 "enter-username": "Zadejte uživatelské jméno", 388 "enter-username": "Zadejte uživatelské jméno",
338 "enter-password": "Zadejte heslo", 389 "enter-password": "Zadejte heslo",
339 "enter-search": "Zadejte hledaný řetězec", 390 "enter-search": "Zadejte hledaný řetězec",
340 - "created-time": "Datum vytvoření" 391 + "created-time": "Datum vytvoření",
  392 + "loading": "Načítám..."
341 }, 393 },
342 "content-type": { 394 "content-type": {
343 "json": "JSON", 395 "json": "JSON",
@@ -367,7 +419,7 @@ @@ -367,7 +419,7 @@
367 "manage-customer-assets": "Spravovat aktiva zákazníka", 419 "manage-customer-assets": "Spravovat aktiva zákazníka",
368 "manage-public-assets": "Spravovat veřejná aktiva", 420 "manage-public-assets": "Spravovat veřejná aktiva",
369 "add-customer-text": "Přidat nového zákazníka", 421 "add-customer-text": "Přidat nového zákazníka",
370 - "no-customers-text": "Žádní zákazníci nenalezeni", 422 + "no-customers-text": "Žádní zákazníci nebyli nalezeni",
371 "customer-details": "Detail zákazníka", 423 "customer-details": "Detail zákazníka",
372 "delete-customer-title": "Jste si jisti, že chcete smazat zákazníka '{{customerTitle}}'?", 424 "delete-customer-title": "Jste si jisti, že chcete smazat zákazníka '{{customerTitle}}'?",
373 "delete-customer-text": "Buďte opatrní, protože po potvrzení nebude možné zákazníka ani žádná související data obnovit.", 425 "delete-customer-text": "Buďte opatrní, protože po potvrzení nebude možné zákazníka ani žádná související data obnovit.",
@@ -386,11 +438,13 @@ @@ -386,11 +438,13 @@
386 "copyId": "Kopírovat Id zákazníka", 438 "copyId": "Kopírovat Id zákazníka",
387 "idCopiedMessage": "Id zákazníka bylo zkopírováno do schránky", 439 "idCopiedMessage": "Id zákazníka bylo zkopírováno do schránky",
388 "select-customer": "Vybrat zákazníka", 440 "select-customer": "Vybrat zákazníka",
389 - "no-customers-matching": "Žádní zákazníky odpovídající '{{entity}}' nebyli nalezeni.", 441 + "no-customers-matching": "Žádní zákazníci odpovídající '{{entity}}' nebyli nalezeni.",
390 "customer-required": "Zákazník je povinný", 442 "customer-required": "Zákazník je povinný",
391 "select-default-customer": "Vybrat defaultního zákazníka", 443 "select-default-customer": "Vybrat defaultního zákazníka",
392 "default-customer": "Defaultní zákazník", 444 "default-customer": "Defaultní zákazník",
393 - "default-customer-required": "Aby bylo možné ladit dashboard na úrovni tenanta, je nutné zadat defaultního zákazníka." 445 + "default-customer-required": "Aby bylo možné ladit dashboard na úrovni tenanta, je nutné zadat defaultního zákazníka.",
  446 + "search": "Vyhledat zákazníky",
  447 + "selected-customers": "Vybráno { count, plural, 1 {1 zákazníků} other {# zákazníků} }"
394 }, 448 },
395 "datetime": { 449 "datetime": {
396 "date-from": "Datum od", 450 "date-from": "Datum od",
@@ -417,7 +471,7 @@ @@ -417,7 +471,7 @@
417 "assign-to-customers-text": "Prosím vyberte zákazníky, kterým má být dashboard(y) přiřazen(y)", 471 "assign-to-customers-text": "Prosím vyberte zákazníky, kterým má být dashboard(y) přiřazen(y)",
418 "unassign-from-customers": "Odebrat dashboard(y) zákazníkům", 472 "unassign-from-customers": "Odebrat dashboard(y) zákazníkům",
419 "unassign-from-customers-text": "Prosím vyberte zákazníky, kterým má být dashboard(y) odebrán(y)", 473 "unassign-from-customers-text": "Prosím vyberte zákazníky, kterým má být dashboard(y) odebrán(y)",
420 - "no-dashboards-text": "Nebyly nalezeny žádné dashboardy", 474 + "no-dashboards-text": "Žádné dashboardy nebyly nalezeny",
421 "no-widgets": "Nejsou nastaveny žádné widgety", 475 "no-widgets": "Nejsou nastaveny žádné widgety",
422 "add-widget": "Přidat nový widget", 476 "add-widget": "Přidat nový widget",
423 "title": "Název", 477 "title": "Název",
@@ -437,7 +491,7 @@ @@ -437,7 +491,7 @@
437 "unassign-dashboards": "Odebrat dashboardy", 491 "unassign-dashboards": "Odebrat dashboardy",
438 "unassign-dashboards-action-title": "Odebrat { count, plural, 1 {1 dashboard} other {# dashboardů} } zákazníkovi", 492 "unassign-dashboards-action-title": "Odebrat { count, plural, 1 {1 dashboard} other {# dashboardů} } zákazníkovi",
439 "delete-dashboard-title": "Jste si jisti, že chcete odstranit dashboard '{{dashboardTitle}}'?", 493 "delete-dashboard-title": "Jste si jisti, že chcete odstranit dashboard '{{dashboardTitle}}'?",
440 - "delete-dashboard-text": "Buďte opatrní, protože po potvrzení nebude možné dashboard ani žádná soubisející data obnovit.", 494 + "delete-dashboard-text": "Buďte opatrní, protože po potvrzení nebude možné dashboard ani žádná související data obnovit.",
441 "delete-dashboards-title": "Jste si jisti, že chcete smazat { count, plural, 1 {1 dashboard} other {# dashboardů} }?", 495 "delete-dashboards-title": "Jste si jisti, že chcete smazat { count, plural, 1 {1 dashboard} other {# dashboardů} }?",
442 "delete-dashboards-action-title": "Smazat { count, plural, 1 {1 dashboard} other {# dashboardů} }", 496 "delete-dashboards-action-title": "Smazat { count, plural, 1 {1 dashboard} other {# dashboardů} }",
443 "delete-dashboards-text": "Buďte opatrní, protože po potvrzení budou všechny vybrané dashboardy smazány a žádná související data nebude možné obnovit.", 497 "delete-dashboards-text": "Buďte opatrní, protože po potvrzení budou všechny vybrané dashboardy smazány a žádná související data nebude možné obnovit.",
@@ -473,6 +527,9 @@ @@ -473,6 +527,9 @@
473 "min-columns-count-message": "Minimální povolený počet sloupců je 10.", 527 "min-columns-count-message": "Minimální povolený počet sloupců je 10.",
474 "max-columns-count-message": "Maximální povolený počet sloupců je 1000.", 528 "max-columns-count-message": "Maximální povolený počet sloupců je 1000.",
475 "widgets-margins": "Okraj mezi widgety", 529 "widgets-margins": "Okraj mezi widgety",
  530 + "margin-required": "Hodnota okraje je povinná.",
  531 + "min-margin-message": "Pouze 0 je povolena jako minimální hodnota okraje.",
  532 + "max-margin-message": "Pouze 50 je povoleno jako maximální hodnota okraje.",
476 "horizontal-margin": "Horizontální okraj", 533 "horizontal-margin": "Horizontální okraj",
477 "horizontal-margin-required": "Hodnota horizontálního okraje je povinná.", 534 "horizontal-margin-required": "Hodnota horizontálního okraje je povinná.",
478 "min-horizontal-margin-message": "Minimální povolená hodnota horizontálního okraje je 0.", 535 "min-horizontal-margin-message": "Minimální povolená hodnota horizontálního okraje je 0.",
@@ -525,6 +582,7 @@ @@ -525,6 +582,7 @@
525 "edit-state": "Editovat stav dashboardu", 582 "edit-state": "Editovat stav dashboardu",
526 "delete-state": "Smazat stav dashboardu", 583 "delete-state": "Smazat stav dashboardu",
527 "add-state": "Přidat stav dashboardu", 584 "add-state": "Přidat stav dashboardu",
  585 + "no-states-text": "Žádné No states found",
528 "state": "Stav dashboardu", 586 "state": "Stav dashboardu",
529 "state-name": "Název", 587 "state-name": "Název",
530 "state-name-required": "Název stavu dashboardu je povinný.", 588 "state-name-required": "Název stavu dashboardu je povinný.",
@@ -537,12 +595,14 @@ @@ -537,12 +595,14 @@
537 "show-details": "Zobrazit detaily", 595 "show-details": "Zobrazit detaily",
538 "hide-details": "Skrýt detaily", 596 "hide-details": "Skrýt detaily",
539 "select-state": "Vybrat cílový stav", 597 "select-state": "Vybrat cílový stav",
540 - "state-controller": "Kontrolér stavu" 598 + "state-controller": "Kontrolér stavu",
  599 + "search": "Vyhledat dashboardy",
  600 + "selected-dashboards": "Vybráno { count, plural, 1 {1 dashboardů} other {# dashboardů} }"
541 }, 601 },
542 "datakey": { 602 "datakey": {
543 "settings": "Nastavení", 603 "settings": "Nastavení",
544 "advanced": "Rozšířené", 604 "advanced": "Rozšířené",
545 - "label": "Název", 605 + "label": "Označení",
546 "color": "Barva", 606 "color": "Barva",
547 "units": "Speciální symbol, který bude zobrazen vedle hodnoty", 607 "units": "Speciální symbol, který bude zobrazen vedle hodnoty",
548 "decimals": "Počet číslic za desetinnou čárkou", 608 "decimals": "Počet číslic za desetinnou čárkou",
@@ -551,6 +611,7 @@ @@ -551,6 +611,7 @@
551 "configuration": "Konfigurace datového klíče", 611 "configuration": "Konfigurace datového klíče",
552 "timeseries": "Časové řady", 612 "timeseries": "Časové řady",
553 "attributes": "Atributy", 613 "attributes": "Atributy",
  614 + "entity-field": "Pole entity",
554 "alarm": "Pole alarmu", 615 "alarm": "Pole alarmu",
555 "timeseries-required": "Časové řady entity jsou povinné.", 616 "timeseries-required": "Časové řady entity jsou povinné.",
556 "timeseries-or-attributes-required": "Časové řady / atributy entity jsou povinné.", 617 "timeseries-or-attributes-required": "Časové řady / atributy entity jsou povinné.",
@@ -571,7 +632,9 @@ @@ -571,7 +632,9 @@
571 "add-datasource-prompt": "Přidejte prosím datový zdroj" 632 "add-datasource-prompt": "Přidejte prosím datový zdroj"
572 }, 633 },
573 "details": { 634 "details": {
  635 + "details": "Detail",
574 "edit-mode": "Režim editace", 636 "edit-mode": "Režim editace",
  637 + "edit-json": "Editovat JSON",
575 "toggle-edit-mode": "Přepnout do režimu editace" 638 "toggle-edit-mode": "Přepnout do režimu editace"
576 }, 639 },
577 "device": { 640 "device": {
@@ -585,7 +648,7 @@ @@ -585,7 +648,7 @@
585 "no-alias-matching": "'{{alias}}' nenalezen.", 648 "no-alias-matching": "'{{alias}}' nenalezen.",
586 "no-aliases-found": "Žádné aliasy nebyly nalezeny.", 649 "no-aliases-found": "Žádné aliasy nebyly nalezeny.",
587 "no-key-matching": "'{{key}}' nenalezen.", 650 "no-key-matching": "'{{key}}' nenalezen.",
588 - "no-keys-found": "Žádné klíče nenalezeny.", 651 + "no-keys-found": "Žádné klíče nebyly nalezeny.",
589 "create-new-alias": "Vytvořit nový!", 652 "create-new-alias": "Vytvořit nový!",
590 "create-new-key": "Vytvořit nový!", 653 "create-new-key": "Vytvořit nový!",
591 "duplicate-alias-error": "Byl nalezen duplicitní alias '{{alias}}'.<br>Aliasy zařízení musí být v rámci dashboardu unikátní.", 654 "duplicate-alias-error": "Byl nalezen duplicitní alias '{{alias}}'.<br>Aliasy zařízení musí být v rámci dashboardu unikátní.",
@@ -656,6 +719,7 @@ @@ -656,6 +719,7 @@
656 "name": "Název", 719 "name": "Název",
657 "name-required": "Název je povinný.", 720 "name-required": "Název je povinný.",
658 "description": "Popis", 721 "description": "Popis",
  722 + "label": "Označení",
659 "events": "Události", 723 "events": "Události",
660 "details": "Detail", 724 "details": "Detail",
661 "copyId": "Kopírovat Id zařízení", 725 "copyId": "Kopírovat Id zařízení",
@@ -668,7 +732,11 @@ @@ -668,7 +732,11 @@
668 "is-gateway": "Je bránou", 732 "is-gateway": "Je bránou",
669 "public": "Veřejné", 733 "public": "Veřejné",
670 "device-public": "Zařízení je veřejné", 734 "device-public": "Zařízení je veřejné",
671 - "select-device": "vybrat zařízení" 735 + "select-device": "Vybrat zařízení",
  736 + "import": "Importovat zařízení",
  737 + "device-file": "Soubor zařízení",
  738 + "search": "Vyhledat zařízení",
  739 + "selected-devices": "Vybráno { count, plural, 1 {1 zařízení} other {# zařízení} }"
672 }, 740 },
673 "dialog": { 741 "dialog": {
674 "close": "Zavřít dialog" 742 "close": "Zavřít dialog"
@@ -741,7 +809,7 @@ @@ -741,7 +809,7 @@
741 "type-plugin": "Zásuvný modul", 809 "type-plugin": "Zásuvný modul",
742 "type-plugins": "Zásuvné moduly", 810 "type-plugins": "Zásuvné moduly",
743 "list-of-plugins": "{ count, plural, 1 {Jeden zásuvný modul} other {Seznam # zásuvných modulů} }", 811 "list-of-plugins": "{ count, plural, 1 {Jeden zásuvný modul} other {Seznam # zásuvných modulů} }",
744 - "plugin-name-starts-with": "Závusné moduly, jejichž název začíná '{{prefix}}'", 812 + "plugin-name-starts-with": "Zásuvné moduly, jejichž název začíná '{{prefix}}'",
745 "type-tenant": "Tenant", 813 "type-tenant": "Tenant",
746 "type-tenants": "Tenanti", 814 "type-tenants": "Tenanti",
747 "list-of-tenants": "{ count, plural, 1 {Jeden tenant} other {Seznam # tenantů} }", 815 "list-of-tenants": "{ count, plural, 1 {Jeden tenant} other {Seznam # tenantů} }",
@@ -775,11 +843,29 @@ @@ -775,11 +843,29 @@
775 "search": "Vyhledat entity", 843 "search": "Vyhledat entity",
776 "selected-entities": "{ count, plural, 1 {1 entita} other {# entit} } zvoleno", 844 "selected-entities": "{ count, plural, 1 {1 entita} other {# entit} } zvoleno",
777 "entity-name": "Název entity", 845 "entity-name": "Název entity",
  846 + "entity-label": "Označení entity",
778 "details": "Detail entity", 847 "details": "Detail entity",
779 - "no-entities-prompt": "Nebyly nalezeny žádné entity", 848 + "no-entities-prompt": "Žádné entity nebyly nalezeny",
780 "no-data": "Nelze zobrazit žádná data", 849 "no-data": "Nelze zobrazit žádná data",
781 "columns-to-display": "Zobrazit sloupce" 850 "columns-to-display": "Zobrazit sloupce"
782 }, 851 },
  852 + "entity-field": {
  853 + "created-time": "Datum vytvoření",
  854 + "name": "Název",
  855 + "type": "Typ",
  856 + "first-name": "Jméno",
  857 + "last-name": "Příjmení",
  858 + "email": "Email",
  859 + "title": "Titul",
  860 + "country": "Stát",
  861 + "state": "Region",
  862 + "city": "Město",
  863 + "address": "Adresa",
  864 + "address2": "Adresa 2",
  865 + "zip": "PSČ",
  866 + "phone": "Telefon",
  867 + "label": "Označení"
  868 + },
783 "entity-view": { 869 "entity-view": {
784 "entity-view": "Entitní pohled", 870 "entity-view": "Entitní pohled",
785 "entity-view-required": "Entitní pohled je povinný.", 871 "entity-view-required": "Entitní pohled je povinný.",
@@ -791,12 +877,13 @@ @@ -791,12 +877,13 @@
791 "no-alias-matching": "'{{alias}}' nenalezen.", 877 "no-alias-matching": "'{{alias}}' nenalezen.",
792 "no-aliases-found": "Žádné aliasy nebyly nalezeny.", 878 "no-aliases-found": "Žádné aliasy nebyly nalezeny.",
793 "no-key-matching": "'{{key}}' nenalezen.", 879 "no-key-matching": "'{{key}}' nenalezen.",
794 - "no-keys-found": "Nebyly nalezeny žádné klíče.", 880 + "no-keys-found": "Žádné klíče nebyly nalezeny.",
795 "create-new-alias": "Vytvořit nový!", 881 "create-new-alias": "Vytvořit nový!",
796 "create-new-key": "Vytvořit nový!", 882 "create-new-key": "Vytvořit nový!",
797 "duplicate-alias-error": "Byl nalezen duplicitní alias '{{alias}}'.<br>Aliasy entitních pohledů musí být v rámci dashboardu unikátní.", 883 "duplicate-alias-error": "Byl nalezen duplicitní alias '{{alias}}'.<br>Aliasy entitních pohledů musí být v rámci dashboardu unikátní.",
798 "configure-alias": "Konfigurovat '{{alias}}' alias", 884 "configure-alias": "Konfigurovat '{{alias}}' alias",
799 "no-entity-views-matching": "Žádné entitní pohledy odpovídající '{{entity}}' nebyly nalezeny.", 885 "no-entity-views-matching": "Žádné entitní pohledy odpovídající '{{entity}}' nebyly nalezeny.",
  886 + "public": "Veřejný",
800 "alias": "Alias", 887 "alias": "Alias",
801 "alias-required": "Alias entitního pohledu je povinný.", 888 "alias-required": "Alias entitního pohledu je povinný.",
802 "remove-alias": "Odebrat alias entitního pohledu", 889 "remove-alias": "Odebrat alias entitního pohledu",
@@ -808,6 +895,7 @@ @@ -808,6 +895,7 @@
808 "entity-view-name-filter-required": "Filtr názvu entitního pohledu je povinný.", 895 "entity-view-name-filter-required": "Filtr názvu entitního pohledu je povinný.",
809 "entity-view-name-filter-no-entity-view-matched": "Žádné entitní pohledy začínající '{{entityView}}' nebyly nalezeny.", 896 "entity-view-name-filter-no-entity-view-matched": "Žádné entitní pohledy začínající '{{entityView}}' nebyly nalezeny.",
810 "add": "Přidat entitní pohled", 897 "add": "Přidat entitní pohled",
  898 + "entity-view-public": "Entitní pohled je veřejný",
811 "assign-to-customer": "Přiřadit zákazníkovi", 899 "assign-to-customer": "Přiřadit zákazníkovi",
812 "assign-entity-view-to-customer": "Přiřadit entitní pohled(y) zákazníkovi", 900 "assign-entity-view-to-customer": "Přiřadit entitní pohled(y) zákazníkovi",
813 "assign-entity-view-to-customer-text": "Vyberte prosím entitní pohledy, které mají být přiřazeny zákazníkovi", 901 "assign-entity-view-to-customer-text": "Vyberte prosím entitní pohledy, které mají být přiřazeny zákazníkovi",
@@ -841,12 +929,14 @@ @@ -841,12 +929,14 @@
841 "no-entity-view-types-matching": "Žádné typy entitních pohledů odpovídající '{{entitySubtype}}' nebyly nalezeny.", 929 "no-entity-view-types-matching": "Žádné typy entitních pohledů odpovídající '{{entitySubtype}}' nebyly nalezeny.",
842 "entity-view-type-list-empty": "Žádné typy entitních pohledů nebyly nalezeny.", 930 "entity-view-type-list-empty": "Žádné typy entitních pohledů nebyly nalezeny.",
843 "entity-view-types": "Typy entitních pohledů", 931 "entity-view-types": "Typy entitních pohledů",
  932 + "created-time": "Datum vytvoření",
844 "name": "Název", 933 "name": "Název",
845 "name-required": "Název je povinný.", 934 "name-required": "Název je povinný.",
846 "description": "Popis", 935 "description": "Popis",
847 "events": "Události", 936 "events": "Události",
848 "details": "Detail", 937 "details": "Detail",
849 "copyId": "Kopírovat Id entitního pohledu", 938 "copyId": "Kopírovat Id entitního pohledu",
  939 + "idCopiedMessage": "Id entitního pohledu bylo zkopírováno do schránky",
850 "assignedToCustomer": "Přiřazeno zákazníkovi", 940 "assignedToCustomer": "Přiřazeno zákazníkovi",
851 "unable-entity-view-device-alias-title": "Alias entitního typu nebylo možné smazat", 941 "unable-entity-view-device-alias-title": "Alias entitního typu nebylo možné smazat",
852 "unable-entity-view-device-alias-text": "Alias zařízení '{{entityViewAlias}}' nelze smazat, protože je používán následujícími widgety:<br/>{{widgetsList}}", 942 "unable-entity-view-device-alias-text": "Alias zařízení '{{entityViewAlias}}' nelze smazat, protože je používán následujícími widgety:<br/>{{widgetsList}}",
@@ -874,7 +964,9 @@ @@ -874,7 +964,9 @@
874 "make-public-entity-view-title": "Jste si jisti, že chcete entitní pohled '{{entityViewName}}' zveřejnit?", 964 "make-public-entity-view-title": "Jste si jisti, že chcete entitní pohled '{{entityViewName}}' zveřejnit?",
875 "make-public-entity-view-text": "Po potvrzení bude entitní pohled a všechna jeho data veřejné a dostupné pro ostatní.", 965 "make-public-entity-view-text": "Po potvrzení bude entitní pohled a všechna jeho data veřejné a dostupné pro ostatní.",
876 "make-private-entity-view-title": "Jste si jisti, že chcete entitní pohled '{{entityViewName}}' učinit neveřejným?", 966 "make-private-entity-view-title": "Jste si jisti, že chcete entitní pohled '{{entityViewName}}' učinit neveřejným?",
877 - "make-private-entity-view-text": "Po potvrzení bude entitní pohled a všechna jeho data neveřejné a nebudou dostupné pro ostatní." 967 + "make-private-entity-view-text": "Po potvrzení bude entitní pohled a všechna jeho data neveřejné a nebudou dostupné pro ostatní.",
  968 + "search": "Vyhledat entitní pohledy",
  969 + "selected-entity-views": "Vybráno { count, plural, 1 {1 entitních pohledů} other {# entitních pohledů} }"
878 }, 970 },
879 "event": { 971 "event": {
880 "event-type": "Typ události", 972 "event-type": "Typ události",
@@ -883,7 +975,7 @@ @@ -883,7 +975,7 @@
883 "type-stats": "Statistika", 975 "type-stats": "Statistika",
884 "type-debug-rule-node": "Ladění", 976 "type-debug-rule-node": "Ladění",
885 "type-debug-rule-chain": "Ladění", 977 "type-debug-rule-chain": "Ladění",
886 - "no-events-prompt": "Nebyly nalezeny žádné události", 978 + "no-events-prompt": "Žádné události nebyly nalezeny",
887 "error": "Chyba", 979 "error": "Chyba",
888 "alarm": "Alarm", 980 "alarm": "Alarm",
889 "event-time": "Čas události", 981 "event-time": "Čas události",
@@ -1071,6 +1163,80 @@ @@ -1071,6 +1163,80 @@
1071 "function": { 1163 "function": {
1072 "function": "Funkce" 1164 "function": "Funkce"
1073 }, 1165 },
  1166 + "gateway": {
  1167 + "add-entry": "Přidat konfiguraci",
  1168 + "connector-add": "Přidat nový konektor",
  1169 + "connector-enabled": "Povolit konektor",
  1170 + "connector-name": "Název konektoru",
  1171 + "connector-name-required": "Název konektoru je povinný.",
  1172 + "connector-type": "Typ konektoru",
  1173 + "connector-type-required": "Typ konektoru je povinný.",
  1174 + "connectors": "Konfigurace konektoru",
  1175 + "create-new-gateway": "Vytvořit novou bránu",
  1176 + "create-new-gateway-text": "Jste si jisti, že chcete vytvořit novou bránu s názvem: '{{gatewayName}}'?",
  1177 + "delete": "Smazat konfiguraci",
  1178 + "download-tip": "Stáhnout soubor konfigurace",
  1179 + "gateway": "Brána",
  1180 + "gateway-exists": "Zařízení se shodným názvem již existuje.",
  1181 + "gateway-name": "Název brány",
  1182 + "gateway-name-required": "Název brány je povinný.",
  1183 + "gateway-saved": "Konfigurace brány byla úspěšně uložena.",
  1184 + "json-parse": "Neplatný JSON.",
  1185 + "json-required": "Pole nemůže být prázdné.",
  1186 + "no-connectors": "Žádné konektory",
  1187 + "no-data": "Žádné konfigurace",
  1188 + "no-gateway-found": "Žádné brány nebyly nalezeny.",
  1189 + "no-gateway-matching": " '{{item}}' nenalezena.",
  1190 + "path-logs": "Cesta k souborům logu",
  1191 + "path-logs-required": "Cesta je povinná.",
  1192 + "remote": "Vzdálená konfigurace",
  1193 + "remote-logging-level": "Úroveň logování",
  1194 + "remove-entry": "Odstranit konfiguraci",
  1195 + "save-tip": "Uložit soubor konfigurace",
  1196 + "security-type": "Typ zabezpečení",
  1197 + "security-types": {
  1198 + "access-token": "Přístupový token",
  1199 + "tls": "TLS"
  1200 + },
  1201 + "storage": "Úložiště",
  1202 + "storage-max-file-records": "Maximální počet záznamů v souboru",
  1203 + "storage-max-files": "Maximální počet souborů",
  1204 + "storage-max-files-min": "Minimální počet je 1.",
  1205 + "storage-max-files-pattern": "Počet není platný.",
  1206 + "storage-max-files-required": "Počet je povinný.",
  1207 + "storage-max-records": "Maximální počet záznamů v úložišti",
  1208 + "storage-max-records-min": "Minimální počet záznamů je 1.",
  1209 + "storage-max-records-pattern": "Počet není platný.",
  1210 + "storage-max-records-required": "Maximální počet záznamů je povinný.",
  1211 + "storage-pack-size": "Maximální velikost souboru událostí",
  1212 + "storage-pack-size-min": "Minimální počet je 1.",
  1213 + "storage-pack-size-pattern": "Počet není platný.",
  1214 + "storage-pack-size-required": "Maximální velikost souboru událostí je povinná.",
  1215 + "storage-path": "Cesta k úložišti",
  1216 + "storage-path-required": "Cesta k úložišti je povinná.",
  1217 + "storage-type": "Typ úložiště",
  1218 + "storage-types": {
  1219 + "file-storage": "Soubor",
  1220 + "memory-storage": "Paměť"
  1221 + },
  1222 + "thingsboard": "ThingsBoard",
  1223 + "thingsboard-host": "Host ThingsBoard",
  1224 + "thingsboard-host-required": "Host je povinný.",
  1225 + "thingsboard-port": "Port ThingsBoard",
  1226 + "thingsboard-port-max": "Maximální číslo portu je 65535.",
  1227 + "thingsboard-port-min": "Minimální číslo portu je 1.",
  1228 + "thingsboard-port-pattern": "Port není platný.",
  1229 + "thingsboard-port-required": "Port je povinný.",
  1230 + "tidy": "Uspořádat",
  1231 + "tidy-tip": "Uspořádat JSON konfiguraci",
  1232 + "title-connectors-json": "Konfigurace {{typeName}} konektoru",
  1233 + "tls-path-ca-certificate": "Cesta k certifikátu CA brány",
  1234 + "tls-path-client-certificate": "Cesta k certifikátu klienta brány",
  1235 + "tls-path-private-key": "Cesta k privátnímu klíči brány",
  1236 + "toggle-fullscreen": "Přepnout do režimu celé obrazovky",
  1237 + "transformer-json-config": "JSON* konfigurace",
  1238 + "update-config": "Přidat/editovat JSON konfiguraci"
  1239 + },
1074 "grid": { 1240 "grid": {
1075 "delete-item-title": "Jste si jisti, že chcete smazat tuto položku?", 1241 "delete-item-title": "Jste si jisti, že chcete smazat tuto položku?",
1076 "delete-item-text": "Buďte opatrní, protože po potvrzení nebude možné tuto položku ani žádná související data obnovit.", 1242 "delete-item-text": "Buďte opatrní, protože po potvrzení nebude možné tuto položku ani žádná související data obnovit.",
@@ -1097,7 +1263,43 @@ @@ -1097,7 +1263,43 @@
1097 }, 1263 },
1098 "import": { 1264 "import": {
1099 "no-file": "Nebyl vybrán žádný soubor", 1265 "no-file": "Nebyl vybrán žádný soubor",
1100 - "drop-file": "Přetáhněte sem JSON soubor nebo klikněte pro výběr souboru pro nahrání." 1266 + "drop-file": "Přetáhněte sem JSON soubor nebo klikněte pro výběr souboru pro nahrání.",
  1267 + "drop-file-csv": "Přetáhněte sem CSV soubor nebo klikněte pro výběr souboru pro nahrání.",
  1268 + "column-value": "Hodnota",
  1269 + "column-title": "Název",
  1270 + "column-example": "Příklad hodnoty",
  1271 + "column-key": "Klíč atributu/telemetrie",
  1272 + "csv-delimiter": "Oddělovač CSV",
  1273 + "csv-first-line-header": "První řádek obsahuje názvy sloupců",
  1274 + "csv-update-data": "Editovat atributy/telemetrii",
  1275 + "import-csv-number-columns-error": "Soubor by měl obsahovat minimálně dva sloupce",
  1276 + "import-csv-invalid-format-error": "Neplatný formát souboru. Řádek: '{{line}}'",
  1277 + "column-type": {
  1278 + "name": "Název",
  1279 + "type": "Typ",
  1280 + "label": "Označení",
  1281 + "column-type": "Typ sloupce",
  1282 + "client-attribute": "Atribut klienta",
  1283 + "shared-attribute": "Sdílený atribut",
  1284 + "server-attribute": "Atribut serveru",
  1285 + "timeseries": "Časové řady",
  1286 + "entity-field": "Pole entity",
  1287 + "access-token": "Přístupový token",
  1288 + "isgateway": "Je bránou",
  1289 + "description": "Popis"
  1290 + },
  1291 + "stepper-text":{
  1292 + "select-file": "Vybrat soubor",
  1293 + "configuration": "Importovat konfiguraci",
  1294 + "column-type": "Vybrat typ sloupců",
  1295 + "creat-entities": "Vytvořím nové entity",
  1296 + "done": "Hotovo"
  1297 + },
  1298 + "message": {
  1299 + "create-entities": "{{count}} nových entit bylo úspěšně vytvořeno.",
  1300 + "update-entities": "{{count}} entit bylo úspěšně aktualizováno.",
  1301 + "error-entities": "Při vytvoření {{count}} entit došlo k chybě."
  1302 + }
1101 }, 1303 },
1102 "item": { 1304 "item": {
1103 "selected": "Vybráno" 1305 "selected": "Vybráno"
@@ -1105,7 +1307,8 @@ @@ -1105,7 +1307,8 @@
1105 "js-func": { 1307 "js-func": {
1106 "no-return-error": "Funkce musí vrátit hodnotu!", 1308 "no-return-error": "Funkce musí vrátit hodnotu!",
1107 "return-type-mismatch": "Funkce musí vrátit hodnotu '{{type}}' typu!", 1309 "return-type-mismatch": "Funkce musí vrátit hodnotu '{{type}}' typu!",
1108 - "tidy": "Tidy" 1310 + "tidy": "Tidy",
  1311 + "mini": "Mini"
1109 }, 1312 },
1110 "key-val": { 1313 "key-val": {
1111 "key": "Klíč", 1314 "key": "Klíč",
@@ -1134,7 +1337,13 @@ @@ -1134,7 +1337,13 @@
1134 "min": "min", 1337 "min": "min",
1135 "max": "max", 1338 "max": "max",
1136 "avg": "průměr", 1339 "avg": "průměr",
1137 - "total": "celkem" 1340 + "total": "celkem",
  1341 + "comparison-time-ago": {
  1342 + "days": "(před dny)",
  1343 + "weeks": "(před týdny)",
  1344 + "months": "(před měsíci)",
  1345 + "years": "(před roky)"
  1346 + }
1138 }, 1347 },
1139 "login": { 1348 "login": {
1140 "login": "Přihlásit se", 1349 "login": "Přihlásit se",
@@ -1148,12 +1357,14 @@ @@ -1148,12 +1357,14 @@
1148 "remember-me": "Zapamatovat si mě", 1357 "remember-me": "Zapamatovat si mě",
1149 "forgot-password": "Zapomněli jste heslo?", 1358 "forgot-password": "Zapomněli jste heslo?",
1150 "password-reset": "Reset hesla", 1359 "password-reset": "Reset hesla",
  1360 + "expired-password-reset-message": "Platnost vašich přístupových údajů vypršela! Nastavte si prosím nové heslo.",
1151 "new-password": "Nové heslo", 1361 "new-password": "Nové heslo",
1152 "new-password-again": "Nové heslo znovu", 1362 "new-password-again": "Nové heslo znovu",
1153 "password-link-sent-message": "Odkaz pro reset hesla byl úspěšně odeslán!", 1363 "password-link-sent-message": "Odkaz pro reset hesla byl úspěšně odeslán!",
1154 "email": "Email", 1364 "email": "Email",
1155 "login-with": "Přihlásit se přes {{name}}", 1365 "login-with": "Přihlásit se přes {{name}}",
1156 - "or": "nebo" 1366 + "or": "nebo",
  1367 + "error": "Chyba přihlášení"
1157 }, 1368 },
1158 "position": { 1369 "position": {
1159 "top": "Nahoře", 1370 "top": "Nahoře",
@@ -1163,6 +1374,7 @@ @@ -1163,6 +1374,7 @@
1163 }, 1374 },
1164 "profile": { 1375 "profile": {
1165 "profile": "Profil", 1376 "profile": "Profil",
  1377 + "last-login-time": "Poslední přihlášení",
1166 "change-password": "Změnit heslo", 1378 "change-password": "Změnit heslo",
1167 "current-password": "Stávající heslo" 1379 "current-password": "Stávající heslo"
1168 }, 1380 },
@@ -1206,7 +1418,8 @@ @@ -1206,7 +1418,8 @@
1206 "any-relation": "Všechny vztahy", 1418 "any-relation": "Všechny vztahy",
1207 "relation-filters": "Filtry vztahů", 1419 "relation-filters": "Filtry vztahů",
1208 "additional-info": "Další info (JSON)", 1420 "additional-info": "Další info (JSON)",
1209 - "invalid-additional-info": "Další informace v JSON nebylo možné parsovat." 1421 + "invalid-additional-info": "Další informace v JSON nebylo možné parsovat.",
  1422 + "no-relations-text": "Žádné vztahy nebyly nalezeny"
1210 }, 1423 },
1211 "rulechain": { 1424 "rulechain": {
1212 "rulechain": "Řetěz pravidel", 1425 "rulechain": "Řetěz pravidel",
@@ -1243,7 +1456,10 @@ @@ -1243,7 +1456,10 @@
1243 "no-rulechains-matching": "Žádné řetězy pravidel odpovídající '{{entity}}' nebyly nalezeny.", 1456 "no-rulechains-matching": "Žádné řetězy pravidel odpovídající '{{entity}}' nebyly nalezeny.",
1244 "rulechain-required": "Řetěz pravidel je povinný", 1457 "rulechain-required": "Řetěz pravidel je povinný",
1245 "management": "Správa pravidel", 1458 "management": "Správa pravidel",
1246 - "debug-mode": "Režim ladění" 1459 + "debug-mode": "Režim ladění",
  1460 + "search": "Vyhledat řetězy pravidel",
  1461 + "selected-rulechains": "Vybráno { count, plural, 1 {1 řetězů pravidel} other {# řetězů pravidel} }",
  1462 + "open-rulechain": "Otevřít řetěz pravidel"
1247 }, 1463 },
1248 "rulenode": { 1464 "rulenode": {
1249 "details": "Detail", 1465 "details": "Detail",
@@ -1309,6 +1525,11 @@ @@ -1309,6 +1525,11 @@
1309 "help": "Nápověda", 1525 "help": "Nápověda",
1310 "reset-debug-mode": "Resetovat režim ladění na všech uzlech" 1526 "reset-debug-mode": "Resetovat režim ladění na všech uzlech"
1311 }, 1527 },
  1528 + "queue": {
  1529 + "select_name": "Vybrat název fronty",
  1530 + "name": "Název fronty",
  1531 + "name_required": "Název fronty je povinný!"
  1532 + },
1312 "tenant": { 1533 "tenant": {
1313 "tenant": "Tenant", 1534 "tenant": "Tenant",
1314 "tenants": "Tenanti", 1535 "tenants": "Tenanti",
@@ -1324,7 +1545,7 @@ @@ -1324,7 +1545,7 @@
1324 "delete-tenant-text": "Buďte opatrní, protože po potvrzení nebude možné tenanta ani žádná související data obnovit.", 1545 "delete-tenant-text": "Buďte opatrní, protože po potvrzení nebude možné tenanta ani žádná související data obnovit.",
1325 "delete-tenants-title": "Jste si jisti, že chcete smazat { count, plural, 1 {1 tenanta} other {# tenantů} }?", 1546 "delete-tenants-title": "Jste si jisti, že chcete smazat { count, plural, 1 {1 tenanta} other {# tenantů} }?",
1326 "delete-tenants-action-title": "Smazat { count, plural, 1 {1 tenanta} other {# tenantů} }", 1547 "delete-tenants-action-title": "Smazat { count, plural, 1 {1 tenanta} other {# tenantů} }",
1327 - "delete-tenants-text": "Buďte opatrní, protože po potvrzení budou všichni vybraní tenanti odstranění a žádná související data nebude možné obnovit.", 1548 + "delete-tenants-text": "Buďte opatrní, protože po potvrzení budou všichni vybraní tenanti odstraněni a žádná související data nebude možné obnovit.",
1328 "title": "Název", 1549 "title": "Název",
1329 "title-required": "Název je povinný.", 1550 "title-required": "Název je povinný.",
1330 "description": "Popis", 1551 "description": "Popis",
@@ -1334,7 +1555,13 @@ @@ -1334,7 +1555,13 @@
1334 "idCopiedMessage": "Id tenanta bylo zkopírováno do schránky", 1555 "idCopiedMessage": "Id tenanta bylo zkopírováno do schránky",
1335 "select-tenant": "Vybrat tenanta", 1556 "select-tenant": "Vybrat tenanta",
1336 "no-tenants-matching": "Žádní tenanti odpovídající '{{entity}}' nebyli nalezeni.", 1557 "no-tenants-matching": "Žádní tenanti odpovídající '{{entity}}' nebyli nalezeni.",
1337 - "tenant-required": "Tenant je povinný" 1558 + "tenant-required": "Tenant je povinný",
  1559 + "search": "Vyhledat tenanty",
  1560 + "selected-tenants": "Vybráno { count, plural, 1 {1 tenantů} other {# tenantů} }",
  1561 + "isolated-tb-core": "Zpracování v izolovaném kontejneru ThingsBoard Core",
  1562 + "isolated-tb-rule-engine": "Zpracování v izolovaném kontejneru ThingsBoard Rule Engine",
  1563 + "isolated-tb-core-details": "Vyžaduje samostatnou mikroslužbu(y) pro každého izolovaného tenanta",
  1564 + "isolated-tb-rule-engine-details": "Vyžaduje samostatnou mikroslužbu(y) pro každého izolovaného tenanta"
1338 }, 1565 },
1339 "timeinterval": { 1566 "timeinterval": {
1340 "seconds-interval": "{ seconds, plural, 1 {1 vteřina} other {# vteřin} }", 1567 "seconds-interval": "{ seconds, plural, 1 {1 vteřina} other {# vteřin} }",
@@ -1359,7 +1586,8 @@ @@ -1359,7 +1586,8 @@
1359 "edit": "Editovat časové okno", 1586 "edit": "Editovat časové okno",
1360 "date-range": "Rozsah data", 1587 "date-range": "Rozsah data",
1361 "last": "Poslední", 1588 "last": "Poslední",
1362 - "time-period": "Časový interval" 1589 + "time-period": "Časový interval",
  1590 + "hide": "Skrýt"
1363 }, 1591 },
1364 "user": { 1592 "user": {
1365 "user": "Uživatel", 1593 "user": "Uživatel",
@@ -1402,22 +1630,35 @@ @@ -1402,22 +1630,35 @@
1402 "activation-link-copied-message": "Aktivační odkaz uživatele byl zkopírován do schránky", 1630 "activation-link-copied-message": "Aktivační odkaz uživatele byl zkopírován do schránky",
1403 "details": "Detail", 1631 "details": "Detail",
1404 "login-as-tenant-admin": "Přihlásit se jako administrátor tenanta", 1632 "login-as-tenant-admin": "Přihlásit se jako administrátor tenanta",
1405 - "login-as-customer-user": "Přihlásit se jako uživatel zákazníka" 1633 + "login-as-customer-user": "Přihlásit se jako uživatel zákazníka",
  1634 + "search": "Vyhledat uživatele",
  1635 + "selected-users": "Vybráno { count, plural, 1 {1 uživatelů} other {# uživatelů} }",
  1636 + "disable-account": "Zakázat uživatelský účet",
  1637 + "enable-account": "Povolit uživatelský účet",
  1638 + "enable-account-message": "Uživatelský účet byl úspěšně povolen!",
  1639 + "disable-account-message": "Uživatelský účet byl úspěšně zakázán!"
1406 }, 1640 },
1407 "value": { 1641 "value": {
1408 "type": "Typ hodnoty", 1642 "type": "Typ hodnoty",
1409 "string": "Řetězec", 1643 "string": "Řetězec",
1410 "string-value": "Hodnota řetězce", 1644 "string-value": "Hodnota řetězce",
  1645 + "string-value-required": "Hodnota řetězce je povinná",
1411 "integer": "Celé číslo", 1646 "integer": "Celé číslo",
1412 "integer-value": "Hodnota celého čísla", 1647 "integer-value": "Hodnota celého čísla",
  1648 + "integer-value-required": "Hodnota celého čísla je povinná",
1413 "invalid-integer-value": "Neplatná hodnota celého čísla", 1649 "invalid-integer-value": "Neplatná hodnota celého čísla",
1414 "double": "Číslo s plovoucí řádovou s dvojitou přesností", 1650 "double": "Číslo s plovoucí řádovou s dvojitou přesností",
1415 "double-value": "Hodnota čísla s plovoucí řádovou řádkou", 1651 "double-value": "Hodnota čísla s plovoucí řádovou řádkou",
  1652 + "double-value-required": "Hodnota čísla s plovoucí řádovou čárkou je povinná",
1416 "boolean": "Pravdivostní hodnota", 1653 "boolean": "Pravdivostní hodnota",
1417 "boolean-value": "Hodnota pravdivostní hodnoty", 1654 "boolean-value": "Hodnota pravdivostní hodnoty",
1418 "false": "Nepravda", 1655 "false": "Nepravda",
1419 "true": "Pravda", 1656 "true": "Pravda",
1420 - "long": "Vysoké celé číslo" 1657 + "long": "Vysoké celé číslo",
  1658 + "json": "JSON",
  1659 + "json-value": "Hodnota JSON",
  1660 + "json-value-invalid": "Hodnota JSON má neplatný formát",
  1661 + "json-value-required": "Hodnota JSON je povinná."
1421 }, 1662 },
1422 "widget": { 1663 "widget": {
1423 "widget-library": "Knihovna widgetů", 1664 "widget-library": "Knihovna widgetů",
@@ -1461,6 +1702,7 @@ @@ -1461,6 +1702,7 @@
1461 "settings-schema": "Schéma nastavení", 1702 "settings-schema": "Schéma nastavení",
1462 "datakey-settings-schema": "Schéma nastavení datového klíče", 1703 "datakey-settings-schema": "Schéma nastavení datového klíče",
1463 "javascript": "Javascript", 1704 "javascript": "Javascript",
  1705 + "js": "JS",
1464 "remove-widget-type-title": "Jste si jisti, že chcete odebrat typ widgetu '{{widgetName}}'?", 1706 "remove-widget-type-title": "Jste si jisti, že chcete odebrat typ widgetu '{{widgetName}}'?",
1465 "remove-widget-type-text": "Po potvrzení nebude možné typ widgetu ani žádná související data obnovit.", 1707 "remove-widget-type-text": "Po potvrzení nebude možné typ widgetu ani žádná související data obnovit.",
1466 "remove-widget-type": "Odebrat typ widgetu", 1708 "remove-widget-type": "Odebrat typ widgetu",
@@ -1477,6 +1719,7 @@ @@ -1477,6 +1719,7 @@
1477 "update-dashboard-state": "Aktualizovat stávající stav dashboardu", 1719 "update-dashboard-state": "Aktualizovat stávající stav dashboardu",
1478 "open-dashboard": "Přejít k jinému dashboardu", 1720 "open-dashboard": "Přejít k jinému dashboardu",
1479 "custom": "Vlastní akce", 1721 "custom": "Vlastní akce",
  1722 + "custom-pretty": "Vlastní akce (s HTML šablonou)",
1480 "target-dashboard-state": "Cílový stav dashboardu", 1723 "target-dashboard-state": "Cílový stav dashboardu",
1481 "target-dashboard-state-required": "Cílový stav dashboardu je povinný", 1724 "target-dashboard-state-required": "Cílový stav dashboardu je povinný",
1482 "set-entity-from-widget": "Nastavit entitu z widgetu", 1725 "set-entity-from-widget": "Nastavit entitu z widgetu",
@@ -1508,13 +1751,17 @@ @@ -1508,13 +1751,17 @@
1508 "export-failed-error": "Kategorii widgetů nebylo možné exportovat: {{error}}", 1751 "export-failed-error": "Kategorii widgetů nebylo možné exportovat: {{error}}",
1509 "create-new-widgets-bundle": "Vytvořit novou kategorii widgetů", 1752 "create-new-widgets-bundle": "Vytvořit novou kategorii widgetů",
1510 "widgets-bundle-file": "Soubor kategorie widgetů", 1753 "widgets-bundle-file": "Soubor kategorie widgetů",
1511 - "invalid-widgets-bundle-file-error": "Kategorii widgetů nebylo možné importovat: Neplatná datová struktura kategorie widgetů." 1754 + "invalid-widgets-bundle-file-error": "Kategorii widgetů nebylo možné importovat: Neplatná datová struktura kategorie widgetů.",
  1755 + "search": "Vyhledat kategorie widgetů",
  1756 + "selected-widgets-bundles": "Vybráno { count, plural, 1 {1 kategorií widgetů} other {# kategorií widgetů} }",
  1757 + "open-widgets-bundle": "Otevřít kategorii widgetů"
1512 }, 1758 },
1513 "widget-config": { 1759 "widget-config": {
1514 "data": "Data", 1760 "data": "Data",
1515 "settings": "Nastavení", 1761 "settings": "Nastavení",
1516 "advanced": "Rozšířené", 1762 "advanced": "Rozšířené",
1517 "title": "Název", 1763 "title": "Název",
  1764 + "title-tooltip": "Popisek názvu",
1518 "general-settings": "Obecná nastavení", 1765 "general-settings": "Obecná nastavení",
1519 "display-title": "Zobrazovaný název", 1766 "display-title": "Zobrazovaný název",
1520 "drop-shadow": "Stín", 1767 "drop-shadow": "Stín",
@@ -1532,6 +1779,7 @@ @@ -1532,6 +1779,7 @@
1532 "decimals": "Počet číslic za desetinnou čárkou", 1779 "decimals": "Počet číslic za desetinnou čárkou",
1533 "timewindow": "Časové okno", 1780 "timewindow": "Časové okno",
1534 "use-dashboard-timewindow": "Použít časové okno dashboardu", 1781 "use-dashboard-timewindow": "Použít časové okno dashboardu",
  1782 + "display-timewindow": "Zobrazit časové okno",
1535 "display-legend": "Zobrazit legendu", 1783 "display-legend": "Zobrazit legendu",
1536 "datasources": "Datové zdroje", 1784 "datasources": "Datové zdroje",
1537 "maximum-datasources": "Maximum { count, plural, 1 {1 datový zdroj je povolen.} other {# datových zdrojů je povoleno} }", 1785 "maximum-datasources": "Maximum { count, plural, 1 {1 datový zdroj je povolen.} other {# datových zdrojů je povoleno} }",
@@ -1545,6 +1793,7 @@ @@ -1545,6 +1793,7 @@
1545 "action": "Akce", 1793 "action": "Akce",
1546 "add-action": "Přidat akci", 1794 "add-action": "Přidat akci",
1547 "search-actions": "Vyhledat akce", 1795 "search-actions": "Vyhledat akce",
  1796 + "no-actions-text": "Žádné akce nebyly nalezeny",
1548 "action-source": "Zdroj akce", 1797 "action-source": "Zdroj akce",
1549 "action-source-required": "Zdroj akce je povinný.", 1798 "action-source-required": "Zdroj akce je povinný.",
1550 "action-name": "Název", 1799 "action-name": "Název",
@@ -1556,7 +1805,10 @@ @@ -1556,7 +1805,10 @@
1556 "edit-action": "Editovat akci", 1805 "edit-action": "Editovat akci",
1557 "delete-action": "Smazat akci", 1806 "delete-action": "Smazat akci",
1558 "delete-action-title": "Smazat akci widgetu", 1807 "delete-action-title": "Smazat akci widgetu",
1559 - "delete-action-text": "Jste si jisti, že chcete smazat akci widgetu s názvem '{{actionName}}'?" 1808 + "delete-action-text": "Jste si jisti, že chcete smazat akci widgetu s názvem '{{actionName}}'?",
  1809 + "display-icon": "Zobrazit název ikony",
  1810 + "icon-color": "Barva ikony",
  1811 + "icon-size": "Velikost ikony"
1560 }, 1812 },
1561 "widget-type": { 1813 "widget-type": {
1562 "import": "Importovat typ widgetu", 1814 "import": "Importovat typ widgetu",
@@ -1623,6 +1875,46 @@ @@ -1623,6 +1875,46 @@
1623 "Step size": "Velikost kroku", 1875 "Step size": "Velikost kroku",
1624 "Ok": "Ok" 1876 "Ok": "Ok"
1625 } 1877 }
  1878 + },
  1879 + "input-widgets": {
  1880 + "attribute-not-allowed": "Parametr atributu nelze v tomto widgetu použít",
  1881 + "blocked-location": "Geolokace je ve vašem prohlížeči zakázána",
  1882 + "claim-device": "Získat zařízení",
  1883 + "claim-failed": "Nepodařilo se získat zařízení!",
  1884 + "claim-not-found": "Zařízení nenalezeno!",
  1885 + "claim-successful": "Zařízení bylo úspěšně získáno!",
  1886 + "date": "Datum",
  1887 + "device-name": "Název zařízení",
  1888 + "device-name-required": "Název zařízení je povinný",
  1889 + "discard-changes": "Zahodit změny",
  1890 + "entity-attribute-required": "Atribut entity je povinný",
  1891 + "entity-coordinate-required": "Obě pole, zeměpisná šířka i zeměpisná délka, jsou povinná",
  1892 + "entity-timeseries-required": "Časové řady entity jsou povinné",
  1893 + "get-location": "Získat aktuální polohu",
  1894 + "latitude": "Zeměpisná šířka",
  1895 + "longitude": "Zeměpisná délka",
  1896 + "not-allowed-entity": "Vybraná entita nemůže mít sdílené atributy",
  1897 + "no-attribute-selected": "Není vybrán žádný atribut",
  1898 + "no-datakey-selected": "Není vybrán žádný datový klíč",
  1899 + "no-coordinate-specified": "Datový klíč pro zeměpisnou šířku/délku nebyl specifikován",
  1900 + "no-entity-selected": "Není vybrána žádná entita",
  1901 + "no-image": "Žádný obrázek",
  1902 + "no-support-geolocation": "Váš prohlížeč nepodporuje geolokaci",
  1903 + "no-support-web-camera": "Žádná podporovaná webová kamera",
  1904 + "no-timeseries-selected": "Nejsou vybrány žádné časové řady",
  1905 + "secret-key": "Tajný klíč",
  1906 + "secret-key-required": "Tajný klíč je povinný",
  1907 + "switch-attribute-value": "Přepnout hodnotu atributu entity",
  1908 + "switch-camera": "Přepnout kameru",
  1909 + "switch-timeseries-value": "Přepnout hodnotu časové řady entity",
  1910 + "take-photo": "Vyfotit",
  1911 + "time": "Čas",
  1912 + "timeseries-not-allowed": "Časové řady nelze v tomto widgetu použít",
  1913 + "update-failed": "Aktualizace selhala",
  1914 + "update-successful": "Aktualizace úspěšná",
  1915 + "update-attribute": "Editovat atribut",
  1916 + "update-timeseries": "Editovat časové řady",
  1917 + "value": "Hodnota"
1626 } 1918 }
1627 }, 1919 },
1628 "icon": { 1920 "icon": {
@@ -1638,10 +1930,32 @@ @@ -1638,10 +1930,32 @@
1638 "polygon-click": "Při kliknutí na polygon", 1930 "polygon-click": "Při kliknutí na polygon",
1639 "marker-click": "Při kliknutí na značku", 1931 "marker-click": "Při kliknutí na značku",
1640 "tooltip-tag-action": "Akce štítku nápovědy", 1932 "tooltip-tag-action": "Akce štítku nápovědy",
1641 - "node-selected": "Při výběru uzlu" 1933 + "node-selected": "Při výběru uzlu",
  1934 + "element-click": "Při kliknutí na prvek HTML",
  1935 + "pie-slice-click": "Při kliknutí na oblast grafu",
  1936 + "row-double-click": "Při dvoj kliknutí na řádek"
1642 } 1937 }
1643 }, 1938 },
1644 "language": { 1939 "language": {
1645 - "language": "Jazyk" 1940 + "language": "Jazyk",
  1941 + "locales": {
  1942 + "de_DE": "Deutsch",
  1943 + "fr_FR": "Français",
  1944 + "zh_CN": "简体中文",
  1945 + "zh_TW": "繁體中文",
  1946 + "en_US": "English",
  1947 + "it_IT": "Italiano",
  1948 + "ko_KR": "한글",
  1949 + "ru_RU": "Русский",
  1950 + "es_ES": "Español",
  1951 + "ja_JA": "日本語",
  1952 + "tr_TR": "Türkçe",
  1953 + "fa_IR": "فارسي",
  1954 + "uk_UA": "Українська",
  1955 + "cs_CZ": "Česky",
  1956 + "el_GR": "Ελληνικά",
  1957 + "ro_RO": "Română",
  1958 + "lv_LV": "Latviešu"
  1959 + }
1646 } 1960 }
1647 } 1961 }