Commit 1cd4f950b68ba1ae8ce0aee3c2b1845cffcd6808

Authored by Javier Núñez
1 parent dc9960a5

Sync spanish translations, add device profile, tenant profiles, oauth, API usage

... ... @@ -4,9 +4,11 @@
4 4 "unauthorized-access": "Acceso no autorizado",
5 5 "unauthorized-access-text": "Debes iniciar sesión para tener acceso a este recurso!",
6 6 "access-forbidden": "Acceso Prohibido",
7   - "access-forbidden-text": "No tienes derechos para acceder a esta ubicación!<br/>Intenta iniciar sesión con otro usuario si todavía quieres acceder a esta ubicación.",
  7 + "access-forbidden-text": "No tienes suficientes derechos para acceder a esta ubicación!<br/>Intenta iniciar sesión con otro usuario si todavía quieres acceder a esta ubicación.",
8 8 "refresh-token-expired": "La sesión ha expirado",
9   - "refresh-token-failed": "No se puede actualizar la sesión"
  9 + "refresh-token-failed": "No se puede actualizar la sesión",
  10 + "permission-denied": "Permiso Denegado",
  11 + "permission-denied-text": "No tienes suficientes derechos para realizar esta operación!"
10 12 },
11 13 "action": {
12 14 "activate": "Activar",
... ... @@ -21,6 +23,7 @@
21 23 "no": "No",
22 24 "update": "Actualizar",
23 25 "remove": "Eliminar",
  26 + "select": "Seleccionar",
24 27 "search": "Buscar",
25 28 "clear-search": "Borrar búsqueda",
26 29 "assign": "Asignar",
... ... @@ -49,13 +52,16 @@
49 52 "import": "Importar",
50 53 "export": "Exportar",
51 54 "share-via": "Compartir vía {{provider}}",
52   - "discard-changes": "Cancelar los cambios",
53 55 "continue": "Continuar",
54   - "download": "Descargar"
  56 + "discard-changes": "Cancelar cambios",
  57 + "download": "Descargar",
  58 + "next-with-label": "Siguiente: {{label}}",
  59 + "read-more": "Leer más",
  60 + "hide": "Ocultar"
55 61 },
56 62 "aggregation": {
57   - "aggregation": "Agregación",
58   - "function": "Función de Agregación",
  63 + "aggregation": "Agrupación",
  64 + "function": "Función de Agrupación",
59 65 "limit": "Valores Max",
60 66 "group-interval": "Intervalo de agrupación",
61 67 "min": "Min",
... ... @@ -74,6 +80,8 @@
74 80 "test-mail-sent": "Mail de prueba enviado correctamente!",
75 81 "base-url": "URL Base",
76 82 "base-url-required": "URL Base requerida.",
  83 + "prohibit-different-url": "Prohibir el uso de hostname en cabeceras de request del cliente",
  84 + "prohibit-different-url-hint": "Este ajuste debe ser activado en entornos de producción. Puede causar fallos de seguridad si está desactivado",
77 85 "mail-from": "Mail Desde",
78 86 "mail-from-required": "Mail Desde requerido.",
79 87 "smtp-protocol": "Protocolo SMTP",
... ... @@ -87,9 +95,44 @@
87 95 "timeout-invalid": "No parece un Timeout valido.",
88 96 "enable-tls": "Habilitar TLS",
89 97 "tls-version": "Versión TLS",
  98 + "enable-proxy": "Habilitar proxy",
  99 + "proxy-host": "Host proxy",
  100 + "proxy-host-required": "Se requiere host Proxy.",
  101 + "proxy-port": "Puerto proxy",
  102 + "proxy-port-required": "Se requiere puerto proxy.",
  103 + "proxy-port-range": "El puerto proxy debe estar en un rango de 1 a 65535.",
  104 + "proxy-user": "Usuario proxy",
  105 + "proxy-password": "Contraseña proxy",
90 106 "send-test-mail": "Enviar correo de prueba",
91   - "password-policy": "Política de contraseñas",
  107 + "sms-provider": "Proveedor SMS",
  108 + "sms-provider-settings": "Ajustes proveedor SMS",
  109 + "sms-provider-type": "Tipo de proveedor SMS",
  110 + "sms-provider-type-required": "Se requiere proveedor SMS.",
  111 + "sms-provider-type-aws-sns": "Amazon SNS",
  112 + "sms-provider-type-twilio": "Twilio",
  113 + "aws-access-key-id": "AWS Access Key ID",
  114 + "aws-access-key-id-required": "Se requiere AWS Access Key ID",
  115 + "aws-secret-access-key": "AWS Secret Access Key",
  116 + "aws-secret-access-key-required": "Se requere AWS Secret Access Key",
  117 + "aws-region": "Región AWS",
  118 + "aws-region-required": "Se requere región AWS",
  119 + "number-from": "Nº de teléfono Origen",
  120 + "number-from-required": "Se requere Nº de teléfono origen.",
  121 + "number-to": "Nº de teléfono de destino",
  122 + "number-to-required": "Se requere Nº de teléfono de destino.",
  123 + "phone-number-hint": "Nº de teléfono en formato E.164, ex. +19995550123",
  124 + "phone-number-pattern": "Nº Inválido. Debe estar en formato E.164, ex. +19995550123.",
  125 + "sms-message": "Mensaje SMS",
  126 + "sms-message-required": "Se requeriere mensaje SMS.",
  127 + "sms-message-max-length": "Los SMS no pueden ser más largos de 1600 caracteres",
  128 + "twilio-account-sid": "SID de cuenta Twilio",
  129 + "twilio-account-sid-required": "Se requere SID de cuenta Twilio",
  130 + "twilio-account-token": "Token de cuenta Twilio",
  131 + "twilio-account-token-required": "Se requiere Token Twilio",
  132 + "send-test-sms": "Enviar SMS de prueba",
  133 + "test-sms-sent": "SMS enviado con éxito!",
92 134 "security-settings": "Configuraciones de seguridad",
  135 + "password-policy": "Política de contraseñas",
93 136 "minimum-password-length": "Longitud mínima de contraseña",
94 137 "minimum-password-length-required": "Se requiere una longitud mínima de contraseña",
95 138 "minimum-password-length-range": "La longitud mínima de la contraseña debe estar en un rango de 5 a 50",
... ... @@ -108,8 +151,74 @@
108 151 "general-policy": "Política general",
109 152 "max-failed-login-attempts": "Número máximo de intentos fallidos de inicio de sesión, antes de que la cuenta esté bloqueada",
110 153 "minimum-max-failed-login-attempts-range": "El número máximo de intentos fallidos de inicio de sesión no puede ser negativo",
111   - "user-lockout-notification-email": "En caso de bloqueo de la cuenta del usuario, envíe una notificación por correo electrónico"
112   - },
  154 + "user-lockout-notification-email": "En caso de bloqueo de la cuenta del usuario, envíe una notificación por correo electrónico",
  155 + "domain-name": "Nombre de dominio",
  156 + "domain-name-unique": "El nombre de dominio y protocolo debe ser único.",
  157 + "error-verification-url": "Un nombre de dominio no debe contener símbolos '/' y ':'. Ejemplo: thingsboard.io",
  158 + "oauth2": {
  159 + "access-token-uri": "URI Access token",
  160 + "access-token-uri-required": "Se requere URI Access token.",
  161 + "activate-user": "Activar usuario",
  162 + "add-domain": "Añadir dominio",
  163 + "delete-domain": "Borrar dominio",
  164 + "add-provider": "Añadir proveedor",
  165 + "delete-provider": "Borrar proveedor",
  166 + "allow-user-creation": "Permitir creación de usuario",
  167 + "always-fullscreen": "Siempre pantalla completa",
  168 + "authorization-uri": "URI Autorización",
  169 + "authorization-uri-required": "Se requiere URI de Autorización.",
  170 + "client-authentication-method": "Método de autenticación",
  171 + "client-id": "ID Cliente",
  172 + "client-id-required": "Se requere ID Cliente.",
  173 + "client-secret": "Secreto de Cliente",
  174 + "client-secret-required": "Se requiere Secreto de Cliente.",
  175 + "custom-setting": "Ajustes personalizados",
  176 + "customer-name-pattern": "Patrón nombre de cliente",
  177 + "default-dashboard-name": "Nombre de panel por defecto",
  178 + "delete-domain-text": "Atención, tras la confirmación el dominio y todos los datos del proveedor no estarán disponibles.",
  179 + "delete-domain-title": "Eliminar los ajustes del dominio '{{domainName}}'?",
  180 + "delete-registration-text": "Atención, tras la confirmación los datos del proveedor no estarán disponibles.",
  181 + "delete-registration-title": "Eliminar el proveedor '{{name}}'?",
  182 + "email-attribute-key": "Clave de atributos email",
  183 + "email-attribute-key-required": "Se requiere clave de atributos de email.",
  184 + "first-name-attribute-key": "Clave de atributos de nombre",
  185 + "general": "General",
  186 + "jwk-set-uri": "URI web key JSON",
  187 + "last-name-attribute-key": "Clave de atributos de apellido",
  188 + "login-button-icon": "Icono de botón login",
  189 + "login-button-label": "Etiqueta de proveedor",
  190 + "login-button-label-placeholder": "Login con $(Provider label)",
  191 + "login-button-label-required": "Clave de etiqueta requerida.",
  192 + "login-provider": "Proveedor de login",
  193 + "mapper": "Mapeador",
  194 + "new-domain": "Nuevo dominio",
  195 + "oauth2": "OAuth2",
  196 + "redirect-uri-template": "Plantilla de redirección URI",
  197 + "copy-redirect-uri": "Copiar URI de redirección",
  198 + "registration-id": "ID de registro",
  199 + "registration-id-required": "Se requiere ID de registro.",
  200 + "registration-id-unique": "El ID de registro debe ser único en el sistema.",
  201 + "scope": "Alcance",
  202 + "scope-required": "Se requiere alcance.",
  203 + "tenant-name-pattern": "Patrón de nombre de propietario",
  204 + "tenant-name-pattern-required": "Se requiere patrón de nombre de propietario.",
  205 + "tenant-name-strategy": "Estrategia de Nombre de Propietario",
  206 + "type": "Tipo de mapeador",
  207 + "uri-pattern-error": "Formato de URI inválido.",
  208 + "url": "URL",
  209 + "url-pattern": "Formato URL inválido.",
  210 + "url-required": "Se requiere URL.",
  211 + "user-info-uri": "URI Información de usuario",
  212 + "user-info-uri-required": "Se requiere URI de información usuario.",
  213 + "user-name-attribute-name": "Clave de atributos de nombre de usuario",
  214 + "user-name-attribute-name-required": "Se requiere clave de atributos de nombre de usuario",
  215 + "protocol": "Protocolo",
  216 + "domain-schema-http": "HTTP",
  217 + "domain-schema-https": "HTTPS",
  218 + "domain-schema-mixed": "HTTP+HTTPS",
  219 + "enable": "Activar ajustes OAuth2"
  220 + }
  221 + },
