- Added `verifyResourceLifecycle` integration to handle resource lifecycle operations. - Introduced `remove` method in `IResourceRepository` and implemented it in `SequelizeResourceRepository`. - Created `DeleteResourceDialog` component for confirming resource deletion. - Updated `resource.use-cases` to include `remove` and `setActive` methods for managing resource states. - Enhanced API routes to support resource status updates and deletions. - Added tests for resource lifecycle operations, ensuring correct behavior for activation, deactivation, and deletion. - Updated UI components to integrate new deletion functionality and provide feedback on resource status changes. - Improved localization for resource lifecycle actions in both English and Spanish.
229 lines
12 KiB
JSON
229 lines
12 KiB
JSON
{
|
|
"templateIcon": {
|
|
"label": "Icono",
|
|
"none": "Sin icono",
|
|
"help": "Se muestra en el catálogo y en los recursos de esta plantilla.",
|
|
"options": {
|
|
"mail": "Correo",
|
|
"key": "Acceso",
|
|
"folder": "Carpeta",
|
|
"headphones": "Asistencia",
|
|
"monitor": "Sistema operativo",
|
|
"layers": "Aplicación",
|
|
"shield": "Certificado",
|
|
"file-key": "Licencia",
|
|
"box": "Recurso"
|
|
}
|
|
},
|
|
"resourcePanel": "Ficha del recurso",
|
|
"closeResourcePanel": "Cerrar panel del recurso",
|
|
"showResourcePanel": "Mostrar panel del recurso",
|
|
"allResources": "Todo",
|
|
"filterByTemplate": "Filtrar por plantilla",
|
|
"inventory": "Recursos",
|
|
"mailboxKind": "Tipo de buzón",
|
|
"corporate": "Corporativo",
|
|
"external": "Externo",
|
|
"relatedAccount": "Cuenta relacionada",
|
|
"resourceTypeId": "Tipo de acceso",
|
|
"systemId": "Sistema",
|
|
"environmentId": "Entorno",
|
|
"newResource": "Nuevo recurso",
|
|
"editResource": "Editar recurso",
|
|
"viewResource": "Ficha e historial",
|
|
"template": "Plantilla de recurso",
|
|
"status": "Estado",
|
|
"active": "Activo",
|
|
"inactive": "Inactivo",
|
|
"notes": "Notas",
|
|
"characteristics": "Características",
|
|
"chooseValue": "Selecciona un valor",
|
|
"noValue": "—",
|
|
"history": "Historial",
|
|
"recordedBy": "Registrado por {{name}}",
|
|
"snapshotNotice": "La ficha conserva los campos de la plantilla utilizados al dar de alta el recurso.",
|
|
"resourceDescription": "Registra un buzón, carpeta compartida, aplicación, certificado, licencia de software o herramienta de asistencia de esta compañía.",
|
|
"resourceExamples": "Ejemplos: administracion@empresa.es, carpeta Administración, Zoom corporativo, certificado de firma o suscripción Microsoft 365.",
|
|
"resourceGuidance": "Las características son opcionales salvo que la plantilla indique lo contrario. No registres contraseñas ni claves privadas.",
|
|
"resourceScope": "Este registro identifica el recurso de la compañía. Su disponibilidad y su configuración en los equipos se gestionan por separado.",
|
|
"licenseDescription": "Registra una licencia o suscripción de software contratada por esta compañía.",
|
|
"licenseExamples": "Ejemplos: Microsoft 365 Business Standard por usuario, ESET Endpoint por dispositivo o una licencia perpetua de ERP.",
|
|
"licenseGuidance": "Todos los campos son opcionales. Cantidad contratada indica las plazas o unidades del contrato. Caducidad y renovación pueden ser distintas; una licencia perpetua puede no tener caducidad. No registres claves de activación.",
|
|
"licenseScope": "La aplicación utilizada y la licencia contratada son recursos distintos. Este registro no asigna plazas ni calcula cuántas quedan disponibles.",
|
|
"relatedNotice": "La plantilla se guardará aunque después canceles el recurso.",
|
|
"inventoryErrors": {
|
|
"INVALID_REQUEST": "Revisa los datos del formulario.",
|
|
"INVALID_EMAIL": "Introduce una dirección de correo válida.",
|
|
"CONTEXT_FIXED": "El tipo y contexto del recurso no se pueden cambiar.",
|
|
"REFERENCE_UNAVAILABLE": "Selecciona referencias válidas de esta compañía.",
|
|
"INVALID_CHARACTERISTICS": "Una característica no pertenece a la plantilla o tiene un valor inválido.",
|
|
"REQUIRED_CHARACTERISTICS": "Completa las características obligatorias de la plantilla.",
|
|
"TEMPLATE_FIXED": "La plantilla de un recurso no puede cambiar.",
|
|
"TEMPLATE_UNAVAILABLE": "Selecciona una plantilla activa de recursos de este ámbito.",
|
|
"NAME_EXISTS": "Ya existe un recurso con ese nombre y plantilla en esta compañía.",
|
|
"RESOURCE_NOT_FOUND": "No se ha encontrado el recurso.",
|
|
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
|
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
|
"UNAUTHENTICATED": "Vuelve a iniciar sesión.",
|
|
"INTERNAL_ERROR": "No se ha podido completar la operación.",
|
|
"RESOURCE_IN_USE": "El recurso tiene asociaciones actuales o históricas. Desactívalo para conservarlas o retira sus asociaciones antes de eliminarlo."
|
|
},
|
|
"yes": "Sí",
|
|
"no": "No",
|
|
"title": "Catálogo de recursos",
|
|
"companyTitle": "Catálogo de recursos",
|
|
"introduction": "Define las características y plantillas que utilizarás al registrar recursos.",
|
|
"companyIntroduction": "Utiliza las definiciones globales y añade las que necesite esta compañía.",
|
|
"fields": "Campos",
|
|
"templates": "Plantillas",
|
|
"newField": "Nuevo campo",
|
|
"editField": "Editar campo",
|
|
"newTemplate": "Nueva plantilla",
|
|
"templateUsage": "Uso de la plantilla",
|
|
"templateUsageHelp": "Permite utilizar estos recursos como aplicaciones de perfiles, sistemas operativos, certificados, herramientas de asistencia remota o licencias de software. El uso se fija al crear la plantilla.",
|
|
"usage": {
|
|
"general": "General",
|
|
"application": "Aplicación",
|
|
"certificate": "Certificado digital",
|
|
"support": "Asistencia remota",
|
|
"os": "Sistema operativo",
|
|
"license": "Licencia de software"
|
|
},
|
|
"editTemplate": "Editar plantilla",
|
|
"name": "Nombre",
|
|
"description": "Descripción",
|
|
"type": "Tipo de dato",
|
|
"unit": "Unidad",
|
|
"choices": "Valores de la lista",
|
|
"choicesHelp": "Escribe un valor por línea. Los valores existentes se conservan; puedes añadir otros.",
|
|
"text": "Texto",
|
|
"number": "Número",
|
|
"date": "Fecha",
|
|
"boolean": "Sí / No",
|
|
"choice": "Lista de valores",
|
|
"activate": "Activar",
|
|
"deactivate": "Desactivar",
|
|
"inherited": "Configuración global",
|
|
"overridden": "Personalizado en esta compañía",
|
|
"reset": "Usar configuración global",
|
|
"builtin": "De serie",
|
|
"global": "Global",
|
|
"own": "De la compañía",
|
|
"custom": "Personalizado",
|
|
"origin": "Origen",
|
|
"actions": "Acciones",
|
|
"edit": "Editar",
|
|
"copy": "Crear copia",
|
|
"copyName": "{{name}} (copia)",
|
|
"fieldCount": "{{count}} campos",
|
|
"search": "Buscar",
|
|
"empty": "No hay resultados.",
|
|
"loading": "Cargando catálogo…",
|
|
"retry": "Reintentar",
|
|
"save": "Guardar",
|
|
"saving": "Guardando…",
|
|
"cancel": "Cancelar",
|
|
"selectField": "Añadir campos a la plantilla",
|
|
"choose": "Selecciona un campo",
|
|
"addField": "Nuevo campo",
|
|
"required": "Obligatorio",
|
|
"chooseType": "Selecciona un tipo",
|
|
"view": "Ver",
|
|
"close": "Cerrar",
|
|
"viewDefinition": "{{name}}",
|
|
"remove": "Retirar campo: {{name}}",
|
|
"noFields": "Añade al menos un campo. Todos son opcionales inicialmente.",
|
|
"fieldHelpText": "Texto de ayuda",
|
|
"fieldHelpHint": "Se muestra junto al campo al crear o editar un recurso.",
|
|
"protected": "Las plantillas y campos de serie se pueden editar desde el catálogo global. El tipo de dato de un campo se mantiene fijo. Puedes cambiar la disponibilidad o crear una copia de una plantilla para una compañía.",
|
|
"helpTitle": "¿Qué es y para qué sirve?",
|
|
"examplesLabel": "Ver ejemplos y recomendaciones",
|
|
"fieldDescription": "Un campo describe una característica que podrás rellenar en un recurso. Puedes reutilizarlo en varias plantillas.",
|
|
"fieldExamples": "Ejemplos: Dirección de correo (texto), Caducidad (fecha), URL (texto) o Proveedor (texto).",
|
|
"fieldGuidance": "Añade una unidad solo si resulta útil. No guardes contraseñas ni secretos. El tipo de dato queda fijo después del alta.",
|
|
"templateDescription": "Una plantilla reúne los campos que se mostrarán para un tipo de recurso. No representa un buzón, carpeta, aplicación o certificado concreto.",
|
|
"templateExamples": "Buzón: dirección y proveedor. Carpeta compartida: ruta UNC. Certificado: titular, emisor y caducidad.",
|
|
"templateGuidance": "Las características son opcionales por defecto. Marca como obligatorio solo lo que siempre se conozca. Retirar un campo de una plantilla no elimina el campo del catálogo.",
|
|
"globalHelp": "Ámbito global: disponible para todas las compañías.",
|
|
"companyHelp": "Ámbito de compañía: estas adiciones y cambios de disponibilidad solo afectan a esta compañía.",
|
|
"disabledField": "Campo inactivo: se conserva en esta plantilla.",
|
|
"disabledFieldsNotice": "Esta plantilla contiene campos inactivos. Puedes activarlos en el catálogo antes de utilizarla.",
|
|
"quickNotice": "El campo se guardará aunque después canceles la plantilla.",
|
|
"errors": {
|
|
"INVALID_REQUEST": "Revisa los datos del formulario.",
|
|
"INVALID_CHOICES": "Una lista necesita valores únicos y no vacíos. Los demás tipos no admiten valores de lista.",
|
|
"INVALID_FIELDS": "La plantilla necesita campos distintos y válidos.",
|
|
"NAME_EXISTS": "Ya existe una definición de este tipo con ese nombre.",
|
|
"FIELD_UNAVAILABLE": "Solo puedes añadir campos activos de recursos del catálogo global o de esta compañía.",
|
|
"FIELD_TYPE_FIXED": "El tipo de dato y el uso de la plantilla quedan fijos; tampoco se pueden eliminar valores existentes de una lista.",
|
|
"BUILTIN_PROTECTED": "Los campos de serie no se pueden modificar.",
|
|
"DEFINITION_NOT_FOUND": "La definición no está disponible en este ámbito.",
|
|
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
|
"INTERNAL_ERROR": "No se ha podido completar la operación.",
|
|
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
|
"UNAUTHENTICATED": "Vuelve a iniciar sesión.",
|
|
"INVALID_SECTIONS": "Las secciones deben tener nombres únicos y cada campo debe pertenecer a una sección de esta plantilla."
|
|
},
|
|
"fieldPicker": {
|
|
"destination": "Sección de destino: {{name}}",
|
|
"limit": "Has alcanzado el límite de campos de la plantilla. Desmarca campos de esta selección o retira alguno de la plantilla para añadir otros.",
|
|
"open": "Seleccionar campos",
|
|
"title": "Añadir campos a la plantilla",
|
|
"help": "Selecciona uno o más campos y confirma para añadirlos como opcionales en la sección de destino. Solo se muestran campos activos que todavía no están en la plantilla.",
|
|
"select": "Seleccionar",
|
|
"selectField": "Seleccionar {{name}}",
|
|
"selected": "Campos seleccionados: {{count}}",
|
|
"confirm": "Añadir campos",
|
|
"empty": "No hay más campos disponibles para añadir.",
|
|
"invalid": "La selección supera el límite de campos de la plantilla."
|
|
},
|
|
"sections": {
|
|
"addField": "Añadir campo",
|
|
"expand": "Desplegar sección",
|
|
"collapse": "Plegar sección",
|
|
"reorder": "Reordenar",
|
|
"reorderHelp": "Arrastra desde el asa y suelta en la parte superior o inferior del destino. También puedes enfocar el asa y usar las flechas arriba y abajo. Los campos se ordenan dentro de su sección.",
|
|
"fields": "Campos",
|
|
"title": "Secciones de la plantilla",
|
|
"add": "Añadir sección",
|
|
"name": "Nombre de la sección",
|
|
"description": "Descripción",
|
|
"ungrouped": "Sin sección",
|
|
"moveUp": "Mover hacia arriba",
|
|
"moveDown": "Mover hacia abajo",
|
|
"remove": "Eliminar sección",
|
|
"removeField": "Quitar campo",
|
|
"required": "Obligatorio",
|
|
"assign": "Sección",
|
|
"help": "Organiza los campos sin cambiar sus valores ni su obligatoriedad. Al eliminar una sección, sus campos pasan a «Sin sección».",
|
|
"empty": "Esta sección aún no tiene campos."
|
|
},
|
|
"formLayout": {
|
|
"identity": "Identificación del recurso",
|
|
"template": "Datos de la plantilla"
|
|
},
|
|
"creationSteps": {
|
|
"label": "Pasos del nuevo recurso",
|
|
"progress": "Paso {{step}} de {{total}}",
|
|
"template": "Elegir plantilla",
|
|
"fields": "Completar campos",
|
|
"name": "Nombre y notas",
|
|
"next": "Siguiente",
|
|
"previous": "Anterior",
|
|
"nameHelp": "Nombre propuesto a partir de los campos del recurso. Puedes modificarlo.",
|
|
"completed": " (completado)",
|
|
"templateDescription": "Selecciona la plantilla que define los campos y la configuración del recurso.",
|
|
"fieldsDescription": "Completa los datos de la plantilla. Los campos marcados con * son obligatorios.",
|
|
"nameDescription": "Revisa el nombre propuesto y añade notas si necesitas aportar más contexto."
|
|
},
|
|
"resourceLifecycle": {
|
|
"activate": "Activar recurso",
|
|
"deactivate": "Desactivar recurso",
|
|
"delete": "Eliminar definitivamente",
|
|
"description": "¿Quieres eliminar «{{name}}»? Se borrarán el recurso y su historial. Esta acción no se puede deshacer.",
|
|
"pending": "Eliminando…",
|
|
"error": "No se ha podido eliminar el recurso.",
|
|
"inUse": "El recurso tiene asociaciones actuales o históricas. Desactívalo para conservarlas o retira sus asociaciones antes de eliminarlo."
|
|
}
|
|
}
|