Merge branch 'master' into feature/kubernetes
This commit is contained in:
		
						commit
						6584b0bdfd
					
				@ -266,6 +266,10 @@ function DatasourceSubscription(datasourceSubscription, telemetryWebsocketServic
 | 
			
		||||
                        type: types.dataKeyType.timeseries,
 | 
			
		||||
                        onData: function (data) {
 | 
			
		||||
                            if (data.data) {
 | 
			
		||||
                                for (var key in data.data) {
 | 
			
		||||
                                    var keyData = data.data[key];
 | 
			
		||||
                                    data.data[key] = $filter('orderBy')(keyData, '+this[0]');
 | 
			
		||||
                                }
 | 
			
		||||
                                onData(data.data, types.dataKeyType.timeseries, true);
 | 
			
		||||
                            }
 | 
			
		||||
                        },
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,8 @@ import injectTapEventPlugin from 'react-tap-event-plugin';
 | 
			
		||||
import UrlHandler from './url.handler';
 | 
			
		||||
import addLocaleKorean from './locale/locale.constant-ko';
 | 
			
		||||
import addLocaleChinese from './locale/locale.constant-zh';
 | 
			
		||||
import addLocaleRussian from './locale/locale.constant-ru';
 | 
			
		||||
import addLocaleSpanish from './locale/locale.constant-es';
 | 
			
		||||
 | 
			
		||||
/* eslint-disable import/no-unresolved, import/default */
 | 
			
		||||
 | 
			
		||||
@ -52,6 +54,9 @@ export default function AppConfig($provide,
 | 
			
		||||
 | 
			
		||||
    addLocaleKorean(locales);
 | 
			
		||||
    addLocaleChinese(locales);
 | 
			
		||||
    addLocaleRussian(locales);
 | 
			
		||||
    addLocaleSpanish(locales);
 | 
			
		||||
 | 
			
		||||
    var $window = angular.injector(['ng']).get('$window');
 | 
			
		||||
    var lang = $window.navigator.language || $window.navigator.userLanguage;
 | 
			
		||||
    if (lang === 'ko') {
 | 
			
		||||
@ -60,6 +65,9 @@ export default function AppConfig($provide,
 | 
			
		||||
    } else if (lang === 'zh') {
 | 
			
		||||
        $translateProvider.useSanitizeValueStrategy(null);
 | 
			
		||||
        $translateProvider.preferredLanguage('zh_CN');
 | 
			
		||||
    } else if (lang === 'es') {
 | 
			
		||||
        $translateProvider.useSanitizeValueStrategy(null);
 | 
			
		||||
        $translateProvider.preferredLanguage('es_ES');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (var langKey in locales) {
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ export default function AppRun($rootScope, $window, $injector, $location, $log,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    initWatchers();
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    function initWatchers() {
 | 
			
		||||
        $rootScope.unauthenticatedHandle = $rootScope.$on('unauthenticated', function (event, doLogout) {
 | 
			
		||||
            if (doLogout) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										818
									
								
								ui/src/app/locale/locale.constant-es.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										818
									
								
								ui/src/app/locale/locale.constant-es.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,818 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright © 2016-2017 The Thingsboard Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 export default function addLocaleSpanish(locales) {
 | 
			
		||||
    var es_ES = {
 | 
			
		||||
          "access": {
 | 
			
		||||
              "unauthorized": "No autorizado",
 | 
			
		||||
              "unauthorized-access": "Acceso no autorizado",
 | 
			
		||||
              "unauthorized-access-text": "Debes iniciar sesión para tener acceso a este recurso!",
 | 
			
		||||
              "access-forbidden": "Acceso Prohibido",
 | 
			
		||||
              "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.",
 | 
			
		||||
              "refresh-token-expired": "La sesión ha expirado",
 | 
			
		||||
              "refresh-token-failed": "No se puede actualizar la sesión"
 | 
			
		||||
        },
 | 
			
		||||
        "action": {
 | 
			
		||||
              "activate": "Activar", 
 | 
			
		||||
              "suspend": "Suspender",
 | 
			
		||||
              "save": "Guardar",
 | 
			
		||||
              "saveAs": "Guardar como",
 | 
			
		||||
              "cancel": "Cancelar",
 | 
			
		||||
              "ok": "OK",
 | 
			
		||||
              "delete": "Borrar",
 | 
			
		||||
              "add": "Agregar",
 | 
			
		||||
              "yes": "Si",
 | 
			
		||||
              "no": "No",
 | 
			
		||||
              "update": "Actualizar",
 | 
			
		||||
              "remove": "Eliminar",
 | 
			
		||||
              "search": "Buscar",
 | 
			
		||||
              "assign": "Asignar",
 | 
			
		||||
              "unassign": "Cancelar asignación",
 | 
			
		||||
              "share": "Compartir",
 | 
			
		||||
              "make-private": "Hacer privado",
 | 
			
		||||
              "apply": "Aplicar",
 | 
			
		||||
              "apply-changes": "Aplicar cambios",
 | 
			
		||||
              "edit-mode": "Modo Edición",
 | 
			
		||||
              "enter-edit-mode": "Modo Edición",
 | 
			
		||||
              "decline-changes": "Descartar cambios",
 | 
			
		||||
              "close": "Cerrar",
 | 
			
		||||
              "back": "Atrás",
 | 
			
		||||
              "run": "Correr",
 | 
			
		||||
              "sign-in": "Regístrate!",
 | 
			
		||||
              "edit": "Editar",
 | 
			
		||||
              "view": "Ver",
 | 
			
		||||
              "create": "Crear",
 | 
			
		||||
              "drag": "Arrastrar",
 | 
			
		||||
              "refresh": "Refrescar",
 | 
			
		||||
              "undo": "Deshacer",
 | 
			
		||||
              "copy": "Copiar",
 | 
			
		||||
              "paste": "Pegar",
 | 
			
		||||
              "import": "Importar",
 | 
			
		||||
              "export": "Exportar",
 | 
			
		||||
              "share-via": "Compartir vía {{provider}}"
 | 
			
		||||
        },
 | 
			
		||||
        "aggregation": {
 | 
			
		||||
              "aggregation": "Agregación",
 | 
			
		||||
              "function": "Función de Agregación",
 | 
			
		||||
              "limit": "Valores Max",
 | 
			
		||||
              "group-interval": "Intervalo de agrupación",
 | 
			
		||||
              "min": "Min",
 | 
			
		||||
              "max": "Max",
 | 
			
		||||
              "avg": "Promedio",
 | 
			
		||||
              "sum": "Suma",
 | 
			
		||||
              "count": "Cuenta",
 | 
			
		||||
              "none": "Ninguno"
 | 
			
		||||
        },
 | 
			
		||||
        "admin": {
 | 
			
		||||
              "general": "General",
 | 
			
		||||
              "general-settings": "Ajustes General",
 | 
			
		||||
              "outgoing-mail": "Mail de Salida",
 | 
			
		||||
              "outgoing-mail-settings": "Ajustes del Mail de Salida",
 | 
			
		||||
              "system-settings": "Sistema",
 | 
			
		||||
              "test-mail-sent": "Mail de prueba enviado correctamente!",
 | 
			
		||||
              "base-url": "URL Base",
 | 
			
		||||
              "base-url-required": "URL Base requerida.",
 | 
			
		||||
              "mail-from": "Mail Desde",
 | 
			
		||||
              "mail-from-required": "Mail Desde requerido.",
 | 
			
		||||
              "smtp-protocol": "Protocolo SMTP",
 | 
			
		||||
              "smtp-host": "Host SMTP",
 | 
			
		||||
              "smtp-host-required": "Host SMTP requerido.",
 | 
			
		||||
              "smtp-port": "Puerto SMTP",
 | 
			
		||||
              "smtp-port-required": "Debe ingresar un Puerto SMTP.",
 | 
			
		||||
              "smtp-port-invalid": "No parece un Puerto SMTP valido.",
 | 
			
		||||
              "timeout-msec": "Timeout (ms)",
 | 
			
		||||
              "timeout-required": "Timeout requerido.",
 | 
			
		||||
              "timeout-invalid": "No parece un Timeout valido.",
 | 
			
		||||
              "enable-tls": "Habilitar TLS",
 | 
			
		||||
              "send-test-mail": "Enviar mail de prueba"
 | 
			
		||||
        },
 | 
			
		||||
        "attribute": {
 | 
			
		||||
              "attributes": "Atributos",
 | 
			
		||||
              "latest-telemetry": "Última telemetría",
 | 
			
		||||
              "attributes-scope": "Alcance de los atributos del dispositivo",
 | 
			
		||||
              "scope-latest-telemetry": "Última telemetría",
 | 
			
		||||
              "scope-client": "Atributos del Cliente",
 | 
			
		||||
              "scope-server": "Atributos del Servidor",
 | 
			
		||||
              "scope-shared": "Atributos Compartidos",
 | 
			
		||||
              "add": "Agregar atributo",
 | 
			
		||||
              "key": "Clave",
 | 
			
		||||
              "key-required": "Clave del atributo requerida.",
 | 
			
		||||
              "value": "Valor",
 | 
			
		||||
              "value-required": "Valor del atributo requerido.",
 | 
			
		||||
              "delete-attributes-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 atributo} other {# atributos} }?",
 | 
			
		||||
              "delete-attributes-text": "Ten cuidado, luego de confirmar el atributo será eliminado, y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-attributes": "Borrar atributo",
 | 
			
		||||
              "enter-attribute-value": "Ingresar valor del atributo",
 | 
			
		||||
              "show-on-widget": "Mostrar en Widget",
 | 
			
		||||
              "widget-mode": "Widget",
 | 
			
		||||
              "next-widget": "Widget siguiente",
 | 
			
		||||
              "prev-widget": "Widget anterior",
 | 
			
		||||
              "add-to-dashboard": "Agregar al Panel",
 | 
			
		||||
              "add-widget-to-dashboard": "Agregar widget al Panel",
 | 
			
		||||
              "selected-attributes": "{ count, select, 1 {1 atributo} other {# atributos} } seleccionados",
 | 
			
		||||
              "selected-telemetry": "{ count, select, 1 {1 unidad de telemetría } other {# unidades de telemetría} } seleccionadas."
 | 
			
		||||
        },
 | 
			
		||||
        "confirm-on-exit": {
 | 
			
		||||
              "message": "Tienes cambios sin guardar. ¿Estás seguro que quieres abandonar la página?",
 | 
			
		||||
              "html-message": "Tienes cambios sin guardar.<br/>¿Estás seguro que quieres abandonar la página?",
 | 
			
		||||
              "title": "Cambios sin guardar"
 | 
			
		||||
        },
 | 
			
		||||
        "contact": {
 | 
			
		||||
              "country": "País",
 | 
			
		||||
              "city": "Ciudad",
 | 
			
		||||
              "state": "Estado/Provincia",
 | 
			
		||||
              "postal-code": "Código Postal",
 | 
			
		||||
              "postal-code-invalid": "Solo se permiten dígitos.",
 | 
			
		||||
              "address": "Dirección",
 | 
			
		||||
              "address2": "Dirección 2",
 | 
			
		||||
              "phone": "Teléfono",
 | 
			
		||||
              "email": "Email",
 | 
			
		||||
              "no-address": "Sin Dirección"
 | 
			
		||||
        },
 | 
			
		||||
        "common": {
 | 
			
		||||
              "username": "Usuario",
 | 
			
		||||
              "password": "Contraseña",
 | 
			
		||||
              "enter-username": "Ingresa el nombre de usuario.",
 | 
			
		||||
              "enter-password": "Ingresa la contraseña",
 | 
			
		||||
              "enter-search": "Ingresa búsqueda"
 | 
			
		||||
        },
 | 
			
		||||
        "customer": {
 | 
			
		||||
              "customers": "Clientes",
 | 
			
		||||
              "management": "Gestión de Clientes",
 | 
			
		||||
              "dashboard": "Panel del Cliente",
 | 
			
		||||
              "dashboards": "Paneles del Cliente",
 | 
			
		||||
              "devices": "Panel del Cliente",
 | 
			
		||||
              "public-dashboards": "Paneles Públicos",
 | 
			
		||||
              "public-devices": "Dispositivos Públicos",
 | 
			
		||||
              "add": "Agregar cliente",
 | 
			
		||||
              "delete": "Borrar cliente",
 | 
			
		||||
              "manage-customer-users": "Gestionar usuarios del cliente",
 | 
			
		||||
              "manage-customer-devices": "Gestionar dispositivos del cliente",
 | 
			
		||||
              "manage-customer-dashboards": "Gestionar paneles del cliente",
 | 
			
		||||
              "manage-public-devices": "Gestionar dispositivos públicos",
 | 
			
		||||
              "manage-public-dashboards": "Gestionar paneles públicos",
 | 
			
		||||
              "add-customer-text": "Agregar nuevo cliente",
 | 
			
		||||
              "no-customers-text": "No se encontrar clientes",
 | 
			
		||||
              "customer-details": "Detalles del cliente",
 | 
			
		||||
              "delete-customer-title": "¿Estás seguro que quieres eliminar el cliente '{{customerTitle}}'?",
 | 
			
		||||
              "delete-customer-text": "Ten cuidado, luego de confirmar el cliente será eliminado y toda la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-customers-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 cliente} other {# clientes} }?",
 | 
			
		||||
              "delete-customers-action-title": "Borrar { count, select, 1 {1 cliente} other {# clientes} }",
 | 
			
		||||
              "delete-customers-text": "Ten cuidado, luego de confirmar todos los clientes seleccionados serán eliminados y su información relacionada será irrecuperable.",
 | 
			
		||||
              "manage-users": "Gestionar usuarios",
 | 
			
		||||
              "manage-devices": "Gestionar dispositivos",
 | 
			
		||||
              "manage-dashboards": "Gestionar paneles",
 | 
			
		||||
              "title": "Título",
 | 
			
		||||
              "title-required": "Título requerido.",
 | 
			
		||||
              "description": "Descripción"
 | 
			
		||||
        },
 | 
			
		||||
        "datetime": {
 | 
			
		||||
              "date-from": "Fecha desde",
 | 
			
		||||
              "time-from": "Tiempo desde",
 | 
			
		||||
              "date-to": "Fecha hasta",
 | 
			
		||||
              "time-to": "Tiempo hasta"
 | 
			
		||||
        },
 | 
			
		||||
        "dashboard": {
 | 
			
		||||
              "dashboard": "Panel",
 | 
			
		||||
              "dashboards": "Paneles",
 | 
			
		||||
              "management": "Gestión de Paneles",
 | 
			
		||||
              "view-dashboards": "Ver paneles",
 | 
			
		||||
              "add": "Agregar Panel",
 | 
			
		||||
              "assign-dashboard-to-customer": "Asignar panel(es) a cliente",
 | 
			
		||||
              "assign-dashboard-to-customer-text": "Por favor, seleccione algún panel para asignar al Cliente.",
 | 
			
		||||
              "assign-to-customer-text": "Por favor, seleccione algún cliente para asignar al(los) panel(es).",
 | 
			
		||||
              "assign-to-customer": "Asignar a cliente",
 | 
			
		||||
              "unassign-from-customer": "Desasignar del cliente",
 | 
			
		||||
              "make-public": "Hacer panel público",
 | 
			
		||||
              "make-private": "Hacer panel privado",
 | 
			
		||||
              "no-dashboards-text": "Ningún panel encontrado",
 | 
			
		||||
              "no-widgets": "Ningún widget configurado",
 | 
			
		||||
              "add-widget": "Agregar nuevo widget",
 | 
			
		||||
              "title": "Titulo",
 | 
			
		||||
              "select-widget-title": "Seleccionar widget",
 | 
			
		||||
              "select-widget-subtitle": "Lista de tipos de widgets",
 | 
			
		||||
              "delete": "Eliminar panel",
 | 
			
		||||
              "title-required": "Título requerido.",
 | 
			
		||||
              "description": "Descripción",
 | 
			
		||||
              "details": "Detalles",
 | 
			
		||||
              "dashboard-details": "Detalles del panel",
 | 
			
		||||
              "add-dashboard-text": "Agregar nuevo panel",
 | 
			
		||||
              "assign-dashboards": "Asignar paneles",
 | 
			
		||||
              "assign-new-dashboard": "Asignar nuevo panel",
 | 
			
		||||
              "assign-dashboards-text": "Asignar { count, select, 1 {1 panel} other {# paneles} } al cliente",
 | 
			
		||||
              "delete-dashboards": "Eliminar paneles",
 | 
			
		||||
              "unassign-dashboards": "Desasignar paneles",
 | 
			
		||||
              "unassign-dashboards-action-title": "Desasignar { count, select, 1 {1 paneles} other {# paneles} } del cliente",
 | 
			
		||||
              "delete-dashboard-title": "¿Estás seguro que quieres eliminar el panel '{{dashboardTitle}}'?",
 | 
			
		||||
              "delete-dashboard-text": "Ten cuidado, el panel seleccionado será eliminado y la información relacionada sera irrecuperable.",
 | 
			
		||||
              "delete-dashboards-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 panel} other {# paneles} }?",
 | 
			
		||||
              "delete-dashboards-action-title": "Eliminar { count, select, 1 {1 panel} other {# paneles} }",
 | 
			
		||||
              "delete-dashboards-text": "Ten cuidado, los paneles seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "unassign-dashboard-title": "¿Estás seguro que quieres desasignar el panel '{{dashboardTitle}}'?",
 | 
			
		||||
              "unassign-dashboard-text": "Luego de confirmar, el panel será desasignado y no podrá ser accesible por el cliente.",
 | 
			
		||||
              "unassign-dashboard": "Desasignar panel",
 | 
			
		||||
              "unassign-dashboards-title": "¿Estás seguro que quieres desasignar { count, select, 1 {1 panel} other {# paneles} }?",
 | 
			
		||||
              "unassign-dashboards-text": "Luego de confirmar, los paneles seleccionados serán desasignados y no podrán ser accesibles por el cliente.",
 | 
			
		||||
              "public-dashboard-title": "El panel ahora es público",
 | 
			
		||||
              "public-dashboard-text": "Tu panel <b>{{dashboardTitle}}</b> es ahora público y podrá ser accedido desde: <a href='{{publicLink}}' target='_blank'>aquí</a>:",
 | 
			
		||||
              "public-dashboard-notice": "<b>Nota:</b>  No olvides hacer públicos los dispositivos relacionados para acceder a sus datos.",
 | 
			
		||||
              "make-private-dashboard-title": "¿Estás seguro que quieres hacer el panel '{{dashboardTitle}}' privado?",
 | 
			
		||||
              "make-private-dashboard-text": "Luego de confirmar, el panel será privado y no podrá ser accesible por otros.",
 | 
			
		||||
              "make-private-dashboard": "Hacer panel privado",
 | 
			
		||||
              "socialshare-text": "'{{dashboardTitle}}' powered by ThingsBoard",
 | 
			
		||||
              "socialshare-title": "'{{dashboardTitle}}' powered by ThingsBoard",
 | 
			
		||||
              "select-dashboard": "Seleccionar panel",
 | 
			
		||||
              "no-dashboards-matching": "Panel '{{dashboard}}' no encontrado.",
 | 
			
		||||
              "dashboard-required": "Panel requerido.",
 | 
			
		||||
              "select-existing": "Seleccionar paneles existentes",
 | 
			
		||||
              "create-new": "Crear nuevo panel",
 | 
			
		||||
              "new-dashboard-title": "Nuevo título",
 | 
			
		||||
              "open-dashboard": "Abrir panel",
 | 
			
		||||
              "set-background": "Definir fondo",
 | 
			
		||||
              "background-color": "Color de fondo",
 | 
			
		||||
              "background-image": "Imagen de fondo",
 | 
			
		||||
              "background-size-mode": "Modo tamaño de fondo",
 | 
			
		||||
              "no-image": "No se ha seleccionado ningúna imagen",
 | 
			
		||||
              "drop-image": "Suelte una imagen o haga clic para seleccionar un archivo para cargar.",
 | 
			
		||||
              "settings": "Ajustes",
 | 
			
		||||
              "columns-count": "Número de columnas",
 | 
			
		||||
              "columns-count-required": "Número de columnas requerido.",
 | 
			
		||||
              "min-columns-count-message": "Solo se permite un número mínimo de 10 columnas.",
 | 
			
		||||
              "max-columns-count-message": "Solo se permite un número máximo de 1000 columnas.",
 | 
			
		||||
              "widgets-margins": "Margen entre widgets",
 | 
			
		||||
              "horizontal-margin": "Margen horizontal",
 | 
			
		||||
              "horizontal-margin-required": "Margen horizontal requerido.",
 | 
			
		||||
              "min-horizontal-margin-message": "Solo se permite margen horizontal mínimo de 0.",
 | 
			
		||||
              "max-horizontal-margin-message": "Solo se permite margen horizontal máximo de 50.",
 | 
			
		||||
              "vertical-margin": "Margen vertical",
 | 
			
		||||
              "vertical-margin-required": "Margen vertical requerido.",
 | 
			
		||||
              "min-vertical-margin-message": "Solo se permite margen vertical mínimo de 0.",
 | 
			
		||||
              "max-vertical-margin-message": "Solo se permite margen vertical máximo de 50.",
 | 
			
		||||
              "display-title": "Mostrar título del panel",
 | 
			
		||||
              "title-color": "Color del título",
 | 
			
		||||
              "display-device-selection": "Mostrar selección de dispositivo",
 | 
			
		||||
              "display-dashboard-timewindow": "Mostrar ventana de tiempo",
 | 
			
		||||
              "display-dashboard-export": "Mostrar exportar",
 | 
			
		||||
              "import": "Importar panel",
 | 
			
		||||
              "export": "Exportar panel",
 | 
			
		||||
              "export-failed-error": "Imposible exportar panel: {{error}}",
 | 
			
		||||
              "create-new-dashboard": "Crear nuevo panel",
 | 
			
		||||
              "dashboard-file": "Archivo del panel",
 | 
			
		||||
              "invalid-dashboard-file-error": "Imposible importar panel: Estructura de datos inválida.",
 | 
			
		||||
              "dashboard-import-missing-aliases-title": "Configurar alias utilizados por el panel importado",
 | 
			
		||||
              "create-new-widget": "Crear nuevo widget",
 | 
			
		||||
              "import-widget": "Importar widget",
 | 
			
		||||
              "widget-file": "Archivo de widget",
 | 
			
		||||
              "invalid-widget-file-error": "Imposible importar widget: Estructura de datos inválida.",
 | 
			
		||||
              "widget-import-missing-aliases-title": "Configurar alias utilizados por el widget",
 | 
			
		||||
              "open-toolbar": "Abrir toolbar del panel",
 | 
			
		||||
              "close-toolbar": "Cerrar toolbar",
 | 
			
		||||
              "configuration-error": "Error de configuración",
 | 
			
		||||
              "alias-resolution-error-title": "Error de configuración de alias del panel",
 | 
			
		||||
              "invalid-aliases-config": "No se puede encontrar ningún dispositivo que coincida con algunos de los alias de filtro.<br/>" +
 | 
			
		||||
              "Póngase en contacto con su administrador para resolver este problema.",
 | 
			
		||||
              "select-devices": "Seleccionar dispositivos",
 | 
			
		||||
              "assignedToCustomer": "Asignado al cliente",
 | 
			
		||||
              "public": "Público",
 | 
			
		||||
              "public-link": "Link público",
 | 
			
		||||
              "copy-public-link": "Copiar link público",
 | 
			
		||||
              "public-link-copied-message": "El link público del panel se ha copiado al portapapeles"
 | 
			
		||||
        },
 | 
			
		||||
        "datakey": {
 | 
			
		||||
              "settings": "Ajustes",
 | 
			
		||||
              "advanced": "Avanzado",
 | 
			
		||||
              "label": "Etiqueta",
 | 
			
		||||
              "color": "Color",
 | 
			
		||||
              "data-generation-func": "Función de generación de datos",
 | 
			
		||||
              "use-data-post-processing-func": "Usar funcíon de post-procesamiendo de datos",
 | 
			
		||||
              "configuration": "Ajustes de clave de datos",
 | 
			
		||||
              "timeseries": "Serie de tiempos",
 | 
			
		||||
              "attributes": "Atributos",
 | 
			
		||||
              "timeseries-required": "Series de tiempo del dispositivo requerido.",
 | 
			
		||||
              "timeseries-or-attributes-required": "Series de tiempo/Atributos requeridos.",
 | 
			
		||||
              "function-types": "Tipos de funciones",
 | 
			
		||||
              "function-types-required": "Tipos de funciones requerido."
 | 
			
		||||
        },
 | 
			
		||||
        "datasource": {
 | 
			
		||||
              "type": "Típo de fuente de datos",
 | 
			
		||||
              "add-datasource-prompt": "Por favor, agrega una fuente de datos"
 | 
			
		||||
        },
 | 
			
		||||
        "details": {
 | 
			
		||||
              "edit-mode": "Modo Edición",
 | 
			
		||||
              "toggle-edit-mode": "Ir a Modo Edición"
 | 
			
		||||
        },
 | 
			
		||||
        "device": {
 | 
			
		||||
              "device": "Dispositivo",
 | 
			
		||||
              "device-required": "Dispositivo requerido.",
 | 
			
		||||
              "devices": "Dispositivos",
 | 
			
		||||
              "management": "Gestión de Dispositivos",
 | 
			
		||||
              "view-devices": "Ver dispositivos",
 | 
			
		||||
              "device-alias": "Alias de dispositivo",
 | 
			
		||||
              "aliases": "Alias de dispositivos",
 | 
			
		||||
              "no-alias-matching": "'{{alias}}' no encontrado.",
 | 
			
		||||
              "no-aliases-found": "Ningún alias encontrado.",
 | 
			
		||||
              "no-key-matching": "'{{key}}' no encontrado.",
 | 
			
		||||
              "no-keys-found": "Ninguna clave encontrada.",
 | 
			
		||||
              "create-new-alias": "Crear nuevo alias!",
 | 
			
		||||
              "create-new-key": "Crear nueva clave!",
 | 
			
		||||
              "duplicate-alias-error": "Alias duplicado '{{alias}}'.<br> El alias de los dispositivos deben ser únicos dentro del panel.",
 | 
			
		||||
              "configure-alias": "Configurar alias '{{alias}}'",
 | 
			
		||||
              "no-devices-matching": "No se encontró dispositivo '{{device}}'",
 | 
			
		||||
              "alias": "Alias",
 | 
			
		||||
              "alias-required": "Alias de dispositivo requerido.",
 | 
			
		||||
              "remove-alias": "Eliminar alias",
 | 
			
		||||
              "add-alias": "Agregar alias",
 | 
			
		||||
              "name-starts-with": "Nombre empieza con",
 | 
			
		||||
              "device-list": "Lista de dispositivos",
 | 
			
		||||
              "use-device-name-filter": "Usar filtro",
 | 
			
		||||
              "device-list-empty": "Ningún dispositivo seleccionado.",
 | 
			
		||||
              "device-name-filter-required": "Nombre de filtro requerido.",
 | 
			
		||||
              "device-name-filter-no-device-matched": "Ningún dispositivo encontrado que comience con '{{device}}'.",
 | 
			
		||||
              "add": "Agregar dispositivo",
 | 
			
		||||
              "assign-to-customer": "Asignar a cliente",
 | 
			
		||||
              "assign-device-to-customer": "Asignar dispositivo(s) a Cliente",
 | 
			
		||||
              "assign-device-to-customer-text": "Por favor, seleccione los dispositivos que serán asignados al cliente",
 | 
			
		||||
              "make-public": "Hacer dispositivo público",
 | 
			
		||||
              "make-private": "Hacer dispositivo privado",
 | 
			
		||||
              "no-devices-text": "Ningún dispositivo encontrado",
 | 
			
		||||
              "assign-to-customer-text": "Por favor, seleccione el cliente para asignar el(los) dispositivo(s)",
 | 
			
		||||
              "device-details": "Detalles del dispositivo",
 | 
			
		||||
              "add-device-text": "Agregar nuevo dispositivo",
 | 
			
		||||
              "credentials": "Credenciales",
 | 
			
		||||
              "manage-credentials": "Gestionar credenciales",
 | 
			
		||||
              "delete": "Eliminar dispositivo",
 | 
			
		||||
              "assign-devices": "Asignar dispositivo",
 | 
			
		||||
              "assign-devices-text": "Asignar { count, select, 1 {1 dispositivo} other {# dispositivos} } al cliente",
 | 
			
		||||
              "delete-devices": "Eliminar dispositivo",
 | 
			
		||||
              "unassign-from-customer": "Desasignar del cliente",
 | 
			
		||||
              "unassign-devices": "Desasignar dispositivos",
 | 
			
		||||
              "unassign-devices-action-title": "Desasignar { count, select, 1 {1 dispositivo} other {# dispositivos} } del cliente",
 | 
			
		||||
              "assign-new-device": "Asignar nuevo dispositivo",
 | 
			
		||||
              "make-public-device-title": "¿Estás seguro que quieres hacer el dispositivo '{{deviceName}}' público?",
 | 
			
		||||
              "make-public-device-text": "Luego de confirmar, el dispositivo y la información relacionada serán públicos y podrá ser accesible por otros.",
 | 
			
		||||
              "make-private-device-title": "¿Estás seguro que quieres hacer el dispositivo '{{deviceName}}' privado?",
 | 
			
		||||
              "make-private-device-text": "Luego de confirmar, el dispositivo y la información relacionada serán privados y no podrá ser accesible por otros.",
 | 
			
		||||
              "view-credentials": "Ver credenciales",
 | 
			
		||||
              "delete-device-title": "¿Estás seguro que quieres eliminar el dispositivo '{{deviceName}}'?",
 | 
			
		||||
              "delete-device-text": "Ten cuidado, luego de confirmar los dispositivos serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-devices-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 dispositivo} other {# dispositivos} }?",
 | 
			
		||||
              "delete-devices-action-title": "Eliminar { count, select, 1 {1 dispositivo} other {# dispositivos} }",
 | 
			
		||||
              "delete-devices-text": "Ten cuidado, luego de confirmar los dispositivos seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "unassign-device-title": "¿Estás seguro que quieres desasignar el dispositivo '{{deviceName}}'?",
 | 
			
		||||
              "unassign-device-text": "Luego de confirmar el dispositivo será desasignado y no podrá ser accesible por el cliente.",
 | 
			
		||||
              "unassign-device": "Desasignar dispositivo",
 | 
			
		||||
              "unassign-devices-title": "¿Estás seguro que quieres desasignar { count, select, 1 {1 dispositivo} other {# dispositivos} }?",
 | 
			
		||||
              "unassign-devices-text": "Luego de confirmar los dispositivos seleccionados serán desasignados y no podrán ser accedidos por el cliente.",
 | 
			
		||||
              "device-credentials": "Credenciales del dispositivo",
 | 
			
		||||
              "credentials-type": "Tipo de credencial",
 | 
			
		||||
              "access-token": "Access token",
 | 
			
		||||
              "access-token-required": "Access token requerido.",
 | 
			
		||||
              "access-token-invalid": "Access token debe tener entre 1 a 20 caracteres.",
 | 
			
		||||
              "rsa-key": "Clave pública RSA",
 | 
			
		||||
              "rsa-key-required": "Clave pública RSA requerida.",
 | 
			
		||||
              "secret": "Secreta",
 | 
			
		||||
              "secret-required": "Secreta requerida.",
 | 
			
		||||
              "name": "Nombre",
 | 
			
		||||
              "name-required": "Nombre requerido.",
 | 
			
		||||
              "description": "Descripción",
 | 
			
		||||
              "events": "Eventos",
 | 
			
		||||
              "details": "Detalles",
 | 
			
		||||
              "copyId": "Copiar ID",
 | 
			
		||||
              "copyAccessToken": "Copiar access token",
 | 
			
		||||
              "idCopiedMessage": "Id del dispositivo copiado al portapapeles",
 | 
			
		||||
              "accessTokenCopiedMessage": "Access token del dispositivo copiado al portapapeles",
 | 
			
		||||
              "assignedToCustomer": "Asignado al cliente",
 | 
			
		||||
              "unable-delete-device-alias-title": "Imposible eliminar alias del dispositivo",
 | 
			
		||||
              "unable-delete-device-alias-text": "Alias '{{deviceAlias}}' no puede ser eliminado. Esta siendo usado por el(los) widget(s):<br/>{{widgetsList}}",
 | 
			
		||||
              "is-gateway": "Es gateway",
 | 
			
		||||
              "public": "Público",
 | 
			
		||||
              "device-public": "Dispositivo público"
 | 
			
		||||
        },
 | 
			
		||||
        "dialog": {
 | 
			
		||||
              "close": "Cerrar cuadro de diálogo"
 | 
			
		||||
        },
 | 
			
		||||
        "error": {
 | 
			
		||||
              "unable-to-connect": "Imposible conectar con el servidor! Por favor, revise su conexión a internet.",
 | 
			
		||||
              "unhandled-error-code": "Código de error no manejado: {{errorCode}}",
 | 
			
		||||
              "unknown-error": "Error desconocido"
 | 
			
		||||
        },
 | 
			
		||||
        "event": {
 | 
			
		||||
              "event-type": "Tipo de evento",
 | 
			
		||||
              "type-alarm": "Alarma",
 | 
			
		||||
              "type-error": "Error",
 | 
			
		||||
              "type-lc-event": "Ciclo de vida",
 | 
			
		||||
              "type-stats": "Estadísticas",
 | 
			
		||||
              "no-events-prompt": "Ningún evento encontrado.",
 | 
			
		||||
              "error": "Error",
 | 
			
		||||
              "alarm": "Alarma",
 | 
			
		||||
              "event-time": "Hora del evento",
 | 
			
		||||
              "server": "Servidor",
 | 
			
		||||
              "body": "Cuerpo",
 | 
			
		||||
              "method": "Método",
 | 
			
		||||
              "event": "Evento",
 | 
			
		||||
              "status": "Status",
 | 
			
		||||
              "success": "Éxito",
 | 
			
		||||
              "failed": "Fallo",
 | 
			
		||||
              "messages-processed": "Mensajes procesados",
 | 
			
		||||
              "errors-occurred": "Ocurrieron errores"
 | 
			
		||||
        },
 | 
			
		||||
        "fullscreen": {
 | 
			
		||||
              "expand": "Expandir a Pantalla Completa",
 | 
			
		||||
              "exit": "Salir de Pantalla Completa",
 | 
			
		||||
              "toggle": "Cambiar el modo de Pantalla Completa",
 | 
			
		||||
              "fullscreen": "Pantalla Completa"
 | 
			
		||||
        },
 | 
			
		||||
        "function": {
 | 
			
		||||
              "function": "Función"
 | 
			
		||||
        },
 | 
			
		||||
        "grid": {
 | 
			
		||||
              "delete-item-title": "¿Estás seguro que quieres eliminar este item?",
 | 
			
		||||
              "delete-item-text": "Ten cuidado, luego de confirmar el item será eliminado y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-items-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 item} other {# items} }?",
 | 
			
		||||
              "delete-items-action-title": "Eliminar { count, select, 1 {1 item} other {# items} }",
 | 
			
		||||
              "delete-items-text": "Ten cuidado, luego de confirmar los items seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "add-item-text": "Agregar nuevo item",
 | 
			
		||||
              "no-items-text": "Ningún item encontrado",
 | 
			
		||||
              "item-details": "Detalles del item",
 | 
			
		||||
              "delete-item": "Borrar Item",
 | 
			
		||||
              "delete-items": "Borrar Items",
 | 
			
		||||
              "scroll-to-top": "Ir hacia arriba"
 | 
			
		||||
        },
 | 
			
		||||
        "help": {
 | 
			
		||||
              "goto-help-page": "Ir a Página de Ayuda"
 | 
			
		||||
        },
 | 
			
		||||
        "home": {
 | 
			
		||||
              "home": "Principal",
 | 
			
		||||
              "profile": "Perfil",
 | 
			
		||||
              "logout": "Salir",
 | 
			
		||||
              "menu": "Menu",
 | 
			
		||||
              "avatar": "Avatar",
 | 
			
		||||
              "open-user-menu": "Abrir menú de usuario"
 | 
			
		||||
        },
 | 
			
		||||
        "import": {
 | 
			
		||||
              "no-file": "Ningún archivo seleccionado",
 | 
			
		||||
              "drop-file": "Arrastra un archivo JSON o clickea para seleccionar uno."
 | 
			
		||||
        },
 | 
			
		||||
        "item": {
 | 
			
		||||
              "selected": "Seleccionado"
 | 
			
		||||
        },
 | 
			
		||||
        "js-func": {
 | 
			
		||||
              "no-return-error": "La función debe retornar un valor!",
 | 
			
		||||
              "return-type-mismatch": "La función debe retornar un valor de tipo: '{{type}}'!"
 | 
			
		||||
        },
 | 
			
		||||
        "legend": {
 | 
			
		||||
              "position": "Posición de leyenda",
 | 
			
		||||
              "show-max": "Mostrar máximo",
 | 
			
		||||
              "show-min": "Mostrar mínimo",
 | 
			
		||||
              "show-avg": "Mostrar promedio",
 | 
			
		||||
              "show-total": "Mostrar total",
 | 
			
		||||
              "settings": "Ajustes de leyenda.",
 | 
			
		||||
              "min": "min",
 | 
			
		||||
              "max": "max",
 | 
			
		||||
              "avg": "prom",
 | 
			
		||||
              "total": "total"
 | 
			
		||||
        },
 | 
			
		||||
        "login": {
 | 
			
		||||
              "login": "Ingresar",
 | 
			
		||||
              "request-password-reset": "Pedir restablecer contraseña",
 | 
			
		||||
              "reset-password": "Restablecer contraseña",
 | 
			
		||||
              "create-password": "Crear contraseña",
 | 
			
		||||
              "passwords-mismatch-error": "Las contraseñas deben ser las mismas!",
 | 
			
		||||
              "password-again": "Reingresa la contraseña",
 | 
			
		||||
              "sign-in": "Iniciar sesión",
 | 
			
		||||
              "username": "Usuario (email)",
 | 
			
		||||
              "remember-me": "Recordar",
 | 
			
		||||
              "forgot-password": "¿Olvidaste tu contraseña?",
 | 
			
		||||
              "password-reset": "Restablecer Contraseña",
 | 
			
		||||
              "new-password": "Nueva contraseña",
 | 
			
		||||
              "new-password-again": "Repita la nueva contraseña",
 | 
			
		||||
              "password-link-sent-message": "Se ha enviado el enlace de restablecimiento de contraseña con éxito!",
 | 
			
		||||
              "email": "Email"
 | 
			
		||||
        },
 | 
			
		||||
        "plugin": {
 | 
			
		||||
              "plugins": "Plugins",
 | 
			
		||||
              "delete": "Eliminar plugin",
 | 
			
		||||
              "activate": "Activar plugin",
 | 
			
		||||
              "suspend": "Suspender plugin",
 | 
			
		||||
              "active": "Activo",
 | 
			
		||||
              "suspended": "Suspendido",
 | 
			
		||||
              "name": "Nombre",
 | 
			
		||||
              "name-required": "Nombre requerido.",
 | 
			
		||||
              "description": "Descripción",
 | 
			
		||||
              "add": "Agregar Plugin",
 | 
			
		||||
              "delete-plugin-title": "¿Estás seguro que quieres eliminar el plugin '{{pluginName}}'?",
 | 
			
		||||
              "delete-plugin-text": "Ten cuidado, luego de confirmar el plugin será eliminado y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-plugins-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 plugin} other {# plugins} }?",
 | 
			
		||||
              "delete-plugins-action-title": "Eliminar { count, select, 1 {1 plugin} other {# plugins} }",
 | 
			
		||||
              "delete-plugins-text": "Ten cuidado, luego de confirmar todos los plugins seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "add-plugin-text": "Agregar nuevo plugin",
 | 
			
		||||
              "no-plugins-text": "Ningún plugin encontrado",
 | 
			
		||||
              "plugin-details": "Detalles",
 | 
			
		||||
              "api-token": "API token",
 | 
			
		||||
              "api-token-required": "API token requerido.",
 | 
			
		||||
              "type": "Tipo del plugin",
 | 
			
		||||
              "type-required": "Tipo requerido.",
 | 
			
		||||
              "configuration": "Ajustes del plugin",
 | 
			
		||||
              "system": "Sistema",
 | 
			
		||||
              "select-plugin": "plugin",
 | 
			
		||||
              "plugin": "Plugin",
 | 
			
		||||
              "no-plugins-matching": "No se encontraron plugins: '{{plugin}}'",
 | 
			
		||||
              "plugin-required": "Plugin requerido.",
 | 
			
		||||
              "plugin-require-match": "Por favor, elija un plugin existente.",
 | 
			
		||||
              "events": "Eventos",
 | 
			
		||||
              "details": "Detalles",
 | 
			
		||||
              "import": "Importar plugin",
 | 
			
		||||
              "export": "Exportar plugin",
 | 
			
		||||
              "export-failed-error": "Imposible exportar plugin: {{error}}",
 | 
			
		||||
              "create-new-plugin": "Crear nuevo plugin",
 | 
			
		||||
              "plugin-file": "Archivo",
 | 
			
		||||
              "invalid-plugin-file-error": "Imposible de importar plugin: Estructura de datos inválida."
 | 
			
		||||
        },
 | 
			
		||||
        "position": {
 | 
			
		||||
              "top": "Arriba",
 | 
			
		||||
              "bottom": "Abajo",
 | 
			
		||||
              "left": "Izquierda",
 | 
			
		||||
              "right": "Derecha"
 | 
			
		||||
        },
 | 
			
		||||
        "profile": {
 | 
			
		||||
              "profile": "Perfil",
 | 
			
		||||
              "change-password": "Cambiar contraseña",
 | 
			
		||||
              "current-password": "Contraseña actual"
 | 
			
		||||
        },
 | 
			
		||||
        "rule": {
 | 
			
		||||
              "rules": "Reglas",
 | 
			
		||||
              "delete": "Eliminar regla",
 | 
			
		||||
              "activate": "Activar regla",
 | 
			
		||||
              "suspend": "Suspender regla",
 | 
			
		||||
              "active": "Activada",
 | 
			
		||||
              "suspended": "Suspendida",
 | 
			
		||||
              "name": "Nombre",
 | 
			
		||||
              "name-required": "Nombre requerido.",
 | 
			
		||||
              "description": "Descripción",
 | 
			
		||||
              "add": "Agregar Regla",
 | 
			
		||||
              "delete-rule-title": "¿Estás seguro que quieres eliminar la regla '{{ruleName}}'?",
 | 
			
		||||
              "delete-rule-text": "Ten cuidado, luego de confirmar la regla será eliminada y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-rules-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 regla} other {# reglas} }?",
 | 
			
		||||
              "delete-rules-action-title": "Eliminar { count, select, 1 {1 regla} other {# reglas} }",
 | 
			
		||||
              "delete-rules-text": "Ten cuidado, luego de confirmar todas las reglas seleccionadas serán borradas y la información relacionada será irrecuperable.",
 | 
			
		||||
              "add-rule-text": "Agregar nueva regla",
 | 
			
		||||
              "no-rules-text": "Ninguna regla encontrada",
 | 
			
		||||
              "rule-details": "Detalles",
 | 
			
		||||
              "filters": "Filtros",
 | 
			
		||||
              "filter": "Filtro",
 | 
			
		||||
              "add-filter-prompt": "Por favor, ingresa un filtro",
 | 
			
		||||
              "remove-filter": "Eliminar filtro",
 | 
			
		||||
              "add-filter": "Agregar filtro",
 | 
			
		||||
              "filter-name": "Nombre",
 | 
			
		||||
              "filter-type": "Tipo",
 | 
			
		||||
              "edit-filter": "Editar filtro",
 | 
			
		||||
              "view-filter": "Ver filtro",
 | 
			
		||||
              "component-name": "Nombre",
 | 
			
		||||
              "component-name-required": "Nombre requerido.",
 | 
			
		||||
              "component-type": "Tipo",
 | 
			
		||||
              "component-type-required": "Tipo requerido.",
 | 
			
		||||
              "processor": "Procesador",
 | 
			
		||||
              "no-processor-configured": "Ningún procesador encontrado",
 | 
			
		||||
              "create-processor": "Crear procesador",
 | 
			
		||||
              "processor-name": "Nombre",
 | 
			
		||||
              "processor-type": "Tipo",
 | 
			
		||||
              "plugin-action": "Acción del Plugin",
 | 
			
		||||
              "action-name": "Nombre",
 | 
			
		||||
              "action-type": "Tipo",
 | 
			
		||||
              "create-action-prompt": "Por favor, crea una acción.",
 | 
			
		||||
              "create-action": "Crear acción",
 | 
			
		||||
              "details": "Detalles",
 | 
			
		||||
              "events": "Eventos",
 | 
			
		||||
              "system": "Sistema",
 | 
			
		||||
              "import": "Importar regla",
 | 
			
		||||
              "export": "Exportar regla",
 | 
			
		||||
              "export-failed-error": "Imposible de exportar regla: {{error}}",
 | 
			
		||||
              "create-new-rule": "Crear nueva regla",
 | 
			
		||||
              "rule-file": "Archivo",
 | 
			
		||||
              "invalid-rule-file-error": "Imposible de importar regla: Estructura de datos inválida."
 | 
			
		||||
        },
 | 
			
		||||
        "rule-plugin": {
 | 
			
		||||
              "management": "Gestión de Reglas y Plugins"
 | 
			
		||||
        },
 | 
			
		||||
        "tenant": {
 | 
			
		||||
              "tenants": "Tenants",
 | 
			
		||||
              "management": "Gestión de Tenant",
 | 
			
		||||
              "add": "Agregar Tenant",
 | 
			
		||||
              "admins": "Admins",
 | 
			
		||||
              "manage-tenant-admins": "Gestionar administradores tenant",
 | 
			
		||||
              "delete": "Eliminar tenant",
 | 
			
		||||
              "add-tenant-text": "Agregar nuevo tenant",
 | 
			
		||||
              "no-tenants-text": "Ningún tenant encontrado",
 | 
			
		||||
              "tenant-details": "Detalles del Tenant",
 | 
			
		||||
              "delete-tenant-title": "¿Estás seguro que quieres eliminar el tenant '{{tenantTitle}}'?",
 | 
			
		||||
              "delete-tenant-text": "Ten cuidado, luego de confirmar el tenant será eliminado y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-tenants-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 tenant} other {# tenants} }?",
 | 
			
		||||
              "delete-tenants-action-title": "Eliminar { count, select, 1 {1 tenant} other {# tenants} }",
 | 
			
		||||
              "delete-tenants-text": "Ten cuidado, luego de confirmar los tenants seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "title": "Título",
 | 
			
		||||
              "title-required": "Título requerido.",
 | 
			
		||||
              "description": "Descripción"
 | 
			
		||||
        },
 | 
			
		||||
        "timeinterval": {
 | 
			
		||||
              "seconds-interval": "{ seconds, select, 1 {1 segundo} other {# segundos} }",
 | 
			
		||||
              "minutes-interval": "{ minutes, select, 1 {1 minuto} other {# minutos} }",
 | 
			
		||||
              "hours-interval": "{ hours, select, 1 {1 hora} other {# horas} }",
 | 
			
		||||
              "days-interval": "{ days, select, 1 {1 día} other {# días} }",
 | 
			
		||||
              "days": "Días",
 | 
			
		||||
              "hours": "Horas",
 | 
			
		||||
              "minutes": "Minutos",
 | 
			
		||||
              "seconds": "Segundos",
 | 
			
		||||
              "advanced": "Avanzado"
 | 
			
		||||
        },
 | 
			
		||||
        "timewindow": {
 | 
			
		||||
              "days": "{ days, select, 1 { día } other {# días } }",
 | 
			
		||||
              "hours": "{ hours, select, 0 { horas } 1 {1 hora } other {# horas } }",
 | 
			
		||||
              "minutes": "{ minutes, select, 0 { minutos } 1 {1 minuto } other {# minutos } }",
 | 
			
		||||
              "seconds": "{ seconds, select, 0 { segundos } 1 {1 segundo } other {# segundos } }",
 | 
			
		||||
              "realtime": "Tiempo-real",
 | 
			
		||||
              "history": "Histórico",
 | 
			
		||||
              "last-prefix": "último",
 | 
			
		||||
              "period": "desde {{ startTime }} hasta {{ endTime }}",
 | 
			
		||||
              "edit": "Editar ventana de tiempo",
 | 
			
		||||
              "date-range": "Rango de fechas",
 | 
			
		||||
              "last": "Últimos",
 | 
			
		||||
              "time-period": "Período de tiempo"
 | 
			
		||||
        },
 | 
			
		||||
        "user": {
 | 
			
		||||
              "users": "Usuarios",
 | 
			
		||||
              "customer-users": "Usuarios del Cliente",
 | 
			
		||||
              "tenant-admins": "Tenant Admins",
 | 
			
		||||
              "sys-admin": "Administrador del Sistema",
 | 
			
		||||
              "tenant-admin": "Administrador Tenant",
 | 
			
		||||
              "customer": "Cliente",
 | 
			
		||||
              "anonymous": "Anónimo",
 | 
			
		||||
              "add": "Agregar usuario",
 | 
			
		||||
              "delete": "Eliminar usuario",
 | 
			
		||||
              "add-user-text": "Agregar nuevo usuario",
 | 
			
		||||
              "no-users-text": "Ningún usuario encontrado",
 | 
			
		||||
              "user-details": "Detalles del usuario",
 | 
			
		||||
              "delete-user-title": "¿Estás seguro que quieres eliminar el usuario '{{userEmail}}'?",
 | 
			
		||||
              "delete-user-text": "Ten cuidado, luego de confirmar el usuario seleccionado será eliminado y la información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-users-title": "¿Estás seguro que quieres eliminar { count, select, 1 {1 usuario} other {# usuarios} }?",
 | 
			
		||||
              "delete-users-action-title": "Borrar { count, select, 1 {1 usuario} other {# usuarios} }",
 | 
			
		||||
              "delete-users-text": "Ten cuidado, luego de confirmar los usuarios seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "activation-email-sent-message": "Mail de activación enviado con éxito!",
 | 
			
		||||
              "resend-activation": "Reenviar activación",
 | 
			
		||||
              "email": "Email",
 | 
			
		||||
              "email-required": "Email requerido.",
 | 
			
		||||
              "first-name": "Nombre",
 | 
			
		||||
              "last-name": "Apellido",
 | 
			
		||||
              "description": "Descripción",
 | 
			
		||||
              "default-dashboard": "Panel por defecto",
 | 
			
		||||
              "always-fullscreen": "Siempre en pantalla completa"
 | 
			
		||||
        },
 | 
			
		||||
        "value": {
 | 
			
		||||
              "type": "Tipo de valor",
 | 
			
		||||
              "string": "Cadena de texto",
 | 
			
		||||
              "string-value": "Valor de cadena de texto",
 | 
			
		||||
              "integer": "Nro entero",
 | 
			
		||||
              "integer-value": "Valor de nro entero",
 | 
			
		||||
              "invalid-integer-value": "Valor inválido",
 | 
			
		||||
              "double": "Nro decimal",
 | 
			
		||||
              "double-value": "Valor nro decimal",
 | 
			
		||||
              "boolean": "Booleano",
 | 
			
		||||
              "boolean-value": "Valor booleano",
 | 
			
		||||
              "false": "Falso",
 | 
			
		||||
              "true": "Verdadero"
 | 
			
		||||
        },
 | 
			
		||||
        "widget": {
 | 
			
		||||
              "widget-library": "Bibloteca de Widgets",
 | 
			
		||||
              "widget-bundle": "Paquetes de Widgets",
 | 
			
		||||
              "select-widgets-bundle": "Seleccionar paquete de widgets",
 | 
			
		||||
              "management": "Gestión de Widgets",
 | 
			
		||||
              "editor": "Editor de widgets",
 | 
			
		||||
              "widget-type-not-found": "Problema al cargar la configuración del widget.<br>Probablemente asociado\n    El tipo de widget fue eliminado.",
 | 
			
		||||
              "widget-type-load-error": "Widget no pudo ser cargado debido a estos errores:",
 | 
			
		||||
              "remove": "Eliminar widget",
 | 
			
		||||
              "edit": "Editar widget",
 | 
			
		||||
              "remove-widget-title": "¿Estás seguro que quieres eliminar el widget '{{widgetTitle}}'?",
 | 
			
		||||
              "remove-widget-text": "Luego de confirmar el widget será eliminado y toda la información relacionada será irrecuperable..",
 | 
			
		||||
              "timeseries": "Series de tiempo",
 | 
			
		||||
              "latest-values": "Últimos valores",
 | 
			
		||||
              "rpc": "Widget de control",
 | 
			
		||||
              "static": "Widget estático",
 | 
			
		||||
              "select-widget-type": "Seleccionar tipo de widget",
 | 
			
		||||
              "missing-widget-title-error": "El titulo del widget debe ser especificado!",
 | 
			
		||||
              "widget-saved": "Widget guardado",
 | 
			
		||||
              "unable-to-save-widget-error": "Imposible guardar widget! Tiene errores!",
 | 
			
		||||
              "save": "Guardar widget",
 | 
			
		||||
              "saveAs": "Guardar widget como",
 | 
			
		||||
              "save-widget-type-as": "Guardar tipo de widget como",
 | 
			
		||||
              "save-widget-type-as-text": "Por favor, ingrese un nuevo titulo y/o seleccione un paquete de destino.",
 | 
			
		||||
              "toggle-fullscreen": "Cambiar a pantalla completa",
 | 
			
		||||
              "run": "Correr widget",
 | 
			
		||||
              "title": "Titulo",
 | 
			
		||||
              "title-required": "Titulo requerido.",
 | 
			
		||||
              "type": "Tipo",
 | 
			
		||||
              "resources": "Recursos",
 | 
			
		||||
              "resource-url": "JavaScript/CSS URL",
 | 
			
		||||
              "remove-resource": "Eliminar recurso",
 | 
			
		||||
              "add-resource": "Agregar recurso",
 | 
			
		||||
              "html": "HTML",
 | 
			
		||||
              "tidy": "Tidy",
 | 
			
		||||
              "css": "CSS",
 | 
			
		||||
              "settings-schema": "Esquema de configuración",
 | 
			
		||||
              "datakey-settings-schema": "Esquema de configuración de clave de datos",
 | 
			
		||||
              "javascript": "Javascript",
 | 
			
		||||
              "remove-widget-type-title": "¿Estás seguro que quieres eliminar el tipo del widget '{{widgetName}}'?",
 | 
			
		||||
              "remove-widget-type-text": "Luego de confirmar el tipo será eliminado y la información relacionada será irrecuperable.",
 | 
			
		||||
              "remove-widget-type": "Eliminar tipo de widget.",
 | 
			
		||||
              "add-widget-type": "Agregar nuevo tipo de widget",
 | 
			
		||||
              "widget-type-load-failed-error": "Error al cargar el tipo de widget!",
 | 
			
		||||
              "widget-template-load-failed-error": "Error al cargar el template del widget!",
 | 
			
		||||
              "add": "Agregar Widget",
 | 
			
		||||
              "undo": "Deshacer cambios",
 | 
			
		||||
              "export": "Exportar widget"
 | 
			
		||||
        },
 | 
			
		||||
        "widgets-bundle": {
 | 
			
		||||
              "current": "Paquete actual",
 | 
			
		||||
              "widgets-bundles": "Paquete de Widgets",
 | 
			
		||||
              "add": "Agregar paquete de widgets",
 | 
			
		||||
              "delete": "Eliminar paquete de widgets",
 | 
			
		||||
              "title": "Título",
 | 
			
		||||
              "title-required": "Título requerido.",
 | 
			
		||||
              "add-widgets-bundle-text": "Agregar nuevo paquete de widgets",
 | 
			
		||||
              "no-widgets-bundles-text": "Ningún paquete de widgets encontrado",
 | 
			
		||||
              "empty": "Paquete de widgets vacío.",
 | 
			
		||||
              "details": "Detalles",
 | 
			
		||||
              "widgets-bundle-details": "Detalles del paquete de Widgets",
 | 
			
		||||
              "delete-widgets-bundle-title": "¿Estás seguro que  desea eliminar el paquete de widgets '{{widgetsBundleTitle}}'?",
 | 
			
		||||
              "delete-widgets-bundle-text": "Ten cuidado, luego de confirmar todos los paquetes seleccionados serán eliminados y su información relacionada será irrecuperable.",
 | 
			
		||||
              "delete-widgets-bundles-title": "¿Estás seguro que deseas eliminar { count, select, 1 {1 paquete de widgets} other {# paquetes de widgets} }?",
 | 
			
		||||
              "delete-widgets-bundles-action-title": "Eliminar { count, select, 1 {1 paquete de widgets} other {# paquetes de widgets} }",
 | 
			
		||||
              "delete-widgets-bundles-text": "Ten cuidado, luego de confirmar todos los paquetes seleccionados serán eliminados y la información relacionada será irrecuperable.",
 | 
			
		||||
              "no-widgets-bundles-matching": "Ningún paquete '{{widgetsBundle}}' encontrado.",
 | 
			
		||||
              "widgets-bundle-required": "Paquete de widget requerido.",
 | 
			
		||||
              "system": "Sistema",
 | 
			
		||||
              "import": "Importar paquete de widgets",
 | 
			
		||||
              "export": "Exportar paquete de widgets",
 | 
			
		||||
              "export-failed-error": "Imposible exportar paquete de widgets: {{error}}",
 | 
			
		||||
              "create-new-widgets-bundle": "Crear nuevo paquete de widgets",
 | 
			
		||||
              "widgets-bundle-file": "Archivo de paquete de widgets",
 | 
			
		||||
              "invalid-widgets-bundle-file-error": "Imposible importar paquete de widgets: Estructura de datos inválida."
 | 
			
		||||
        },
 | 
			
		||||
        "widget-config": {
 | 
			
		||||
              "data": "Datos",
 | 
			
		||||
              "settings": "Ajustes",
 | 
			
		||||
              "advanced": "Avanzado",
 | 
			
		||||
              "title": "Titulo",
 | 
			
		||||
              "general-settings": "Ajustes generales",
 | 
			
		||||
              "display-title": "Mostrar titulo",
 | 
			
		||||
              "drop-shadow": "Sombra",
 | 
			
		||||
              "enable-fullscreen": "Habilitar pantalla completa",
 | 
			
		||||
              "background-color": "Color de fondo",
 | 
			
		||||
              "text-color": "Color del texto",
 | 
			
		||||
              "padding": "Relleno",
 | 
			
		||||
              "title-style": "Estilo de título",
 | 
			
		||||
              "mobile-mode-settings": "Ajustes mobile.",
 | 
			
		||||
              "order": "Orden",
 | 
			
		||||
              "height": "Altura",
 | 
			
		||||
              "units": "Caracter especial a mostrar en el siguiente valor",
 | 
			
		||||
              "decimals": "Números de dígitos después de la coma",
 | 
			
		||||
              "timewindow": "Ventana de tiempo",
 | 
			
		||||
              "use-dashboard-timewindow": "Usar ventana de tiempo del Panel",
 | 
			
		||||
              "display-legend": "Mostrar leyenda",
 | 
			
		||||
              "datasources": "Set de datos",
 | 
			
		||||
              "datasource-type": "Tipo",
 | 
			
		||||
              "datasource-parameters": "Parámetros",
 | 
			
		||||
              "remove-datasource": "Eliminar set de datos",
 | 
			
		||||
              "add-datasource": "Agregar set de datos",
 | 
			
		||||
              "target-device": "Dispositivo destino"
 | 
			
		||||
        },
 | 
			
		||||
        "widget-type": {
 | 
			
		||||
              "import": "Importar tipo de widget",
 | 
			
		||||
              "export": "Exportar tipo de widget",
 | 
			
		||||
              "export-failed-error": "Imposible exportar tipo de widget: {{error}}",
 | 
			
		||||
              "create-new-widget-type": "Crear nuevo tipo de widget",
 | 
			
		||||
              "widget-type-file": "Tipo de archivo del widget",
 | 
			
		||||
              "invalid-widget-type-file-error": "Imposible de importar tipo de widget: Estructura de datos inválida."
 | 
			
		||||
        },
 | 
			
		||||
        "language": {
 | 
			
		||||
              "language": "Lenguaje",
 | 
			
		||||
              "en_US": "Inglés",
 | 
			
		||||
              "ko_KR": "Coreano",
 | 
			
		||||
              "zh_CN": "Chino",
 | 
			
		||||
              "ru_RU": "Ruso",
 | 
			
		||||
              "es_ES": "Español"
 | 
			
		||||
        }
 | 
			
		||||
  };
 | 
			
		||||
  angular.extend(locales, {'es_ES': es_ES});
 | 
			
		||||
}
 | 
			
		||||
@ -776,7 +776,9 @@ export default function addLocaleKorean(locales) {
 | 
			
		||||
            "language": "언어",
 | 
			
		||||
            "en_US": "영어",
 | 
			
		||||
            "ko_KR": "한글",
 | 
			
		||||
            "zh_CN": "중국어"
 | 
			
		||||
            "zh_CN": "중국어",
 | 
			
		||||
            "ru_RU": "러시아어",
 | 
			
		||||
            "es_ES": "스페인어"
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    angular.extend(locales, {'ko_KR': ko_KR});
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										819
									
								
								ui/src/app/locale/locale.constant-ru.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										819
									
								
								ui/src/app/locale/locale.constant-ru.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,819 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright © 2016-2017 The Thingsboard Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
export default function addLocaleRussian(locales) {
 | 
			
		||||
    var ru_RU = {
 | 
			
		||||
        "access": {
 | 
			
		||||
            "unauthorized": "Неавторизированный",
 | 
			
		||||
            "unauthorized-access": "Несанкционированный доступ",
 | 
			
		||||
            "unauthorized-access-text": "Вы должны войти в систему для получения доступа к этому ресурсу!",
 | 
			
		||||
            "access-forbidden": "Доступ запрещен",
 | 
			
		||||
            "access-forbidden-text": "У вас нет прав доступа к этому ресурсу!<br/>Для получения доступа попробуйте войти под другим пользователем.",
 | 
			
		||||
            "refresh-token-expired": "Сессия истекла",
 | 
			
		||||
            "refresh-token-failed": "Не удалось обновить сессию"
 | 
			
		||||
        },
 | 
			
		||||
        "action": {
 | 
			
		||||
            "activate": "Активировать",
 | 
			
		||||
            "suspend": "Приостановить",
 | 
			
		||||
            "save": "Сохранить",
 | 
			
		||||
            "saveAs": "Сохранить как",
 | 
			
		||||
            "cancel": "Отмена",
 | 
			
		||||
            "ok": "ОК",
 | 
			
		||||
            "delete": "Удалить",
 | 
			
		||||
            "add": "Добавить",
 | 
			
		||||
            "yes": "Да",
 | 
			
		||||
            "no": "Нет",
 | 
			
		||||
            "update": "Обновить",
 | 
			
		||||
            "remove": "Удалить",
 | 
			
		||||
            "search": "Поиск",
 | 
			
		||||
            "assign": "Присвоить",
 | 
			
		||||
            "unassign": "Отменить присвоение",
 | 
			
		||||
            "share": "Поделиться",
 | 
			
		||||
            "make-private": "Закрыть для общего доступа",
 | 
			
		||||
            "apply": "Применить",
 | 
			
		||||
            "apply-changes": "Применить изменения",
 | 
			
		||||
            "edit-mode": "Режим редактирования",
 | 
			
		||||
            "enter-edit-mode": "Режим редактирования",
 | 
			
		||||
            "decline-changes": "Отменить изменения",
 | 
			
		||||
            "close": "Закрыть",
 | 
			
		||||
            "back": "Назад",
 | 
			
		||||
            "run": "Запуск",
 | 
			
		||||
            "sign-in": "Войти",
 | 
			
		||||
            "edit": "Редактировать",
 | 
			
		||||
            "view": "Просмотреть",
 | 
			
		||||
            "create": "Создать",
 | 
			
		||||
            "drag": "Переместить",
 | 
			
		||||
            "refresh": "Обновить",
 | 
			
		||||
            "undo": "Откатить",
 | 
			
		||||
            "copy": "Копировать",
 | 
			
		||||
            "paste": "Вставить",
 | 
			
		||||
            "import": "Импортировать",
 | 
			
		||||
            "export": "Экспортировать",
 | 
			
		||||
            "share-via": "Поделиться в {{provider}}"
 | 
			
		||||
        },
 | 
			
		||||
        "aggregation": {
 | 
			
		||||
            "aggregation": "Агрегация",
 | 
			
		||||
            "function": "Тип агрегации данных",
 | 
			
		||||
            "limit": "Максимальное значение",
 | 
			
		||||
            "group-interval": "Интервал группировки",
 | 
			
		||||
            "min": "Мин",
 | 
			
		||||
            "max": "Maкс",
 | 
			
		||||
            "avg": "Среднее",
 | 
			
		||||
            "sum": "Сумма",
 | 
			
		||||
            "count": "Количество",
 | 
			
		||||
            "none": "Без агрегации"
 | 
			
		||||
        },
 | 
			
		||||
        "admin": {
 | 
			
		||||
            "general": "Общие",
 | 
			
		||||
            "general-settings": "Общие настройки",
 | 
			
		||||
            "outgoing-mail": "Исходящая почта",
 | 
			
		||||
            "outgoing-mail-settings": "Настройки исходящей почты",
 | 
			
		||||
            "system-settings": "Системные настройки",
 | 
			
		||||
            "test-mail-sent": "Пробное письмо успешно отправлено!",
 | 
			
		||||
            "base-url": "Базовая URL",
 | 
			
		||||
            "base-url-required": "Базовая URL обязательна.",
 | 
			
		||||
            "mail-from": "Отправитель",
 | 
			
		||||
            "mail-from-required": "Отправитель обязателен.",
 | 
			
		||||
            "smtp-protocol": "SMTP протокол",
 | 
			
		||||
            "smtp-host": "SMTP хост",
 | 
			
		||||
            "smtp-host-required": "SMTP хост обязателен.",
 | 
			
		||||
            "smtp-port": "SMTP порт",
 | 
			
		||||
            "smtp-port-required": "SMTP порт обязателен.",
 | 
			
		||||
            "smtp-port-invalid": "Недействительный SMTP порт.",
 | 
			
		||||
            "timeout-msec": "Таймаут (мс)",
 | 
			
		||||
            "timeout-required": "Таймаут обязателен.",
 | 
			
		||||
            "timeout-invalid": "Недействительный таймаут.",
 | 
			
		||||
            "enable-tls": "Включить TLS",
 | 
			
		||||
            "send-test-mail": "Отправить пробное письмо"
 | 
			
		||||
        },
 | 
			
		||||
        "attribute": {
 | 
			
		||||
            "attributes": "Атрибуты",
 | 
			
		||||
            "latest-telemetry": "Последняя телеметрия",
 | 
			
		||||
            "attributes-scope": "Контекст атрибутов устройства",
 | 
			
		||||
            "scope-latest-telemetry": "Последняя телеметрия",
 | 
			
		||||
            "scope-client": "Клиентские атрибуты",
 | 
			
		||||
            "scope-server": "Серверные атрибуты",
 | 
			
		||||
            "scope-shared": "Общие атрибуты",
 | 
			
		||||
            "add": "Добавить атрибут",
 | 
			
		||||
            "key": "Ключ",
 | 
			
		||||
            "key-required": "Ключ атрибута обязателен.",
 | 
			
		||||
            "value": "Значение",
 | 
			
		||||
            "value-required": "Значение атрибута обязательно.",
 | 
			
		||||
            "delete-attributes-title": "Вы уверенны, что хотите удалить { count, plural, one {1 атрибут} few {# атрибута} other {# атрибутов} }? ",
 | 
			
		||||
            "delete-attributes-text": "Внимание, после подтверждения выбранные атрибуты будут удалены.",
 | 
			
		||||
            "delete-attributes": "Удалить атрибуты",
 | 
			
		||||
            "enter-attribute-value": "Введите значение атрибута",
 | 
			
		||||
            "show-on-widget": "Показать на виджете",
 | 
			
		||||
            "widget-mode": "Виджет-режим",
 | 
			
		||||
            "next-widget": "Следующий виджет",
 | 
			
		||||
            "prev-widget": "Предыдущий виджет",
 | 
			
		||||
            "add-to-dashboard": "Добавить на дашборд",
 | 
			
		||||
            "add-widget-to-dashboard": "Добавить виджет на дашборд",
 | 
			
		||||
            "selected-attributes": "{ count, plural, 1 {Выбран} other {Выбраны} } { count, plural, one {1 атрибут} few {# атрибута} other {# атрибутов} }",
 | 
			
		||||
            "selected-telemetry": "{ count, plural, 1 {Выбран} other {Выбраны} } { count, plural, 1 {1 параметр} few {# параметра} other {# параметров} } телеметрии"
 | 
			
		||||
        },
 | 
			
		||||
        "confirm-on-exit": {
 | 
			
		||||
            "message": "У вас есть несохраненные изменения. Вы точно хотите покинуть эту страницу?",
 | 
			
		||||
            "html-message": "У вас есть несохраненные изменения.<br/>Вы точно хотите покинуть эту страницу?",
 | 
			
		||||
            "title": "Несохраненные изменения"
 | 
			
		||||
        },
 | 
			
		||||
        "contact": {
 | 
			
		||||
            "country": "Страна",
 | 
			
		||||
            "city": "Город",
 | 
			
		||||
            "state": "Штат",
 | 
			
		||||
            "postal-code": "Почтовый код",
 | 
			
		||||
            "postal-code-invalid": "Допустимы только цифры",
 | 
			
		||||
            "address": "Адрес",
 | 
			
		||||
            "address2": "Адрес 2",
 | 
			
		||||
            "phone": "Телефон",
 | 
			
		||||
            "email": "Эл. адрес",
 | 
			
		||||
            "no-address": "Адрес не указан"
 | 
			
		||||
        },
 | 
			
		||||
        "common": {
 | 
			
		||||
            "username": "Имя пользователя",
 | 
			
		||||
            "password": "Пароль",
 | 
			
		||||
            "enter-username": "Введите имя пользователя",
 | 
			
		||||
            "enter-password": "Введите пароль",
 | 
			
		||||
            "enter-search": "Введите условие поиска"
 | 
			
		||||
        },
 | 
			
		||||
        "customer": {
 | 
			
		||||
            "customers": "Клиенты",
 | 
			
		||||
            "management": "Управление клиентами",
 | 
			
		||||
            "dashboard": "Дашборд клиентов",
 | 
			
		||||
            "dashboards": "Дашборды клиентов",
 | 
			
		||||
            "devices": "Устройства клиента",
 | 
			
		||||
            "public-dashboards": "Общедоступные дашборды",
 | 
			
		||||
            "public-devices": "Общедоступные устройства",
 | 
			
		||||
            "add": "Добавить клиента",
 | 
			
		||||
            "delete": "Удалить клиента",
 | 
			
		||||
            "manage-customer-users": "Управление пользователями клиента",
 | 
			
		||||
            "manage-customer-devices": "Управление устройствами клиента",
 | 
			
		||||
            "manage-customer-dashboards": "Управление дашбордами клиента",
 | 
			
		||||
            "manage-public-devices": "Управление общедоступными устройствами",
 | 
			
		||||
            "manage-public-dashboards": "Управление общедоступными дашбордами",
 | 
			
		||||
            "add-customer-text": "Добавить нового клиента",
 | 
			
		||||
            "no-customers-text": "Клиенты не найдены",
 | 
			
		||||
            "customer-details": "Подробности о клиенте",
 | 
			
		||||
            "delete-customer-title": "Вы точно хотите удалить клиента '{{customerTitle}}'?",
 | 
			
		||||
            "delete-customer-text": "Внимание, после подтверждения клиент и вся связанная с ним информация будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-customers-title": "Вы точно хотите удалить { count, plural, one {1 клиента} other {# клиентов} }?",
 | 
			
		||||
            "delete-customers-action-title": "Удалить { count, plural, one {1 клиента} other {# клиентов} } }",
 | 
			
		||||
            "delete-customers-text": "Внимание, после подтверждения клиенты и вся связанная с ними информация будут безвозвратно утеряны.",
 | 
			
		||||
            "manage-users": "Управление пользователями",
 | 
			
		||||
            "manage-devices": "Управление устройствами",
 | 
			
		||||
            "manage-dashboards": "Управление дашбордами",
 | 
			
		||||
            "title": "Имя",
 | 
			
		||||
            "title-required": "Название обязательно.",
 | 
			
		||||
            "description": "Описание"
 | 
			
		||||
        },
 | 
			
		||||
        "datetime": {
 | 
			
		||||
            "date-from": "Дата с",
 | 
			
		||||
            "time-from": "Время с",
 | 
			
		||||
            "date-to": "Дата до",
 | 
			
		||||
            "time-to": "Время до"
 | 
			
		||||
        },
 | 
			
		||||
        "dashboard": {
 | 
			
		||||
            "dashboard": "Дашборд",
 | 
			
		||||
            "dashboards": "Дашборды",
 | 
			
		||||
            "management": "Управление дашбордами",
 | 
			
		||||
            "view-dashboards": "Просмотреть дашборды",
 | 
			
		||||
            "add": "Добавить дашборд",
 | 
			
		||||
            "assign-dashboard-to-customer": "Прикрепить дашборд(ы) к клиенту",
 | 
			
		||||
            "assign-dashboard-to-customer-text": "Пожалуйста, выберите дашборды, которые нужно прикрепить к клиенту",
 | 
			
		||||
            "assign-to-customer-text": "Пожалуйста, выберите клиента, к которому нужно прикрепить дашборд(ы)",
 | 
			
		||||
            "assign-to-customer": "Прикрепить к клиенту",
 | 
			
		||||
            "unassign-from-customer": "Открепить от клиента",
 | 
			
		||||
            "make-public": "Открыть дашборд для общего доступа",
 | 
			
		||||
            "make-private": "Закрыть дашборд для общего доступа",
 | 
			
		||||
            "no-dashboards-text": "Дашборды не найдены",
 | 
			
		||||
            "no-widgets": "Виджеты не сконфигурированы",
 | 
			
		||||
            "add-widget": "Добавить новый виджет",
 | 
			
		||||
            "title": "Название",
 | 
			
		||||
            "select-widget-title": "Выберите виджет",
 | 
			
		||||
            "select-widget-subtitle": "Список доступных виджетов",
 | 
			
		||||
            "delete": "Удалить дашборд",
 | 
			
		||||
            "title-required": "Название обязательно.",
 | 
			
		||||
            "description": "Описание",
 | 
			
		||||
            "details": "Подробности",
 | 
			
		||||
            "dashboard-details": "Подробности о дашборде",
 | 
			
		||||
            "add-dashboard-text": "Добавить новый дашборд",
 | 
			
		||||
            "assign-dashboards": "Прикрепить дашборды",
 | 
			
		||||
            "assign-new-dashboard": "Прикрепить новый дашборд",
 | 
			
		||||
            "assign-dashboards-text": "Прикрепить { count, plural, 1 {1 дашборд} other {# дашборда} } к клиенту",
 | 
			
		||||
            "delete-dashboards": "Удалить дашборды",
 | 
			
		||||
            "unassign-dashboards": "Открепить дашборды",
 | 
			
		||||
            "unassign-dashboards-action-title": "Открепить { count, plural, one {1 дашборд} few {# дашборда} other {# дашбордов} } от клиента",
 | 
			
		||||
            "delete-dashboard-title": "Вы точно хотите удалить дашборд '{{dashboardTitle}}'?",
 | 
			
		||||
            "delete-dashboard-text": "Внимание, после подтверждения дашборд и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-dashboards-title": "Вы точно хотите удалить { count, plural, one {1 дашборд} few {# дашборда} other {# дашбордов} }?",
 | 
			
		||||
            "delete-dashboards-action-title": "Удалить { count, plural, one {1 дашборд} few {# дашборда} other {# дашбордов} }",
 | 
			
		||||
            "delete-dashboards-text": "Внимание, после подтверждения дашборды и все связанные с ними данные будут безвозвратно утеряны.",
 | 
			
		||||
            "unassign-dashboard-title": "Вы точно хотите открепить дашборд '{{dashboardTitle}}'?",
 | 
			
		||||
            "unassign-dashboard-text": "После подтверждения дашборд не будет доступен клиенту.",
 | 
			
		||||
            "unassign-dashboard": "Открепить дашборд",
 | 
			
		||||
            "unassign-dashboards-title": "Вы точно хотите открепить { count, plural, one {1 дашборд} few {# дашборда} other {# дашбордов} }?",
 | 
			
		||||
            "unassign-dashboards-text": "После подтверждения выбранные дашборды не будут доступны клиенту.",
 | 
			
		||||
            "public-dashboard-title": "Теперь дашборд общедоступный",
 | 
			
		||||
            "public-dashboard-text": "Теперь ваш дашборд <b>{{dashboardTitle}}</b> доступен всем по <a href='{{publicLink}}' target='_blank'>ссылке</a>:",
 | 
			
		||||
            "public-dashboard-notice": "<b>Примечание:</b> Для получения доступа к данным устройства нужно открыть общий доступ к этому устройству.",
 | 
			
		||||
            "make-private-dashboard-title": "Вы точно хотите закрыть общий доступ к дашборду '{{dashboardTitle}}'?",
 | 
			
		||||
            "make-private-dashboard-text": "После подтверждения дашборд будет закрыт для общего доступа.",
 | 
			
		||||
            "make-private-dashboard": "Закрыть дашборд для общего доступа",
 | 
			
		||||
            "socialshare-text": "'{{dashboardTitle}}' сделано ThingsBoard",
 | 
			
		||||
            "socialshare-title": "'{{dashboardTitle}}' сделано ThingsBoard",
 | 
			
		||||
            "select-dashboard": "Выберите дашборд",
 | 
			
		||||
            "no-dashboards-matching": "Дашборд '{{dashboard}}' не найден.",
 | 
			
		||||
            "dashboard-required": "Дашборд обязателен.",
 | 
			
		||||
            "select-existing": "Выберите существующий дашборд",
 | 
			
		||||
            "create-new": "Создать новый дашборд",
 | 
			
		||||
            "new-dashboard-title": "Новое название дашборда",
 | 
			
		||||
            "open-dashboard": "Открыть дашборд",
 | 
			
		||||
            "set-background": "Установить фон",
 | 
			
		||||
            "background-color": "Фоновый цвет",
 | 
			
		||||
            "background-image": "Фоновая картинка",
 | 
			
		||||
            "background-size-mode": "Размер фона",
 | 
			
		||||
            "no-image": "Картинка не выбрана",
 | 
			
		||||
            "drop-image": "Перетащите картинку или кликните для выбора файла.",
 | 
			
		||||
            "settings": "Настройки",
 | 
			
		||||
            "columns-count": "Количество колонок",
 | 
			
		||||
            "columns-count-required": "Количество колонок обязательно.",
 | 
			
		||||
            "min-columns-count-message": "Минимальное число колонок - 10.",
 | 
			
		||||
            "max-columns-count-message": "Максимальное число колонок - 1000.",
 | 
			
		||||
            "widgets-margins": "Величина отступа между виджетами",
 | 
			
		||||
            "horizontal-margin": "Величина горизонтального отступа",
 | 
			
		||||
            "horizontal-margin-required": "Величина горизонтального отступа обязательна.",
 | 
			
		||||
            "min-horizontal-margin-message": "Минимальная величина горизонтального отступа - 0.",
 | 
			
		||||
            "max-horizontal-margin-message": "Максимальная величина горизонтального отступа - 50.",
 | 
			
		||||
            "vertical-margin": "Величина вертикального отступа",
 | 
			
		||||
            "vertical-margin-required": "Величина вертикального отступа обязательна.",
 | 
			
		||||
            "min-vertical-margin-message": "Минимальная величина вертикального отступа - 0.",
 | 
			
		||||
            "max-vertical-margin-message": "Максимальная величина вертикального отступа - 50.",
 | 
			
		||||
            "display-title": "Показать название дашборда",
 | 
			
		||||
            "title-color": "Цвет названия",
 | 
			
		||||
            "display-device-selection": "Показать выборку устройств",
 | 
			
		||||
            "display-dashboard-timewindow": "Показать временное окно",
 | 
			
		||||
            "display-dashboard-export": "Показать экспорт",
 | 
			
		||||
            "import": "Импортировать дашборд",
 | 
			
		||||
            "export": "Экспортировать дашборд",
 | 
			
		||||
            "export-failed-error": "Не удалось экспортировать дашборд: {{error}}",
 | 
			
		||||
            "create-new-dashboard": "Создать новый дашборд",
 | 
			
		||||
            "dashboard-file": "Файл дашборда",
 | 
			
		||||
            "invalid-dashboard-file-error": "Не удалось импортировать дашборд: неизвестная схема данных дашборда.",
 | 
			
		||||
            "dashboard-import-missing-aliases-title": "Конфигурировать псевдонимы импортированного дашборда",
 | 
			
		||||
            "create-new-widget": "Создать новый виджет",
 | 
			
		||||
            "import-widget": "Импортировать новый виджет",
 | 
			
		||||
            "widget-file": "Файл виджета",
 | 
			
		||||
            "invalid-widget-file-error": "Не удалось импортировать виджет: неизвестная схема данных виджета.",
 | 
			
		||||
            "widget-import-missing-aliases-title": "Конфигурировать псевдонимы импортированного виджета",
 | 
			
		||||
            "open-toolbar": "Открыть панель инструментов",
 | 
			
		||||
            "close-toolbar": "Закрыть панель инструментов",
 | 
			
		||||
            "configuration-error": "Ошибка конфигурирования",
 | 
			
		||||
            "alias-resolution-error-title": "Ошибка конфигурирования псевдонимов дашборда",
 | 
			
		||||
            "invalid-aliases-config": "Не удалось найти устройства, соответствующие фильтру псевдонимов.<br/>" +
 | 
			
		||||
                                      "Пожалуйста, свяжитесь с администратором для устранения этой проблемы.",
 | 
			
		||||
            "select-devices": "Выберите устройства",
 | 
			
		||||
            "assignedToCustomer": "Прикреплен к клиенту",
 | 
			
		||||
            "public": "Общедоступный",
 | 
			
		||||
            "public-link": "Общедоступная ссылка",
 | 
			
		||||
            "copy-public-link": "Скопировать общедоступную ссылку",
 | 
			
		||||
            "public-link-copied-message": "Общедоступная ссылка на дашборд скопирована в буфер обмена"
 | 
			
		||||
        },
 | 
			
		||||
        "datakey": {
 | 
			
		||||
            "settings": "Настройки",
 | 
			
		||||
            "advanced": "Дополнительно",
 | 
			
		||||
            "label": "Метка",
 | 
			
		||||
            "color": "Цвет",
 | 
			
		||||
            "data-generation-func": "Функция генерации данных",
 | 
			
		||||
            "use-data-post-processing-func": "Использовать функцию пост-обработки данных",
 | 
			
		||||
            "configuration": "Конфигурация ключа данных",
 | 
			
		||||
            "timeseries": "Выборка по времени",
 | 
			
		||||
            "attributes": "Атрибуты",
 | 
			
		||||
            "timeseries-required": "Выборка по времени обязательна.",
 | 
			
		||||
            "timeseries-or-attributes-required": "Выборка по времени/атрибуты обязательны.",
 | 
			
		||||
            "function-types": "Тип функции",
 | 
			
		||||
            "function-types-required": "Тип функции обязателен."
 | 
			
		||||
        },
 | 
			
		||||
        "datasource": {
 | 
			
		||||
            "type": "Тип источника данных",
 | 
			
		||||
            "add-datasource-prompt": "Пожалуйста, добавьте источник данных"
 | 
			
		||||
        },
 | 
			
		||||
        "details": {
 | 
			
		||||
            "edit-mode": "Режим редактирования",
 | 
			
		||||
            "toggle-edit-mode": "Режим редактирования"
 | 
			
		||||
        },
 | 
			
		||||
        "device": {
 | 
			
		||||
            "device": "Устройство",
 | 
			
		||||
            "device-required": "Устройство обязательно.",
 | 
			
		||||
            "devices": "Устройства",
 | 
			
		||||
            "management": "Управление устройствами",
 | 
			
		||||
            "view-devices": "Просмотреть устройства",
 | 
			
		||||
            "device-alias": "Псевдоним устройства",
 | 
			
		||||
            "aliases": "Псевдонимы устройства",
 | 
			
		||||
            "no-alias-matching": "'{{alias}}' не найден.",
 | 
			
		||||
            "no-aliases-found": "Псевдонимы не найдены.",
 | 
			
		||||
            "no-key-matching": "'{{key}}' не найден.",
 | 
			
		||||
            "no-keys-found": "Ключи не найдены.",
 | 
			
		||||
            "create-new-alias": "Создать новый!",
 | 
			
		||||
            "create-new-key": "Создать новый!",
 | 
			
		||||
            "duplicate-alias-error": "Найден дублирующийся псевдоним '{{alias}}'.<br>В рамках дашборда псевдонимы устройств должны быть уникальными.",
 | 
			
		||||
            "configure-alias": "Конфигурировать '{{alias}}' псевдоним",
 | 
			
		||||
            "no-devices-matching": "Устройство '{{device}}' не найдено.",
 | 
			
		||||
            "alias": "Псевдоним",
 | 
			
		||||
            "alias-required": "Псевдоним устройства обязателен.",
 | 
			
		||||
            "remove-alias": "Удалить псевдоним устройства",
 | 
			
		||||
            "add-alias": "Добавить псевдоним устройства",
 | 
			
		||||
            "name-starts-with": "Название начинается с",
 | 
			
		||||
            "device-list": "Список устройств",
 | 
			
		||||
            "use-device-name-filter": "Использовать фильтр",
 | 
			
		||||
            "device-list-empty": "Устройства не выбраны.",
 | 
			
		||||
            "device-name-filter-required": "Фильтр названия устройства обязателен.",
 | 
			
		||||
            "device-name-filter-no-device-matched": "Устройства, названия которых начинаются с '{{device}}', не найдены.",
 | 
			
		||||
            "add": "Добавить устройство",
 | 
			
		||||
            "assign-to-customer": "Присвоить клиенту",
 | 
			
		||||
            "assign-device-to-customer": "Присвоить устройство(а) клиенту",
 | 
			
		||||
            "assign-device-to-customer-text": "Пожалуйста, выберите устройства, которые нужно присвоить клиенту",
 | 
			
		||||
            "make-public": "Открыть общий доступ к устройству",
 | 
			
		||||
            "make-private": "Закрыть общий доступ к устройству",
 | 
			
		||||
            "no-devices-text": "Устройства не найдены",
 | 
			
		||||
            "assign-to-customer-text": "Пожалуйста, выберите клиента, которому нужно присвоить устройство(а)",
 | 
			
		||||
            "device-details": "Подробности об устройстве",
 | 
			
		||||
            "add-device-text": "Добавить новое устройство",
 | 
			
		||||
            "credentials": "Учетные данные",
 | 
			
		||||
            "manage-credentials": "Управление учетными данными",
 | 
			
		||||
            "delete": "Удалить устройство",
 | 
			
		||||
            "assign-devices": "Присвоить устройство",
 | 
			
		||||
            "assign-devices-text": "Присвоить { count, plural, one {1 устройство} few {# устройства} other {# устройств} } клиенту",
 | 
			
		||||
            "delete-devices": "Удалить устройства",
 | 
			
		||||
            "unassign-from-customer": "Отменить присвоение клиенту",
 | 
			
		||||
            "unassign-devices": "Отменить присвоение устройств",
 | 
			
		||||
            "unassign-devices-action-title": "Отменить присвоение { count, plural, one {1 устройства} few {# устройств} other {# устройств} } клиенту",
 | 
			
		||||
            "assign-new-device": "Присвоить новое устройство",
 | 
			
		||||
            "make-public-device-title": "Вы точно хотите открыть общий доступ к устройству '{{deviceName}}'?",
 | 
			
		||||
            "make-public-device-text": "После подтверждения устройство и все связанные с ним данные будут общедоступными.",
 | 
			
		||||
            "make-private-device-title": "Вы точно хотите закрыть общий доступ к устройству '{{deviceName}}'",
 | 
			
		||||
            "make-private-device-text": "После подтверждения устройство и все связанные с ним данные будут закрыты для общего доступа.",
 | 
			
		||||
            "view-credentials": "Просмотреть учетные данные",
 | 
			
		||||
            "delete-device-title": "Вы точно хотите удалить устройство '{{deviceName}}'?",
 | 
			
		||||
            "delete-device-text": "Внимание, после подтверждения устройство и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-devices-title": "Вы точно хотите удалить { count, plural, one {1 устройство} few {# устройства} other {# устройств} }?",
 | 
			
		||||
            "delete-devices-action-title": "Удалить { count, plural, one {1 устройство} few {# устройства} other {# устройств} } }",
 | 
			
		||||
            "delete-devices-text": "Внимание, после подтверждения выбранные устройства и все связанные с ними данные будут безвозвратно утеряны..",
 | 
			
		||||
            "unassign-device-title": "Вы точно хотите отменить присвоение устройства '{{deviceName}}'?",
 | 
			
		||||
            "unassign-device-text": "После подтверждения устройство будет недоступно клиенту.",
 | 
			
		||||
            "unassign-device": "Отменить присвоение устройства",
 | 
			
		||||
            "unassign-devices-title": "Вы точно хотите отменить присвоение { count, plural, one {1 устройство} few {# устройства} other {# устройств} } }?",
 | 
			
		||||
            "unassign-devices-text": "После подтверждения выбранные устройства будут недоступны клиенту.",
 | 
			
		||||
            "device-credentials": "Учетные данные устройства",
 | 
			
		||||
            "credentials-type": "Тип учетных данных",
 | 
			
		||||
            "access-token": "Токен",
 | 
			
		||||
            "access-token-required": "Токен обязателен.",
 | 
			
		||||
            "access-token-invalid": "Длина токена должна быть от 1 до 20 символов.",
 | 
			
		||||
            "rsa-key": "Открытый ключ RSA",
 | 
			
		||||
            "rsa-key-required": "Открытый ключ RSA обязателен.",
 | 
			
		||||
            "secret": "Секрет",
 | 
			
		||||
            "secret-required": "Секрет обязателен.",
 | 
			
		||||
            "name": "Название",
 | 
			
		||||
            "name-required": "Название обязательно.",
 | 
			
		||||
            "description": "Описание",
 | 
			
		||||
            "events": "События",
 | 
			
		||||
            "details": "Подробности",
 | 
			
		||||
            "copyId": "Копировать идентификатор устройства",
 | 
			
		||||
            "copyAccessToken": "Копировать токен",
 | 
			
		||||
            "idCopiedMessage": "Идентификатор устройства скопирован в буфер обмена",
 | 
			
		||||
            "accessTokenCopiedMessage": "Токен устройства скопирован в буфер обмена",
 | 
			
		||||
            "assignedToCustomer": "Присвоен клиенту",
 | 
			
		||||
            "unable-delete-device-alias-title": "Не удалось удалить псевдоним устройства",
 | 
			
		||||
            "unable-delete-device-alias-text": "Не удалось удалить псевдоним '{{deviceAlias}}' устройства, т.к. он используется следующими виджетами:<br/>{{widgetsList}}",
 | 
			
		||||
            "is-gateway": "Гейтвей",
 | 
			
		||||
            "public": "Общедоступный",
 | 
			
		||||
            "device-public": "Устройство общедоступно"
 | 
			
		||||
        },
 | 
			
		||||
        "dialog": {
 | 
			
		||||
            "close": "Закрыть диалог"
 | 
			
		||||
        },
 | 
			
		||||
        "error": {
 | 
			
		||||
            "unable-to-connect": "Не удалось подключиться к серверу! Пожалуйста, проверьте интернет-соединение.",
 | 
			
		||||
            "unhandled-error-code": "Код необработанной ошибки: {{errorCode}}",
 | 
			
		||||
            "unknown-error": "Неизвестная ошибка"
 | 
			
		||||
        },
 | 
			
		||||
        "event": {
 | 
			
		||||
            "event-type": "Тип события",
 | 
			
		||||
            "type-alarm": "Аварийное оповещение",
 | 
			
		||||
            "type-error": "Ошибка",
 | 
			
		||||
            "type-lc-event": "Событие жизненного цикла",
 | 
			
		||||
            "type-stats": "Статистика",
 | 
			
		||||
            "no-events-prompt": "События не найдены",
 | 
			
		||||
            "error": "Ошибка",
 | 
			
		||||
            "alarm": "Аварийное оповещение",
 | 
			
		||||
            "event-time": "Время возникновения события",
 | 
			
		||||
            "server": "Сервер",
 | 
			
		||||
            "body": "Тело",
 | 
			
		||||
            "method": "Метод",
 | 
			
		||||
            "event": "Событие",
 | 
			
		||||
            "status": "Статус",
 | 
			
		||||
            "success": "Успех",
 | 
			
		||||
            "failed": "Неудача",
 | 
			
		||||
            "messages-processed": "Сообщения обработаны",
 | 
			
		||||
            "errors-occurred": "Возникли ошибки"
 | 
			
		||||
        },
 | 
			
		||||
        "fullscreen": {
 | 
			
		||||
            "expand": "Во весь экран",
 | 
			
		||||
            "exit": "Выйти из полноэкранного режима",
 | 
			
		||||
            "toggle": "Во весь экран",
 | 
			
		||||
            "fullscreen": "Полноэкранный режим"
 | 
			
		||||
        },
 | 
			
		||||
        "function": {
 | 
			
		||||
            "function": "Функция"
 | 
			
		||||
        },
 | 
			
		||||
        "grid": {
 | 
			
		||||
            "delete-item-title": "Вы точно хотите удалить этот объект?",
 | 
			
		||||
            "delete-item-text": "Внимание, после подтверждения объект и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-items-title": "Вы точно хотите удалить { count, plural, one {1 объект} few {# объекта} other {# объектов} }?",
 | 
			
		||||
            "delete-items-action-title": "Удалить { count, plural, one {1 объект} few {# объекта} other {# объектов}",
 | 
			
		||||
            "delete-items-text": "Внимание, после подтверждения выбранные объекты и все связанные с ними данные будут безвозвратно утеряны.",
 | 
			
		||||
            "add-item-text": "Добавить новый объект",
 | 
			
		||||
            "no-items-text": "Объекты не найдены",
 | 
			
		||||
            "item-details": "Подробности об объекте",
 | 
			
		||||
            "delete-item": "Удалить объект",
 | 
			
		||||
            "delete-items": "Удалить объекты",
 | 
			
		||||
            "scroll-to-top": "Прокрутка к началу"
 | 
			
		||||
        },
 | 
			
		||||
        "help": {
 | 
			
		||||
            "goto-help-page": "Перейти к справке"
 | 
			
		||||
        },
 | 
			
		||||
        "home": {
 | 
			
		||||
            "home": "Главная",
 | 
			
		||||
            "profile": "Профиль",
 | 
			
		||||
            "logout": "Выйти из системы",
 | 
			
		||||
            "menu": "Меню",
 | 
			
		||||
            "avatar": "Аватар",
 | 
			
		||||
            "open-user-menu": "Открыть меню пользователя"
 | 
			
		||||
        },
 | 
			
		||||
        "import": {
 | 
			
		||||
            "no-file": "Файл не выбран",
 | 
			
		||||
            "drop-file": "Перетащите JSON файл или кликните для выбора файла."
 | 
			
		||||
        },
 | 
			
		||||
        "item": {
 | 
			
		||||
            "selected": "Выбранные"
 | 
			
		||||
        },
 | 
			
		||||
        "js-func": {
 | 
			
		||||
            "no-return-error": "Функция должна возвращать значение!",
 | 
			
		||||
            "return-type-mismatch": "Функция должна возвращать значение типа '{{type}}'!"
 | 
			
		||||
        },
 | 
			
		||||
        "legend": {
 | 
			
		||||
            "position": "Расположение легенды",
 | 
			
		||||
            "show-max": "Показать максимальное значение",
 | 
			
		||||
            "show-min": "Показать минимальное значение",
 | 
			
		||||
            "show-avg": "Показать среднее значение",
 | 
			
		||||
            "show-total": "Показать сумму",
 | 
			
		||||
            "settings": "Настройки легенды",
 | 
			
		||||
            "min": "Мин",
 | 
			
		||||
            "max": "Макс",
 | 
			
		||||
            "avg": "Среднее",
 | 
			
		||||
            "total": "Сумма"
 | 
			
		||||
        },
 | 
			
		||||
        "login": {
 | 
			
		||||
            "login": "Войти",
 | 
			
		||||
            "request-password-reset": "Запрос на сброс пароля",
 | 
			
		||||
            "reset-password": "Сбросить пароль",
 | 
			
		||||
            "create-password": "Создать пароль",
 | 
			
		||||
            "passwords-mismatch-error": "Введенные пароли должны быть одинаковыми!",
 | 
			
		||||
            "password-again": "Введите пароль еще раз",
 | 
			
		||||
            "sign-in": "Пожалуйста, войдите в систему",
 | 
			
		||||
            "username": "Имя пользователя (эл. адрес)",
 | 
			
		||||
            "remember-me": "Запомнить меня",
 | 
			
		||||
            "forgot-password": "Забыли пароль?",
 | 
			
		||||
            "password-reset": "Пароль сброшен",
 | 
			
		||||
            "new-password": "Новый пароль",
 | 
			
		||||
            "new-password-again": "Повторите новый пароль",
 | 
			
		||||
            "password-link-sent-message": "Ссылка для сброса пароля была успешно отправлена!",
 | 
			
		||||
            "email": "Эл. адрес"
 | 
			
		||||
        },
 | 
			
		||||
        "plugin": {
 | 
			
		||||
            "plugins": "Плагины",
 | 
			
		||||
            "delete": "Удалить плагин",
 | 
			
		||||
            "activate": "Активировать плагин",
 | 
			
		||||
            "suspend": "Приостановить плагин",
 | 
			
		||||
            "active": "Активный",
 | 
			
		||||
            "suspended": "Приостановлен",
 | 
			
		||||
            "name": "Название",
 | 
			
		||||
            "name-required": "Название обязательно.",
 | 
			
		||||
            "description": "Описание",
 | 
			
		||||
            "add": "Добавить плагин",
 | 
			
		||||
            "delete-plugin-title": "Вы точно хотите удалить плагин '{{pluginName}}'?",
 | 
			
		||||
            "delete-plugin-text": "Внимание, после подтверждения плагин и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-plugins-title": "Вы точно хотите удалить { count, plural, one {1 плагин} few {# плагина} other {# плагинов} }?",
 | 
			
		||||
            "delete-plugins-action-title": "Удалить { count, plural, one {1 плагин} few {# плагина} other {# плагинов} } }",
 | 
			
		||||
            "delete-plugins-text": "Внимание, после подтверждения выбранные плагины и все связанные с ними данные будут безвозвратно утеряны.",
 | 
			
		||||
            "add-plugin-text": "Добавить новый плагин",
 | 
			
		||||
            "no-plugins-text": "Плагины не найдены",
 | 
			
		||||
            "plugin-details": "Подробности о плагине",
 | 
			
		||||
            "api-token": "API токен",
 | 
			
		||||
            "api-token-required": "API токен обязателен.",
 | 
			
		||||
            "type": "Тип плагина",
 | 
			
		||||
            "type-required": "Тип плагина обязателен.",
 | 
			
		||||
            "configuration": "Настройки плагина",
 | 
			
		||||
            "system": "Системный",
 | 
			
		||||
            "select-plugin": "Выберите плагин",
 | 
			
		||||
            "plugin": "Плагин",
 | 
			
		||||
            "no-plugins-matching": "Плагин '{{plugin}}' не найден.",
 | 
			
		||||
            "plugin-required": "Плагин обязателен.",
 | 
			
		||||
            "plugin-require-match": "Пожалуйста, выберите существующий плагин.",
 | 
			
		||||
            "events": "События",
 | 
			
		||||
            "details": "Подробности",
 | 
			
		||||
            "import": "Импортировать плагин",
 | 
			
		||||
            "export": "Экспортировать плагин",
 | 
			
		||||
            "export-failed-error": "Не удалось экспортировать плагин: {{error}}",
 | 
			
		||||
            "create-new-plugin": "Создать новый плагин",
 | 
			
		||||
            "plugin-file": "Файл плагина",
 | 
			
		||||
            "invalid-plugin-file-error": "Не удалось импортировать плагин: неизвестная схема данных плагина."
 | 
			
		||||
        },
 | 
			
		||||
        "position": {
 | 
			
		||||
            "top": "Верх",
 | 
			
		||||
            "bottom": "Низ",
 | 
			
		||||
            "left": "Левый край",
 | 
			
		||||
            "right": "Правый край"
 | 
			
		||||
        },
 | 
			
		||||
        "profile": {
 | 
			
		||||
            "profile": "Профиль",
 | 
			
		||||
            "change-password": "Изменить пароль",
 | 
			
		||||
            "current-password": "Текущий пароль"
 | 
			
		||||
        },
 | 
			
		||||
        "rule": {
 | 
			
		||||
            "rules": "Правила",
 | 
			
		||||
            "delete": "Удалить правило",
 | 
			
		||||
            "activate": "Активировать правило",
 | 
			
		||||
            "suspend": "Приостановить правило",
 | 
			
		||||
            "active": "Активное",
 | 
			
		||||
            "suspended": "Приостановлены",
 | 
			
		||||
            "name": "Название",
 | 
			
		||||
            "name-required": "Название обязательно.",
 | 
			
		||||
            "description": "Описание",
 | 
			
		||||
            "add": "Добавить правило",
 | 
			
		||||
            "delete-rule-title": "Вы точно хотите удалить правило '{{ruleName}}'?",
 | 
			
		||||
            "delete-rule-text": "Внимание, после подтверждения правило и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-rules-title": "Вы точно хотите удалить { count, plural, one {1 правило} few {# правила} other {# правил} }?",
 | 
			
		||||
            "delete-rules-action-title": "Удалить { count, plural, one {1 правило} few {# правила} other {# правил} }",
 | 
			
		||||
            "delete-rules-text": "Внимание, после подтверждения выбранные правила и все связанные с ними данные будут безвозвратно утеряны.",
 | 
			
		||||
            "add-rule-text": "Добавить новое правило",
 | 
			
		||||
            "no-rules-text": "Правила не найдены",
 | 
			
		||||
            "rule-details": "Подробности о правиле",
 | 
			
		||||
            "filters": "Фильтры",
 | 
			
		||||
            "filter": "Фильтр",
 | 
			
		||||
            "add-filter-prompt": "Пожалуйста, добавьте фильтр",
 | 
			
		||||
            "remove-filter": "Удалить фильтр",
 | 
			
		||||
            "add-filter": "Добавить фильтр",
 | 
			
		||||
            "filter-name": "Название фильтра",
 | 
			
		||||
            "filter-type": "Тип фильтра",
 | 
			
		||||
            "edit-filter": "Редактировать фильтр",
 | 
			
		||||
            "view-filter": "Просмотреть фильтр",
 | 
			
		||||
            "component-name": "Название",
 | 
			
		||||
            "component-name-required": "Название обязательно.",
 | 
			
		||||
            "component-type": "Тип",
 | 
			
		||||
            "component-type-required": "Тип обязателен.",
 | 
			
		||||
            "processor": "Обработчик",
 | 
			
		||||
            "no-processor-configured": "Обработчики не сконфигурированы",
 | 
			
		||||
            "create-processor": "Создать обработчик",
 | 
			
		||||
            "processor-name": "Название обработчика",
 | 
			
		||||
            "processor-type": "Тип обработчика",
 | 
			
		||||
            "plugin-action": "Действие плагина",
 | 
			
		||||
            "action-name": "Название действия",
 | 
			
		||||
            "action-type": "Тип действия",
 | 
			
		||||
            "create-action-prompt": "Пожалуйста, создайте действие",
 | 
			
		||||
            "create-action": "Создать действие",
 | 
			
		||||
            "details": "Подробности",
 | 
			
		||||
            "events": "События",
 | 
			
		||||
            "system": "Системное",
 | 
			
		||||
            "import": "Импортировать правило",
 | 
			
		||||
            "export": "Экспортировать правило",
 | 
			
		||||
            "export-failed-error": "Не удалось экспортировать правило: {{error}}",
 | 
			
		||||
            "create-new-rule": "Создать новое правило",
 | 
			
		||||
            "rule-file": "Файл правила",
 | 
			
		||||
            "invalid-rule-file-error": "Не удалось импортировать правило: неизвестная схема данных правила."
 | 
			
		||||
        },
 | 
			
		||||
        "rule-plugin": {
 | 
			
		||||
            "management": "Управление плагинами и правилами"
 | 
			
		||||
        },
 | 
			
		||||
        "tenant": {
 | 
			
		||||
            "tenants": "Владельцы",
 | 
			
		||||
            "management": "Управление владельцами",
 | 
			
		||||
            "add": "Добавить владельца",
 | 
			
		||||
            "admins": "Администраторы",
 | 
			
		||||
            "manage-tenant-admins": "Управление администраторами владельца",
 | 
			
		||||
            "delete": "Удалить владельца",
 | 
			
		||||
            "add-tenant-text": "Добавить нового владельца",
 | 
			
		||||
            "no-tenants-text": "Владельцы не найдены",
 | 
			
		||||
            "tenant-details": "Подробности об владельце",
 | 
			
		||||
            "delete-tenant-title": "Вы точно хотите удалить владельца '{{tenantTitle}}'?",
 | 
			
		||||
            "delete-tenant-text": "Внимание, после подтверждения владелец и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-tenants-title": "Вы точно хотите удалить { count, plural, one {1 владельца}  other {# владельцев} }?",
 | 
			
		||||
            "delete-tenants-action-title": "Удалить { count, plural, one {1 владельца}  other {# владельцев} }",
 | 
			
		||||
            "delete-tenants-text": "Внимание, после подтверждения выбранные Владельцы и все связанные с ними данные будут безвозвратно утеряны.",
 | 
			
		||||
            "title": "Имя",
 | 
			
		||||
            "title-required": "Имя обязательно.",
 | 
			
		||||
            "description": "Описание"
 | 
			
		||||
        },
 | 
			
		||||
        "timeinterval": {
 | 
			
		||||
            "seconds-interval": "{ seconds, plural, one {1 секунда} few {# секунды} other {# секунд} }",
 | 
			
		||||
            "minutes-interval": "{ minutes, plural, one {1 минута} few {# минуты} other {# минут} }",
 | 
			
		||||
            "hours-interval": "{ hours, plural, one {1 час} few {# часа} other {# часов} }",
 | 
			
		||||
            "days-interval": "{ days, plural, one {1 день} few {# дня} other {# дней} }",
 | 
			
		||||
            "days": "Дни",
 | 
			
		||||
            "hours": "Часы",
 | 
			
		||||
            "minutes": "Минуты",
 | 
			
		||||
            "seconds": "Секунды",
 | 
			
		||||
            "advanced": "Дополнительно"
 | 
			
		||||
        },
 | 
			
		||||
        "timewindow": {
 | 
			
		||||
            "days": "{ days, plural, one {1 день} few {# дня} other {# дней} }",
 | 
			
		||||
            "hours": "{ hours, plural, one {1 час} few {# часа} other {# часов} }",
 | 
			
		||||
            "minutes": "{ minutes, plural, one {1 минута} few {# минуты} other {# минут} }",
 | 
			
		||||
            "seconds": "{ seconds, plural, one {1 секунда} few {# секунды} other {# секунд} }",
 | 
			
		||||
            "realtime": "Режим реального времени",
 | 
			
		||||
            "history": "История",
 | 
			
		||||
            "last-prefix": "Последние",
 | 
			
		||||
            "period": "с {{ startTime }} до {{ endTime }}",
 | 
			
		||||
            "edit": "Изменить временное окно",
 | 
			
		||||
            "date-range": "Диапазон дат",
 | 
			
		||||
            "last": "Последние",
 | 
			
		||||
            "time-period": "Период времени"
 | 
			
		||||
        },
 | 
			
		||||
        "user": {
 | 
			
		||||
            "users": "Пользователи",
 | 
			
		||||
            "customer-users": "Пользователи клиента",
 | 
			
		||||
            "tenant-admins": "Администраторы владельца",
 | 
			
		||||
            "sys-admin": "Системный администратор",
 | 
			
		||||
            "tenant-admin": "Администратор владельца",
 | 
			
		||||
            "customer": "Клиент",
 | 
			
		||||
            "anonymous": "Аноним",
 | 
			
		||||
            "add": "Добавить пользователя",
 | 
			
		||||
            "delete": "Удалить пользователя",
 | 
			
		||||
            "add-user-text": "Добавить нового пользователя",
 | 
			
		||||
            "no-users-text": "Пользователи не найдены",
 | 
			
		||||
            "user-details": "Подробности о пользователе",
 | 
			
		||||
            "delete-user-title": "Вы точно хотите удалить пользователя '{{userEmail}}'?",
 | 
			
		||||
            "delete-user-text": "Внимание, после подтверждения пользователь и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-users-title": "Вы точно хотите удалить { count, plural, one {1 пользователя} other {# пользователей} }?",
 | 
			
		||||
            "delete-users-action-title": "Удалить { count, plural, one {1 пользователя} other {# пользователей} }",
 | 
			
		||||
            "delete-users-text": "Внимание, после подтверждения выбранные пользователи и все связанные с ними данные будут безвозвратно утеряны.",
 | 
			
		||||
            "activation-email-sent-message": "Активационное письмо успешно отправлено!",
 | 
			
		||||
            "resend-activation": "Повторить отправку активационного письма",
 | 
			
		||||
            "email": "Эл. адрес",
 | 
			
		||||
            "email-required": "Эл. адрес обязателен.",
 | 
			
		||||
            "first-name": "Имя",
 | 
			
		||||
            "last-name": "Фамилия",
 | 
			
		||||
            "description": "Описание",
 | 
			
		||||
            "default-dashboard": "Дашборд по умолчанию",
 | 
			
		||||
            "always-fullscreen": "Всегда во весь экран"
 | 
			
		||||
        },
 | 
			
		||||
        "value": {
 | 
			
		||||
            "type": "Тип значения",
 | 
			
		||||
            "string": "Строка",
 | 
			
		||||
            "string-value": "Строковое значение",
 | 
			
		||||
            "integer": "Целое число",
 | 
			
		||||
            "integer-value": "Целочисленное значение",
 | 
			
		||||
            "invalid-integer-value": "Неправильный формат целого числа",
 | 
			
		||||
            "double": "Число двойной точности",
 | 
			
		||||
            "double-value": "Значение двойной точности",
 | 
			
		||||
            "boolean": "Логический тип",
 | 
			
		||||
            "boolean-value": "Логическое значение",
 | 
			
		||||
            "false": "Ложь",
 | 
			
		||||
            "true": "Правда"
 | 
			
		||||
        },
 | 
			
		||||
        "widget": {
 | 
			
		||||
            "widget-library": "Галерея виджетов",
 | 
			
		||||
            "widget-bundle": "Набор виджетов",
 | 
			
		||||
            "select-widgets-bundle": "Выберите набор виджетов",
 | 
			
		||||
            "management": "Управление виджетами",
 | 
			
		||||
            "editor": "Редактор виджетов",
 | 
			
		||||
            "widget-type-not-found": "Ошибка при загрузке конфигурации виджета.<br>Возможно, связанный с ней\n    тип виджета уже удален.",
 | 
			
		||||
            "widget-type-load-error": "Не удалось загрузить виджет по следующим причинам:",
 | 
			
		||||
            "remove": "Удалить виджет",
 | 
			
		||||
            "edit": "Редактировать виджет",
 | 
			
		||||
            "remove-widget-title": "Вы точно хотите удалить виджет '{{widgetTitle}}'?",
 | 
			
		||||
            "remove-widget-text": "Внимание, после подтверждения виджет и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "timeseries": "Выборка по времени",
 | 
			
		||||
            "latest-values": "Последние значения",
 | 
			
		||||
            "rpc": "Управляющий виджет",
 | 
			
		||||
            "static": "Статический виджет",
 | 
			
		||||
            "select-widget-type": "Выберите тип виджета",
 | 
			
		||||
            "missing-widget-title-error": "Укажите название виджета!",
 | 
			
		||||
            "widget-saved": "Виджет сохранен",
 | 
			
		||||
            "unable-to-save-widget-error": "Не удалось сохранить виджет! Виджет содержит ошибки!",
 | 
			
		||||
            "save": "Сохранить виджет",
 | 
			
		||||
            "saveAs": "Сохранить виджет как",
 | 
			
		||||
            "save-widget-type-as": "Сохранить тип виджета как",
 | 
			
		||||
            "save-widget-type-as-text": "Пожалуйста, введите название виджета и/или укажите целевой набор виджетов",
 | 
			
		||||
            "toggle-fullscreen": "Во весь экран",
 | 
			
		||||
            "run": "Запустить виджет",
 | 
			
		||||
            "title": "Название виджета",
 | 
			
		||||
            "title-required": "Название виджета обязательно.",
 | 
			
		||||
            "type": "Тип виджета",
 | 
			
		||||
            "resources": "Ресурсы",
 | 
			
		||||
            "resource-url": "JavaScript/CSS URL",
 | 
			
		||||
            "remove-resource": "Удалить ресурс",
 | 
			
		||||
            "add-resource": "Добавить ресурс",
 | 
			
		||||
            "html": "HTML",
 | 
			
		||||
            "tidy": "Форматировать",
 | 
			
		||||
            "css": "CSS",
 | 
			
		||||
            "settings-schema": "Схема конфигурации",
 | 
			
		||||
            "datakey-settings-schema": "Схема конфигурации ключа данных",
 | 
			
		||||
            "javascript": "Javascript",
 | 
			
		||||
            "remove-widget-type-title": "Вы точно хотите удалить виджет '{{widgetName}}'?",
 | 
			
		||||
            "remove-widget-type-text": "Внимание, после подтверждения тип виджета и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "remove-widget-type": "Удалить тип виджета",
 | 
			
		||||
            "add-widget-type": "Добавить новый тип виджета",
 | 
			
		||||
            "widget-type-load-failed-error": "Не удалось загрузить тип виджета!",
 | 
			
		||||
            "widget-template-load-failed-error": "Не удалось загрузить шаблон виджета!",
 | 
			
		||||
            "add": "Добавить виджет",
 | 
			
		||||
            "undo": "Откатить изменения в виджете",
 | 
			
		||||
            "export": "Экспортировать виджет"
 | 
			
		||||
        },
 | 
			
		||||
        "widgets-bundle": {
 | 
			
		||||
            "current": "Текущий набор",
 | 
			
		||||
            "widgets-bundles": "Наборы виджетов",
 | 
			
		||||
            "add": "Добавить набор виджетов",
 | 
			
		||||
            "delete": "Удалить набор виджетов",
 | 
			
		||||
            "title": "Название",
 | 
			
		||||
            "title-required": "Название обязательно.",
 | 
			
		||||
            "add-widgets-bundle-text": "Добавить новый набор виджетов",
 | 
			
		||||
            "no-widgets-bundles-text": "Наборы виджетов не найдены",
 | 
			
		||||
            "empty": "Пустой набор виджетов",
 | 
			
		||||
            "details": "Подробности",
 | 
			
		||||
            "widgets-bundle-details": "Подробности о наборе виджетов",
 | 
			
		||||
            "delete-widgets-bundle-title": "Вы точно хотите удалить набор виджетов '{{widgetsBundleTitle}}'?",
 | 
			
		||||
            "delete-widgets-bundle-text": "Внимание, после подтверждения набор виджетов и все связанные с ним данные будут безвозвратно утеряны.",
 | 
			
		||||
            "delete-widgets-bundles-title": "Вы точно хотите удалить { count, plural, one {1 набор виджетов} few {# набора виджетов} other {# наборов виджетов} }?",
 | 
			
		||||
            "delete-widgets-bundles-action-title": "Удалить { count, plural, one {1 набор виджетов} few {# набора виджетов} other {# наборов виджетов} }",
 | 
			
		||||
            "delete-widgets-bundles-text": "Внимание, после подтверждения выбранные наборы виджетов и все связанные с ними данные будут безвозвратно утеряны..",
 | 
			
		||||
            "no-widgets-bundles-matching": "Набор виджетов '{{widgetsBundle}}' не найден.",
 | 
			
		||||
            "widgets-bundle-required": "Набор виджетов обязателен.",
 | 
			
		||||
            "system": "Системный",
 | 
			
		||||
            "import": "Импортировать набор виджетов",
 | 
			
		||||
            "export": "Экспортировать набор виджетов",
 | 
			
		||||
            "export-failed-error": "Не удалось экспортировать набор виджетов: {{error}}",
 | 
			
		||||
            "create-new-widgets-bundle": "Создать новый набор виджетов",
 | 
			
		||||
            "widgets-bundle-file": "Файл набора виджетов",
 | 
			
		||||
            "invalid-widgets-bundle-file-error": "Не удалось импортировать набор виджетов: неизвестная схема данных набора виджетов."
 | 
			
		||||
        },
 | 
			
		||||
        "widget-config": {
 | 
			
		||||
            "data": "Данные",
 | 
			
		||||
            "settings": "Настройки",
 | 
			
		||||
            "advanced": "Дополнительно",
 | 
			
		||||
            "title": "Название",
 | 
			
		||||
            "general-settings": "Общие настройки",
 | 
			
		||||
            "display-title": "Показать название",
 | 
			
		||||
            "drop-shadow": "Тень",
 | 
			
		||||
            "enable-fullscreen": "Во весь экран",
 | 
			
		||||
            "background-color": "Цвет фона",
 | 
			
		||||
            "text-color": "Цвет текста",
 | 
			
		||||
            "padding": "Отступ",
 | 
			
		||||
            "title-style": "Стиль названия",
 | 
			
		||||
            "mobile-mode-settings": "Настройки мобильного режима",
 | 
			
		||||
            "order": "Порядок",
 | 
			
		||||
            "height": "Высота",
 | 
			
		||||
            "units": "Специальный символ после значения",
 | 
			
		||||
            "decimals": "Количество цифр после запятой",
 | 
			
		||||
            "timewindow": "Временное окно",
 | 
			
		||||
            "use-dashboard-timewindow": "Использовать временное окно дашборда",
 | 
			
		||||
            "display-legend": "Показать легенду",
 | 
			
		||||
            "datasources": "Источники данных",
 | 
			
		||||
            "datasource-type": "Тип",
 | 
			
		||||
            "datasource-parameters": "Параметры",
 | 
			
		||||
            "remove-datasource": "Удалить источник данных",
 | 
			
		||||
            "add-datasource": "Добавить источник данных",
 | 
			
		||||
            "target-device": "Целевое устройство"
 | 
			
		||||
        },
 | 
			
		||||
        "widget-type": {
 | 
			
		||||
            "import": "Импортировать тип виджета",
 | 
			
		||||
            "export": "Экспортировать тип виджета",
 | 
			
		||||
            "export-failed-error": "Не удалось экспортировать тип виджета: {{error}}",
 | 
			
		||||
            "create-new-widget-type": "Создать новый тип виджета",
 | 
			
		||||
            "widget-type-file": "Файл типа виджета",
 | 
			
		||||
            "invalid-widget-type-file-error": "Не удалось импортировать виджет: неизвестная схема данных типа виджета."
 | 
			
		||||
        },
 | 
			
		||||
        "language": {
 | 
			
		||||
            "language": "Язык",
 | 
			
		||||
            "en_US": "Английский",
 | 
			
		||||
            "ko_KR": "Корейский",
 | 
			
		||||
            "zh_CN": "Китайский",
 | 
			
		||||
            "ru_RU": "Русский",
 | 
			
		||||
            "es_ES": "испанский"
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    angular.extend(locales, {'ru_RU': ru_RU});
 | 
			
		||||
}
 | 
			
		||||
@ -809,7 +809,9 @@ export default function addLocaleChinese(locales) {
 | 
			
		||||
            "language" : "语言",
 | 
			
		||||
            "en_US" : "英语",
 | 
			
		||||
            "ko_KR" : "韩语",
 | 
			
		||||
            "zh_CN" : "汉语"
 | 
			
		||||
            "zh_CN" : "汉语",
 | 
			
		||||
            "ru_RU" : "俄语",
 | 
			
		||||
            "es_ES": "西班牙語"
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    angular.extend(locales, {
 | 
			
		||||
 | 
			
		||||
@ -811,8 +811,10 @@ export default angular.module('thingsboard.locale', [])
 | 
			
		||||
                    "language": "Language",
 | 
			
		||||
                    "en_US": "English",
 | 
			
		||||
                    "ko_KR": "Korean",
 | 
			
		||||
                    "zh_CN": "Chinese"
 | 
			
		||||
                    "zh_CN": "Chinese",
 | 
			
		||||
                    "ru_RU": "Russian",
 | 
			
		||||
                    "es_ES": "Spanish"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ).name;
 | 
			
		||||
    ).name;
 | 
			
		||||
 | 
			
		||||
@ -30,7 +30,9 @@ export default function ProfileController(userService, $scope, $document, $mdDia
 | 
			
		||||
    vm.languageList = {
 | 
			
		||||
        en_US: {value : "en_US", name: "language.en_US"}, 
 | 
			
		||||
        ko_KR: {value : "ko_KR", name: "language.ko_KR"},
 | 
			
		||||
        zh_CN: {value : "zh_CN", name: "language.zh_CN"}
 | 
			
		||||
        zh_CN: {value : "zh_CN", name: "language.zh_CN"},
 | 
			
		||||
        ru_RU: {value : "ru_RU", name: "language.ru_RU"}ñ
 | 
			
		||||
        es_ES: {value : "es_ES", name: "language.es_ES"},
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    loadProfile();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user