- Add SoftwareInstallationValues value object for encapsulating software installation data. - Create HTTP routes for managing software installations, including GET, POST, and DELETE operations. - Implement Sequelize repository for software installations, handling database interactions. - Add migration script for creating necessary database tables for software installations. - Create persistence mapper for transforming between domain models and database rows. - Define snapshot schema for software installations to ensure data consistency. - Introduce common schemas for software installations to validate API requests and responses. - Develop UI components for displaying and managing software installations, including history dialogs and forms. - Implement API client for interacting with software installation endpoints. - Write tests for software installations panel and form components to ensure functionality.
1205 lines
72 KiB
JSON
1205 lines
72 KiB
JSON
{
|
||
"companies": {
|
||
"navigation": {
|
||
"invalidRoute": "La dirección no es válida",
|
||
"notFound": "No se ha encontrado esta página",
|
||
"routeHelp": "Comprueba la dirección o vuelve al inicio."
|
||
},
|
||
"companyOverview": {
|
||
"title": "De un vistazo",
|
||
"description": "Estado, trabajo pendiente y avisos de {{name}}.",
|
||
"directory": "Equipo y organización",
|
||
"navigation": "Resumen"
|
||
},
|
||
"catalogOverview": {
|
||
"globalTitle": "Catálogos globales",
|
||
"companyTitle": "Catálogos de la compañía",
|
||
"globalDescription": "Definiciones compartidas para registrar y gestionar datos de todas las compañías.",
|
||
"companyDescription": "Consulta las definiciones globales disponibles y las variantes propias de esta compañía.",
|
||
"items": {
|
||
"access": {
|
||
"title": "Accesos",
|
||
"description": "Sistemas, tipos de recursos, permisos y plantillas de acceso."
|
||
},
|
||
"assets": {
|
||
"title": "Activos",
|
||
"description": "Campos, plantillas y tipos de relaciones para el inventario."
|
||
},
|
||
"resources": {
|
||
"title": "Recursos",
|
||
"description": "Campos y plantillas para registrar recursos."
|
||
},
|
||
"brands": {
|
||
"title": "Marcas",
|
||
"description": "Marcas compartidas del inventario de activos."
|
||
},
|
||
"intervention-templates": {
|
||
"title": "Plantillas de intervenciones",
|
||
"description": "Procedimientos reutilizables para las intervenciones técnicas."
|
||
},
|
||
"process-templates": {
|
||
"title": "Plantillas de procesos",
|
||
"description": "Listas de comprobación para altas, cambios y salidas de personas."
|
||
}
|
||
}
|
||
},
|
||
"interventionTemplates": {
|
||
"title": "Plantillas de intervención",
|
||
"new": "Nueva plantilla de intervención",
|
||
"edit": "Editar plantilla de intervención",
|
||
"description": "Descripción (opcional)",
|
||
"steps": "Pasos",
|
||
"addStep": "Añadir paso",
|
||
"removeStep": "Quitar paso",
|
||
"stepTitle": "Nombre del paso",
|
||
"instructions": "Instrucciones (opcional)",
|
||
"required": "Comprobación obligatoria antes de finalizar",
|
||
"up": "Subir paso",
|
||
"down": "Bajar paso",
|
||
"global": "Global",
|
||
"company": "De esta compañía",
|
||
"copy": "Copiar plantilla",
|
||
"copyOf": "Copia de",
|
||
"filter": "Buscar plantilla",
|
||
"showInactive": "Mostrar inactivas",
|
||
"empty": "No hay plantillas que coincidan.",
|
||
"scopeGlobal": "Estas plantillas son comunes a todas las compañías.",
|
||
"scopeCompany": "Consulta las plantillas globales y crea variantes propias de esta compañía. Las globales se editan desde Catálogos globales.",
|
||
"help": "¿Para qué sirve una plantilla de intervención?",
|
||
"helpDescription": "Guarda un procedimiento repetible como una lista ordenada de pasos. Una intervención sencilla podrá registrarse sin plantilla.",
|
||
"helpScope": "La plantilla es un procedimiento: no contiene personas, cuentas ni datos concretos de una compañía.",
|
||
"examples": "Sustitución de equipo, configuración de correo, baja de persona o revisión periódica.",
|
||
"guidance": "Añade instrucciones solo cuando ayuden al técnico. Marca como obligatorias únicamente las comprobaciones esenciales. Desactivar conserva el historial.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa el nombre y los pasos. Debe haber entre 1 y 100 pasos con nombre.",
|
||
"TEMPLATE_CHANGED": "Otra persona ha modificado la plantilla. Cierra y vuelve a abrir el formulario para cargar su última versión.",
|
||
"TEMPLATE_NAME_EXISTS": "Ya existe una plantilla con ese nombre en este ámbito.",
|
||
"REQUEST_KEY_REUSED": "La petición ya se utilizó con otros datos. Cierra y vuelve a abrir el formulario.",
|
||
"TEMPLATE_NOT_FOUND": "La plantilla no está disponible en este ámbito.",
|
||
"COMPANY_NOT_FOUND": "La compañía no está disponible.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "Recarga la página para autorizar la operación.",
|
||
"UNAUTHENTICATED": "La sesión ha caducado. Vuelve a entrar."
|
||
}
|
||
},
|
||
"interventions": {
|
||
"resetFilters": "Limpiar filtros",
|
||
"title": "Intervenciones",
|
||
"global": "Todas las intervenciones",
|
||
"new": "Nueva intervención",
|
||
"edit": "Editar intervención",
|
||
"details": "Ficha de intervención",
|
||
"subject": "Asunto",
|
||
"state": "Estado",
|
||
"ticket": "Ticket (opcional)",
|
||
"internal": "Intervención interna, sin ticket",
|
||
"fromTicket": "Crear intervención",
|
||
"assignee": "Técnico responsable",
|
||
"unassigned": "Sin asignar",
|
||
"modality": "Modalidad",
|
||
"states": {
|
||
"pending": "Pendiente",
|
||
"in_progress": "En curso",
|
||
"finished": "Finalizada",
|
||
"cancelled": "Cancelada"
|
||
},
|
||
"modalities": {
|
||
"remote": "Remota",
|
||
"onsite": "Presencial",
|
||
"other": "Otra"
|
||
},
|
||
"plannedDate": "Fecha prevista (opcional)",
|
||
"startedAt": "Inicio real (opcional)",
|
||
"endedAt": "Fin real (opcional)",
|
||
"minutes": "Tiempo empleado (minutos, opcional)",
|
||
"unknownTime": "Sin registrar",
|
||
"timeHelp": "El tiempo empleado es manual y puede diferir del intervalo entre inicio y fin.",
|
||
"diagnosis": "Diagnóstico (opcional)",
|
||
"workPerformed": "Trabajo realizado",
|
||
"resolution": "Resultado / resolución (opcional)",
|
||
"template": "Plantilla (opcional)",
|
||
"noTemplate": "Sin plantilla",
|
||
"apply": "Aplicar plantilla",
|
||
"newTemplate": "Nueva plantilla",
|
||
"templateNotice": "Aplicar sustituye los pasos actuales. La copia se puede adaptar y conserva la versión original de la plantilla.",
|
||
"source": "Plantilla de origen",
|
||
"steps": "Pasos",
|
||
"progress": "{{done}} de {{total}} pasos hechos",
|
||
"addStep": "Añadir paso",
|
||
"removeStep": "Quitar paso",
|
||
"notes": "Observaciones / motivo de no aplicación",
|
||
"stepStates": {
|
||
"pending": "Pendiente",
|
||
"in_progress": "En curso",
|
||
"done": "Hecho",
|
||
"not_applicable": "No aplica"
|
||
},
|
||
"search": "Buscar intervención",
|
||
"allCompanies": "Todas las compañías",
|
||
"allStates": "Todos los estados",
|
||
"allAssignees": "Todos los técnicos",
|
||
"dateFrom": "Prevista desde",
|
||
"dateTo": "Prevista hasta",
|
||
"empty": "No hay intervenciones que coincidan.",
|
||
"loading": "Cargando intervenciones…",
|
||
"history": "Historial de la intervención",
|
||
"completed": "Completado por {{actor}} · {{date}}",
|
||
"help": "¿Para qué sirve una intervención?",
|
||
"helpDescription": "Registra el trabajo técnico realizado o previsto para una compañía, con ticket o por iniciativa interna.",
|
||
"scope": "Puede ser una actuación sencilla sin pasos. Las plantillas copian un procedimiento; no configuran equipos ni retiran accesos automáticamente.",
|
||
"examples": "Reconfigurar un correo, resolver un atasco de impresora o sustituir un portátil.",
|
||
"guidance": "Para finalizar, indica técnico y trabajo realizado. Los pasos obligatorios deben estar hechos o no aplicar con un motivo. Finalizar no cierra el ticket.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los datos. En curso o finalizada requiere técnico. Para finalizar indica el trabajo y completa los pasos obligatorios (o justifica que no aplican). Las fechas deben estar ordenadas y los minutos ser positivos o cero.",
|
||
"INTERVENTION_NOT_FOUND": "La intervención no está disponible en esta compañía.",
|
||
"INTERVENTION_CHANGED": "Otra persona ha modificado la intervención. Cierra y vuelve a abrir el formulario.",
|
||
"TICKET_NOT_FOUND": "El ticket no pertenece a esta compañía.",
|
||
"TEMPLATE_UNAVAILABLE": "La plantilla no está activa o no está disponible para esta compañía.",
|
||
"TEMPLATE_CHANGED": "La plantilla cambió. Recarga sus opciones y vuelve a aplicarla.",
|
||
"TARGET_UNAVAILABLE": "Algún elemento afectado no pertenece a la compañía o está inactivo.",
|
||
"ASSIGNEE_UNAVAILABLE": "El técnico no está disponible para una nueva asignación.",
|
||
"REQUEST_KEY_REUSED": "Esta petición ya se utilizó con otros datos. Cierra y vuelve a abrir el formulario.",
|
||
"COMPANY_NOT_FOUND": "La compañía no está disponible.",
|
||
"UNAUTHENTICATED": "La sesión ha caducado. Vuelve a entrar.",
|
||
"FORBIDDEN": "Recarga la página para autorizar la operación.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo."
|
||
}
|
||
},
|
||
"tickets": {
|
||
"title": "Tickets",
|
||
"global": "Todos los tickets",
|
||
"new": "Nuevo ticket",
|
||
"edit": "Editar ticket",
|
||
"details": "Ficha e historial",
|
||
"company": "Compañía",
|
||
"subject": "Asunto",
|
||
"description": "Descripción de la petición (opcional)",
|
||
"requester": "Solicitante (opcional)",
|
||
"assignee": "Responsable (opcional)",
|
||
"channel": "Canal",
|
||
"state": "Estado",
|
||
"priority": "Prioridad",
|
||
"affected": "Elementos afectados",
|
||
"kind": "Tipo de elemento",
|
||
"addTarget": "Añadir elemento",
|
||
"person": "Persona",
|
||
"asset": "Activo",
|
||
"resource": "Recurso",
|
||
"workstation": "Puesto de trabajo",
|
||
"newTarget": "Crear elemento",
|
||
"remove": "Quitar elemento",
|
||
"unassigned": "Sin asignar",
|
||
"choose": "Selecciona un elemento",
|
||
"all": "Todos",
|
||
"allCompanies": "Todas las compañías",
|
||
"allStates": "Todos los estados",
|
||
"allPriorities": "Todas las prioridades",
|
||
"allAssignees": "Todos los responsables",
|
||
"search": "Buscar por referencia, asunto, compañía o solicitante",
|
||
"empty": "No hay tickets que coincidan con los filtros.",
|
||
"loading": "Cargando tickets…",
|
||
"reference": "Referencia",
|
||
"created": "Creado",
|
||
"updated": "Último cambio",
|
||
"history": "Historial",
|
||
"help": "¿Para qué sirve un ticket?",
|
||
"helpDescription": "Registra una petición o incidencia de una compañía, recibida por email, teléfono o por iniciativa interna.",
|
||
"guidance": "La compañía queda fija tras el alta. El solicitante y los elementos afectados deben pertenecer a ella. El responsable es un usuario de Metis Desk. Los cambios conservan el historial.",
|
||
"examples": "Ana llama porque no recibe correo; la persona responsable solicita preparar varios puestos; una revisión interna detecta un problema.",
|
||
"examplesLabel": "Ejemplos y recomendaciones",
|
||
"scope": "Los tickets registran la petición. Las intervenciones y el tiempo trabajado se incorporarán en una entrega posterior.",
|
||
"companyNotice": "Cambiar la compañía antes de guardar vacía el solicitante y los elementos afectados.",
|
||
"inactive": "Inactivo",
|
||
"loadError": "No se pudieron cargar los tickets.",
|
||
"conflict": "Este ticket ha cambiado. Cierra el formulario y abre de nuevo la edición para revisar la versión actual.",
|
||
"channels": {
|
||
"email": "Email",
|
||
"phone": "Teléfono",
|
||
"internal": "Interno",
|
||
"other": "Otro"
|
||
},
|
||
"states": {
|
||
"open": "Abierto",
|
||
"in_progress": "En curso",
|
||
"waiting": "En espera",
|
||
"resolved": "Resuelto",
|
||
"cancelled": "Cancelado"
|
||
},
|
||
"priorities": {
|
||
"low": "Baja",
|
||
"normal": "Normal",
|
||
"high": "Alta",
|
||
"urgent": "Urgente"
|
||
},
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los campos del formulario.",
|
||
"COMPANY_NOT_FOUND": "La compañía ya no está disponible.",
|
||
"TICKET_NOT_FOUND": "El ticket no pertenece a esta compañía o ya no está disponible.",
|
||
"REQUESTER_UNAVAILABLE": "Selecciona una persona activa de esta compañía.",
|
||
"ASSIGNEE_UNAVAILABLE": "Selecciona un usuario activo de Metis Desk.",
|
||
"TARGET_UNAVAILABLE": "Los elementos afectados deben estar disponibles y pertenecer a esta compañía.",
|
||
"TICKET_CHANGED": "Este ticket ha cambiado. Cierra y vuelve a abrir la edición para revisar la versión actual.",
|
||
"REQUEST_KEY_REUSED": "Esta solicitud ya se utilizó con otros datos.",
|
||
"INTERNAL_ERROR": "No se pudo completar la operación."
|
||
}
|
||
},
|
||
"processes": {
|
||
"title": "Procesos de personas",
|
||
"templates": "Plantillas de procesos",
|
||
"new": "Nuevo proceso",
|
||
"template": "Plantilla de proceso",
|
||
"newTemplate": "Nueva plantilla de proceso",
|
||
"editTemplate": "Editar plantilla de proceso",
|
||
"globalTemplates": "Estas plantillas son comunes a todas las compañías. Los cambios solo afectan a los procesos que se inicien después.",
|
||
"kind": "Tipo de proceso",
|
||
"onboarding": "Alta",
|
||
"change": "Cambio",
|
||
"offboarding": "Salida",
|
||
"instructions": "Tareas de la plantilla",
|
||
"instructionsHelp": "Una tarea por línea, hasta 100 tareas de 160 caracteres. No repitas una tarea.",
|
||
"copy": "Crear copia",
|
||
"copyOf": "Copia de",
|
||
"history": "Historial",
|
||
"back": "Volver a procesos",
|
||
"search": "Buscar proceso, persona o tipo…",
|
||
"showClosed": "Mostrar también los completados y cancelados",
|
||
"empty": "Todavía no hay procesos registrados.",
|
||
"openDetail": "Abrir proceso",
|
||
"update": "Actualizar seguimiento",
|
||
"refresh": "Añadir nuevas revisiones",
|
||
"progress": "{{resolved}} de {{total}} tareas resueltas",
|
||
"reviewCount": "Se añadirán {{count}} revisiones de los registros actuales de esta persona.",
|
||
"open": "En curso",
|
||
"completed": "Completado",
|
||
"cancelled": "Cancelado",
|
||
"pending": "Pendiente",
|
||
"done": "Revisada",
|
||
"not_applicable": "No procede",
|
||
"taskNotes": "Resultado o notas de la tarea",
|
||
"resolutionHelp": "Revisada significa que has comprobado la tarea. Documenta si se retira, conserva o reasigna el acceso. No cambia cuentas, permisos, configuraciones ni activos.",
|
||
"stillRecorded": "El elemento sigue en la lista de revisión actual de la persona.",
|
||
"notInReview": "El elemento ya no aparece en la revisión actual; verifica el resultado real.",
|
||
"currentReview": "Registros actuales para revisar ({{count}})",
|
||
"currentReviewHelp": "Esta lista se consulta de nuevo en el servidor. Puede contener tareas ya revisadas. Las revisiones nuevas se añaden al proceso con el botón de la cabecera; las anteriores conservan su resultado.",
|
||
"reference": {
|
||
"profile": "Perfil de usuario",
|
||
"asset": "Activo asignado",
|
||
"account": "Relación con cuenta",
|
||
"membership": "Pertenencia a grupo",
|
||
"need": "Necesidad de recurso",
|
||
"mailbox_use": "Uso de correo",
|
||
"mail": "Correo configurado",
|
||
"folder": "Carpeta configurada",
|
||
"printer": "Impresora configurada",
|
||
"application": "Aplicación configurada",
|
||
"certificate": "Certificado configurado",
|
||
"telework": "Autorización de teletrabajo",
|
||
"remote": "Acceso remoto"
|
||
},
|
||
"help": {
|
||
"title": "¿Para qué sirve este proceso?",
|
||
"description": "Organiza las comprobaciones del alta, cambio o salida de una persona.",
|
||
"scope": "El proceso pertenece a esta compañía. Copia su plantilla; los cambios posteriores de la plantilla no lo modifican. Para cambio y salida se añaden revisiones de los registros documentados de la persona.",
|
||
"examples": "Alta: preparar cuentas y perfil. Cambio: revisar y trasladar configuraciones. Salida: recuperar activos y revisar correo, permisos y acceso desde equipos personales.",
|
||
"guidance": "Todas las tareas deben estar revisadas o marcadas No procede para completar el proceso. Los cerrados conservan su historial. Esto documenta el seguimiento; las operaciones sobre cuentas y equipos se realizan en su gestión correspondiente. Las altas rápidas guardadas permanecen si cancelas."
|
||
},
|
||
"templateHelp": {
|
||
"title": "¿Para qué sirve esta plantilla?",
|
||
"description": "Define una lista reutilizable de tareas para altas, cambios o salidas.",
|
||
"scope": "Es global y no contiene datos de personas, compañías, cuentas ni equipos concretos. Se copia al iniciar cada proceso.",
|
||
"examples": "Comprobar cuentas y permisos. Preparar el perfil. Recuperar el equipo. Revisar acceso desde móviles personales.",
|
||
"guidance": "Puedes editar o desactivar plantillas. Desactivar impide iniciar nuevos procesos; los existentes se conservan. Crea una copia si necesitas una variante del procedimiento."
|
||
},
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los campos y las tareas.",
|
||
"PROCESS_TEMPLATE_NOT_FOUND": "No se ha encontrado la plantilla.",
|
||
"PROCESS_TEMPLATE_INACTIVE": "La plantilla está desactivada.",
|
||
"PROCESS_TEMPLATE_DUPLICATE": "Ya existe una plantilla con ese nombre.",
|
||
"PROCESS_PERSON_NOT_FOUND": "Selecciona una persona de esta compañía.",
|
||
"PROCESS_ALREADY_OPEN": "Esta persona ya tiene un proceso de este tipo en curso.",
|
||
"PROCESS_NOT_FOUND": "No se ha encontrado el proceso.",
|
||
"PROCESS_CLOSED": "El proceso cerrado no se puede modificar.",
|
||
"PROCESS_PENDING_TASKS": "Resuelve las tareas pendientes antes de completar el proceso.",
|
||
"PROCESS_TASKS_IMMUTABLE": "Las tareas y sus referencias no se pueden sustituir.",
|
||
"PROCESS_SUBJECT_IMMUTABLE": "La persona y la plantilla inicial no se pueden cambiar.",
|
||
"PROCESS_CONFLICT": "Otro usuario ha actualizado el proceso. Cancela el formulario, recarga la ficha y vuelve a editar.",
|
||
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "Vuelve a iniciar sesión.",
|
||
"UNAUTHENTICATED": "Vuelve a iniciar sesión."
|
||
},
|
||
"delete": "Eliminar proceso",
|
||
"deleteConfirm": "¿Quieres eliminar el proceso «{{name}}»? Esta acción también elimina su historial."
|
||
},
|
||
"remote": {
|
||
"title": "Accesos remotos",
|
||
"new": "Nuevo acceso remoto",
|
||
"edit": "Editar acceso remoto",
|
||
"person": "Persona",
|
||
"sourceKind": "Equipo de origen",
|
||
"company_asset": "Activo de la compañía",
|
||
"personal_computer": "Ordenador personal",
|
||
"personal_mobile": "Móvil personal",
|
||
"sourceAsset": "Activo de origen",
|
||
"targetKind": "Tipo de destino",
|
||
"network": "Red de compañía / sede",
|
||
"asset": "Equipo concreto",
|
||
"resource": "Recurso concreto",
|
||
"target": "Destino",
|
||
"site": "Sede (opcional)",
|
||
"allCompany": "Red de la compañía",
|
||
"method": "Método o herramienta",
|
||
"methodExample": "VPN, RDP, AnyDesk…",
|
||
"requiresVpn": "Necesita una VPN previa",
|
||
"vpnRequired": "Requiere VPN previa",
|
||
"vpnNote": "La conexión VPN necesaria debe comprobarse por separado.",
|
||
"authorizationMissing": "La persona no tiene autorización de teletrabajo vigente. Revisar el acceso existente.",
|
||
"review": "Revisar: retirada pendiente, autorización no vigente o persona, origen o destino no disponibles.",
|
||
"search": "Buscar persona, origen, destino o herramienta…",
|
||
"empty": "Todavía no hay accesos remotos registrados.",
|
||
"showClosed": "Mostrar también los retirados y nunca configurados",
|
||
"fixed": "La persona, el origen y el destino quedan fijos. Para otro recorrido, cierra este acceso y crea uno nuevo.",
|
||
"history": "Historial del acceso",
|
||
"manage": "Gestionar accesos remotos",
|
||
"newAsset": "Nuevo activo",
|
||
"newResource": "Nuevo recurso",
|
||
"help": "¿Para qué sirve este acceso?",
|
||
"description": "Documenta cómo una persona accede desde fuera a la red, a un equipo o a un recurso de la compañía.",
|
||
"scope": "Es un acceso de la persona para trabajar. La asistencia del técnico es independiente. Un equipo personal solo se identifica por su tipo; no se inventaría como activo de la compañía.",
|
||
"examples": "Portátil corporativo → VPN → red de la sede. Ordenador personal → RDP → PC de oficina, con VPN previa. Móvil personal → acceso a un recurso concreto.",
|
||
"guidance": "La herramienta admite nombres propios. Configurado describe el acceso documentado, no concede permiso. Puedes registrar un acceso que siga funcionando aunque la persona ya no esté autorizada; aparecerá para revisión. No se duplican los permisos de carpetas o aplicaciones, ni se establecen o cortan conexiones reales. No guardes contraseñas. Las altas rápidas guardadas permanecen aunque canceles este formulario.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa la persona, el origen, el destino y la herramienta.",
|
||
"REMOTE_TARGET_IMMUTABLE": "La persona, el origen y el destino no se pueden cambiar.",
|
||
"REMOTE_REFERENCE_NOT_FOUND": "Selecciona referencias de esta compañía.",
|
||
"REMOTE_ALREADY_OPEN": "Ya existe un acceso abierto con este origen, destino y herramienta para la persona.",
|
||
"INVALID_REMOTE_TRANSITION": "El cambio de estado no está permitido.",
|
||
"REMOTE_CONNECTION_NOT_FOUND": "No se ha encontrado el acceso.",
|
||
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
||
"UNAUTHENTICATED": "Vuelve a iniciar sesión."
|
||
}
|
||
},
|
||
"telework": {
|
||
"title": "Teletrabajo",
|
||
"authorizations": "Autorizaciones de teletrabajo",
|
||
"new": "Nueva autorización",
|
||
"edit": "Editar autorización de teletrabajo",
|
||
"person": "Persona",
|
||
"active": "Autorización activa",
|
||
"startsOn": "Válida desde (opcional)",
|
||
"expiresOn": "Válida hasta (opcional)",
|
||
"notes": "Notas (opcional)",
|
||
"authorized": "Autorizada",
|
||
"scheduled": "Programada",
|
||
"expired": "Caducada",
|
||
"revoked": "Revocada",
|
||
"empty": "Todavía no hay autorizaciones de teletrabajo.",
|
||
"notRecorded": "No hay autorización de teletrabajo registrada para esta persona.",
|
||
"search": "Buscar persona…",
|
||
"review": "Revisar: la persona está inactiva. Esta autorización no es efectiva.",
|
||
"ineffective": "La autorización no está vigente. Revisa los accesos y configuraciones remotos existentes.",
|
||
"effective": "Autorización vigente para la persona; no demuestra que la conexión remota esté preparada.",
|
||
"noDate": "Sin límite de fecha",
|
||
"fixed": "La persona no puede cambiar. Edita esta autorización para renovarla o revocarla.",
|
||
"history": "Historial de autorización",
|
||
"manage": "Gestionar teletrabajo",
|
||
"help": "¿Para qué sirve esta autorización?",
|
||
"description": "Documenta si una persona puede trabajar fuera de la sede y durante qué periodo.",
|
||
"scope": "La autorización pertenece a la persona de esta compañía y es común a sus perfiles. No concede acceso a Metis Desk ni nuevos permisos sobre los recursos.",
|
||
"examples": "Ana está autorizada sin fecha de fin; Rubén tiene permiso entre el 1 y el 31 de diciembre; al salir de la compañía se revoca conservando el historial.",
|
||
"guidance": "Ambas fechas son opcionales y el último día está incluido. Desactiva la autorización para revocarla. Este registro no configura VPN, no corta conexiones ni retira correos. Una persona nueva guardada permanece aunque canceles este formulario.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los datos y el orden de las fechas.",
|
||
"TELEWORK_PERSON_IMMUTABLE": "La persona de la autorización no se puede cambiar.",
|
||
"TELEWORK_PERSON_NOT_FOUND": "Selecciona una persona de esta compañía.",
|
||
"TELEWORK_PERSON_INACTIVE": "No puedes autorizar teletrabajo a una persona inactiva. Puedes revocar su autorización.",
|
||
"TELEWORK_ALREADY_EXISTS": "Esta persona ya tiene una autorización. Edítala para renovarla o revocarla.",
|
||
"TELEWORK_AUTHORIZATION_NOT_FOUND": "No se ha encontrado la autorización.",
|
||
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
||
"UNAUTHENTICATED": "Vuelve a iniciar sesión."
|
||
}
|
||
},
|
||
"environment": {
|
||
"title": "Entorno actual",
|
||
"description": "Lo que esta persona tiene y necesita en este equipo.",
|
||
"back": "Volver al entorno",
|
||
"manage": "Gestionar",
|
||
"manageSection": "Gestionar {{section}}",
|
||
"equipment": "Equipo y puesto de trabajo",
|
||
"configurations": "Configuraciones del perfil",
|
||
"archived": "Perfil archivado: estas configuraciones conservan su último estado registrado y deben revisarse. No representan un entorno vigente.",
|
||
"personInactive": "La persona está inactiva. Revisa sus configuraciones y accesos.",
|
||
"reviewProfile": "Este perfil necesita revisión. Comprueba persona, equipo y cuenta de inicio de sesión.",
|
||
"device": "Equipo",
|
||
"workstation": "Puesto de trabajo",
|
||
"position": "Puesto de la persona",
|
||
"noStation": "El equipo no pertenece a ningún puesto vigente.",
|
||
"samePerson": "Otros perfiles de esta persona",
|
||
"empty": "No hay configuraciones abiertas en este bloque.",
|
||
"noAttention": "No hay configuraciones pendientes o por revisar en este bloque.",
|
||
"pending": "Por configurar",
|
||
"configured": "Configuradas",
|
||
"removal": "Por retirar",
|
||
"review": "Por revisar",
|
||
"onlyAttention": "Mostrar solo pendientes o por revisar",
|
||
"needsReview": "Requiere revisión",
|
||
"path": "Ruta",
|
||
"drive": "Unidad",
|
||
"default": "Predeterminada",
|
||
"authorization": "Autorización",
|
||
"expiry": "Caducidad",
|
||
"validity": "Vigencia",
|
||
"shared": "Compartido en el puesto",
|
||
"exclusive": "Uso exclusivo en el puesto",
|
||
"retiredAsset": "Activo retirado",
|
||
"profileNotFound": "El perfil no está disponible en esta compañía.",
|
||
"loadError": "No se ha podido cargar el entorno completo. Reintenta para consultar todas sus configuraciones.",
|
||
"loading": "Cargando el entorno…",
|
||
"unknown": "La ausencia de registros no confirma que el equipo esté preparado. Esta ficha muestra información documentada, sin comprobar la configuración real del dispositivo.",
|
||
"unlinkedMail": "Hay {{count}} configuraciones antiguas de correo de esta persona y equipo sin vincular al perfil. Revísalas en Correos en dispositivos de la compañía."
|
||
},
|
||
"certificates": {
|
||
"title": "Certificados del perfil",
|
||
"new": "Configurar certificado",
|
||
"edit": "Editar configuración de certificado",
|
||
"resource": "Certificado digital",
|
||
"newResource": "Nuevo certificado digital",
|
||
"location": "Almacén o ubicación (opcional)",
|
||
"expiryValue": "Caducidad: {{date}}",
|
||
"expired": "Caducado",
|
||
"locationValue": "Ubicación: {{location}}",
|
||
"search": "Buscar certificado, perfil, persona o equipo…",
|
||
"empty": "Todavía no hay certificados registrados en estos perfiles.",
|
||
"review": "Revisar: hay una retirada pendiente, el certificado ha caducado o el recurso, perfil, persona o equipo ya no está disponible.",
|
||
"fixed": "El perfil y el certificado quedan fijos. Para otro destino, cierra esta configuración y crea una nueva.",
|
||
"help": "¿Para qué sirve esta configuración?",
|
||
"description": "Registra qué certificados necesita una persona en el perfil de su equipo y si están listos para usar.",
|
||
"scope": "El certificado es un recurso de la compañía. Titular, emisor y caducidad se gestionan en Recursos; la ubicación y el estado corresponden a este perfil.",
|
||
"examples": "Almacén de Windows del usuario, almacén de Firefox o tarjeta criptográfica. Un certificado puede utilizarse en varios perfiles.",
|
||
"guidance": "Pendiente de configurar indica una necesidad; Configurado indica disponibilidad comprobada. La ubicación puede dejarse vacía. Este registro no instala, autoriza ni retira certificados reales. No adjuntes certificados, claves privadas, PIN o contraseñas. Las altas rápidas guardadas se conservan aunque canceles este formulario.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los datos del formulario.",
|
||
"CERTIFICATE_REFERENCE_NOT_FOUND": "Selecciona un perfil y un recurso de una plantilla de certificado digital de esta compañía.",
|
||
"CERTIFICATE_REFERENCE_UNAVAILABLE": "El certificado ha caducado o el perfil, persona, equipo o recurso no están disponibles para configurar.",
|
||
"CERTIFICATE_TARGET_IMMUTABLE": "El perfil y el certificado no se pueden cambiar.",
|
||
"CERTIFICATE_ALREADY_OPEN": "Este certificado ya tiene una configuración abierta en el perfil.",
|
||
"INVALID_CERTIFICATE_TRANSITION": "El cambio de estado no está permitido.",
|
||
"CERTIFICATE_CONFIGURATION_NOT_FOUND": "No se ha encontrado la configuración.",
|
||
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
||
"UNAUTHENTICATED": "Vuelve a iniciar sesión."
|
||
}
|
||
},
|
||
"applications": {
|
||
"title": "Aplicaciones del perfil",
|
||
"new": "Configurar aplicación",
|
||
"edit": "Editar configuración de aplicación",
|
||
"resource": "Aplicación",
|
||
"newResource": "Nueva aplicación",
|
||
"delivery": "Forma de uso",
|
||
"installed": "Instalada en el equipo",
|
||
"web": "Acceso web",
|
||
"version": "Versión (opcional)",
|
||
"versionValue": "Versión: {{version}}",
|
||
"search": "Buscar aplicación, perfil, persona o equipo…",
|
||
"empty": "Todavía no hay aplicaciones registradas en estos perfiles.",
|
||
"review": "Revisar: hay una retirada pendiente o el recurso, perfil, persona o equipo ya no está disponible.",
|
||
"fixed": "El perfil y la aplicación quedan fijos. Para otro destino, cierra esta configuración y crea una nueva.",
|
||
"help": "¿Para qué sirve esta configuración?",
|
||
"description": "Registra qué aplicaciones necesita una persona en el perfil de su equipo y si están listas para usar.",
|
||
"scope": "La aplicación es un recurso de esta compañía. Su proveedor y URL se gestionan en Recursos; la versión y el estado corresponden a este perfil.",
|
||
"examples": "Thunderbird instalado por petición de Ana; Zoom corporativo instalado; ERP utilizado desde el navegador.",
|
||
"guidance": "Pendiente de configurar indica una necesidad; Configurado indica disponibilidad comprobada. No instala programas ni concede permisos. No exige una licencia o cuenta informática. Las altas rápidas guardadas se conservan aunque canceles este formulario.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa el formulario. La versión solo corresponde a aplicaciones instaladas.",
|
||
"APPLICATION_REFERENCE_NOT_FOUND": "Selecciona un perfil y un recurso de una plantilla de aplicación de esta compañía.",
|
||
"APPLICATION_REFERENCE_UNAVAILABLE": "El perfil, la persona, el equipo o la aplicación no están disponibles para configurar.",
|
||
"APPLICATION_TARGET_IMMUTABLE": "El perfil y la aplicación no se pueden cambiar.",
|
||
"APPLICATION_ALREADY_OPEN": "Esta aplicación ya tiene una configuración abierta en el perfil.",
|
||
"INVALID_APPLICATION_TRANSITION": "El cambio de estado no está permitido.",
|
||
"APPLICATION_CONFIGURATION_NOT_FOUND": "No se ha encontrado la configuración.",
|
||
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
||
"UNAUTHENTICATED": "Vuelve a iniciar sesión."
|
||
}
|
||
},
|
||
"printers": {
|
||
"title": "Impresoras del perfil",
|
||
"new": "Configurar impresora",
|
||
"edit": "Editar configuración de impresora",
|
||
"printer": "Impresora del inventario",
|
||
"newAsset": "Nueva impresora en inventario",
|
||
"connection": "Conexión",
|
||
"usb": "USB",
|
||
"network": "Red",
|
||
"default": "Impresora predeterminada",
|
||
"notDefault": "No predeterminada",
|
||
"search": "Buscar impresora, perfil, persona o equipo…",
|
||
"empty": "Todavía no hay impresoras configuradas en estos perfiles.",
|
||
"review": "Revisar esta configuración: hay una retirada pendiente o el perfil, persona o equipo ya no está disponible.",
|
||
"fixed": "El perfil y la impresora quedan fijos. Para otro destino, retira esta configuración y crea una nueva.",
|
||
"help": "¿Para qué sirve esta configuración?",
|
||
"description": "Documenta qué impresoras necesita una persona en el perfil de su equipo y cómo se conectan.",
|
||
"scope": "La impresora es un activo de la compañía. Configurarla en un perfil no cambia su asignación ni crea una conexión física.",
|
||
"examples": "Ejemplo: impresora de administración por red y Zebra de etiquetas por USB en el portátil de Ana.",
|
||
"guidance": "Selecciona el activo que represente la impresora, cualquiera que sea su plantilla. Puede haber varias impresoras y una sola predeterminada por perfil. Las altas rápidas se conservan aunque canceles este formulario.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los datos del formulario.",
|
||
"PRINTER_REFERENCE_NOT_FOUND": "Selecciona un perfil y una impresora de esta compañía; la impresora debe ser distinta del equipo del perfil.",
|
||
"PRINTER_REFERENCE_UNAVAILABLE": "El perfil, la persona, el equipo o la impresora no están disponibles para configurar.",
|
||
"PRINTER_TARGET_IMMUTABLE": "El perfil y la impresora no se pueden cambiar.",
|
||
"PRINTER_ALREADY_OPEN": "Esta impresora ya tiene una configuración abierta en el perfil.",
|
||
"DEFAULT_PRINTER_EXISTS": "Ya hay otra impresora predeterminada en este perfil. Desmarca primero la anterior.",
|
||
"INVALID_PRINTER_TRANSITION": "El cambio de estado no está permitido.",
|
||
"PRINTER_CONFIGURATION_NOT_FOUND": "No se ha encontrado la configuración de impresora.",
|
||
"COMPANY_NOT_FOUND": "No se ha encontrado la compañía.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"FORBIDDEN": "La sesión no permite esta operación. Vuelve a iniciar sesión.",
|
||
"UNAUTHENTICATED": "Vuelve a iniciar sesión."
|
||
}
|
||
},
|
||
"mail": {
|
||
"title": "Correos en dispositivos",
|
||
"new": "Configurar correo",
|
||
"profile": "Perfil de usuario",
|
||
"legacy": "Registro anterior pendiente de vincular a buzón y perfil.",
|
||
"legacyLink": "Selecciona el perfil de esta persona en este dispositivo y un buzón con la misma dirección. Se conservará el historial anterior:",
|
||
"edit": "Editar configuración",
|
||
"empty": "Todavía no hay correos registrados en dispositivos.",
|
||
"search": "Buscar correo, persona o dispositivo…",
|
||
"person": "Persona",
|
||
"account": "Cuenta informática",
|
||
"asset": "Dispositivo",
|
||
"choose": "Selecciona un valor",
|
||
"address": "Dirección de correo",
|
||
"method": "Método de acceso",
|
||
"state": "Estado",
|
||
"notes": "Notas (opcional)",
|
||
"pop": "POP",
|
||
"imap": "IMAP",
|
||
"exchange": "Exchange",
|
||
"other": "Otro",
|
||
"pending": "Pendiente de configurar",
|
||
"configured": "Configurado",
|
||
"removal_pending": "Pendiente de retirar",
|
||
"removed": "Retirado",
|
||
"never_configured": "No llegó a configurarse",
|
||
"review": "Revisar uso: buzón, perfil, persona, dispositivo o periodo de uso no vigente.",
|
||
"noAuthorization": "Autoriza esta cuenta para la persona antes de guardar una configuración activa.",
|
||
"authorize": "Autorizar cuenta para esta persona",
|
||
"newAccount": "Nueva cuenta",
|
||
"newAsset": "Nuevo dispositivo",
|
||
"newPerson": "Nueva persona",
|
||
"history": "Historial",
|
||
"help": "¿Para qué sirve esta configuración?",
|
||
"description": "Registra qué correo está configurado en cada dispositivo de una persona y cómo se accede a él.",
|
||
"examplesLabel": "Ejemplos y recomendaciones",
|
||
"examples": "Ana: ana@empresa.es por IMAP en su portátil y por Exchange en su móvil; ventas@empresa.es también en el portátil.",
|
||
"guidance": "El uso del buzón por la persona se registra por separado y no exige una cuenta informática. Al retirar un correo, confirma primero que se ha eliminado del dispositivo. No introduzcas contraseñas.",
|
||
"scope": "Puedes registrar varios buzones por persona y varios perfiles por buzón. Los cambios conservan el historial.",
|
||
"fixed": "Buzón y perfil quedan fijados. Para cambiar alguno, retira esta configuración y crea otra.",
|
||
"errors": {
|
||
"MAIL_LEGACY_TARGET_MISMATCH": "La vinculación debe conservar la persona, dispositivo y dirección del registro anterior.",
|
||
"MAILBOX_EXISTS": "Ya existe un buzón con esta dirección.",
|
||
"MAILBOX_SCOPE_MISMATCH": "Todos los elementos deben pertenecer a esta compañía.",
|
||
"MAILBOX_UNAVAILABLE": "El buzón y la persona deben estar activos.",
|
||
"MAILBOX_USE_OVERLAP": "Ya existe un periodo de uso que coincide con estas fechas.",
|
||
"MAILBOX_KIND_IMMUTABLE": "El tipo de buzón queda fijo desde el alta.",
|
||
"MAILBOX_USE_TARGET_IMMUTABLE": "La persona, buzón y fecha de inicio quedan fijos.",
|
||
"MAILBOX_USE_CLOSED": "Este periodo ya está cerrado.",
|
||
"MAILBOX_NOT_FOUND": "El buzón no está disponible.",
|
||
"MAILBOX_USE_NOT_FOUND": "La vinculación no está disponible.",
|
||
"INVALID_PERIOD": "Revisa las fechas del periodo.",
|
||
"INVALID_REQUEST": "Revisa los campos; introduce una dirección de correo válida.",
|
||
"MAIL_SCOPE_MISMATCH": "El buzón y el perfil deben pertenecer a esta compañía.",
|
||
"MAIL_NOT_AUTHORIZED": "El perfil y el buzón deben estar vigentes y la persona debe tener un periodo de uso vigente del buzón.",
|
||
"MAIL_CONFIGURATION_EXISTS": "Ya hay una configuración abierta para este buzón y perfil.",
|
||
"MAIL_TARGET_IMMUTABLE": "Para cambiar buzón o perfil, crea otra configuración.",
|
||
"INVALID_MAIL_TRANSITION": "El cambio de estado no es válido. Un correo configurado pasa primero a pendiente de retirar.",
|
||
"MAIL_CONFIGURATION_NOT_FOUND": "La configuración no está disponible en esta compañía.",
|
||
"COMPANY_NOT_FOUND": "La compañía no está disponible.",
|
||
"UNAUTHENTICATED": "La sesión ha caducado. Vuelve a entrar.",
|
||
"FORBIDDEN": "Recarga la página para autorizar la operación.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo."
|
||
}
|
||
},
|
||
"mailbox": {
|
||
"title": "Buzones de correo",
|
||
"titleSingle": "Buzón",
|
||
"new": "Nuevo buzón",
|
||
"edit": "Editar buzón",
|
||
"empty": "Todavía no hay buzones registrados.",
|
||
"search": "Buscar dirección o contexto",
|
||
"kind": "Tipo de buzón",
|
||
"corporate": "Corporativo",
|
||
"external": "Externo",
|
||
"context": "Contexto (opcional)",
|
||
"account": "Cuenta informática relacionada (opcional)",
|
||
"noAccount": "Sin cuenta relacionada",
|
||
"active": "Buzón activo",
|
||
"linkPerson": "Vincular persona",
|
||
"authorize": "Registrar autorización de uso",
|
||
"recordUse": "Registrar uso de correo externo",
|
||
"useMissing": "Registra primero el periodo de uso de este buzón por la persona del perfil.",
|
||
"start": "Desde",
|
||
"end": "Hasta (opcional; día de fin excluido)",
|
||
"openPeriod": "Sin fecha de fin",
|
||
"closeUse": "Finalizar uso",
|
||
"help": "¿Qué es un buzón de correo?",
|
||
"description": "Un buzón identifica una dirección de correo. Puede utilizarlo más de una persona y configurarse en varios perfiles.",
|
||
"guidance": "El dominio no determina a qué compañía pertenece el buzón. El correo externo puede ser personal, de un cliente, proveedor o colaboración. Relacionar una cuenta informática es opcional y no concede acceso al buzón. El tipo queda fijo desde el alta.",
|
||
"examples": "ana@empresa.es; administracion@otraempresa.es; correo personal utilizado en el portátil. No introduzcas contraseñas.",
|
||
"useHelp": "¿Para qué sirve esta vinculación?",
|
||
"useDescription": "Para buzones corporativos registra la autorización documentada. Para buzones externos registra su uso por la persona, sin afirmar que la compañía es su propietaria.",
|
||
"useGuidance": "El inicio está incluido y el día de fin está excluido. Finalizar conserva el historial y señala para revisión los correos que aún estén configurados. No retira el correo de los equipos automáticamente.",
|
||
"useExamples": "Ana utiliza administracion@empresa.es desde su incorporación; Ana deja de utilizarlo al cambiar de departamento."
|
||
},
|
||
"folders": {
|
||
"title": "Carpetas del perfil",
|
||
"new": "Configurar carpeta",
|
||
"edit": "Editar configuración de carpeta",
|
||
"empty": "Todavía no hay carpetas configuradas en perfiles.",
|
||
"search": "Buscar carpeta, ruta o perfil",
|
||
"need": "Necesidad de acceso",
|
||
"newNeed": "Nueva necesidad de acceso",
|
||
"path": "Ruta compartida",
|
||
"letter": "Letra de unidad (opcional)",
|
||
"noLetter": "Acceso por ruta, sin letra",
|
||
"currentPath": "Ruta actual del recurso",
|
||
"useCurrentPath": "Utilizar la ruta actual",
|
||
"fixed": "Perfil y necesidad quedan fijados desde el alta.",
|
||
"permissions": "Permisos necesarios",
|
||
"covered": "Permisos con cobertura registrada",
|
||
"uncovered": "Hay permisos pendientes de cubrir o revisar.",
|
||
"review": "Revisar: cambió la ruta, terminó la necesidad de acceso o alguno de sus elementos ya no está disponible.",
|
||
"help": "¿Para qué sirve esta configuración?",
|
||
"description": "Registra cómo accede una persona a una carpeta compartida desde un perfil concreto. La necesidad de acceso aporta el recurso y sus permisos; esta ficha documenta la configuración del equipo.",
|
||
"guidance": "La referencia del recurso debe contener una ruta UNC de servidor y carpeta compartida. La letra es opcional y no puede repetirse entre configuraciones abiertas del mismo perfil. Una carpeta mapeada no demuestra que se hayan concedido sus permisos.",
|
||
"examples": "General en SOLETE01, mapeada como G:; Administración como H:; Pedidos como P:. También puedes acceder directamente por la ruta, sin letra de unidad.",
|
||
"scope": "Los cambios conservan ruta, letra, estado, fecha y técnico. Retirar documenta lo comprobado; Metis Desk no cambia permisos ni desmonta unidades en los equipos.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los campos del formulario.",
|
||
"INVALID_FOLDER_PATH": "Introduce una ruta UNC válida en la referencia del recurso.",
|
||
"INVALID_DRIVE_LETTER": "La letra debe ser una sola letra, de A a Z.",
|
||
"FOLDER_SCOPE_MISMATCH": "El perfil y la necesidad deben pertenecer a la compañía y a la misma persona.",
|
||
"FOLDER_TARGET_IMMUTABLE": "Para cambiar perfil o necesidad, crea otra configuración.",
|
||
"FOLDER_UNAVAILABLE": "El perfil, el recurso y la necesidad deben estar vigentes. La ruta debe coincidir con la referencia actual del recurso.",
|
||
"FOLDER_MAPPING_EXISTS": "Ya hay una configuración abierta de esta carpeta en el perfil.",
|
||
"DRIVE_LETTER_IN_USE": "Esta letra ya está reservada por otra carpeta de este perfil.",
|
||
"INVALID_FOLDER_TRANSITION": "El estado no permite ese cambio. Una carpeta configurada pasa primero a pendiente de retirar.",
|
||
"FOLDER_MAPPING_NOT_FOUND": "La configuración no está disponible.",
|
||
"COMPANY_NOT_FOUND": "La compañía no está disponible.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"UNAUTHENTICATED": "La sesión ha caducado.",
|
||
"FORBIDDEN": "Recarga la página para autorizar la operación."
|
||
}
|
||
},
|
||
"profiles": {
|
||
"title": "Perfiles de usuario",
|
||
"new": "Nuevo perfil",
|
||
"edit": "Editar perfil",
|
||
"name": "Nombre del perfil",
|
||
"person": "Persona",
|
||
"asset": "Dispositivo",
|
||
"account": "Cuenta de inicio de sesión (opcional)",
|
||
"noAccount": "Sin cuenta registrada",
|
||
"active": "Perfil vigente",
|
||
"inactive": "Perfil archivado",
|
||
"choose": "Selecciona un elemento",
|
||
"notes": "Notas (opcional)",
|
||
"search": "Buscar por perfil, persona o dispositivo",
|
||
"empty": "Esta compañía todavía no tiene perfiles de usuario.",
|
||
"history": "Ficha e historial",
|
||
"showArchived": "Mostrar también los perfiles archivados",
|
||
"review": "Revisar: la persona, el dispositivo o la cuenta ya no están disponibles para este perfil.",
|
||
"fixed": "La persona y el dispositivo identifican este perfil. Para otro dispositivo o persona, crea un perfil nuevo.",
|
||
"help": "¿Para qué sirve un perfil de usuario?",
|
||
"description": "Identifica el entorno de una persona en un dispositivo concreto. Una persona puede tener varios perfiles y un equipo puede tener perfiles de varias personas.",
|
||
"guidance": "Selecciona el puesto y la persona que utilizará este perfil. El ordenador se obtiene del puesto, y su responsable no se convierte automáticamente en usuario. La cuenta de inicio de sesión es opcional y debe estar autorizada para esa persona.",
|
||
"examplesLabel": "Ejemplos y recomendaciones",
|
||
"examples": "Ana en PORT-ANA-01; Ana en su segundo ordenador; Luis en un ordenador compartido. Cada perfil puede tener varios buzones de correo. Programas y recursos se incorporarán después.",
|
||
"scope": "Todos los elementos pertenecen a esta compañía. Archivar conserva los datos y el historial; no retira accesos ni borra configuraciones en el equipo.",
|
||
"unknownConfiguration": "Programas, carpetas, impresoras y certificados: pendientes de incorporar.",
|
||
"stations": "Puestos que utilizan este dispositivo",
|
||
"noStation": "Este dispositivo no está incluido en un puesto vigente.",
|
||
"accountHint": "Seleccionar la cuenta no la configura en el dispositivo. Su autorización y su configuración se gestionan por separado.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los campos del formulario.",
|
||
"PROFILE_REFERENCE_NOT_FOUND": "La persona, el dispositivo o la cuenta no pertenecen a esta compañía.",
|
||
"PROFILE_REFERENCE_UNAVAILABLE": "La persona o el ordenador principal del puesto no están disponibles, o la cuenta no tiene una autorización vigente para esta persona.",
|
||
"PROFILE_ALREADY_ACTIVE": "Ya existe un perfil vigente de esta persona en este dispositivo.",
|
||
"PROFILE_TARGET_IMMUTABLE": "La persona y el dispositivo de un perfil no pueden cambiar.",
|
||
"PROFILE_NOT_FOUND": "El perfil ya no está disponible.",
|
||
"COMPANY_NOT_FOUND": "La compañía ya no está disponible.",
|
||
"INTERNAL_ERROR": "No se pudo completar la operación. Inténtalo de nuevo."
|
||
},
|
||
"workstation": "Puesto de trabajo",
|
||
"chooseWorkstation": "Selecciona un puesto de trabajo",
|
||
"workstationNeedsComputer": "Edita el puesto e identifica un ordenador principal disponible antes de crear el perfil."
|
||
},
|
||
"companySpaces": "Espacios de compañías",
|
||
"globalCatalogs": "Catálogos globales",
|
||
"dashboard": {
|
||
"title": "Inicio",
|
||
"description": "Resumen de la actividad y las situaciones que requieren atención",
|
||
"indicators": "Indicadores de actividad",
|
||
"activeCompanies": "Compañías activas",
|
||
"openTickets": "Tickets abiertos",
|
||
"pendingInterventions": "Intervenciones pendientes",
|
||
"registeredAssets": "Activos registrados",
|
||
"registeredResources": "Recursos registrados",
|
||
"pendingWork": "Trabajo pendiente",
|
||
"viewAll": "Ver todos",
|
||
"partialWorkError": "No se ha podido cargar una parte del trabajo pendiente.",
|
||
"noPendingWork": "No hay tickets ni intervenciones pendientes.",
|
||
"type": "Tipo",
|
||
"types": {
|
||
"ticket": "Ticket",
|
||
"intervention": "Intervención"
|
||
},
|
||
"attention": "Situaciones que requieren atención",
|
||
"attentionUnavailable": "Esta versión no calcula avisos para los que aún no existe una consulta agregada verificable.",
|
||
"recentActivity": "Actividad reciente",
|
||
"recentActivityDescription": "El último cambio registrado fue el {{date}}.",
|
||
"noRecentActivity": "Todavía no hay actividad registrada.",
|
||
"blockError": "No se ha podido cargar este bloque. Vuelve a entrar en Inicio para reintentarlo.",
|
||
"connected": "Conexión disponible",
|
||
"noAttention": "No hay avisos pendientes.",
|
||
"noMatches": "No hay registros para esta selección.",
|
||
"records": "registros",
|
||
"companySummary": "Resumen por compañías",
|
||
"quickActions": "Acciones rápidas",
|
||
"recordUpdated": "Revisión registrada de {{name}}",
|
||
"chooseCompany": "Selecciona la compañía en la que quieres registrar el elemento.",
|
||
"continue": "Continuar",
|
||
"pendingFilter": "Solo trabajo pendiente",
|
||
"activeOnly": "Solo compañías activas",
|
||
"recordedAt": "Fecha del cambio",
|
||
"recordedBy": "Registrado por",
|
||
"issues": {
|
||
"certificate": "Certificados que caducan en los próximos 30 días",
|
||
"license": "Licencias que caducan en los próximos 30 días",
|
||
"profile": "Perfiles de usuario con referencias pendientes de revisión",
|
||
"missing_site": "Activos sin sede asignada",
|
||
"inactive_person": "Personas inactivas con asignaciones pendientes de revisión"
|
||
},
|
||
"create": {
|
||
"ticket": "Nuevo ticket",
|
||
"intervention": "Nueva intervención",
|
||
"company": "Nueva compañía",
|
||
"asset": "Nuevo activo",
|
||
"resource": "Nuevo recurso"
|
||
}
|
||
},
|
||
"supportWorkspace": "Tu espacio de soporte",
|
||
"workspaceSections": "Secciones del espacio",
|
||
"people": "Personas",
|
||
"newPerson": "Nueva persona",
|
||
"editPerson": "Editar persona",
|
||
"backToPeople": "Volver a personas",
|
||
"generalPosition": "Puesto general (opcional)",
|
||
"emailOptional": "Email (opcional)",
|
||
"phoneOptional": "Teléfono (opcional)",
|
||
"activePerson": "Persona activa",
|
||
"inactivePerson": "Persona inactiva",
|
||
"isContact": "Contacto de la compañía",
|
||
"personHelp": "Esta persona no tiene acceso a Metis Desk. Sus cuentas informáticas se gestionarán por separado.",
|
||
"deactivationHelp": "Se conservarán sus asignaciones e historial. Revisa las pertenencias que continúen abiertas.",
|
||
"inactiveMembershipWarning": "Esta persona está inactiva y conserva asignaciones a departamentos pendientes de revisar.",
|
||
"contactsOnly": "Solo contactos",
|
||
"searchPerson": "Buscar persona",
|
||
"noPeople": "Todavía no hay personas en esta compañía.",
|
||
"currentWorkstations": "Puestos de trabajo actuales",
|
||
"noCurrentWorkstations": "Esta persona no tiene puestos de trabajo activos asignados.",
|
||
"noWorkstationAssets": "Este puesto todavía no tiene activos.",
|
||
"workstationsLoadError": "No se han podido cargar los puestos de trabajo.",
|
||
"departments": "Departamentos",
|
||
"department": "Departamento",
|
||
"newDepartment": "Nuevo departamento",
|
||
"editDepartment": "Editar departamento",
|
||
"activeDepartment": "Departamento activo",
|
||
"inactiveDepartment": "Departamento inactivo",
|
||
"noDepartments": "Todavía no hay departamentos.",
|
||
"departmentDeactivationHelp": "Al desactivarlo se conservan las asignaciones existentes, pero no se admiten nuevas.",
|
||
"departmentAssignments": "Asignaciones a departamentos",
|
||
"addAssignment": "Asignar departamento",
|
||
"editAssignment": "Editar asignación",
|
||
"noAssignments": "Esta persona todavía no tiene departamentos asignados.",
|
||
"chooseDepartment": "Selecciona un departamento",
|
||
"departmentPosition": "Puesto en el departamento (opcional)",
|
||
"startDate": "Fecha de inicio",
|
||
"endDate": "Fecha de fin (opcional)",
|
||
"primary": "Principal",
|
||
"primaryDepartment": "Departamento principal",
|
||
"assignmentHelp": "Sin fecha de fin, la asignación sigue abierta. Para registrar un cambio de puesto con un nuevo periodo, cierra esta asignación y crea la siguiente; puedes usar el mismo día. Las ediciones conservan su historial.",
|
||
"history": "Historial",
|
||
"assignmentHistory": "Historial de la asignación",
|
||
"createDepartmentFirst": "Puedes añadir un departamento desde el formulario de asignación.",
|
||
"yes": "Sí",
|
||
"no": "No",
|
||
"title": "Compañías",
|
||
"help": "Gestiona las empresas clientes, sus personas de contacto y sus sedes.",
|
||
"name": "Nombre",
|
||
"status": "Estado",
|
||
"actions": "Acciones",
|
||
"active": "Activa",
|
||
"inactive": "Inactiva",
|
||
"activeCompany": "Compañía activa",
|
||
"inactiveCompany": "Compañía inactiva",
|
||
"activeContact": "Contacto activo",
|
||
"newCompany": "Nueva compañía",
|
||
"editCompany": "Editar compañía",
|
||
"newContact": "Nuevo contacto",
|
||
"editContact": "Editar contacto",
|
||
"newSite": "Nueva sede",
|
||
"editSite": "Editar sede",
|
||
"contacts": "Contactos",
|
||
"sites": "Sedes",
|
||
"position": "Puesto",
|
||
"email": "Email",
|
||
"phone": "Teléfono",
|
||
"addressOptional": "Dirección (opcional)",
|
||
"addressHelp": "Puedes introducir varias líneas, hasta 10.000 caracteres.",
|
||
"noAddress": "Sin dirección",
|
||
"empty": "Todavía no hay compañías. Crea la primera para añadir contactos y sedes.",
|
||
"noContacts": "Todavía no hay contactos en esta compañía.",
|
||
"noSites": "Todavía no hay sedes en esta compañía.",
|
||
"search": "Buscar compañía",
|
||
"searchPlaceholder": "Nombre de la compañía…",
|
||
"noResults": "No se han encontrado compañías.",
|
||
"companySections": "Información de la compañía",
|
||
"open": "Abrir ficha",
|
||
"edit": "Editar",
|
||
"back": "Volver a compañías",
|
||
"close": "Cerrar edición",
|
||
"cancel": "Cancelar",
|
||
"save": "Guardar",
|
||
"saving": "Guardando…",
|
||
"saved": "Cambios guardados.",
|
||
"loading": "Cargando compañías…",
|
||
"retry": "Reintentar",
|
||
"invalidForm": "Revisa los campos del formulario.",
|
||
"errors": {
|
||
"PERSON_NOT_FOUND": "La persona no pertenece a esta compañía o no está disponible.",
|
||
"DEPARTMENT_NOT_FOUND": "El departamento no pertenece a esta compañía o no está disponible.",
|
||
"DEPARTMENT_NAME_EXISTS": "Ya existe un departamento con ese nombre en esta compañía.",
|
||
"ASSIGNMENT_NOT_FOUND": "La asignación no pertenece a esta persona o no está disponible.",
|
||
"ASSIGNMENT_CONFLICT": "Las fechas se solapan con otra asignación o ya existe un departamento principal. Revisa las asignaciones abiertas.",
|
||
"INACTIVE_ASSIGNMENT_TARGET": "Activa la persona y el departamento antes de crear o reabrir una asignación.",
|
||
"INVALID_REQUEST": "Revisa los datos enviados. El teléfono debe ser un número válido.",
|
||
"COMPANY_NOT_FOUND": "La compañía no está disponible.",
|
||
"CONTACT_NOT_FOUND": "El contacto no pertenece a esta compañía o no está disponible.",
|
||
"SITE_NOT_FOUND": "La sede no pertenece a esta compañía o no está disponible.",
|
||
"UNAUTHENTICATED": "La sesión ha caducado. Vuelve a entrar.",
|
||
"FORBIDDEN": "No se ha podido autorizar la operación. Recarga la página.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación. Inténtalo de nuevo.",
|
||
"INVALID_LOGO": "La imagen no es válida. Usa PNG, JPEG o WebP sin animación.",
|
||
"LOGO_TOO_LARGE": "El logotipo supera el límite: máximo 2 MB y 4096 × 4096 px.",
|
||
"LOGO_NOT_FOUND": "El logotipo ya no está disponible."
|
||
},
|
||
"shell": {
|
||
"catalogs": "Catálogos",
|
||
"tickets": "Tickets",
|
||
"interventions": "Intervenciones"
|
||
},
|
||
"logo": {
|
||
"partialSave": "Los datos de la compañía se han guardado, pero el logotipo no. Puedes corregirlo y volver a guardar sin crear otra compañía.",
|
||
"label": "Logotipo de la compañía",
|
||
"optional": "Opcional. Se muestran las iniciales cuando no hay logotipo.",
|
||
"help": "PNG, JPEG o WebP. Máximo 2 MB y 4096 × 4096 px. Se optimiza a WebP de hasta 128 × 128 px y 64 KB, sin recortar. Se aplica al guardar.",
|
||
"selected": "Seleccionado: {{name}}. Se optimizará al guardar.",
|
||
"removed": "Se quitará el logotipo al guardar.",
|
||
"remove": "Quitar logotipo",
|
||
"undo": "Deshacer cambio de logotipo"
|
||
},
|
||
"deletePerson": "Eliminar persona",
|
||
"deletingPerson": "Eliminando…",
|
||
"deletePersonConfirm": "¿Eliminar a {{name}}? Solo se puede eliminar si no tiene relaciones registradas.",
|
||
"deletePersonError": "No se puede eliminar esta persona porque tiene relaciones registradas.",
|
||
"deleteAssignment": "Eliminar asignación",
|
||
"deletingAssignment": "Eliminando…",
|
||
"deleteAssignmentConfirm": "¿Eliminar la asignación al departamento {{name}}?",
|
||
"deleteAssignmentError": "No se puede eliminar la asignación.",
|
||
"endDateColumn": "Fecha de fin",
|
||
"photoOptional": "Foto (opcional)",
|
||
"deleteRecord": {
|
||
"title": "Eliminar registro",
|
||
"description": "Se eliminarán este registro y su historial. Los activos, recursos, cuentas y personas relacionados se conservarán. Esta acción no se puede deshacer.",
|
||
"pending": "Eliminando…",
|
||
"error": "No se ha podido eliminar el registro. Inténtalo de nuevo."
|
||
},
|
||
"responsibleWorkstations": "Puestos bajo su responsabilidad",
|
||
"usedWorkstations": "Puestos que utiliza",
|
||
"noResponsibleWorkstations": "No es responsable de ningún puesto activo.",
|
||
"noUsedWorkstations": "No tiene perfiles vigentes en los ordenadores principales de puestos activos.",
|
||
"workstationProfilesLoadError": "No se pudieron consultar los perfiles. No se puede determinar qué puestos utiliza.",
|
||
"software": {
|
||
"title": "Software del ordenador",
|
||
"new": "Añadir instalación",
|
||
"edit": "Editar instalación",
|
||
"resource": "Software",
|
||
"type": "Tipo",
|
||
"os": "Sistema operativo",
|
||
"application": "Aplicación",
|
||
"description": "Registra el sistema operativo actual y el software instalado en este ordenador.",
|
||
"help": "La instalación pertenece al ordenador. Las aplicaciones de cada perfil documentan las necesidades y disponibilidad de cada persona. El sistema operativo de fábrica permanece en el activo. No se instalan programas ni se consumen licencias automáticamente.",
|
||
"noComputer": "Designa primero el ordenador principal del puesto.",
|
||
"empty": "No hay instalaciones registradas.",
|
||
"review": "Requiere revisión",
|
||
"loadError": "No se pudieron consultar las instalaciones y los recursos.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los datos de la instalación.",
|
||
"COMPANY_NOT_FOUND": "La compañía no existe.",
|
||
"SOFTWARE_CONFIGURATION_NOT_FOUND": "La instalación no existe.",
|
||
"SOFTWARE_REFERENCE_NOT_FOUND": "El ordenador o el recurso no pertenecen a esta compañía, o el recurso no es software.",
|
||
"SOFTWARE_REFERENCE_UNAVAILABLE": "El ordenador está retirado o el recurso está inactivo.",
|
||
"SOFTWARE_ALREADY_OPEN": "Ya hay una instalación abierta de este software en el ordenador.",
|
||
"SOFTWARE_TARGET_IMMUTABLE": "El ordenador y el recurso no pueden cambiar.",
|
||
"INVALID_SOFTWARE_TRANSITION": "Este cambio de estado no está permitido.",
|
||
"INTERNAL_ERROR": "No se pudo guardar la instalación."
|
||
},
|
||
"examples": "Ejemplos: Windows 11 Pro 24H2, Thunderbird 140 o Microsoft 365 Apps.",
|
||
"showClosed": "Mostrar también las retiradas y nunca configuradas",
|
||
"newOs": "Nuevo sistema operativo"
|
||
}
|
||
},
|
||
"access": {
|
||
"helpTitle": "¿Qué es y para qué sirve?",
|
||
"helpExamples": "Ver ejemplos y recomendaciones",
|
||
"helpButton": "Ayuda",
|
||
"helpClose": "Cerrar",
|
||
"helpGlobalScope": "Ámbito global: estará disponible para todas las compañías. Aquí solo se comparte la definición; las cuentas y los accesos pertenecen a cada compañía.",
|
||
"helpCompanyScope": "Ámbito de compañía: este elemento solo estará disponible en esta compañía. También puedes utilizar los elementos del catálogo global.",
|
||
"helpContent": {
|
||
"system": {
|
||
"description": "Un sistema identifica el servicio o plataforma donde existen cuentas y accesos. Sirve para organizar cuentas, entornos y grupos relacionados.",
|
||
"examples": "Dominio; Microsoft 365; ERP; Brevo; Zoom; Canva.",
|
||
"guidance": "Crea el sistema antes de registrar sus cuentas. No representa una cuenta concreta ni guarda credenciales."
|
||
},
|
||
"resource_type": {
|
||
"description": "Un tipo de recurso clasifica los elementos a los que se puede acceder. Permite definir qué permisos tienen sentido para cada clase.",
|
||
"examples": "Carpeta compartida; aplicación; impresora.",
|
||
"guidance": "Define primero el tipo y después sus permisos. Una carpeta concreta se registra como recurso."
|
||
},
|
||
"permission": {
|
||
"description": "Un permiso define una acción posible sobre un tipo de recurso. Después puedes concederlo a una cuenta o a un grupo.",
|
||
"examples": "Lectura o modificación para carpetas; uso para impresoras.",
|
||
"guidance": "Selecciona el tipo de recurso al que corresponde. Registrar el permiso no lo concede a nadie."
|
||
},
|
||
"template": {
|
||
"description": "Una plantilla de grupo facilita crear grupos similares en distintas compañías, usando un nombre y una descripción comunes.",
|
||
"examples": "Administración; Dirección; Soporte.",
|
||
"guidance": "Copia valores iniciales al crear un grupo. Cada compañía conserva sus miembros y accesos; los cambios posteriores en la plantilla no se propagan."
|
||
},
|
||
"environment": {
|
||
"description": "Un entorno distingue instalaciones o ámbitos dentro de un mismo sistema.",
|
||
"examples": "ERP → Producción y Pruebas; Dominio → Oficina.",
|
||
"guidance": "Usa un entorno cuando necesites diferenciar cuentas o grupos del mismo sistema. Pertenece a esta compañía."
|
||
},
|
||
"account": {
|
||
"description": "Una cuenta es la identidad utilizada para iniciar sesión en un sistema de la compañía. Puede ser personal, compartida o técnica.",
|
||
"examples": "ana.garcia en Dominio; administracion@example.com en Microsoft 365; svc_backup como cuenta técnica.",
|
||
"guidance": "Después vincula las personas correspondientes. La caducidad es opcional. No se almacenan contraseñas ni se crea acceso a Metis Desk."
|
||
},
|
||
"account_person": {
|
||
"description": "Esta relación indica quién utiliza una cuenta o quién es responsable de ella, conservando sus periodos e historial.",
|
||
"examples": "Ana como titular de ana.garcia; Ana y Luis autorizados a usar administracion@example.com.",
|
||
"guidance": "Una cuenta personal tiene un titular; una compartida admite varias personas; una técnica puede tener un responsable. Configuración refleja el trabajo técnico realizado."
|
||
},
|
||
"group": {
|
||
"description": "Un grupo reúne cuentas del mismo sistema para gestionar accesos conjuntamente. Pertenece a una compañía.",
|
||
"examples": "Grupo Administración del dominio; grupo Ventas del ERP.",
|
||
"guidance": "Puedes partir de una plantilla global. Añade cuentas mediante pertenencias y concede permisos al grupo. No hay grupos dentro de otros grupos."
|
||
},
|
||
"membership": {
|
||
"description": "Una pertenencia vincula una cuenta con un grupo durante un periodo. Sirve para justificar los accesos obtenidos mediante ese grupo.",
|
||
"examples": "ana.garcia pertenece al grupo Administración desde su incorporación.",
|
||
"guidance": "Indica si está pendiente de configurar o ya configurada. Cerrar el periodo puede dejar pendiente retirar el acceso real."
|
||
},
|
||
"resource": {
|
||
"description": "Un recurso es un elemento concreto al que una cuenta o un grupo puede acceder.",
|
||
"examples": "Carpeta Administración con referencia \\\\SERVIDOR\\Administracion; aplicación ERP; impresora Recepción.",
|
||
"guidance": "Selecciona su tipo. Después registra las concesiones de permisos. Esta ficha no configura el recurso real."
|
||
},
|
||
"grant": {
|
||
"description": "Una concesión registra un permiso otorgado a una cuenta o a un grupo sobre un recurso concreto.",
|
||
"examples": "Grupo Administración → modificación → carpeta Administración.",
|
||
"guidance": "Elige cuenta o grupo como destinatario. La autorización y su configuración técnica se registran por separado."
|
||
},
|
||
"need": {
|
||
"description": "Una necesidad describe qué acceso requiere una persona para trabajar. Sirve para comprobar si sus cuentas y grupos lo cubren.",
|
||
"examples": "Ana necesita lectura y modificación sobre la carpeta Administración.",
|
||
"guidance": "Selecciona los permisos requeridos y después vincula su cobertura. Registrar la necesidad no concede acceso."
|
||
},
|
||
"coverage": {
|
||
"description": "Una cobertura vincula una necesidad con la vía que proporciona sus permisos: una concesión directa o a través de un grupo.",
|
||
"examples": "La necesidad de Ana se cubre mediante ana.garcia → grupo Administración → permiso de modificación.",
|
||
"guidance": "Se comprueba que la vía sea vigente y esté configurada. Si faltan permisos o hay accesos pendientes, la necesidad sigue requiriendo revisión."
|
||
},
|
||
"company": {
|
||
"description": "Una compañía reúne las personas, sedes, cuentas y recursos que gestionas para una organización.",
|
||
"examples": "Talleres Rivera; Asesoría Norte.",
|
||
"guidance": "Activa indica si la compañía está en uso. Su información se conserva cuando se desactiva."
|
||
},
|
||
"person": {
|
||
"description": "Una persona pertenece a una compañía y puede ser contacto, utilizar cuentas y estar asignada a departamentos.",
|
||
"examples": "Ana García; puesto general: Responsable de administración.",
|
||
"guidance": "Esta ficha no da acceso a Metis Desk. Una persona puede pertenecer a varios departamentos con un puesto diferente en cada uno."
|
||
},
|
||
"department": {
|
||
"description": "Un departamento organiza las personas dentro de una compañía.",
|
||
"examples": "Administración; Ventas; Soporte.",
|
||
"guidance": "Las pertenencias se añaden desde la ficha de la persona. No se conceden permisos informáticos por pertenecer a un departamento."
|
||
},
|
||
"site": {
|
||
"description": "Una sede representa una ubicación de la compañía.",
|
||
"examples": "Oficina central; Almacén; dirección: Calle Mayor 12, 28013 Madrid; teléfono: +34 900 123 456.",
|
||
"guidance": "La dirección y el teléfono son opcionales; la dirección admite varias líneas."
|
||
},
|
||
"assignment": {
|
||
"description": "Una asignación registra la pertenencia de una persona a un departamento, su puesto y su periodo.",
|
||
"examples": "Ana → Administración → Contable; también pertenece a Compras como Responsable.",
|
||
"guidance": "El puesto en el departamento puede ser diferente del puesto general. Puedes indicar cuál es su departamento principal y conservar el historial."
|
||
}
|
||
},
|
||
"quickAddPerson": "Nueva persona",
|
||
"quickAddEntry": "Añadir: {{name}}",
|
||
"quickGlobalNotice": "Se guardará en el catálogo global y estará disponible para todas las compañías, aunque canceles el formulario principal.",
|
||
"quickExisting": "Ya existe un elemento activo con este nombre. Puedes seleccionarlo sin crear otro.",
|
||
"quickUseExisting": "Usar existente",
|
||
"quickAddSystem": "Añadir sistema",
|
||
"quickAddEnvironment": "Añadir entorno",
|
||
"quickSaveSelect": "Guardar y seleccionar",
|
||
"quickEnvironmentContext": "Sistema: {{name}}",
|
||
"quickCreateNotice": "Se guardará en el catálogo de esta compañía, aunque después canceles el formulario principal.",
|
||
"title": "Cuentas y accesos",
|
||
"catalogTitle": "Catálogos informáticos",
|
||
"catalogHelp": "Definiciones comunes para todas las compañías. Las compañías pueden añadir sus propios elementos.",
|
||
"workspaceHelp": "Cuentas, grupos, recursos y necesidades de esta compañía.",
|
||
"sections": "Secciones de cuentas y accesos",
|
||
"newSystem": "Nuevo sistema",
|
||
"newResourceType": "Nuevo tipo de recurso",
|
||
"newPermission": "Nuevo permiso",
|
||
"newTemplate": "Nueva plantilla de grupo",
|
||
"newEnvironment": "Nuevo entorno",
|
||
"newAccount": "Nueva cuenta",
|
||
"newAccountPerson": "Vincular persona",
|
||
"newGroup": "Nuevo grupo",
|
||
"newMembership": "Añadir cuenta a grupo",
|
||
"newResource": "Nuevo recurso",
|
||
"newGrant": "Conceder permiso",
|
||
"newNeed": "Nueva necesidad",
|
||
"newCoverage": "Vincular cobertura",
|
||
"name": "Nombre",
|
||
"active": "Activo",
|
||
"inactive": "Inactivo",
|
||
"state": "Estado",
|
||
"actions": "Acciones",
|
||
"edit": "Editar",
|
||
"history": "Historial",
|
||
"global": "Global",
|
||
"search": "Buscar",
|
||
"empty": "Todavía no hay elementos en esta sección.",
|
||
"choose": "Selecciona una opción",
|
||
"optional": " (opcional)",
|
||
"save": "Guardar",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar",
|
||
"close": "Cerrar",
|
||
"back": "Volver al listado",
|
||
"loading": "Cargando…",
|
||
"retry": "Reintentar",
|
||
"systemId": "Sistema",
|
||
"environmentId": "Entorno",
|
||
"resourceTypeId": "Tipo de recurso",
|
||
"description": "Descripción",
|
||
"login": "Identificador de acceso",
|
||
"usage": "Uso",
|
||
"expiresOn": "Fecha de caducidad",
|
||
"notes": "Observaciones",
|
||
"accountId": "Cuenta",
|
||
"personId": "Persona",
|
||
"groupId": "Grupo",
|
||
"identifier": "Identificador en el sistema",
|
||
"templateId": "Plantilla global",
|
||
"resourceId": "Recurso",
|
||
"permissionId": "Permiso",
|
||
"permissionIds": "Permisos necesarios",
|
||
"reference": "Ubicación o referencia",
|
||
"needId": "Necesidad",
|
||
"grantId": "Permiso concedido",
|
||
"accountPersonId": "Relación de la persona con la cuenta",
|
||
"membershipId": "Pertenencia a grupo",
|
||
"startDate": "Fecha de inicio",
|
||
"endDate": "Fecha de fin",
|
||
"configuration": "Configuración",
|
||
"personal": "Personal",
|
||
"shared": "Compartida",
|
||
"technical": "Técnica",
|
||
"pending": "Pendiente de configurar",
|
||
"configured": "Configurada",
|
||
"removal_pending": "Pendiente de retirar",
|
||
"removed": "Retirada",
|
||
"never_configured": "Cerrada sin configurar",
|
||
"open": "Abierta",
|
||
"covered": "Cubierta",
|
||
"notCovered": "Sin cubrir",
|
||
"missingPermissions": "Permisos pendientes",
|
||
"review": "Revisión",
|
||
"actor": "Registrado por",
|
||
"yes": "Sí",
|
||
"no": "No",
|
||
"noPermissions": "Define primero permisos para el tipo de recurso seleccionado.",
|
||
"invalid": "Revisa los campos obligatorios y sus formatos.",
|
||
"accountHelp": "Estas cuentas no permiten entrar en Metis Desk. Sistema, entorno y uso quedan fijos desde el alta. Las contraseñas no se almacenan aquí.",
|
||
"coverageHelp": "Vincula la necesidad con un permiso y la relación de la persona con la cuenta. Si el permiso viene de un grupo, selecciona también su pertenencia.",
|
||
"templateHelp": "La plantilla facilita el alta de grupos. Sus cambios no modifican grupos existentes.",
|
||
"formHelp": "Los cambios conservan el historial. Sin fecha de fin, la relación permanece abierta.",
|
||
"configurationHelp": "Al cerrar una relación configurada quedará pendiente su retirada. Guarda primero el cierre y después confirma la retirada cuando se haya realizado.",
|
||
"kinds": {
|
||
"system": "Sistemas",
|
||
"resource_type": "Tipos de recurso",
|
||
"permission": "Permisos disponibles",
|
||
"template": "Plantillas de grupos",
|
||
"environment": "Entornos",
|
||
"account": "Cuentas",
|
||
"account_person": "Personas y cuentas",
|
||
"group": "Grupos",
|
||
"membership": "Miembros de grupos",
|
||
"resource": "Recursos",
|
||
"grant": "Permisos concedidos",
|
||
"need": "Necesidades",
|
||
"coverage": "Cobertura"
|
||
},
|
||
"reviews": {
|
||
"incomplete": "Pendiente de completar",
|
||
"expired": "Caducada: revisar",
|
||
"inactive_person": "Persona inactiva: revisar",
|
||
"inactive_target": "Destino inactivo o caducado: revisar",
|
||
"unjustified": "Acceso sin necesidad cubierta: revisar",
|
||
"uncovered": "Necesidad pendiente de cubrir",
|
||
"pending_configuration": "Configuración pendiente",
|
||
"pending_removal": "Retirada pendiente",
|
||
"inactive_catalog": "Elemento de catálogo inactivo: revisar"
|
||
},
|
||
"errors": {
|
||
"INVALID_REQUEST": "Revisa los datos y el estado de configuración.",
|
||
"ACCESS_NOT_FOUND": "No se encuentra el elemento.",
|
||
"COMPANY_NOT_FOUND": "No se encuentra la compañía.",
|
||
"ACCESS_CONFLICT": "Ya existe un elemento equivalente o se solapan los periodos.",
|
||
"INACTIVE_TARGET": "El elemento o persona seleccionado está inactivo o caducado.",
|
||
"IMMUTABLE_FIELDS": "No se pueden cambiar las relaciones o campos fijos de este elemento.",
|
||
"SCOPE_MISMATCH": "Los elementos no pertenecen al ámbito, sistema o entorno compatibles.",
|
||
"UNAUTHENTICATED": "Inicia sesión para continuar.",
|
||
"FORBIDDEN": "No se puede realizar esta operación.",
|
||
"INTERNAL_ERROR": "No se ha podido completar la operación."
|
||
}
|
||
}
|
||
}
|