[+] y multi-nivel [#].",
"telemetry-topic-filter": "Filtro de topic en telemetría",
"telemetry-topic-filter-required": "Se requiere filtro de topic (telemetría).",
- "attributes-topic-filter": "Attributes publish topic filter",
- "attributes-subscribe-topic-filter": "Attributes subscribe topic filter",
- "attributes-topic-filter-required": "Attributes publish topic filter is required.",
- "attributes-subscribe-topic-filter-required": "Attributes subscribe topic is required",
+ "attributes-topic-filter": "Filtro de tema (topic) en publicación de atributos",
+ "attributes-subscribe-topic-filter": "Filtro de tema (topic) en suscripción de atributos",
+ "attributes-topic-filter-required": "Se requiere filtro de publicación.",
+ "attributes-subscribe-topic-filter-required": "Se requiere filtro de suscripción",
"telemetry-proto-schema": "Proto esquema de telemetría",
"telemetry-proto-schema-required": "Se requiere proto esquema de telemetría.",
"attributes-proto-schema": "Proto esquema de atributos",
@@ -1374,6 +1545,17 @@
"provision-device-secret-required": "Se requiere secreto de aprovisionamiento.",
"copy-provision-secret": "Copiar secreto de aprovisionamiento",
"provision-secret-copied-message": "Se ha copiado el secreto de aprovisionamiento al portapapeles",
+ "provision-strategy-x509": {
+ "certificate-chain": "Cadena de certificados X509",
+ "certificate-chain-hint": "La estrategia de certificados X.509 se utiliza para aprovisionar dispositivos mediante certificados de cliente en comunicación TLS bidireccional.",
+ "allow-create-new-devices": "Crear nuevos dispositivos",
+ "allow-create-new-devices-hint": "Si se selecciona, los nuevos dispositivos se crearán y el certificado del cliente se usara como credenciales del dispositivo.",
+ "certificate-value": "Certificado en formato PEM",
+ "certificate-value-required": "Se requiere certificado en formato PEM",
+ "cn-regex-variable": "Variable de expresión regular CN",
+ "cn-regex-variable-required": "Se requiere una variable de expresión regular",
+ "cn-regex-variable-hint": "Requerido para obtener el nombre del dispositivo desde el CN del certificado."
+ },
"condition": "Condición",
"condition-type": "Tipo de condición",
"condition-type-simple": "Simple",
@@ -1383,7 +1565,7 @@
"condition-type-repeating": "Repetitiva",
"condition-type-required": "Se requiere tipo de condición.",
"condition-repeating-value": "Nº de eventos",
- "condition-repeating-value-range": "El Nº de eventos debe estar en un rango de 1 to 2147483647.",
+ "condition-repeating-value-range": "El Nº de eventos debe estar en un rango de 1 a 2147483647.",
"condition-repeating-value-pattern": "Nº de eventos debe ser un número entero.",
"condition-repeating-value-required": "Se requiere Nº de eventos.",
"condition-repeat-times": "Repetición { count, plural, =1 {1 vez} other {# veces} }",
@@ -1500,7 +1682,7 @@
"tqs": "TQS: Conexiones TCP y SMS activas, TCP en modo cola, SMS en modo estándar (no soportado desde la versión LWM2M 1.1)",
"sq": "SQ: Conexión SMS en modo de cola (no soportado desde la versión LWM2M 1.1)"
},
- "binding-tooltip": "This is the list in the\"binding\" resource of the LwM2M server object - /1/x/7.\nIndicates the supported binding modes in the LwM2M Client.\nThis value SHOULD be the same as the value in the “Supported Binding and Modes” resource in the Device Object (/3/0/16).\nWhile multiple transports are supported, only one transport binding can be used during the entire Transport Session.\nAs an example, when UDP and SMS are both supported, the LwM2M Client and the LwM2M Server can choose to communicate either over UDP or SMS during the entire Transport Session.",
+ "binding-tooltip": "Esta es la lista del recurso \"binding\" del objeto de servidor LwM2M - /1/x/7.\nIndica los modos de enlace admitidos por el cliente LwM2M.\nEste valor DEBE ser el mismo que el valor reflejado en el recurso “Supported Binding and Modes” en el objeto (/3/0/16) del dispositivo.\nAunque se admiten varios transportes, solo se puede utilizar un tipo de binding durante toda la sesión.\nPor ejemplo, si UDP y SMS son admitidos, el servidor o el cliente LwM2M, pueden optar por comunicarse a través de UDP o SMS durante toda la sesión de transporte.",
"bootstrap-server": "Servidor Bootstrap",
"lwm2m-server": "Servidor LwM2M",
"include-bootstrap-server": "Incluir actualizaciónes del servidor Bootstrap",
@@ -1521,7 +1703,7 @@
"account-after-timeout": "Cuenta tras el tiempo de espera",
"account-after-timeout-required": "Se requiere Cuenta tras el tiempo de espera.",
"account-after-timeout-pattern": "Cuenta tras el tiempo de espera debe ser un número entero positivo.",
- "account-after-timeout-tooltip": "Bootstrap-Server Account after the timeout value given by this resource.",
+ "account-after-timeout-tooltip": "Cuenta tras el tiempo de espera otorgado por este recurso.",
"server-type": "Tipo de servidor",
"add-new-server-title": "Añadir nueva configuración",
"add-server-config": "Añadir configuración de servidor",
@@ -1614,94 +1796,97 @@
"row": "Fila"
},
"edge": {
- "edge": "Borde",
- "edge-instances": "Instancias de Borde",
- "edge-file": "Archivo de borde",
+ "edge": "Edge",
+ "edge-instances": "Instancias de Edge",
+ "instances": "Instancias",
+ "edge-file": "Archivo de Edge",
"name-max-length": "El nombre debe ser menor de 256",
"label-max-length": "La etiqueta debe ser menor de 256",
"type-max-length": "El tipo debe ser menor de 256",
- "management": "Gestión de bordes",
- "no-edges-matching": "No se encontraron bordes que coincidan con '{{entity}}'",
- "add": "Agregar borde",
- "no-edges-text": "No se encontraron bordes",
- "edge-details": "Detalles del borde",
- "add-edge-text": "Agregar nuevo borde",
- "delete": "Eliminar borde",
- "delete-edge-title": "¿Está seguro de que desea eliminar el borde '{{edgeName}}'?",
- "delete-edge-text": "Tenga cuidado, después de la confirmación, el borde y todos los datos relacionados serán irrecuperables",
- "delete-edges-title": "¿Está seguro de que desea edge {count, plural, =1 {1 borde} other {# bordes} }?",
- "delete-edges-text": "Tenga cuidado, después de la confirmación se eliminarán todos los bordes seleccionados y todos los datos relacionados se volverán irrecuperables",
+ "management": "Gestión de Edges",
+ "no-edges-matching": "No se encontraron Edges que coincidan con '{{entity}}'",
+ "add": "Agregar Edge",
+ "no-edges-text": "No se encontraron Edges",
+ "edge-details": "Detalles del Edge",
+ "add-edge-text": "Agregar nuevo Edge",
+ "delete": "Eliminar Edge",
+ "delete-edge-title": "¿Está seguro de que desea eliminar el Edge '{{edgeName}}'?",
+ "delete-edge-text": "Tenga cuidado, después de la confirmación, el Edge y todos los datos relacionados serán irrecuperables",
+ "delete-edges-title": "¿Está seguro de que desea edge {count, plural, =1 {1 Edge} other {# Edges} }?",
+ "delete-edges-text": "Tenga cuidado, después de la confirmación se eliminarán todos los Edges seleccionados y todos los datos relacionados se volverán irrecuperables",
"name": "Nombre",
- "name-starts-with": "Nombre de Borde comienza con",
+ "name-starts-with": "Nombre de Edge comienza con",
"name-required": "Se requiere nombre",
"description": "Descripción",
"details": "Detalles",
"events": "Eventos",
- "copy-id": "Copiar ID de borde",
- "id-copied-message": "El ID de borde se ha copiado al portapapeles",
+ "copy-id": "Copiar ID de Edge",
+ "id-copied-message": "El ID de Edge se ha copiado al portapapeles",
"sync": "Sinc Edge",
- "edge-required": "Borde Requerido",
- "edge-type": "Tipo de Borde",
- "edge-type-required": "El tipo de borde es requerido.",
+ "edge-required": "Edge Requerido",
+ "edge-type": "Tipo de Edge",
+ "edge-type-required": "El tipo de Edge es requerido.",
"event-action": "Información de la entidad",
"entity-id": "ID de entidad",
- "select-edge-type": "Seleccionar tipo de borde",
+ "select-edge-type": "Seleccionar tipo de Edge",
"assign-to-customer": "Asignar al cliente",
- "assign-to-customer-text": "Seleccione el cliente para asignar los bordes",
- "assign-edge-to-customer": "Asignar borde(s) al cliente",
- "assign-edge-to-customer-text": "Seleccione los bordes para asignar al cliente",
+ "assign-to-customer-text": "Seleccione el cliente para asignar los Edges",
+ "assign-edge-to-customer": "Asignar Edge(s) al cliente",
+ "assign-edge-to-customer-text": "Seleccione los Edges para asignar al cliente",
"assignedToCustomer": "Asignada a la cliente",
"edge-public": "Edge es pública",
"assigned-to-customer": "Asignado al cliente",
"unassign-from-customer": "Anular asignación del cliente",
- "unassign-edge-title": "¿Está seguro de que desea desasignar el borde '{{edgeName}}'?",
- "unassign-edge-text": "Después de la confirmación, el borde quedará sin asignar y el cliente no podrá acceder a él",
- "unassign-edges-title": "¿Está seguro de que desea anular la asignación de {count, plural, =1 {1 borde} other {# bordes} }?",
- "unassign-edges-text": "Después de la confirmación de todos los bordes seleccionados, se anulará la asignación y el cliente no podrá acceder a ellos.",
- "make-public": "Hacer público el borde",
+ "unassign-edge-title": "¿Está seguro de que desea desasignar el Edge '{{edgeName}}'?",
+ "unassign-edge-text": "Después de la confirmación, el Edge quedará sin asignar y el cliente no podrá acceder a él",
+ "unassign-edges-title": "¿Está seguro de que desea anular la asignación de {count, plural, =1 {1 Edge} other {# Edges} }?",
+ "unassign-edges-text": "Después de la confirmación de todos los Edges seleccionados, se anulará la asignación y el cliente no podrá acceder a ellos.",
+ "make-public": "Hacer público el Edge",
"make-public-edge-title": "¿Estás seguro de que quieres hacer público el edge '{{edgeName}}'?",
- "make-public-edge-text": "Después de la confirmación, el borde y todos sus datos serán públicos y accesibles para otros",
+ "make-public-edge-text": "Después de la confirmación, el Edge y todos sus datos serán públicos y accesibles para otros",
"make-private": "Hacer que edge sea privado",
"public": "Público",
- "make-private-edge-title": "¿Está seguro de que desea que el borde '{{edgeName}}' sea privado?",
- "make-private-edge-text": "Después de la confirmación, el borde y todos sus datos se harán privados y otros no podrán acceder a ellos",
- "import": "Importar borde",
+ "make-private-edge-title": "¿Está seguro de que desea que el Edge '{{edgeName}}' sea privado?",
+ "make-private-edge-text": "Después de la confirmación, el Edge y todos sus datos se harán privados y otros no podrán acceder a ellos",
+ "import": "Importar Edge",
+ "install-connect-instructions": "Instrucciones de instalación y conexión",
"label": "Etiqueta",
"load-entity-error": "Entidad no encontrada. No se pudo cargar la información",
- "assign-new-edge": "Asignar nuevo borde",
- "unassign-from-edge": "Anular asignación de borde",
- "edge-key": "Clave de borde",
- "copy-edge-key": "Copiar clave de borde",
- "edge-key-copied-message": "La clave de borde se ha copiado al portapapeles",
- "edge-secret": "Borde secreto",
- "copy-edge-secret": "Copiar borde secreto",
- "edge-secret-copied-message": "El secreto de borde se ha copiado al portapapeles",
- "edge-assets": "Gestionar activos de bordes",
- "edge-devices": "Gestionar dispositivos de borde",
- "edge-entity-views": "Gestionar vistas de entidad de borde",
- "edge-dashboards": "Administrar paneles de borde",
- "edge-rulechains": "Cadenas de reglas de borde",
- "assets": "Activos de borde",
- "devices": "Dispositivos de borde",
- "entity-views": "Vistas de entidad de borde",
+ "assign-new-edge": "Asignar nuevo Edge",
+ "unassign-from-edge": "Anular asignación de Edge",
+ "edge-key": "Clave de Edge",
+ "copy-edge-key": "Copiar clave de Edge",
+ "edge-key-copied-message": "La clave de Edge se ha copiado al portapapeles",
+ "edge-secret": "Secreto del Edge",
+ "copy-edge-secret": "Copiar secreto del Edge",
+ "edge-secret-copied-message": "El secreto de Edge se ha copiado al portapapeles",
+ "edge-assets": "Gestionar activos de Edges",
+ "edge-devices": "Gestionar dispositivos de Edge",
+ "edge-entity-views": "Gestionar vistas de entidad de Edge",
+ "edge-dashboards": "Administrar paneles de Edge",
+ "edge-rulechains": "Cadenas de reglas de Edge",
+ "assets": "Activos de Edge",
+ "devices": "Dispositivos de Edge",
+ "entity-views": "Vistas de entidad de Edge",
"dashboard": "Panel de control Edge",
- "dashboards": "Paneles de borde",
+ "dashboards": "Paneles de Edge",
"rulechain-templates": "Plantillas, de cadena de reglas",
- "rulechains": "Cadenas de regla de borde",
- "search": "Bordes de búsqueda",
- "selected-edges": "{count, plural, =1 {1 borde} other {# bordes} } seleccionadas",
- "any-edge": "Cualquier bordee",
+ "edge-rulechain-templates": "Plantillas de cadena de reglas (Edge)",
+ "rulechains": "Cadenas de regla (Edge)",
+ "search": "Edges de búsqueda",
+ "selected-edges": "{count, plural, =1 {1 Edge} other {# Edges} } seleccionadas",
+ "any-edge": "Cualquier Edge",
"no-edge-types-matching": "No se encontraron tipos de aristas que coincidan con '{{entitySubtype}}'.",
- "edge-type-list-empty": "No se seleccionó ningún tipo de borde.",
- "edge-types": "Tipos de bordes",
- "enter-edge-type": "Ingrese el tipo de borde",
+ "edge-type-list-empty": "No se seleccionó ningún tipo de Edge.",
+ "edge-types": "Tipos de Edges",
+ "enter-edge-type": "Ingrese el tipo de Edge",
"deployed": "Desplegada",
"pending": "Pendiente",
"downlinks": "Enlaces descendentes",
"no-downlinks-prompt": "No se encontraron enlaces descendentes",
"sync-process-started-successfully": "¡El proceso de sincronización se inició correctamente!",
- "missing-related-rule-chains-title": "Al borde le faltan cadenas de reglas relacionadas",
- "missing-related-rule-chains-text": "Asignado a la (s) cadena (s) de reglas de borde usa nodos de reglas que reenvían mensajes a cadenas de reglas que no están asignadas a este borde. Un propietario es un individual o una organización, que tiene o produce dispositivos o activos. Los Propietarios, pueden crear usuarios tipo Administrador Propietario.
Sigue la documentación para proceder:
", + "how-to-create-tenant": "Cómo crear un Propietario" + }, + "step2": { + "title": "Configurar característica: Servidor emails", + "content": "Los usuarios reciben emails de activación y reset de contraseña a través de un servidor SMTP.
Sigue la documentación para proceder:
", + "how-to-configure-mail-server": "Cómo configurar el Servidor eMail" + }, + "step3": { + "title": "Configurar característica: Proveedor SMS", + "content": "Para distribuir mensajes SMS sobre alarmas, el administrador del sistema debe configurar proveedores SMS.
Sigue la documentación para proceder:
", + "how-to-configure-sms-provider": "Cómo configurar el proveedor SMS" + }, + "step4": { + "title": "Configurar característica: 2FA", + "content": "Añadiendo autenticación 2FA (doble factor) a tu cuenta, incrementa la seguridad y previene accesos maliciosos.
Sigue la documentación para proceder:
", + "how-to-configure-2fa": "Cómo configurar 2FA" + }, + "step5": { + "title": "Configurar característica: OAuth 2", + "content": "Puedes proveer a tus clientes con una solución 'Single Sign-On' y crear automáticamente administradores, clientes o subclientes usando una plataforma externa que permita OAuth 2.0.
Sigue la documentación para proceder:
", + "how-to-configure-oauth2": "Cómo configurar OAuth 2" + }, + "step6": { + "title": "Configurar característica: Slack", + "content": "Los usuarios, seran capaces de recibir notificaciones en Slack, de los eventos que ocurran en el sistema, de acuerdo a las reglas de notificación que hayas configurado.
Sigue la documentación para proceder:
", + "how-to-configure-notifications": "Cómo configurar Slack" + } + }, + "tenant-admin": { + "step1": { + "title": "Crear dispositivo", + "content": "Aprovisionar el dispositivo de forma manual, usando la interfaz. Sigue la documentación para proceder:
", + "how-to-create-device": "Cómo crear un dispositivo" + }, + "step2": { + "title": "Conectar dispositivo", + "content-before": "Para conectar un dispositivo, necesitas obtener sus credenciales. Recomendamos usar las credenciales generadas por defecto.
Usa comandos simples para publicar datos sobre HTTP:
", + "ubuntu": { + "install-curl": "Instalar cURL en Ubuntu:" + }, + "macos": { + "install-curl": "Instalar cURL en MacOS:" + }, + "windows": { + "install-curl": "En Windows 10 b17063, cURL está disponible por defecto." + }, + "replace-access-token": "Reemplazar $ACCESS_TOKEN con el token de tu dispositivo:", + "content-after": "Puedes usar también otros protocolos, como MQTT, CoAP, etc.
Sigue la documentación para proceder:
", + "how-to-connect-device": "Cómo conectar un dispositivo" + }, + "step3": { + "title": "Crear un panel", + "content": "Crear un panel para visualizar los datos de las entidades, como activos, dispositivos, etc..
Sigue la documentación para proceder:
", + "how-to-create-dashboard": "Cómo crear un panel" + }, + "step4": { + "title": "Configurar reglas de alarma", + "alarm-rules": "Reglas de alarma", + "content": "Cuando la temperatura alcance 25°C, dispararemos una alarma. Sigue la documentación para proceder:
", + "how-to-configure-alarm-rules": "Cómo configurar reglas de alarma" + }, + "step5": { + "title": "Crear alarma", + "content-before": "Para disparar la alarma, envía una nueva telemetría con un valor de 26°C o superior.
", + "replace-access-token": "Reemplazar $ACCESS_TOKEN con el token de tu dispositivo:", + "content-after": "Sigue la documentación para proceder:
", + "how-to-create-alarm": "Cómo crear una alarma" + }, + "step6": { + "title": "Crear cliente y asignarle un panel", + "content": "Creando un panel para un cliente, permitirá al cliente ver sus propios dispositivos. Los datos de otros clientes estarán ocultos.
Sigue la documentación para proceder:
", + "how-to-create-customer-and-assign-dashboard": "Cómo crear un cliente y asignarle un panel" + } + } } }, "icon": { @@ -4576,6 +5373,14 @@ "row-double-click": "Doble clic en la fila" } }, + "paginator" : { + "items-per-page": "Ítems por página:", + "first-page-label": "Primera página", + "last-page-label": "Última página", + "next-page-label": "Siguiente", + "previous-page-label": "Anterior", + "items-per-page-separator": "de" + }, "language": { "language": "Idioma" } diff --git a/ui-ngx/src/styles.scss b/ui-ngx/src/styles.scss index 39885d1191..296e9b26fe 100644 --- a/ui-ngx/src/styles.scss +++ b/ui-ngx/src/styles.scss @@ -567,6 +567,10 @@ mat-label { } } + .mat-mdc-form-field-icon-prefix, .mat-mdc-form-field-icon-suffix { + z-index: 1; + } + .mat-toolbar.mat-mdc-table-toolbar .mat-mdc-form-field.mat-form-field-appearance-fill, .mat-mdc-form-field.mat-form-field-appearance-fill.tb-appearance-transparent { .mdc-text-field--filled {