113 222 "alarm": {
114 223 "alarm": "Alarma",
115 224 "alarms": "Alarmas",
... ... @@ -117,6 +226,8 @@
117 226 "no-alarms-matching": "No se han encontrado alarmas coincidentes con '{{entity}}' .",
118 227 "alarm-required": "Alarma requerida",
119 228 "alarm-status": "Estado de Alarma",
  229 + "alarm-status-list": "Lista de estados de Alarmas",
  230 + "any-status": "Cualquier estado",
120 231 "search-status": {
121 232 "ANY": "Todas",
122 233 "ACTIVE": "Activas",
... ... @@ -143,6 +254,8 @@
143 254 "end-time": "Hora fin",
144 255 "ack-time": "Hora de reconocimiento",
145 256 "clear-time": "Hora de normalización",
  257 + "alarm-severity-list": "Lista de gravedad de alarmas",
  258 + "any-severity": "Cualquier gravedad",
146 259 "severity-critical": "Crítica",
147 260 "severity-major": "Mayor",
148 261 "severity-minor": "Menor",
... ... @@ -158,19 +271,23 @@
158 271 "min-polling-interval-message": "El ciclo debe ser por lo menos de 1 segundo.",
159 272 "aknowledge-alarms-title": "Reconocer { count, plural, 1 {1 alarma} other {# alarmas} }",
160 273 "aknowledge-alarms-text": "Estas seguro de reconocer { count, plural, 1 {1 alarma} other {# alarmas} }?",
161   - "aknowledge-alarm-title": "Recononcer Alarma",
  274 + "aknowledge-alarm-title": "Recononcer Alarma",
162 275 "aknowledge-alarm-text": "Estas seguro de reconocer Alarma?",
163 276 "clear-alarms-title": "Normalizar { count, plural, 1 {1 alarma} other {# alarmas} }",
164   - "clear-alarms-text": "Estás seguro de limpiar { count, plural, 1 {1 alarma} other {# alarmas} }?",
165   - "clear-alarm-title": "Limpiar Alarma",
166   - "clear-alarm-text": "Estás seguro de limpiar Alarma?",
167   - "alarm-status-filter": "Filtro de Alarmas",
  277 + "clear-alarms-text": "Limpiar { count, plural, 1 {1 alarma} other {# alarmas} }?",
  278 + "clear-alarm-title": "Limpiar Alarma",
  279 + "clear-alarm-text": "Limpiar Alarma?",
  280 + "alarm-status-filter": "Filtro de estados de Alarmas",
  281 + "alarm-filter": "Filtro de Alarmas",
168 282 "max-count-load": "Número máximo de alarmas a cargar (0 - ilimitado)",
169 283 "max-count-load-required": "Se requiere número máximo de alarmas.",
170 284 "max-count-load-error-min": "El valor mínimo es 0.",
171 285 "fetch-size": "Tamaño de búsqueda (Fetch)",
172 286 "fetch-size-required": "Se requiere tamaño de búsqueda.",
173   - "fetch-size-error-min": "El valor mínimo es 10."
  287 + "fetch-size-error-min": "El valor mínimo es 10.",
  288 + "alarm-type-list": "Lista de tipos de alarma",
  289 + "any-type": "Cualquier tipo",
  290 + "search-propagated-alarms": "Buscar alarmas propagadas"
174 291 },
175 292 "alias": {
176 293 "add": "Añadir alias",
... ... @@ -200,6 +317,7 @@
200 317 "filter-type-device-search-query-description": "Dispositivos con tipos {{deviceTypes}} que tienen {{relationType}} relación {{direction}} {{rootEntity}}",
201 318 "filter-type-entity-view-search-query": "Consulta de búsqueda de vista de entidad",
202 319 "filter-type-entity-view-search-query-description": "Vistas de entidad con tipos {{entityViewTypes}} que tienen tipo de relación {{relationType}} con dirección {{direction}} {{rootEntity}}",
  320 + "filter-type-apiUsageState": "Uso de API",
203 321 "entity-filter": "Filtro por entidad",
204 322 "resolve-multiple": "Tomar como múltiples entidades",
205 323 "filter-type": "Filtro por tipo",
... ... @@ -259,19 +377,19 @@
259 377 "unassign-assets": "Cancelar asignación de activo",
260 378 "unassign-assets-action-title": "Cancelar asignación de { count, plural, 1 {1 activo} other {# activos} } del cliente",
261 379 "assign-new-asset": "Asignar nuevo activo",
262   - "delete-asset-title": "Estás seguro de borrar el activo '{{assetName}}'?",
  380 + "delete-asset-title": "Eliminar el activo '{{assetName}}'?",
263 381 "delete-asset-text": "Atención, tras la confirmación el activo y sus datos serán borrados e irrecuperables.",
264   - "delete-assets-title": "Estás seguro de borrar los activos { count, plural, 1 {1 activo} other {# activos} }?",
  382 + "delete-assets-title": "Eliminar los activos { count, plural, 1 {1 activo} other {# activos} }?",
265 383 "delete-assets-action-title": "Borrar { count, plural, 1 {1 activo} other {# activos} }",
266 384 "delete-assets-text": "Atención, tras la confirmación todos los activos seleccionados y sus datos serán borrados e irrecuperables.",
267   - "make-public-asset-title": "Estás seguro de hacer el activo '{{assetName}}' público?",
  385 + "make-public-asset-title": "Hacer el activo '{{assetName}}' público?",
268 386 "make-public-asset-text": "Tras la confirmación, el activo y sus datos se harán públicos y accesibles por otros.",
269   - "make-private-asset-title": "Estás seguro de hacer el activo '{{assetName}}' privado?",
  387 + "make-private-asset-title": "Hacer el activo '{{assetName}}' privado?",
270 388 "make-private-asset-text": "Tras la confirmación, el activo y sus datos se harán privados y no serán accesibles por otros.",
271   - "unassign-asset-title": "Estás seguro de cancelar la asignación del activo '{{assetName}}'?",
  389 + "unassign-asset-title": "Cancelar la asignación del activo '{{assetName}}'?",
272 390 "unassign-asset-text": "Tras la confirmación, el activo será desasignado y no será accesible por el cliente.",
273 391 "unassign-asset": "Cancelar asignación de activo",
274   - "unassign-assets-title": "Estás seguro de cancelar las asignaciones { count, plural, 1 {1 activo} other {# activos} }?",
  392 + "unassign-assets-title": "Cancelar las asignaciones { count, plural, 1 {1 activo} other {# activos} }?",
275 393 "unassign-assets-text": "Tras la confirmación todos los activos seleccionados serán desasignados y no serán accesibles por el cliente.",
276 394 "copyId": "Copiar ID de activo",
277 395 "idCopiedMessage": "El ID ha sido copiado al portapapeles",
... ... @@ -281,6 +399,8 @@
281 399 "name-starts-with": "El nombre de activo comienza con",
282 400 "import": "Importar activos",
283 401 "asset-file": "Archivo del activo",
  402 + "search": "Buscar activos",
  403 + "selected-assets": "{ count, plural, 1 {1 activo} other {# activos} } seleccionados",
284 404 "label": "Etiqueta"
285 405 },
286 406 "attribute": {
... ... @@ -297,7 +417,7 @@
297 417 "key-required": "Clave del atributo requerida.",
298 418 "value": "Valor",
299 419 "value-required": "Valor del atributo requerido.",
300   - "delete-attributes-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 atributo} other {# atributos} }?",
  420 + "delete-attributes-title": "¿Eliminar { count, plural, 1 {1 atributo} other {# atributos} }?",
301 421 "delete-attributes-text": "Atención, tras la confirmación el atributo será eliminado, y la información relacionada será irrecuperable.",
302 422 "delete-attributes": "Borrar atributo",
303 423 "enter-attribute-value": "Ingresar valor del atributo",
... ... @@ -308,7 +428,62 @@
308 428 "add-to-dashboard": "Agregar al Panel",
309 429 "add-widget-to-dashboard": "Agregar widget al Panel",
310 430 "selected-attributes": "{ count, plural, 1 {1 atributo} other {# atributos} } seleccionados",
311   - "selected-telemetry": "{ count, plural, 1 {1 telemetría} other {# telemetrías} } seleccionadas"
  431 + "selected-telemetry": "{ count, plural, 1 {1 telemetría} other {# telemetrías} } seleccionadas",
  432 + "no-attributes-text": "No se encontró ningún atributo",
  433 + "no-telemetry-text": "No se encontró ninguna telemetría"
  434 + },
  435 + "api-usage": {
  436 + "api-usage": "Uso de API",
  437 + "data-points": "Puntos de datos",
  438 + "data-points-storage-days": "Días de grabación de puntos de datos",
  439 + "email": "Email",
  440 + "email-messages": "Mensajes de Email",
  441 + "email-messages-daily-activity": "Actividad diaria de Emails",
  442 + "email-messages-hourly-activity": "Actividad horaria de Emails",
  443 + "email-messages-monthly-activity": "Actividad mensual de Emails",
  444 + "exceptions": "Excepciones",
  445 + "executions": "Ejecuciones",
  446 + "javascript": "JavaScript",
  447 + "javascript-executions": "Ejecuciones JavaScript",
  448 + "javascript-functions": "Funciones JavaScript",
  449 + "javascript-functions-daily-activity": "Actividad diaria de funciones JavaScript",
  450 + "javascript-functions-hourly-activity": "Actividad horaria de funciones JavaScript",
  451 + "javascript-functions-monthly-activity": "Actividad mensual de funciones JavaScript",
  452 + "latest-error": "Último error",
  453 + "messages": "Mensajes",
  454 + "permanent-failures": "${entityName} Fallos permanentes",
  455 + "permanent-timeouts": "${entityName} Timeouts permanentes",
  456 + "processing-failures": "${entityName} Fallos de procesamiento",
  457 + "processing-failures-and-timeouts": "Fallos de procesamiento y timeouts",
  458 + "processing-timeouts": "${entityName} Timeouts de procesamiento",
  459 + "queue-stats": "Estadísticas de colas",
  460 + "rule-chain": "Cadena de reglas",
  461 + "rule-engine": "Motor de reglas",
  462 + "rule-engine-daily-activity": "Actividad diaria de motor de reglas",
  463 + "rule-engine-executions": "Ejecuciones de motor de reglas",
  464 + "rule-engine-hourly-activity": "Actividad horaria de motor de reglas",
  465 + "rule-engine-monthly-activity": "Actividad mensual de motor de reglas",
  466 + "rule-engine-statistics": "Estadisticas del motor de reglas",
  467 + "rule-node": "Nodo de reglas",
  468 + "sms": "SMS",
  469 + "sms-messages": "Mensajes SMS",
  470 + "sms-messages-daily-activity": "Actividad diaria de mensajes SMS",
  471 + "sms-messages-hourly-activity": "Actividad horaria de mensajes SMS",
  472 + "sms-messages-monthly-activity": "Actividad mensual de mensajes SMS",
  473 + "successful": "${entityName} Exitoso",
  474 + "telemetry": "Telemetría",
  475 + "telemetry-persistence": "Persistencia de telemetría",
  476 + "telemetry-persistence-daily-activity": "Actividad diaria de persistencia de telemetría",
  477 + "telemetry-persistence-hourly-activity": "Actividad horaria de persistencia de telemetría",
  478 + "telemetry-persistence-monthly-activity": "Actividad mensual de persistencia de telemetría",
  479 + "transport": "Transporte",
  480 + "transport-daily-activity": "Actividad diaria de transporte",
  481 + "transport-data-points": "Puntos de datos de transporte",
  482 + "transport-hourly-activity": "Actividad horaria de transporte",
  483 + "transport-messages": "Mensajes de transporte",
  484 + "transport-monthly-activity": "Actividad mensual de transporte",
  485 + "view-details": "Ver detalles",
  486 + "view-statistics": "Ver estadísticas"
312 487 },
313 488 "audit-log": {
314 489 "audit": "Auditoría",
... ... @@ -348,11 +523,17 @@
348 523 "action-data": "Datos de acción",
349 524 "failure-details": "Detalles del error",
350 525 "search": "Buscar registros de auditoría",
351   - "clear-search": "Borrar búsqueda"
  526 + "clear-search": "Borrar búsqueda",
  527 + "type-assigned-from-tenant": "Asignado desde el administrador",
  528 + "type-assigned-to-tenant": "Asignado al administrador",
  529 + "type-provision-success": "Dispositivo aprovisionado",
  530 + "type-provision-failure": "Aprovisionamiento fallido",
  531 + "type-timeseries-updated": "Telemetría actualizada",
  532 + "type-timeseries-deleted": "Telemetría borrada"
352 533 },
353 534 "confirm-on-exit": {
354   - "message": "Tienes cambios sin guardar. ¿Estás seguro que quieres abandonar la página?",
355   - "html-message": "Tienes cambios sin guardar.<br/>¿Estás seguro que quieres abandonar la página?",
  535 + "message": "Tienes cambios sin guardar. ¿Abandonar la página?",
  536 + "html-message": "Tienes cambios sin guardar.<br/>¿Abandonar la página?",
356 537 "title": "Cambios sin guardar"
357 538 },
358 539 "contact": {
... ... @@ -372,7 +553,9 @@
372 553 "password": "Contraseña",
373 554 "enter-username": "Introduce el nombre de usuario.",
374 555 "enter-password": "Introduce la contraseña",
375   - "enter-search": "Introduce búsqueda"
  556 + "enter-search": "Introduce búsqueda",
  557 + "created-time": "Fecha de creación",
  558 + "loading": "Cargando..."
376 559 },
377 560 "content-type": {
378 561 "json": "Json",
... ... @@ -404,9 +587,9 @@
404 587 "add-customer-text": "Agregar nuevo cliente",
405 588 "no-customers-text": "No se encontraron clientes",
406 589 "customer-details": "Detalles del cliente",
407   - "delete-customer-title": "¿Estás seguro que quieres eliminar el cliente '{{customerTitle}}'?",
  590 + "delete-customer-title": "¿Eliminar el cliente '{{customerTitle}}'?",
408 591 "delete-customer-text": "Atención, tras la confirmación el cliente será eliminado y toda la información relacionada será irrecuperable.",
409   - "delete-customers-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 cliente} other {# clientes} }?",
  592 + "delete-customers-title": "¿Eliminar { count, plural, 1 {1 cliente} other {# clientes} }?",
410 593 "delete-customers-action-title": "Borrar { count, plural, 1 {1 cliente} other {# clientes} }",
411 594 "delete-customers-text": "Atención, tras la confirmación todos los clientes seleccionados serán eliminados y su información relacionada será irrecuperable.",
412 595 "manage-users": "Gestionar usuarios",
... ... @@ -425,7 +608,9 @@
425 608 "customer-required": "Cliente requerido",
426 609 "select-default-customer": "Seleccionar cliente por defecto",
427 610 "default-customer": "Cliente por defecto",
428   - "default-customer-required": "Se requiere cliente por defecto para realizar debug a nivel de propietario"
  611 + "default-customer-required": "Se requiere cliente por defecto para realizar debu a nivel de propietario",
  612 + "search": "Buscar clientes",
  613 + "selected-customers": "{ count, plural, 1 {1 cliente} other {# clientes} } seleccionados"
429 614 },
430 615 "datetime": {
431 616 "date-from": "Fecha desde",
... ... @@ -471,20 +656,20 @@
471 656 "delete-dashboards": "Eliminar paneles",
472 657 "unassign-dashboards": "Desasignar paneles",
473 658 "unassign-dashboards-action-title": "Desasignar { count, plural, 1 {1 paneles} other {# paneles} } del cliente",
474   - "delete-dashboard-title": "¿Estás seguro que quieres eliminar el panel '{{dashboardTitle}}'?",
  659 + "delete-dashboard-title": "¿Eliminar el panel '{{dashboardTitle}}'?",
475 660 "delete-dashboard-text": "Atención, el panel seleccionado será eliminado y la información relacionada sera irrecuperable.",
476   - "delete-dashboards-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 panel} other {# paneles} }?",
  661 + "delete-dashboards-title": "¿Eliminar { count, plural, 1 {1 panel} other {# paneles} }?",
477 662 "delete-dashboards-action-title": "Eliminar { count, plural, 1 {1 panel} other {# paneles} }",
478 663 "delete-dashboards-text": "Atención, los paneles seleccionados serán eliminados y la información relacionada será irrecuperable.",
479   - "unassign-dashboard-title": "¿Estás seguro que quieres desasignar el panel '{{dashboardTitle}}'?",
  664 + "unassign-dashboard-title": "¿Desasignar el panel '{{dashboardTitle}}'?",
480 665 "unassign-dashboard-text": "Tras la confirmación, el panel será desasignado y no podrá ser accesible por el cliente.",
481 666 "unassign-dashboard": "Desasignar panel",
482   - "unassign-dashboards-title": "¿Estás seguro que quieres desasignar { count, plural, 1 {1 panel} other {# paneles} }?",
  667 + "unassign-dashboards-title": "¿Desasignar { count, plural, 1 {1 panel} other {# paneles} }?",
483 668 "unassign-dashboards-text": "Atención, tras la confirmación los paneles seleccionados serán desasignados y no podrán ser accesibles por el cliente.",
484 669 "public-dashboard-title": "El panel ahora es público",
485 670 "public-dashboard-text": "Tu panel <b>{{dashboardTitle}}</b> es ahora público y podrá ser accedido desde: <a href='{{publicLink}}' target='_blank'>aquí</a>:",
486 671 "public-dashboard-notice": "<b>Nota:</b> No olvides hacer públicos los dispositivos relacionados para acceder a sus datos.",
487   - "make-private-dashboard-title": "¿Estás seguro que quieres hacer el panel '{{dashboardTitle}}' privado?",
  672 + "make-private-dashboard-title": "¿Hacer el panel '{{dashboardTitle}}' privado?",
488 673 "make-private-dashboard-text": "Tras la confirmación, el panel será privado y no podrá ser accesible por otros.",
489 674 "make-private-dashboard": "Hacer panel privado",
490 675 "socialshare-text": "'{{dashboardTitle}}' powered by ThingsBoard",
... ... @@ -508,6 +693,9 @@
508 693 "min-columns-count-message": "Solo se permite un número mínimo de 10 columnas.",
509 694 "max-columns-count-message": "Solo se permite un número máximo de 1000 columnas.",
510 695 "widgets-margins": "Margen entre widgets",
  696 + "margin-required": "Valor de margen requerido.",
  697 + "min-margin-message": "0 es el valor de margen mínimo permitido.",
  698 + "max-margin-message": "50 es el valor de margen máximo permitido.",
511 699 "horizontal-margin": "Margen horizontal",
512 700 "horizontal-margin-required": "Margen horizontal requerido.",
513 701 "min-horizontal-margin-message": "Solo se permite margen horizontal mínimo de 0.",
... ... @@ -527,6 +715,7 @@
527 715 "title-color": "Color del título",
528 716 "display-dashboards-selection": "Mostrar selección de paneles",
529 717 "display-entities-selection": "Mostrar selección de entidades",
  718 + "display-filters": "Mostrar filtros",
530 719 "display-dashboard-timewindow": "Mostrar ventana de tiempo",
531 720 "display-dashboard-export": "Mostrar exportar",
532 721 "import": "Importar panel",
... ... @@ -560,6 +749,7 @@
560 749 "edit-state": "Editar estado panel",
561 750 "delete-state": "Borrar estado panel",
562 751 "add-state": "Añadir estado panel",
  752 + "no-states-text": "No se han encontrado estados",
563 753 "state": "Estado de panel",
564 754 "state-name": "Nombre",
565 755 "state-name-required": "Se requiere nombre del estado.",
... ... @@ -568,11 +758,13 @@
568 758 "state-id-exists": "Ya existe un ID de estado.",
569 759 "is-root-state": "Estado raiz(Root)",
570 760 "delete-state-title": "Borrar estado de panel",
571   - "delete-state-text": "Estás seguro de eliminar el estado de panel con nombre: '{{stateName}}'?",
  761 + "delete-state-text": "Eliminar el estado de panel con nombre: '{{stateName}}'?",
572 762 "show-details": "Mostrar detalles",
573 763 "hide-details": "Ocultar detalles",
574 764 "select-state": "Seleccionar estado destino (target state)",
575   - "state-controller": "Controlador de estados"
  765 + "state-controller": "Controlador de estados",
  766 + "search": "Buscar paneles",
  767 + "selected-dashboards": "{ count, plural, 1 {1 panel} other {# paneles} } seleccionados"
576 768 },
577 769 "datakey": {
578 770 "settings": "Ajustes",
... ... @@ -590,6 +782,7 @@
590 782 "alarm": "Campos de alarma",
591 783 "timeseries-required": "Series de tiempo del dispositivo requerido.",
592 784 "timeseries-or-attributes-required": "Series de tiempo/Atributos requeridos.",
  785 + "alarm-fields-timeseries-or-attributes-required": "Se requieren campos de alarma o series de tiempo/atributos.",
593 786 "maximum-timeseries-or-attributes": "Máximo { count, plural, 1 {1 timeseries/atributo es permitido.} other {# timeseries/atributos son permitidos} }",
594 787 "alarm-fields-required": "Campos de alarma requeridos.",
595 788 "function-types": "Tipos de funciones",
... ... @@ -607,6 +800,7 @@
607 800 "add-datasource-prompt": "Por favor, agrega una fuente de datos"
608 801 },
609 802 "details": {
  803 + "details": "Detalles",
610 804 "edit-mode": "Modo Edición",
611 805 "edit-json": "Editar JSON",
612 806 "toggle-edit-mode": "Ir a Modo Edición"
... ... @@ -658,20 +852,20 @@
658 852 "unassign-devices": "Desasignar dispositivos",
659 853 "unassign-devices-action-title": "Desasignar { count, plural, 1 {1 dispositivo} other {# dispositivos} } del cliente",
660 854 "assign-new-device": "Asignar nuevo dispositivo",
661   - "make-public-device-title": "¿Estás seguro que quieres hacer el dispositivo '{{deviceName}}' público?",
  855 + "make-public-device-title": "¿Hacer el dispositivo '{{deviceName}}' público?",
662 856 "make-public-device-text": "Tras la confirmación, el dispositivo y la información relacionada serán públicos y podrá ser accesible por otros.",
663   - "make-private-device-title": "¿Estás seguro que quieres hacer el dispositivo '{{deviceName}}' privado?",
  857 + "make-private-device-title": "¿Hacer el dispositivo '{{deviceName}}' privado?",
664 858 "make-private-device-text": "Tras la confirmación, el dispositivo y la información relacionada serán privados y no podrá ser accesible por otros.",
665 859 "view-credentials": "Ver credenciales",
666   - "delete-device-title": "¿Estás seguro que quieres eliminar el dispositivo '{{deviceName}}'?",
  860 + "delete-device-title": "¿Eliminar el dispositivo '{{deviceName}}'?",
667 861 "delete-device-text": "Atención, tras la confirmación los dispositivos serán eliminados y la información relacionada será irrecuperable.",
668   - "delete-devices-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 dispositivo} other {# dispositivos} }?",
  862 + "delete-devices-title": "¿Eliminar { count, plural, 1 {1 dispositivo} other {# dispositivos} }?",
669 863 "delete-devices-action-title": "Eliminar { count, plural, 1 {1 dispositivo} other {# dispositivos} }",
670 864 "delete-devices-text": "Atención, tras la confirmación los dispositivos seleccionados serán eliminados y la información relacionada será irrecuperable.",
671   - "unassign-device-title": "¿Estás seguro que quieres desasignar el dispositivo '{{deviceName}}'?",
  865 + "unassign-device-title": "¿Desasignar el dispositivo '{{deviceName}}'?",
672 866 "unassign-device-text": "Tras la confirmación, el dispositivo será desasignado y no podrá ser accesible por el cliente.",
673 867 "unassign-device": "Desasignar dispositivo",
674   - "unassign-devices-title": "¿Estás seguro que quieres desasignar { count, plural, 1 {1 dispositivo} other {# dispositivos} }?",
  868 + "unassign-devices-title": "¿Desasignar { count, plural, 1 {1 dispositivo} other {# dispositivos} }?",
675 869 "unassign-devices-text": "Tras la confirmación, los dispositivos seleccionados serán desasignados y no podrán ser accedidos por el cliente.",
676 870 "device-credentials": "Credenciales del dispositivo",
677 871 "credentials-type": "Tipo de credencial",
... ... @@ -680,6 +874,12 @@
680 874 "access-token-invalid": "Access token debe tener entre 1 a 20 caracteres.",
681 875 "rsa-key": "Clave pública RSA",
682 876 "rsa-key-required": "Clave pública RSA requerida.",
  877 + "client-id": "ID Cliente",
  878 + "client-id-pattern": "Contiene carácter inválido.",
  879 + "user-name": "Nombre Usuario",
  880 + "user-name-required": "Se requiere nombre de usuario.",
  881 + "client-id-or-user-name-necessary": "El ID Cliente y/o el Nombre de usuario son necesarios",
  882 + "password": "Contraseña",
683 883 "secret": "Secreta",
684 884 "secret-required": "Secreta requerida.",
685 885 "device-type": "Tipo de dispositivo",
... ... @@ -692,25 +892,191 @@
692 892 "device-types": "Tipos de dispositivo",
693 893 "name": "Nombre",
694 894 "name-required": "El nombre es requerido.",
695   - "label": "Etiqueta",
696 895 "description": "Descripción",
  896 + "label": "Etiqueta",
697 897 "events": "Eventos",
698 898 "details": "Detalles",
699 899 "copyId": "Copiar ID",
700 900 "copyAccessToken": "Copiar access token",
  901 + "copy-mqtt-authentication": "Copiar credenciales MQTT",
701 902 "idCopiedMessage": "Id del dispositivo copiado al portapapeles",
702 903 "accessTokenCopiedMessage": "Access token del dispositivo copiado al portapapeles",
  904 + "mqtt-authentication-copied-message": "Los datos de autenticación MQTT se han copiado al portapapeles",
703 905 "assignedToCustomer": "Asignado al cliente",
704 906 "unable-delete-device-alias-title": "Imposible eliminar alias del dispositivo",
705 907 "unable-delete-device-alias-text": "Alias '{{deviceAlias}}' no puede ser eliminado. Esta siendo usado por el(los) widget(s):<br/>{{widgetsList}}",
706 908 "is-gateway": "Es gateway",
  909 + "overwrite-activity-time": "Sobreescribir hora de actividad para el dispositivo conectado",
707 910 "public": "Público",
708 911 "device-public": "El dispositivo es público",
709 912 "select-device": "Seleccionar dispositivo",
  913 + "import": "Importar dispositivo",
710 914 "device-file": "Archivo de dispositivo",
711   - "import": "Importar dispositivo"
  915 + "search": "Buscar dispositivos",
  916 + "selected-devices": "{ count, plural, 1 {1 dispositivo} other {# dispositivos} } seleccionados",
  917 + "device-configuration": "Configuración del dispositivo",
  918 + "transport-configuration": "Configuración del transporte",
  919 + "wizard": {
  920 + "device-wizard": "Asistente de dispositivo",
  921 + "device-details": "Detalles del dispositivo",
  922 + "new-device-profile": "Crear un nuevo perfil de dispositivo",
  923 + "existing-device-profile": "Seleccionar un perfil existente",
  924 + "specific-configuration": "Configuración específica",
  925 + "customer-to-assign-device": "Cliente al que asignar el dispositivo",
  926 + "add-credential": "Añadir credencial"
  927 + }
  928 + },
  929 + "device-profile": {
  930 + "device-profile": "Perfil de dispositivo",
  931 + "device-profiles": "Perfiles de dispositivo",
  932 + "all-device-profiles": "Todos",
  933 + "add": "Añadir perfil de dispositivo",
  934 + "edit": "Editar perfil de dispositivo",
  935 + "device-profile-details": "Detalles de perfil de dispositivo",
  936 + "no-device-profiles-text": "No se encontraron perfiles",
  937 + "search": "Buscar perfiles",
  938 + "selected-device-profiles": "{ count, plural, 1 {1 perfil} other {# perfiles} } seleccionados",
  939 + "no-device-profiles-matching": "No existe perfil que conincida con '{{entity}}'.",
  940 + "device-profile-required": "Se requiere perfil de dispositivo",
  941 + "idCopiedMessage": "Se ha copiado el ID de perfil al portapapeles",
  942 + "set-default": "Hacer perfil por defecto",
  943 + "delete": "Borrar perfil de dispositivo",
  944 + "copyId": "Copiar ID de perfil",
  945 + "new-device-profile-name": "Nombre de perfil",
  946 + "new-device-profile-name-required": "Se requiere nombre de perfil.",
  947 + "name": "Nombre",
  948 + "name-required": "Se requiere nombre.",
  949 + "type": "Tipo de perfil",
  950 + "type-required": "Se requiere tipo de perfil.",
  951 + "type-default": "Por defecto",
  952 + "transport-type": "Tipo de transporte",
  953 + "transport-type-required": "Se requiere tipo de transporte.",
  954 + "transport-type-default": "Por defecto",
  955 + "transport-type-default-hint": "Soporta transportes por MQTT básico, HTTP y CoAP",
  956 + "transport-type-mqtt": "MQTT",
  957 + "transport-type-mqtt-hint": "Activa ajustes avanzados de transporte MQTT",
  958 + "transport-type-lwm2m": "LWM2M",
  959 + "transport-type-lwm2m-hint": "Transporte LWM2M",
  960 + "description": "Descripción",
  961 + "default": "Defecto",
  962 + "profile-configuration": "Configuración de perfil",
  963 + "transport-configuration": "Configuración de transporte",
  964 + "default-rule-chain": "Cadena de reglas por defecto",
  965 + "select-queue-hint": "Selecciona desde el desplegable o añade un nombre personalizado.",
  966 + "delete-device-profile-title": "Eliminar el perfil '{{deviceProfileName}}'?",
  967 + "delete-device-profile-text": "Atención, tras la confirmación el perfil y todos sus datos serán borrados e irrecuperables.",
  968 + "delete-device-profiles-title": "EEliminar { count, plural, 1 {1 perfil} other {# perfiles} }?",
  969 + "delete-device-profiles-text": "Atención, tras la confirmación los perfiles seleccionados y todos sus datos serán borrados e irrecuperables.",
  970 + "set-default-device-profile-title": "Establecer el perfil '{{deviceProfileName}}' como perfil por defecto?",
  971 + "set-default-device-profile-text": "Tras la confirmación, el perfil será marcado como por defecto y será usado por todos los nuevos dispositivos que no tengan perfil especificado.",
  972 + "no-device-profiles-found": "No se encontraron perfiles.",
  973 + "create-new-device-profile": "Crear un nuevo perfil!",
  974 + "mqtt-device-topic-filters": "Filtros de topic MQTT",
  975 + "mqtt-device-topic-filters-unique": "Los filtros de topic de dispositivo MQTT deben ser únicos.",
  976 + "mqtt-device-payload-type": "Payload de dispositivo MQTT",
  977 + "mqtt-device-payload-type-json": "JSON",
  978 + "mqtt-device-payload-type-proto": "Protobuf",
  979 + "mqtt-payload-type-required": "Se requiere tipo de Payload.",
  980 + "support-level-wildcards": "Se soportan los wilcards únicos <code>[+]</code> y multi-nivel <code>[#]</code>.",
  981 + "telemetry-topic-filter": "Filtro de topic en telemetría",
  982 + "telemetry-topic-filter-required": "Se requiere filtro de topic (telemetría).",
  983 + "attributes-topic-filter": "Filtro de topic en atributos",
  984 + "attributes-topic-filter-required": "Se requiere filtro de topic (atributos).",
  985 + "telemetry-proto-schema": "Proto schema de telemetría",
  986 + "telemetry-proto-schema-required": "Se requiere proto schema de telemetría.",
  987 + "attributes-proto-schema": "Proto schema de atributos",
  988 + "attributes-proto-schema-required": "Se requiere proto schema de atributos.",
  989 + "rpc-response-topic-filter": "Filtro de topic de respuesta RPC",
  990 + "rpc-response-topic-filter-required": "Se requiere fitro de respuesta RPC.",
  991 + "not-valid-pattern-topic-filter": "No es un patrón de filtro válido",
  992 + "not-valid-single-character": "Uso inválido de wildcard único",
  993 + "not-valid-multi-character": "Uso inválido de wildcard multi-nivel",
  994 + "single-level-wildcards-hint": "<code>[+]</code> es adecuado para cualquier nivel. Ej.: <b>v1/devices/+/telemetry</b> o <b>+/devices/+/attributes</b>.",
  995 + "multi-level-wildcards-hint": "<code>[#]</code> puede reemplazar el mismo filtro y debe ser el último símbolo del topic. Ej.: <b>#</b> o <b>v1/devices/me/#</b>.",
  996 + "alarm-rules": "Reglas de alarma",
  997 + "alarm-rules-with-count": "Reglas de alarma ({{count}})",
  998 + "no-alarm-rules": "No hay reglas de alarma configuradas",
  999 + "add-alarm-rule": "Añadir regla de alarma",
  1000 + "edit-alarm-rule": "Editar regla de alarma",
  1001 + "alarm-type": "Tipo de alarma",
  1002 + "alarm-type-required": "Se requiere tipo de alarma.",
  1003 + "alarm-type-unique": "El tipo de alarma, debe ser único dentro de las reglas de alarma del perfil de dispositivo.",
  1004 + "create-alarm-pattern": "Crear alarma <b>{{alarmType}}</b>",
  1005 + "create-alarm-rules": "Crear reglas de alarma",
  1006 + "no-create-alarm-rules": "No hay condiciones de creación de alarma configuradas",
  1007 + "add-create-alarm-rule-prompt": "Por favor, añade una regla de alarma",
  1008 + "clear-alarm-rule": "Borrar regla de alarma",
  1009 + "no-clear-alarm-rule": "No hay condiciones de borrado de alarma configuradas",
  1010 + "add-create-alarm-rule": "Añadir crear condición (activar alarma)",
  1011 + "add-clear-alarm-rule": "Añair borrar condición (limpiar alarma)",
  1012 + "select-alarm-severity": "Selecciona severidad de alarma",
  1013 + "alarm-severity-required": "Se requiere especificar severidad de alarma.",
  1014 + "condition-duration": "Duración de condición",
  1015 + "condition-duration-value": "Valor de duración",
  1016 + "condition-duration-time-unit": "Unidad de tiempo",
  1017 + "condition-duration-value-range": "El valor debe estar en un rango desde 1 a 2147483647.",
  1018 + "condition-duration-value-pattern": "El valor de duración debe ser un número entero.",
  1019 + "condition-duration-value-required": "Se requiere valor de duración.",
  1020 + "condition-duration-time-unit-required": "Se requiere una unidad de tiempo.",
  1021 + "advanced-settings": "Ajustes avanzados",
  1022 + "alarm-rule-details": "Detalles",
  1023 + "add-alarm-rule-details": "Añadir detalles",
  1024 + "propagate-alarm": "Propagar alarma",
  1025 + "alarm-rule-relation-types-list": "Tipos de relación para propagar",
  1026 + "alarm-rule-relation-types-list-hint": "Si no está seleccionado 'propagar relaciones', las alarmas serán propagadas sin filtrar por relación.",
  1027 + "alarm-details": "Detalles de alarma",
  1028 + "alarm-rule-condition": "Condiciones de regla de alarma",
  1029 + "enter-alarm-rule-condition-prompt": "Por favor, añade una condición de alarma",
  1030 + "edit-alarm-rule-condition": "Editar condición de alarma",
  1031 + "device-provisioning": "Aprovisionamiento de dispositivos",
  1032 + "provision-strategy": "Estrategia de aprovisionamiento",
  1033 + "provision-strategy-required": "Se requiere estrategia de aprovisionamiento.",
  1034 + "provision-strategy-disabled": "Desactivado",
  1035 + "provision-strategy-created-new": "Permitir crear nuevos dispositivos",
  1036 + "provision-strategy-check-pre-provisioned": "Revisar dispositivos pre-aprovisionados",
  1037 + "provision-device-key": "Clave de aprovisionamiento",
  1038 + "provision-device-key-required": "Se requiere clave de aprovisionamiento.",
  1039 + "copy-provision-key": "Copiar clave de aprovisionamiento",
  1040 + "provision-key-copied-message": "La clave de aprovisionamiento se ha copiado al portapapeles",
  1041 + "provision-device-secret": "Secreto de aprovisionamiento",
  1042 + "provision-device-secret-required": "Se requiere secreto de aprovisionamiento.",
  1043 + "copy-provision-secret": "Copiar secreto de aprovisionamiento",
  1044 + "provision-secret-copied-message": "Se ha copiado el secreto de aprovisionamiento al portapapeles",
  1045 + "condition": "Condición",
  1046 + "condition-type": "Tipo de condición",
  1047 + "condition-type-simple": "Simple",
  1048 + "condition-type-duration": "Duración",
  1049 + "condition-during": "Durante {{during}}",
  1050 + "condition-type-repeating": "Repetitiva",
  1051 + "condition-type-required": "Se requiere tipo de condición.",
  1052 + "condition-repeating-value": "Nº de eventos",
  1053 + "condition-repeating-value-range": "El Nº de eventos debe estar en un rango de 1 to 2147483647.",
  1054 + "condition-repeating-value-pattern": "Nº de eventos debe ser un número entero.",
  1055 + "condition-repeating-value-required": "Se requiere Nº de eventos.",
  1056 + "condition-repeat-times": "Repetición { count, plural, 1 {1 vez} other {# veces} }",
  1057 + "schedule-type": "Tipo de horario",
  1058 + "schedule-type-required": "Tipo de horario requerido.",
  1059 + "schedule": "Horario",
  1060 + "edit-schedule": "Editar horario de alarma",
  1061 + "schedule-any-time": "Siempre activo",
  1062 + "schedule-specific-time": "Activo en una hora específica",
  1063 + "schedule-custom": "Personalizado",
  1064 + "schedule-day": {
  1065 + "monday": "Lunes",
  1066 + "tuesday": "Martes",
  1067 + "wednesday": "Miércoles",
  1068 + "thursday": "Jueves",
  1069 + "friday": "Viernes",
  1070 + "saturday": "Sábado",
  1071 + "sunday": "Domingo"
  1072 + },
  1073 + "schedule-days": "Días",
  1074 + "schedule-time": "Hora",
  1075 + "schedule-time-from": "De",
  1076 + "schedule-time-to": "Hasta",
  1077 + "schedule-days-of-week-required": "Debe ser seleccionado por lo menos un día de la semana."
712 1078 },
713   - "dialog": {
  1079 + "dialog": {
714 1080 "close": "Cerrar diálogo"
715 1081 },
716 1082 "direction": {
... ... @@ -766,6 +1132,10 @@
766 1132 "type-devices": "Dispositivos",
767 1133 "list-of-devices": "{ count, plural, 1 {Un dispositivo} other {Lista de # Dispositivos} }",
768 1134 "device-name-starts-with": "Dispositivos cuyos nombres comiencen por '{{prefix}}'",
  1135 + "type-device-profile": "Perfil de dispositivo",
  1136 + "type-device-profiles": "Perfiles de dispositivo",
  1137 + "list-of-device-profiles": "{ count, plural, 1 {un perfil} other {Lista de # perfiles} }",
  1138 + "device-profile-name-starts-with": "Perfiles cuyo nombre empiece por '{{prefix}}'",
769 1139 "type-asset": "Activo",
770 1140 "type-assets": "Activos",
771 1141 "list-of-assets": "{ count, plural, 1 {Un activo} other {Lista de # activos} }",
... ... @@ -785,7 +1155,11 @@
785 1155 "type-tenant": "Propietario",
786 1156 "type-tenants": "Propietarios",
787 1157 "list-of-tenants": "{ count, plural, 1 {Un propietario} other {Lista de # propietarios} }",
788   - "tenant-name-starts-with": "Tenants cuyos nombres comiencen por '{{prefix}}'",
  1158 + "tenant-name-starts-with": "Propietarios cuyo nombre comience por '{{prefix}}'",
  1159 + "type-tenant-profile": "Perfil de Propietario",
  1160 + "type-tenant-profiles": "Perfiles de propietario",
  1161 + "list-of-tenant-profiles": "{ count, plural, 1 {Un perfil de propietario} other {Lista de # perfiles de propietario} }",
  1162 + "tenant-profile-name-starts-with": "Pefiles de propietario cuyo nombre empiece por '{{prefix}}'",
789 1163 "type-customer": "Cliente",
790 1164 "type-customers": "Clientes",
791 1165 "list-of-customers": "{ count, plural, 1 {Un cliente} other {Lista de # clientes} }",
... ... @@ -812,6 +1186,8 @@
812 1186 "rulenode-name-starts-with": "Nodos de reglas cuyos nombres comienzan con '{{prefix}}'",
813 1187 "type-current-customer": "Cliente Actual",
814 1188 "type-current-tenant": "Propietario Actual",
  1189 + "type-current-user": "Usuario Actual",
  1190 + "type-current-user-owner": "Usuario Propietario Actual",
815 1191 "search": "Buscar entidades",
816 1192 "selected-entities": "{ count, plural, 1 {1 entidad} other {# entidades} } seleccionadas",
817 1193 "entity-label": "Etiqueta de entidad",
... ... @@ -819,10 +1195,11 @@
819 1195 "details": "Detalles de entidad",
820 1196 "no-entities-prompt": "No se han encontrado entidades",
821 1197 "no-data": "No hay datos que mostrar",
822   - "columns-to-display": "Columnas a Mostrar"
  1198 + "columns-to-display": "Columnas a Mostrar",
  1199 + "type-api-usage-state": "Estado de uso de la API"
823 1200 },
824 1201 "entity-field": {
825   - "created-time": "Tiempo de creación",
  1202 + "created-time": "Hora de creación",
826 1203 "name": "Nombre",
827 1204 "type": "Tipo",
828 1205 "first-name": "Nombre",
... ... @@ -855,6 +1232,7 @@
855 1232 "duplicate-alias-error": "Alias duplicado'{{alias}}'.<br>Los alias de Entity View deben ser únicos en el panel.",
856 1233 "configure-alias": "Configurar alias '{{alias}}'",
857 1234 "no-entity-views-matching": "No se encontraron vistas que coincidan con '{{entity}}'.",
  1235 + "public": "Público",
858 1236 "alias": "Alias",
859 1237 "alias-required": "Alias de vista de entidad es requerido.",
860 1238 "remove-alias": "Borrar alias de la vista de entidad",
... ... @@ -866,6 +1244,7 @@
866 1244 "entity-view-name-filter-required": "Nombre del filtro de vista de entidad es requerido.",
867 1245 "entity-view-name-filter-no-entity-view-matched": "No se encontraron vistas de entidad que comiencen con '{{entityView}}'.",
868 1246 "add": "Añadir vista de entidad",
  1247 + "entity-view-public": "Vista de entidad es pública",
869 1248 "assign-to-customer": "Asignar a cliente",
870 1249 "assign-entity-view-to-customer": "Asignar vista de entidad a cliente",
871 1250 "assign-entity-view-to-customer-text": "Por favor, seleccione las vistas de entidad para asignar al cliente",
... ... @@ -882,15 +1261,15 @@
882 1261 "unassign-entity-views-action-title": "Anular asignación { count, plural, 1 {1 vista de entidad} other {# vistas de entidad} } al cliente",
883 1262 "assign-new-entity-view": "Asignar nueva vista de entidad",
884 1263 "delete-entity-view-title": "¿Está seguro que quiere borrar la vista de entidad '{{entityViewName}}'?",
885   - "delete-entity-view-text": "¡Cuidado! Después de la confirmación, la vista de la entidad y todos los datos relacionados serán irrecuperables.",
  1264 + "delete-entity-view-text": "¡Cuidado! Tras la confirmación, la vista de la entidad y todos los datos relacionados serán irrecuperables.",
886 1265 "delete-entity-views-title": "¿Está seguro que quiere borrar las vistas de entidad { count, plural, 1 {1 entityView} other {# entityViews} }?",
887 1266 "delete-entity-views-action-title": "Borrar { count, plural, 1 {1 vista de entidad} other {# vistas de entidad} }",
888   - "delete-entity-views-text": "¡Cuidado! Después de la confirmación, todas las vistas de entidades seleccionadas se eliminarán y todos los datos relacionados serán irrecuperables.",
  1267 + "delete-entity-views-text": "¡Cuidado! Tras la confirmación, todas las vistas de entidades seleccionadas se eliminarán y todos los datos relacionados serán irrecuperables.",
889 1268 "unassign-entity-view-title": "¿Está seguro que quiere anular la asignación de la vista de entidad '{{entityViewName}}'?",
890   - "unassign-entity-view-text": "Después de la confirmación, la vista de la entidad quedará sin asignar y el cliente no podrá acceder a ella.",
  1269 + "unassign-entity-view-text": "Tras la confirmación, la vista de la entidad quedará sin asignar y el cliente no podrá acceder a ella.",
891 1270 "unassign-entity-view": "Anular asignación de la vista de entidad",
892 1271 "unassign-entity-views-title": "¿Está seguro que quiere anular la asignación de { count, plural, 1 {1 vista de entidad} other {# vistas de entidad} }?",
893   - "unassign-entity-views-text": "Después de la confirmación, todas las vistas de entidades seleccionadas quedarán sin asignar y el cliente no podrá acceder a ellas.",
  1272 + "unassign-entity-views-text": "Tras la confirmación, todas las vistas de entidades seleccionadas quedarán sin asignar y el cliente no podrá acceder a ellas.",
894 1273 "entity-view-type": "Tipo de vista de entidad",
895 1274 "entity-view-type-required": "Tipo de vista de entidad es requerido.",
896 1275 "select-entity-view-type": "Seleccione el tipo de vista de entidad",
... ... @@ -899,12 +1278,14 @@
899 1278 "no-entity-view-types-matching": "No se encontraron tipos de vista de entidad que coincidan con '{{entitySubtype}}'.",
900 1279 "entity-view-type-list-empty": "No hay tipos de vista de entidad seleccionados.",
901 1280 "entity-view-types": "Tipos de vista de entidad",
  1281 + "created-time": "Fecha de creación",
902 1282 "name": "Nombre",
903 1283 "name-required": "Nombre Requerido.",
904 1284 "description": "Descripción",
905 1285 "events": "Eventos",
906 1286 "details": "Detalles",
907 1287 "copyId": "Copiar el Id de la vista de entidad",
  1288 + "idCopiedMessage": "El Id de la vista de entidad se ha copiado al portapapeles",
908 1289 "assignedToCustomer": "Asignado a cliente",
909 1290 "unable-entity-view-device-alias-title": "No se puede eliminar el alias de vista de entidad",
910 1291 "unable-entity-view-device-alias-text": "El alias del dispositivo '{{entityViewAlias}}' no se puede borrar porque está siendo usado por el widget(s):<br/>{{widgetsList}}",
... ... @@ -930,9 +1311,11 @@
930 1311 "timeseries-data": "Datos de series temporales",
931 1312 "timeseries-data-hint": "Configure las claves de los datos de las series temporales de la entidad de destino que serán accesibles para la vista de la entidad. Los datos de esta serie temporal son de solo lectura.",
932 1313 "make-public-entity-view-title": "¿Está seguro de que desea que la vista de entidad '{{entityViewName}}' sea pública?",
933   - "make-public-entity-view-text": "Después de la confirmación, la vista de la entidad y todos sus datos se harán públicos y accesibles para otros.",
  1314 + "make-public-entity-view-text": "Tras la confirmación, la vista de la entidad y todos sus datos se harán públicos y accesibles para otros.",
934 1315 "make-private-entity-view-title": "¿Está seguro de que desea que la vista de entidad '{{entityViewName}}' sea privada?",
935   - "make-private-entity-view-text": "Después de la confirmación, la vista de la entidad y todos sus datos se harán privados y no serán accesibles para otros."
  1316 + "make-private-entity-view-text": "Tras la confirmación, la vista de la entidad y todos sus datos se harán privados y no serán accesibles para otros.",
  1317 + "search": "Buscar vistas de entidad",
  1318 + "selected-entity-views": "{ count, plural, 1 {1 vista de entidad} other {# vistas de entidad} } seleccionadas"
936 1319 },
937 1320 "event": {
938 1321 "event-type": "Tipo de evento",
... ... @@ -965,7 +1348,7 @@
965 1348 },
966 1349 "extension": {
967 1350 "extensions": "Extensiones",
968   - "selected-extensions": "{ count, plural, 1 {1 extension} other {# extensions} } seleccionadas",
  1351 + "selected-extensions": "{ count, plural, 1 {1 extensión} other {# extensiones} } seleccionadas",
969 1352 "type": "Tipo",
970 1353 "key": "Clave",
971 1354 "value": "Valor",
... ... @@ -977,9 +1360,9 @@
977 1360 "delete": "Borrar Extensión",
978 1361 "add": "Añadir Extensión",
979 1362 "edit": "Editar Extensión",
980   - "delete-extension-title": "Estás seguro de borrar la extensión '{{extensionId}}'?",
  1363 + "delete-extension-title": "Eliminar la extensión '{{extensionId}}'?",
981 1364 "delete-extension-text": "Atención, tras la confirmación la extensión y sus datos serán borrados e irrecuperables.",
982   - "delete-extensions-title": "Estás seguro de borrar las extensiones { count, plural, 1 {1 extensión} other {# extensiones} }?",
  1365 + "delete-extensions-title": "Eliminar las extensiones { count, plural, 1 {1 extensión} other {# extensiones} }?",
983 1366 "delete-extensions-text": "Atención, tras la confirmación todas las extensiones seleccionadas y sus datos serán borrados e irrecuperables.",
984 1367 "converters": "Convertidores",
985 1368 "converter-id": "Id de convertidor",
... ... @@ -1120,6 +1503,93 @@
1120 1503 "file": "Fichero de extensiones",
1121 1504 "invalid-file-error": "Fichero de extensiones inválido"
1122 1505 },
  1506 + "filter": {
  1507 + "add": "Añadir filtro",
  1508 + "edit": "Editar filtro",
  1509 + "name": "Nombre de filtro",
  1510 + "name-required": "Se requiere nombre de filtro.",
  1511 + "duplicate-filter": "Ya existe un filtro con el mismo nombre.",
  1512 + "filters": "Filtros",
  1513 + "unable-delete-filter-title": "Error borrando filtro",
  1514 + "unable-delete-filter-text": "El filtro '{{filter}}' no puede ser borrado debido a que está siendo usado actualmente por los siguientes widgets:<br/>{{widgetsList}}",
  1515 + "duplicate-filter-error": "Se ha encontrado un filtro duplicado '{{filter}}'.<br>Los filtros deben ser únicos en el panel.",
  1516 + "missing-key-filters-error": "No se encontró la clave de filtros para el filtro '{{filter}}'.",
  1517 + "filter": "Filtro",
  1518 + "editable": "Editable",
  1519 + "no-filters-found": "No se encontraron filtros.",
  1520 + "no-filter-text": "No se ha especificado filtro",
  1521 + "add-filter-prompt": "Por favos, añadir filtro",
  1522 + "no-filter-matching": "'{{filter}}' no encontrado.",
  1523 + "create-new-filter": "Crear un filtro nuevo!",
  1524 + "filter-required": "Se requiere filtro.",
  1525 + "operation": {
  1526 + "operation": "Operación",
  1527 + "equal": "igual",
  1528 + "not-equal": "no igual",
  1529 + "starts-with": "comienza con",
  1530 + "ends-with": "acaba con",
  1531 + "contains": "contiene",
  1532 + "not-contains": "no contiene",
  1533 + "greater": "mayor que",
  1534 + "less": "menor que",
  1535 + "greater-or-equal": "mayor o igual",
  1536 + "less-or-equal": "menor o igual",
  1537 + "and": "y",
  1538 + "or": "o"
  1539 + },
  1540 + "ignore-case": "Ignorar mayús/minus",
  1541 + "value": "Valor",
  1542 + "remove-filter": "Borrar filtro",
  1543 + "preview": "Vista previa de filtro",
  1544 + "no-filters": "No hay filtros configurados",
  1545 + "add-filter": "Añadir filtro",
  1546 + "add-complex-filter": "Añadir filtro complejo",
  1547 + "add-complex": "Agregar filtro complejo",
  1548 + "complex-filter": "Filtro complejo",
  1549 + "edit-complex-filter": "Editar filtro complejo",
  1550 + "edit-filter-user-params": "Editar parámetros de usuario del filtro",
  1551 + "filter-user-params": "Filtro de parámetros de usuario (predicado)",
  1552 + "user-parameters": "Parámetros de usuario",
  1553 + "display-label": "Etiqueta a mostrar",
  1554 + "autogenerated-label": "Auto generar etiqueta",
  1555 + "order-priority": "Prioridad orden de campos",
  1556 + "key-filter": "Filtros (clave)",
  1557 + "key-filters": "Filtros (claves)",
  1558 + "key-name": "Nombre de clave",
  1559 + "key-name-required": "Se requiere nombre de clave.",
  1560 + "key-type": {
  1561 + "key-type": "Tipo de clave",
  1562 + "attribute": "Atributo",
  1563 + "timeseries": "Timeseries",
  1564 + "entity-field": "Campo de entidad"
  1565 + },
  1566 + "value-type": {
  1567 + "value-type": "Tipo de valor",
  1568 + "string": "Cadena",
  1569 + "numeric": "Numerico",
  1570 + "boolean": "Booleano",
  1571 + "date-time": "Fecha/Hora"
  1572 + },
  1573 + "value-type-required": "Se requiere tipo de valor.",
  1574 + "key-value-type-change-title": "Cambiar el tipo de valor de la clave?",
  1575 + "key-value-type-change-message": "Si confirmas el nuevo tipo, todos los filtros se borrarán.",
  1576 + "no-key-filters": "No hay filtros claves configurados",
  1577 + "add-key-filter": "Añadir filtro clave",
  1578 + "remove-key-filter": "Borrar filtro clave",
  1579 + "edit-key-filter": "Editar filtro clave",
  1580 + "date": "Fecha",
  1581 + "time": "Hora",
  1582 + "current-tenant": "Admin actual",
  1583 + "current-customer": "Cliente actual",
  1584 + "current-user": "Usuario actual",
  1585 + "current-device": "Dispositivo actual",
  1586 + "default-value": "Valor por defecto",
  1587 + "dynamic-source-type": "Tipo de origen dinámico",
  1588 + "no-dynamic-value": "Sin valor dinámico",
  1589 + "source-attribute": "Atributo de origen",
  1590 + "switch-to-dynamic-value": "Cambiar a valor dinámico",
  1591 + "switch-to-default-value": "Cambiar a valor por defecto"
  1592 + },
1123 1593 "fullscreen": {
1124 1594 "expand": "Expandir a Pantalla Completa",
1125 1595 "exit": "Salir de Pantalla Completa",
... ... @@ -1139,7 +1609,7 @@
1139 1609 "connector-type-required": "Se requiere tipo conector.",
1140 1610 "connectors": "Configuración de conectores",
1141 1611 "create-new-gateway": "Crear un gateway nuevo",
1142   - "create-new-gateway-text": "Estás seguro de crear un nuevo gateway con el nombre: '{{gatewayName}}'?",
  1612 + "create-new-gateway-text": "Crear un nuevo gateway con el nombre: '{{gatewayName}}'?",
1143 1613 "delete": "Borrar configuración",
1144 1614 "download-tip": "Descargar fichero de configuración",
1145 1615 "gateway": "Gateway",
... ... @@ -1201,17 +1671,12 @@
1201 1671 "tls-path-private-key": "Ruta a la clave privada en el gateway",
1202 1672 "toggle-fullscreen": "Pantalla completa fullscreen",
1203 1673 "transformer-json-config": "Configuración JSON*",
1204   - "update-config": "Añadir/actualizar configuración JSON",
1205   - "state-title": "Estado gateway",
1206   - "show-config-tip": "Mostrar configuración gateway",
1207   - "title-show-config": "Mostrar configuración gateway",
1208   - "read-only": "Solo lectura",
1209   - "read-write": ""
  1674 + "update-config": "Añadir/actualizar configuración JSON"
1210 1675 },
1211 1676 "grid": {
1212   - "delete-item-title": "¿Estás seguro que quieres eliminar este item?",
  1677 + "delete-item-title": "¿Quieres eliminar este item?",
1213 1678 "delete-item-text": "Atención, tras la confirmación el item será eliminado y la información relacionada será irrecuperable.",
1214   - "delete-items-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 item} other {# items} }?",
  1679 + "delete-items-title": "¿Quieres eliminar { count, plural, 1 {1 item} other {# items} }?",
1215 1680 "delete-items-action-title": "Eliminar { count, plural, 1 {1 item} other {# items} }",
1216 1681 "delete-items-text": "Atención, tras la confirmación los items seleccionados serán eliminados y la información relacionada será irrecuperable.",
1217 1682 "add-item-text": "Agregar nuevo item",
... ... @@ -1235,10 +1700,10 @@
1235 1700 "import": {
1236 1701 "no-file": "Ningún archivo seleccionado",
1237 1702 "drop-file": "Suelte un archivo JSON o haga clic para seleccionar un archivo para cargar.",
  1703 + "drop-file-csv": "Suelte un archivo CSV o haga clic para seleccionar un archivo para cargar.",
1238 1704 "column-value": "Valor",
1239 1705 "column-title": "Título",
1240 1706 "column-example": "Datos de ejemplo",
1241   - "drop-file-csv": "Suelte un archivo CSV o haga clic para seleccionar un archivo para cargar.",
1242 1707 "column-key": "Clave de atributo/telemetría",
1243 1708 "csv-delimiter": "Delimitador CSV",
1244 1709 "csv-first-line-header": "La primera línea contiene nombres de columna.",
... ... @@ -1257,6 +1722,7 @@
1257 1722 "entity-field": "Campo de entidad",
1258 1723 "access-token": "Token de acceso",
1259 1724 "isgateway": "Es Gateway",
  1725 + "activity-time-from-gateway-device": "Fecha de actividad desde el dispositivo gateway",
1260 1726 "description": "Descripción"
1261 1727 },
1262 1728 "stepper-text": {
... ... @@ -1300,6 +1766,7 @@
1300 1766 "legend": {
1301 1767 "direction": "Dirección de la leyenda",
1302 1768 "position": "Posición de la leyenda",
  1769 + "sort-legend": "Ordenar claves en leyenda",
1303 1770 "show-max": "Mostrar valor máximo",
1304 1771 "show-min": "Mostrar valor mínimo",
1305 1772 "show-avg": "Mostrar valor promedio",
... ... @@ -1376,20 +1843,21 @@
1376 1843 "any-relation-type": "Cualquier tipo",
1377 1844 "add": "Añadir relación",
1378 1845 "edit": "Editar relación",
1379   - "delete-to-relation-title": "¿Estás seguro que quieres eliminar la relación con la entidad '{{entityName}}'?",
  1846 + "delete-to-relation-title": "¿Quieres eliminar la relación con la entidad '{{entityName}}'?",
1380 1847 "delete-to-relation-text": "Atención, tras la confirmación la entidad '{{entityName}}' no estará relacionada con la entidad actual.",
1381   - "delete-to-relations-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 relación} other {# relaciones} }?",
  1848 + "delete-to-relations-title": "¿Quieres eliminar { count, plural, 1 {1 relación} other {# relaciones} }?",
1382 1849 "delete-to-relations-text": "Atención, tras la confirmación todas las relaciones seleccionadas se eliminarán y sus entidades correspondientes no estarán relacionadas con la entidad actual.",
1383   - "delete-from-relation-title": "¿Estás seguro que quieres eliminar la relación con la entidad '{{entityName}}'?",
  1850 + "delete-from-relation-title": "¿Quieres eliminar la relación con la entidad '{{entityName}}'?",
1384 1851 "delete-from-relation-text": "Atención, tras la confirmación la entidad actual no estará relacionada con la entidad '{{entityName}}'.",
1385   - "delete-from-relations-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 relación} other {# relaciones} }?",
  1852 + "delete-from-relations-title": "¿Quieres eliminar { count, plural, 1 {1 relación} other {# relaciones} }?",
1386 1853 "delete-from-relations-text": "Atención, tras la confirmación todas las relaciones seleccionadas se eliminarán y sus entidades correspondientes no estarán relacionadas con sus entidades correspondientes.",
1387 1854 "remove-relation-filter": "Quitar filtro de relación",
1388 1855 "add-relation-filter": "Añadir filtro de relación",
1389 1856 "any-relation": "Cualquier relación",
1390 1857 "relation-filters": "Filtro de relación",
1391 1858 "additional-info": "Información adicional (JSON)",
1392   - "invalid-additional-info": "Error al analizar el fichero JSON de información adicional."
  1859 + "invalid-additional-info": "Error al analizar el fichero JSON de información adicional.",
  1860 + "no-relations-text": "No se encontraron relaciones"
1393 1861 },
1394 1862 "rulechain": {
1395 1863 "rulechain": "Cadena de Regla",
... ... @@ -1401,9 +1869,9 @@
1401 1869 "description": "Descripción",
1402 1870 "add": "Añadir Cadena",
1403 1871 "set-root": "Hacer la cadena de reglas Raíz",
1404   - "set-root-rulechain-title": "¿Estás seguro de que desea hacer la cadena de reglas '{{ruleChainName}}' de tipo raíz?",
  1872 + "set-root-rulechain-title": "¿Desea hacer la cadena de reglas '{{ruleChainName}}' de tipo raíz?",
1405 1873 "set-root-rulechain-text": "Tras la confirmación, la cadena de reglas se volverá raíz y manejará todos los mensajes de transporte entrantes.",
1406   - "delete-rulechain-title": "¿Estás seguro que quieres eliminar la cadena de reglas '{{ruleChainName}}'?",
  1874 + "delete-rulechain-title": "¿Quieres eliminar la cadena de reglas '{{ruleChainName}}'?",
1407 1875 "delete-rulechain-text": "Atención, tras la confirmación la cadena de reglas y todos los datos serán irrecuperables.",
1408 1876 "delete-rulechains-title": "¿Está seguro que quieres eliminar { count, plural, 1 {1 cadena de reglas} other {# cadenas de reglas} }?",
1409 1877 "delete-rulechains-action-title": "Eliminar { count, plural, 1 {1 cadena de reglas} other {# cadenas de reglas} }",
... ... @@ -1426,7 +1894,10 @@
1426 1894 "no-rulechains-matching": "No se encontraron cadenas de reglas que coincidan con '{{entity}}' .",
1427 1895 "rulechain-required": "Cadena de reglas requerida",
1428 1896 "management": "Gestión de reglas",
1429   - "debug-mode": "Modo Debug"
  1897 + "debug-mode": "Modo Debug",
  1898 + "search": "Buscar cadenas de reglas",
  1899 + "selected-rulechains": "{ count, plural, 1 {1 cadena de reglas} other {# cadenas de reglas} } seleccionadas",
  1900 + "open-rulechain": "Abrir cadena de reglas"
1430 1901 },
1431 1902 "rulenode": {
1432 1903 "details": "Detalles",
... ... @@ -1478,9 +1949,9 @@
1478 1949 "type-unknown": "Desconocido",
1479 1950 "type-unknown-details": "Regla de nodo no resuelta",
1480 1951 "directive-is-not-loaded": "La directiva de configuración definida '{{directiveName}}' no está disponible.",
1481   - "ui-resources-load-error": "Error al cargar los recursos de configuración ui.",
  1952 + "ui-resources-load-error": "Error al cargar los recursos de configuración UI.",
1482 1953 "invalid-target-rulechain": "No se puede resolver la cadena de reglas objetivo!",
1483   - "test-script-function": "Probar Script Función",
  1954 + "test-script-function": "Probar Script de función",
1484 1955 "message": "Mensaje",
1485 1956 "message-type": "Tipo de mensaje",
1486 1957 "select-message-type": "Seleccionar tipo de mensaje",
... ... @@ -1492,11 +1963,16 @@
1492 1963 "help": "Ayuda",
1493 1964 "reset-debug-mode": "Restablecer el modo de depuración en todos los nodos"
1494 1965 },
  1966 + "timezone": {
  1967 + "timezone": "Zona Horaria",
  1968 + "select-timezone": "Seleccionar zona horaria",
  1969 + "no-timezones-matching": "No hay zonas horarias que coincidan con '{{timezone}}'.",
  1970 + "timezone-required": "Se requiere zona horaria."
  1971 + },
1495 1972 "queue": {
1496   - "select_name": "Selecciona el nombre de la cola",
1497   - "name": "Nombre Cola",
1498   - "name_required": "Necesario especificar el nombre de cola"
1499   -
  1973 + "select_name": "Selecciona el nombre de la cola",
  1974 + "name": "Nombre Cola",
  1975 + "name_required": "Necesario especificar el nombre de cola"
1500 1976 },
1501 1977 "tenant": {
1502 1978 "tenant": "Propietario",
... ... @@ -1509,9 +1985,9 @@
1509 1985 "add-tenant-text": "Agregar nuevo propietario",
1510 1986 "no-tenants-text": "Ningún propietario encontrado",
1511 1987 "tenant-details": "Detalles del propietario",
1512   - "delete-tenant-title": "¿Estás seguro que quieres eliminar el propietario '{{tenantTitle}}'?",
  1988 + "delete-tenant-title": "¿Quieres eliminar el propietario '{{tenantTitle}}'?",
1513 1989 "delete-tenant-text": "Atención, tras la confirmación el propietario será eliminado y la información relacionada será irrecuperable.",
1514   - "delete-tenants-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 propietario} other {# propietarios} }?",
  1990 + "delete-tenants-title": "¿Quieres eliminar { count, plural, 1 {1 propietario} other {# propietarios} }?",
1515 1991 "delete-tenants-action-title": "Eliminar { count, plural, 1 {1 propietario} other {# propietarios} }",
1516 1992 "delete-tenants-text": "Atención, tras la confirmación los propietarios seleccionados serán eliminados y la información relacionada será irrecuperable.",
1517 1993 "title": "Título",
... ... @@ -1524,21 +2000,110 @@
1524 2000 "select-tenant": "Seleccionar propietario",
1525 2001 "no-tenants-matching": "No hay propietarios que coincidan con '{{entity}}' .",
1526 2002 "tenant-required": "Propietario requerido",
  2003 + "search": "Buscar propietarios",
  2004 + "selected-tenants": "{ count, plural, 1 {1 propietario} other {# propietarios} } seleccionados",
1527 2005 "isolated-tb-core": "Procesando en contenedor aislado",
1528 2006 "isolated-tb-rule-engine": "Procesando en contenedor Motor de Reglas aislado",
1529 2007 "isolated-tb-core-details": "Requiere microservicios separados por propietario aislado",
1530 2008 "isolated-tb-rule-engine-details": "Requiere microservicios separados por propietario aislado"
1531 2009 },
  2010 + "tenant-profile": {
  2011 + "tenant-profile": "Perfil de propietario",
  2012 + "tenant-profiles": "Perfiles de propietarios",
  2013 + "add": "Añadir perfil de propietario",
  2014 + "edit": "Editar perfil de propietario",
  2015 + "tenant-profile-details": "Detalles perfil de propietario",
  2016 + "no-tenant-profiles-text": "No se encontraron perfiles de propietario",
  2017 + "search": "Buscar perfiles de propietario",
  2018 + "selected-tenant-profiles": "{ count, plural, 1 {1 perfil de propietario} other {# perfiles de propietario} } seleccionados",
  2019 + "no-tenant-profiles-matching": "No se han encontrado perfiles de propietario que coincidan con '{{entity}}'.",
  2020 + "tenant-profile-required": "Se requiere perfil de propietario",
  2021 + "idCopiedMessage": "El ID de perfil de propietario se ha copiado al portapapeles",
  2022 + "set-default": "Hacer perfil propietario por defecto",
  2023 + "delete": "Borrar perfil",
  2024 + "copyId": "Copiar ID de perfil",
  2025 + "name": "Nombre",
  2026 + "name-required": "Se requiere nombre.",
  2027 + "data": "Datos de perfil",
  2028 + "profile-configuration": "Configuración de perfil",
  2029 + "description": "Descripción",
  2030 + "default": "Defecto",
  2031 + "delete-tenant-profile-title": "Eliminar el perfil propietario '{{tenantProfileName}}'?",
  2032 + "delete-tenant-profile-text": "Atención, tras la confirmación, el perfil de propietario será borrado y su información relacionada será irrecuperable.",
  2033 + "delete-tenant-profiles-title": "Eliminar { count, plural, 1 {1 perfil propietario} other {# perfiles propietarios} }?",
  2034 + "delete-tenant-profiles-text": "Atención, tras la confirmación, los perfiles seleccionados se eliminarán y su información relacionada será irrecuperable.",
  2035 + "set-default-tenant-profile-title": "Quieres hacer el perfil propietario '{{tenantProfileName}}' por defecto?",
  2036 + "set-default-tenant-profile-text": "Tras la confirmación, el perfil propietario será marcado por defecto y será usado por los nuevos perfiles propietarios que no tengan perfil específico.",
  2037 + "no-tenant-profiles-found": "No se encontraron perfiles de propietario.",
  2038 + "create-new-tenant-profile": "Crear un nuevo perfil!",
  2039 + "maximum-devices": "Nº Máximo de dispositivos (0 - sin límite)",
  2040 + "maximum-devices-required": "Nº Máximo de dispositivos requerido.",
  2041 + "maximum-devices-range": "Nº Máximo de dispositivos no puede ser negativo",
  2042 + "maximum-assets": "Nº Máximo de activos (0 - sin límite)",
  2043 + "maximum-assets-required": "Nº Máximo de activos requerido.",
  2044 + "maximum-assets-range": "Nº Máximo de activos no puede ser negativo",
  2045 + "maximum-customers": "Nº Máximo de clientes (0 - sin límite)",
  2046 + "maximum-customers-required": "Nº Máximo de clientes requerido.",
  2047 + "maximum-customers-range": "Nº Máximo de clientes no puede ser negativo",
  2048 + "maximum-users": "Nº Máximo de usuarios (0 - sin límite)",
  2049 + "maximum-users-required": "Nº Máximo de usuarios requerido.",
  2050 + "maximum-users-range": "Nº Máximo de usuarios no puede ser negativo",
  2051 + "maximum-dashboards": "Nº Máximo de paneles (0 - sin límite)",
  2052 + "maximum-dashboards-required": "Nº Máximo de paneles requerido.",
  2053 + "maximum-dashboards-range": "Nº Máximo de paneles no puede ser negativo",
  2054 + "maximum-rule-chains": "Nº Máximo de cadenas de reglas (0 - sin límite)",
  2055 + "maximum-rule-chains-required": "Nº Máximo de cadenas de reglas requerido.",
  2056 + "maximum-rule-chains-range": "Nº Máximo de cadenas de reglas no puede ser negativo",
  2057 + "transport-tenant-msg-rate-limit": "Tasa de mensajes de transporte por propietario.",
  2058 + "transport-tenant-telemetry-msg-rate-limit": "Tasa de mensajes de telemetría por propietario.",
  2059 + "transport-tenant-telemetry-data-points-rate-limit": "Tasa de datapoints por propietario.",
  2060 + "transport-device-msg-rate-limit": "Tasa de mensajes de dispositivo.",
  2061 + "transport-device-telemetry-msg-rate-limit": "Tasa de mensajes de telemetría de dispositivo.",
  2062 + "transport-device-telemetry-data-points-rate-limit": "Tasa de datapoints de telemetría de dispositivo.",
  2063 + "max-transport-messages": "Nº Máximo de mensajes de transporte (0 - sin límite)",
  2064 + "max-transport-messages-required": "Nº Máximo de mensajes de transporte requerido.",
  2065 + "max-transport-messages-range": "Nº Máximo de mensajes de transporte no puede ser negativo",
  2066 + "max-transport-data-points": "Nº Máximo de datapoints transporte (0 - sin límite)",
  2067 + "max-transport-data-points-required": "Nº Máximo de datapoints transporte requerido.",
  2068 + "max-transport-data-points-range": "Nº Máximo de datapoints transporte no puede ser negativo",
  2069 + "max-r-e-executions": "Nº Máximo de ejecuciones de motor de reglas (0 - sin límite)",
  2070 + "max-r-e-executions-required": "Nº Máximo de ejecuciones de motor de reglas requerido.",
  2071 + "max-r-e-executions-range": "Nº Máximo de ejecuciones de motor de reglas no puede ser negativo",
  2072 + "max-j-s-executions": "Nº Máximo de ejecuciones JavaScript (0 - sin límite)",
  2073 + "max-j-s-executions-required": "Nº Máximo de ejecuciones JavaScript requerido.",
  2074 + "max-j-s-executions-range": "Nº Máximo de ejecuciones JavaScript no puede ser negativo",
  2075 + "max-d-p-storage-days": "Nº Máximo de días a grabar en datapoints (0 - sin límite)",
  2076 + "max-d-p-storage-days-required": "Nº Máximo de días requerido.",
  2077 + "max-d-p-storage-days-range": "Nº Máximo de días no puede ser negativo",
  2078 + "default-storage-ttl-days": "Días por defecto grabado TTL (0 - sin límite)",
  2079 + "default-storage-ttl-days-required": "Días por defecto TTL requerido.",
  2080 + "default-storage-ttl-days-range": "Días por defecto TTL no puede ser negativo",
  2081 + "max-rule-node-executions-per-message": "Nº Máximo de ejecuciones (cadena de reglas) por mensaje (0 - sin límite)",
  2082 + "max-rule-node-executions-per-message-required": "Nº Máximo de ejecuciones por mensaje requerido.",
  2083 + "max-rule-node-executions-per-message-range": "Nº Máximo de ejecuciones por mensaje no puede ser negativo",
  2084 + "max-emails": "Nº Máximo de emails (0 - sin límite)",
  2085 + "max-emails-required": "Nº Máximo de emails requerido.",
  2086 + "max-emails-range": "Nº Máximo de emails no puede ser negativo",
  2087 + "max-sms": "Nº Máximo de mensajes SMS (0 - sin límite)",
  2088 + "max-sms-required": "Nº Máximo de mensajes SMS requerido.",
  2089 + "max-sms-range": "Nº Máximo de mensajes SMS no puede ser negativo"
  2090 + },
1532 2091 "timeinterval": {
1533   - "seconds-interval": "{ seconds, plural, 1 {1 segundo} other {# segundos} }",
1534   - "minutes-interval": "{ minutes, plural, 1 {1 minuto} other {# minutos} }",
1535   - "hours-interval": "{ hours, plural, 1 {1 hora} other {# horas} }",
1536   - "days-interval": "{ days, plural, 1 {1 día} other {# días} }",
1537   - "days": "Días",
1538   - "hours": "Horas",
1539   - "minutes": "Minutos",
  2092 + "seconds-interval": "{ seconds, plural, 1 {1 segundo} other {# segundos} }",
  2093 + "minutes-interval": "{ minutes, plural, 1 {1 minuto} other {# minutos} }",
  2094 + "hours-interval": "{ hours, plural, 1 {1 hora} other {# horas} }",
  2095 + "days-interval": "{ days, plural, 1 {1 día} other {# días} }",
  2096 + "days": "Días",
  2097 + "hours": "Horas",
  2098 + "minutes": "Minutos",
  2099 + "seconds": "Segundos",
  2100 + "advanced": "Avanzado"
  2101 + },
  2102 + "timeunit": {
1540 2103 "seconds": "Segundos",
1541   - "advanced": "Avanzado"
  2104 + "minutes": "Minutos",
  2105 + "hours": "Horas",
  2106 + "days": "Días"
1542 2107 },
1543 2108 "timewindow": {
1544 2109 "days": "{ days, plural, 1 { día } other {# días } }",
... ... @@ -1569,9 +2134,9 @@
1569 2134 "add-user-text": "Agregar nuevo usuario",
1570 2135 "no-users-text": "Ningún usuario encontrado",
1571 2136 "user-details": "Detalles del usuario",
1572   - "delete-user-title": "¿Estás seguro que quieres eliminar el usuario '{{userEmail}}'?",
  2137 + "delete-user-title": "¿Eliminar el usuario '{{userEmail}}'?",
1573 2138 "delete-user-text": "Atención, tras la confirmación el usuario seleccionado será eliminado y la información relacionada será irrecuperable.",
1574   - "delete-users-title": "¿Estás seguro que quieres eliminar { count, plural, 1 {1 usuario} other {# usuarios} }?",
  2139 + "delete-users-title": "¿Eliminar { count, plural, 1 {1 usuario} other {# usuarios} }?",
1575 2140 "delete-users-action-title": "Borrar { count, plural, 1 {1 usuario} other {# usuarios} }",
1576 2141 "delete-users-text": "Atención, tras la confirmación los usuarios seleccionados serán eliminados y la información relacionada será irrecuperable.",
1577 2142 "activation-email-sent-message": "Mail de activación enviado con éxito!",
... ... @@ -1597,6 +2162,8 @@
1597 2162 "details": "Detalles",
1598 2163 "login-as-tenant-admin": "Iniciar sesión como Administrador Propietario",
1599 2164 "login-as-customer-user": "Iniciar sesión como Usuario Cliente",
  2165 + "search": "Buscar usuarios",
  2166 + "selected-users": "{ count, plural, 1 {1 usuario} other {# usuarios} } seleccionados",
1600 2167 "disable-account": "Deshabilitar cuenta de usuario",
1601 2168 "enable-account": "Habilitar cuenta de usuario",
1602 2169 "enable-account-message": "¡La cuenta de usuario se ha habilitado correctamente!",
... ... @@ -1606,18 +2173,23 @@
1606 2173 "type": "Tipo de valor",
1607 2174 "string": "Cadena de texto",
1608 2175 "string-value": "Valor de cadena de texto",
  2176 + "string-value-required": "Se requiere valor de cadena de texto",
1609 2177 "integer": "Nro entero",
1610 2178 "integer-value": "Valor de nro entero",
1611   - "invalid-integer-value": "Valor inválido",
  2179 + "integer-value-required": "Se requiere valor entero",
  2180 + "invalid-integer-value": "Valor de entero inválido",
1612 2181 "double": "Nro decimal",
1613 2182 "double-value": "Valor nro decimal",
  2183 + "double-value-required": "Se requiere valor nro decimal",
1614 2184 "boolean": "Booleano",
1615 2185 "boolean-value": "Valor booleano",
1616 2186 "false": "Falso",
1617 2187 "true": "Verdadero",
1618 2188 "long": "Nro Largo",
1619 2189 "json": "JSON",
1620   - "json-value": "Valor JSON"
  2190 + "json-value": "Valor JSON",
  2191 + "json-value-invalid": "El valor JSON tiene un formato inválido",
  2192 + "json-value-required": "Se requiere valor JSON"
1621 2193 },
1622 2194 "widget": {
1623 2195 "widget-library": "Bibloteca de Widgets",
... ... @@ -1629,7 +2201,7 @@
1629 2201 "widget-type-load-error": "El widget no pudo ser cargado debido a estos errores:",
1630 2202 "remove": "Eliminar widget",
1631 2203 "edit": "Editar widget",
1632   - "remove-widget-title": "¿Estás seguro que quieres eliminar el widget '{{widgetTitle}}'?",
  2204 + "remove-widget-title": "¿Eliminar el widget '{{widgetTitle}}'?",
1633 2205 "remove-widget-text": "Atención, tras la confirmación el widget será eliminado y toda la información relacionada será irrecuperable..",
1634 2206 "timeseries": "Series de tiempo",
1635 2207 "search-data": "Buscar datos",
... ... @@ -1653,6 +2225,7 @@
1653 2225 "type": "Tipo",
1654 2226 "resources": "Recursos",
1655 2227 "resource-url": "URL JavaScript/CSS",
  2228 + "resource-is-module": "Es módulo",
1656 2229 "remove-resource": "Eliminar recurso",
1657 2230 "add-resource": "Agregar recurso",
1658 2231 "html": "HTML",
... ... @@ -1662,7 +2235,7 @@
1662 2235 "datakey-settings-schema": "Esquema de configuración de clave de datos",
1663 2236 "javascript": "Javascript",
1664 2237 "js": "JS",
1665   - "remove-widget-type-title": "¿Estás seguro que quieres eliminar el tipo del widget '{{widgetName}}'?",
  2238 + "remove-widget-type-title": "¿Eliminar el tipo del widget '{{widgetName}}'?",
1666 2239 "remove-widget-type-text": "Atención, tras la confirmación el tipo será eliminado y la información relacionada será irrecuperable.",
1667 2240 "remove-widget-type": "Eliminar tipo de widget.",
1668 2241 "add-widget-type": "Agregar nuevo tipo de widget",
... ... @@ -1670,7 +2243,10 @@
1670 2243 "widget-template-load-failed-error": "Error al cargar la plantilla del widget!",
1671 2244 "add": "Agregar Widget",
1672 2245 "undo": "Deshacer cambios",
1673   - "export": "Exportar widget"
  2246 + "export": "Exportar widget",
  2247 + "no-data": "No hay datos para mostrar en widget",
  2248 + "data-overflow": "El widget muestra {{count}} de {{total}} entidades",
  2249 + "alarm-data-overflow": "El widget muestra alarmas para {{allowedEntities}} entidades (máximo permitido) de {{totalEntities}} entidades"
1674 2250 },
1675 2251 "widget-action": {
1676 2252 "header-button": "Botón de encabezado widget",
... ... @@ -1683,7 +2259,14 @@
1683 2259 "target-dashboard-state-required": "Se requiere estado de panel de destino",
1684 2260 "set-entity-from-widget": "Establecer entidad desde widget",
1685 2261 "target-dashboard": "Panel de destino",
1686   - "open-right-layout": "Abrir diseño de panel (derecho)(vista móvil)"
  2262 + "open-right-layout": "Abrir diseño de panel (derecho)(vista móvil)",
  2263 + "open-in-separate-dialog": "Abrir en un diálogo separado",
  2264 + "dialog-title": "Título del diálogo",
  2265 + "dialog-hide-dashboard-toolbar": "Ocultar barra de herramientas en el diálogo",
  2266 + "dialog-width": "Ancho de diálogo en porcentaje relativo al ancho del viewport",
  2267 + "dialog-height": "Alto de diálogo en porcentaje relativo al alto del viewport",
  2268 + "dialog-size-range-error": "El tamaño del diálogo debe ser entre un rango de 1 a 100",
  2269 + "open-new-browser-tab": "Abrir en una nueva pestaña"
1687 2270 },
1688 2271 "widgets-bundle": {
1689 2272 "current": "Paquete actual",
... ... @@ -1697,9 +2280,9 @@
1697 2280 "empty": "Paquete de widgets vacío.",
1698 2281 "details": "Detalles",
1699 2282 "widgets-bundle-details": "Detalles del paquete de Widgets",
1700   - "delete-widgets-bundle-title": "¿Estás seguro que quieres eliminar el paquete de widgets '{{widgetsBundleTitle}}'?",
  2283 + "delete-widgets-bundle-title": "¿Eliminar el paquete de widgets '{{widgetsBundleTitle}}'?",
1701 2284 "delete-widgets-bundle-text": "Atención, tras la confirmación todos los paquetes seleccionados serán eliminados y su información relacionada será irrecuperable.",
1702   - "delete-widgets-bundles-title": "¿Estás seguro que deseas eliminar { count, plural, 1 {1 paquete de widgets} other {# paquetes de widgets} }?",
  2285 + "delete-widgets-bundles-title": "¿Eliminar { count, plural, 1 {1 paquete de widgets} other {# paquetes de widgets} }?",
1703 2286 "delete-widgets-bundles-action-title": "Eliminar { count, plural, 1 {1 paquete de widgets} other {# paquetes de widgets} }",
1704 2287 "delete-widgets-bundles-text": "Atención, tras la confirmación todos los paquetes seleccionados serán eliminados y la información relacionada será irrecuperable.",
1705 2288 "no-widgets-bundles-matching": "Ningún paquete '{{widgetsBundle}}' encontrado.",
... ... @@ -1710,7 +2293,10 @@
1710 2293 "export-failed-error": "Imposible exportar paquete de widgets: {{error}}",
1711 2294 "create-new-widgets-bundle": "Crear nuevo paquete de widgets",
1712 2295 "widgets-bundle-file": "Archivo de paquete de widgets",
1713   - "invalid-widgets-bundle-file-error": "Imposible importar paquete de widgets: Estructura de datos inválida."
  2296 + "invalid-widgets-bundle-file-error": "Imposible importar paquete de widgets: Estructura de datos inválida.",
  2297 + "search": "Buscar paquete de widgets",
  2298 + "selected-widgets-bundles": "{ count, plural, 1 {1 paquete de widgets} other {# paquetes de widgets} } seleccionados",
  2299 + "open-widgets-bundle": "Abrir paquete de widgets"
1714 2300 },
1715 2301 "widget-config": {
1716 2302 "data": "Datos",
... ... @@ -1749,6 +2335,7 @@
1749 2335 "action": "Acción",
1750 2336 "add-action": "Añadir acción",
1751 2337 "search-actions": "Buscar acciones",
  2338 + "no-actions-text": "No se encontraron actiones",
1752 2339 "action-source": "Origen de acción",
1753 2340 "action-source-required": "Origen de acción requerido.",
1754 2341 "action-name": "Nombre",
... ... @@ -1760,7 +2347,7 @@
1760 2347 "edit-action": "Editar acción",
1761 2348 "delete-action": "Borrar acción",
1762 2349 "delete-action-title": "Borrar acción de widget",
1763   - "delete-action-text": "Estás seguro de borrar la acción de widget con el nombre '{{actionName}}'?",
  2350 + "delete-action-text": "Eliminar la acción de widget con el nombre '{{actionName}}'?",
1764 2351 "display-icon": "Mostrar icono del título",
1765 2352 "icon-color": "Color del icono",
1766 2353 "icon-size": "Tamaño del icono"
... ... @@ -1828,7 +2415,7 @@
1828 2415 "Custom interval": "Intervalo personalizado",
1829 2416 "Interval": "Intervalo",
1830 2417 "Step size": "Número de pasos",
1831   - "Ok": "De acuerdo"
  2418 + "Ok": "Ok"
1832 2419 }
1833 2420 },
1834 2421 "input-widgets": {
... ... @@ -1846,8 +2433,11 @@
1846 2433 "entity-coordinate-required": "Se requieren ambos campos (latitud y longitud)",
1847 2434 "entity-timeseries-required": "Se requiere la serie de tiempo de la entidad",
1848 2435 "get-location": "Obtener localización actual",
  2436 + "invalid-date": "Fecha inválida",
1849 2437 "latitude": "Latitud",
1850 2438 "longitude": "Longitud",
  2439 + "min-value-error": "El valor mínimo es {{value}}",
  2440 + "max-value-error": "El valor máximo es {{value}}",
1851 2441 "not-allowed-entity": "La entidad seleccionada no puede tener atributos compartidos",
1852 2442 "no-attribute-selected": "No se seleccionó ningún atributo",
1853 2443 "no-datakey-selected": "No se seleccionó ninguna clave de datos",
... ... @@ -1856,6 +2446,9 @@
1856 2446 "no-image": "Sin imagen",
1857 2447 "no-support-geolocation": "Tu navegador no soporta geolocalización",
1858 2448 "no-support-web-camera": "No hay cámara web compatible",
  2449 + "enable-https-use-widget": "Por favor, activa HTTPS para poder usar este widget",
  2450 + "no-found-your-camera": "No es posible encontrar la cámara",
  2451 + "no-permission-camera": "Permiso denegado por el usuario / Esta página no tiene permisos para usar la cámara",
1859 2452 "no-timeseries-selected": "No hay series de tiempo seleccionadas",
1860 2453 "secret-key": "Clave",
1861 2454 "secret-key-required": "Clave requerida",
... ...