Files
MIS-Contro-Tower/lib/i18n/es-MX.json
2026-05-06 00:36:48 +00:00

682 lines
35 KiB
JSON

{
"---": "---",
"common.loading": "Cargando...",
"common.loadingShort": "Cargando",
"common.never": "nunca",
"common.na": "--",
"common.back": "Volver",
"common.cancel": "Cancelar",
"common.close": "Cerrar",
"common.save": "Guardar",
"common.copy": "Copiar",
"common.yes": "Sí",
"common.no": "No",
"nav.overview": "Resumen",
"nav.machines": "Máquinas",
"nav.reports": "Reportes",
"nav.alerts": "Alertas",
"nav.financial": "Finanzas",
"nav.settings": "Configuración",
"sidebar.productTitle": "MIS",
"sidebar.productSubtitle": "Control Tower",
"sidebar.userFallback": "Usuario",
"sidebar.loadingOrg": "Cargando...",
"sidebar.themeTooltip": "Tema e idioma",
"sidebar.switchToDark": "Cambiar a modo oscuro",
"sidebar.switchToLight": "Cambiar a modo claro",
"sidebar.logout": "Cerrar sesión",
"sidebar.role.member": "MIEMBRO",
"sidebar.role.admin": "ADMIN",
"sidebar.role.owner": "PROPIETARIO",
"login.title": "Control Tower",
"login.subtitle": "Inicia sesión en tu organización",
"login.email": "Correo electrónico",
"login.password": "Contraseña",
"login.error.default": "Inicio de sesión fallido",
"login.error.network": "Error de red",
"login.submit.loading": "Iniciando sesión...",
"login.submit.default": "Iniciar sesión",
"login.newHere": "¿Nuevo aquí?",
"login.createAccount": "Crear cuenta",
"signup.verify.title": "Verifica tu correo",
"signup.verify.sent": "Enviamos un enlace de verificación a {email}.",
"signup.verify.failed": "No se pudo enviar el correo de verificación. Contacta a soporte.",
"signup.verify.notice": "Después de verificar, puedes iniciar sesión e invitar a tu equipo.",
"signup.verify.back": "Volver al inicio de sesión",
"signup.title": "Crea tu Control Tower",
"signup.subtitle": "Configura tu organización e invita al equipo.",
"signup.orgName": "Nombre de la organización",
"signup.yourName": "Tu nombre",
"signup.email": "Correo electrónico",
"signup.password": "Contraseña",
"signup.error.default": "Registro fallido",
"signup.error.network": "Error de red",
"signup.submit.loading": "Creando cuenta...",
"signup.submit.default": "Crear cuenta",
"signup.alreadyHave": "¿Ya tienes acceso?",
"signup.signIn": "Iniciar sesión",
"invite.loading": "Cargando invitación...",
"invite.notFound": "Invitación no encontrada.",
"invite.joinTitle": "Únete a {org}",
"invite.acceptCopy": "Acepta la invitación para {email} como {role}.",
"invite.yourName": "Tu nombre",
"invite.password": "Contraseña",
"invite.error.notFound": "Invitación no encontrada",
"invite.error.acceptFailed": "No se pudo aceptar la invitación",
"invite.submit.loading": "Uniéndote...",
"invite.submit.default": "Unirse a la organización",
"overview.title": "Resumen",
"overview.subtitle": "Pulso de flota, alertas y elementos prioritarios.",
"overview.viewMachines": "Ver Máquinas",
"overview.loading": "Cargando resumen...",
"overview.fleetHealth": "Salud de flota",
"overview.machinesTotal": "Máquinas totales",
"overview.online": "En línea",
"overview.offline": "Fuera de línea",
"overview.run": "En marcha",
"overview.idle": "En espera",
"overview.stop": "Paro",
"overview.productionTotals": "Totales de producción",
"overview.good": "Buenas",
"overview.scrap": "Scrap",
"overview.target": "Meta",
"overview.kpiSumNote": "Suma de los últimos KPIs por máquina.",
"overview.activityFeed": "Actividad",
"overview.eventsRefreshing": "Actualizando eventos recientes...",
"overview.eventsLast30": "Últimos 30 eventos combinados",
"overview.eventsNone": "Sin eventos recientes.",
"overview.oeeAvg": "OEE (avg)",
"overview.availabilityAvg": "Availability (avg)",
"overview.performanceAvg": "Performance (avg)",
"overview.qualityAvg": "Quality (avg)",
"overview.attentionList": "Lista de atención",
"overview.shown": "mostrados",
"overview.noUrgent": "No se detectaron problemas urgentes.",
"overview.timeline": "Línea de tiempo unificada",
"overview.items": "elementos",
"overview.noEvents": "Sin eventos aún.",
"overview.ack": "ACK",
"overview.severity.critical": "CRÍTICO",
"overview.severity.warning": "ADVERTENCIA",
"overview.severity.info": "INFO",
"overview.source.ingested": "ingestado",
"overview.source.derived": "derivado",
"overview.event.macrostop": "macroparo",
"overview.event.microstop": "microparo",
"overview.event.slow-cycle": "ciclo lento",
"overview.attention.offline": "Sin señal",
"overview.attention.stopped": "Detenida ahora",
"overview.attention.oeeCritical": "OEE crítica: {value}%",
"overview.attention.oeeLow": "OEE baja: {value}%",
"overview.attention.scrapHigh": "Scrap alto: {value}%",
"overview.attention.scrapMod": "Scrap elevado: {value}%",
"overview.attention.availLow": "Disponibilidad baja: {value}%",
"overview.status.offline": "FUERA DE LÍNEA",
"overview.status.online": "EN LÍNEA",
"overview.recap.title": "Resumen diario de turno",
"overview.recap.subtitle": "Consulta producción, paros y órdenes en una sola vista.",
"overview.recap.cta": "Abrir resumen diario",
"recap.title": "Resumen",
"recap.subtitle": "Últimas 24h",
"recap.card.stoppedFor": "Detenida hace {min} min",
"machines.status.stopped": "DETENIDA",
"machines.stoppedFor": "Detenida hace {min} min",
"recap.status.idle": "Inactiva",
"recap.card.idle": "Sin orden de trabajo activa",
"recap.grid.title": "Resumen de máquinas",
"recap.grid.subtitle": "Últimas 24h · click para ver detalle",
"recap.grid.updatedAgo": "Actualizado hace {sec}s",
"recap.grid.empty": "No hay máquinas que coincidan con los filtros.",
"recap.detail.back": "Todas las máquinas",
"recap.allMachines": "Todas las máquinas",
"recap.filter.allLocations": "Todas las ubicaciones",
"recap.filter.allStatuses": "Todos los estados",
"recap.status.running": "En marcha",
"recap.status.moldChange": "Cambio de molde",
"recap.status.stopped": "Detenida",
"recap.status.offline": "Sin señal",
"recap.range.24h": "24h",
"recap.range.shift": "Turno",
"recap.range.shiftCurrent": "Turno actual",
"recap.range.yesterday": "Ayer",
"recap.range.custom": "Personalizado",
"recap.range.apply": "Aplicar",
"recap.range.shiftUnavailable": "Turno actual no disponible porque no hay turnos configurados.",
"recap.range.shiftFallbackUnavailable": "Turno actual no disponible. Mostrando últimas 24h.",
"recap.range.shiftFallbackInactive": "No hay turno activo en este momento. Mostrando últimas 24h.",
"recap.shift.1": "Turno 1",
"recap.shift.2": "Turno 2",
"recap.shift.3": "Turno 3",
"recap.kpi.oee": "OEE promedio 24h",
"recap.kpi.oee24h": "OEE promedio 24h",
"recap.kpi.oeeShift": "OEE del turno",
"recap.kpi.oeeYesterday": "OEE ayer",
"recap.kpi.oeeCustom": "OEE rango personalizado",
"recap.kpi.noData": "Sin datos de KPI",
"recap.kpi.good": "Buenas",
"recap.kpi.stops": "Paros totales (min)",
"recap.kpi.scrap": "Scrap",
"recap.card.oee": "OEE promedio 24h",
"recap.card.good": "Piezas buenas",
"recap.card.scrap": "Scrap",
"recap.card.stops": "Paros",
"recap.card.noProduction": "Sin producción",
"recap.card.lastActivity": "Última actividad hace {min} min",
"recap.card.activeWorkOrder": "WO activa: {id}",
"recap.card.moldChangeActive": "Cambio de molde en curso · {min}m",
"recap.card.desynced": "CT desincronizado",
"recap.production.title": "Producción por SKU",
"recap.production.bySku": "Producción por SKU",
"recap.production.sku": "SKU",
"recap.production.good": "Buenas",
"recap.production.scrap": "Scrap",
"recap.production.target": "Meta",
"recap.production.progress": "Avance%",
"recap.downtime.title": "Top downtime",
"recap.downtime.top": "Top paros",
"recap.workOrders.title": "Órdenes de trabajo",
"recap.workOrders.active": "Activa",
"recap.workOrders.completed": "Completadas",
"recap.workOrders.none": "Sin producción registrada",
"recap.workOrders.sku": "SKU",
"recap.workOrders.startedAt": "Inicio",
"recap.workOrders.goodParts": "Buenas",
"recap.workOrders.duration": "Duración",
"recap.machine.title": "Estado máquina",
"recap.machine.running": "En marcha",
"recap.machine.stopped": "Detenida",
"recap.machine.mold": "Cambio de molde",
"recap.machine.online": "Conectada",
"recap.machine.offline": "Sin conexión",
"recap.machine.lastHeartbeat": "Último heartbeat",
"recap.machine.uptime": "Uptime",
"recap.banner.mold": "Cambio de molde en curso desde",
"recap.banner.moldChange": "Cambio de molde en curso desde {time}",
"recap.banner.offline": "Sin señal hace {min} min",
"recap.banner.ongoingStop": "Máquina detenida hace {min} min",
"recap.banner.stopped": "Máquina detenida hace {minutes} min",
"recap.timeline.title": "Timeline",
"recap.timeline.noData": "Sin datos de línea de tiempo",
"recap.timeline.type.production": "Producción",
"recap.timeline.type.moldChange": "Cambio de molde",
"recap.timeline.type.macrostop": "Macroparo",
"recap.timeline.type.microstop": "Microparo",
"recap.timeline.type.idle": "Idle",
"recap.empty.production": "Sin producción registrada",
"machines.title": "Máquinas",
"machines.subtitle": "Selecciona una máquina para ver KPIs en vivo.",
"machines.cancel": "Cancelar",
"machines.addMachine": "Agregar máquina",
"machines.backOverview": "Volver al Resumen",
"machines.addCardTitle": "Agregar máquina",
"machines.addCardSubtitle": "Genera el ID de máquina y la API key para tu edge Node-RED.",
"machines.field.name": "Nombre de la máquina",
"machines.field.code": "Código (opcional)",
"machines.field.location": "Ubicación (opcional)",
"machines.create.loading": "Creando...",
"machines.create.default": "Crear máquina",
"machines.create.error.nameRequired": "El nombre de la máquina es obligatorio",
"machines.create.error.failed": "No se pudo crear la máquina",
"machines.delete": "Eliminar",
"machines.delete.loading": "Eliminando...",
"machines.delete.confirm": "¿Eliminar {name}? Esto borrará la máquina y sus datos.",
"machines.delete.error.failed": "No se pudo eliminar la máquina",
"machines.pairing.title": "Código de emparejamiento",
"machines.pairing.machine": "Máquina:",
"machines.pairing.codeLabel": "Código de emparejamiento",
"machines.pairing.expires": "Expira",
"machines.pairing.soon": "pronto",
"machines.pairing.instructions": "Ingresa este código en la pantalla de configuración de Node-RED Control Tower para vincular el dispositivo.",
"machines.pairing.copy": "Copiar código",
"machines.pairing.copied": "Copiado",
"machines.pairing.copyUnsupported": "Copiar no disponible",
"machines.pairing.copyFailed": "Falló la copia",
"machines.loading": "Cargando máquinas...",
"machines.empty": "No se encontraron máquinas para esta organización.",
"machines.status": "Estado",
"machines.status.noHeartbeat": "Sin heartbeat",
"machines.status.ok": "Latido",
"machines.status.offline": "FUERA DE LÍNEA",
"machines.status.unknown": "DESCONOCIDO",
"machines.lastSeen": "Visto hace {time}",
"machine.detail.titleFallback": "Máquina",
"machine.detail.lastSeen": "Visto hace {time}",
"machine.detail.loading": "Cargando...",
"machine.detail.error.failed": "No se pudo cargar la máquina",
"machine.detail.error.network": "Error de red",
"machine.detail.back": "Volver",
"machine.detail.workOrders.upload": "Subir ordenes de trabajo",
"machine.detail.workOrders.downloadTemplate": "Descargar plantilla",
"machine.detail.workOrders.uploading": "Subiendo...",
"machine.detail.workOrders.uploadParsing": "Leyendo archivo...",
"machine.detail.workOrders.uploadHint": "CSV o XLSX: Work Order ID, SKU, Theoretical Cycle Time (Seconds), Target Quantity, Molde, Total de cavidades, Cavidades activas (los primeros cuatro campos bastan para archivos antiguos).",
"machine.detail.workOrders.uploadSuccess": "Se cargaron {count} ordenes de trabajo",
"machine.detail.workOrders.uploadError": "No se pudo cargar",
"machine.detail.workOrders.uploadInvalid": "No se encontraron ordenes de trabajo validas",
"machine.detail.workOrders.uploadUnauthorized": "No autorizado para cargar ordenes de trabajo",
"machine.detail.status.offline": "FUERA DE LÍNEA",
"machine.detail.status.unknown": "DESCONOCIDO",
"machine.detail.status.run": "EN MARCHA",
"machine.detail.status.idle": "EN ESPERA",
"machine.detail.status.stop": "PARO",
"machine.detail.status.down": "CAÍDA",
"machine.detail.bucket.normal": "Ciclo normal",
"machine.detail.bucket.slow": "Ciclo lento",
"machine.detail.bucket.microstop": "Microparo",
"machine.detail.bucket.macrostop": "Macroparo",
"machine.detail.bucket.unknown": "Desconocido",
"machine.detail.activity.title": "Línea de tiempo de actividad",
"machine.detail.activity.subtitle": "Análisis en tiempo real de ciclos de producción",
"machine.detail.activity.windowBadge": "1h",
"machine.detail.activity.windowModalTitle": "Ventana de timeline",
"machine.detail.activity.windowModalBody": "Este timeline siempre muestra la última 1 hora de actividad de la máquina.",
"machine.detail.activity.noData": "Sin datos de línea de tiempo.",
"machine.detail.tooltip.cycle": "Ciclo: {label}",
"machine.detail.tooltip.duration": "Duración",
"machine.detail.tooltip.ideal": "Ideal",
"machine.detail.tooltip.deviation": "Desviación",
"machine.detail.kpi.oeeCurrent": "OEE actual",
"machine.detail.kpi.updated": "Actualizado {time}",
"machine.detail.currentWorkOrder": "Orden de trabajo actual",
"machine.detail.recentEvents": "Eventos críticos",
"machine.detail.noEvents": "Sin eventos aún.",
"machine.detail.cycleTarget": "Ciclo objetivo",
"machine.detail.mini.events": "Eventos detectados",
"machine.detail.mini.events.subtitle": "Eventos canónicos (todos)",
"machine.detail.mini.deviation": "Ciclo real vs estándar",
"machine.detail.mini.deviation.subtitle": "Desviación promedio",
"machine.detail.mini.impact": "Impacto en producción",
"machine.detail.mini.impact.subtitle": "Tiempo extra vs ideal",
"machine.detail.modal.events": "Eventos detectados",
"machine.detail.modal.deviation": "Ciclo real vs estándar",
"machine.detail.modal.impact": "Impacto en producción",
"machine.detail.modal.standardCycle": "Ciclo estándar (ideal)",
"machine.detail.modal.avgDeviation": "Desviación promedio",
"machine.detail.modal.sample": "Muestra",
"machine.detail.modal.cycles": "ciclos",
"machine.detail.modal.tip": "Tip: la línea tenue es el ideal. Cada punto es un ciclo real.",
"machine.detail.modal.totalExtra": "Tiempo extra total",
"machine.detail.modal.microstops": "Microparos",
"machine.detail.modal.macroStops": "Macroparos",
"machine.detail.modal.extraTimeLabel": "Tiempo extra",
"machine.detail.modal.extraTimeNote": "Esto es \"tiempo perdido\" vs ideal, distribuido por tipo de evento.",
"reports.title": "Reportes",
"reports.subtitle": "Tendencias, paros y analítica de calidad por máquina.",
"reports.exportCsv": "Exportar CSV",
"reports.exportPdf": "Exportar PDF",
"reports.filters": "Filtros",
"reports.rangeLabel.last24": "Últimas 24 horas",
"reports.rangeLabel.last7": "Últimos 7 días",
"reports.rangeLabel.last30": "Últimos 30 días",
"reports.rangeLabel.custom": "Rango personalizado",
"reports.filter.range": "Rango",
"reports.filter.machine": "Máquina",
"reports.filter.workOrder": "Orden de trabajo",
"reports.filter.sku": "SKU",
"reports.filter.allMachines": "Todas las máquinas",
"reports.filter.allWorkOrders": "Todas las órdenes",
"reports.filter.allSkus": "Todos los SKUs",
"reports.loading": "Cargando reportes...",
"reports.error.failed": "No se pudieron cargar los reportes",
"reports.error.network": "Error de red",
"reports.kpi.note.withData": "Calculado a partir de KPIs.",
"reports.kpi.note.noData": "Sin datos en el rango seleccionado.",
"reports.oeeTrend": "Tendencia de OEE",
"reports.downtimePareto": "Pareto de paros",
"reports.cycleDistribution": "Distribución de tiempos de ciclo",
"reports.scrapTrend": "Tendencia de scrap",
"reports.topLossDrivers": "Principales causas de pérdida",
"reports.qualitySummary": "Resumen de calidad",
"reports.notes": "Notas para operaciones",
"alerts.title": "Alertas",
"alerts.subtitle": "Historial de alertas con filtros y detalle.",
"alerts.comingSoon": "La configuracion de alertas estara disponible pronto.",
"alerts.loading": "Cargando alertas...",
"alerts.error.loadPolicy": "No se pudo cargar la politica de alertas.",
"alerts.error.savePolicy": "No se pudo guardar la politica de alertas.",
"alerts.error.loadContacts": "No se pudieron cargar los contactos de alertas.",
"alerts.error.saveContacts": "No se pudo guardar el contacto de alertas.",
"alerts.error.deleteContact": "No se pudo eliminar el contacto de alertas.",
"alerts.error.createContact": "No se pudo crear el contacto de alertas.",
"alerts.policy.title": "Politica de alertas",
"alerts.policy.subtitle": "Configura escalamiento por rol, canal y duracion.",
"alerts.policy.save": "Guardar politica",
"alerts.policy.saving": "Guardando...",
"alerts.policy.defaults": "Escalamiento por defecto (por rol)",
"alerts.policy.enabled": "Habilitado",
"alerts.policy.afterMinutes": "Despues de minutos",
"alerts.policy.channels": "Canales",
"alerts.policy.repeatMinutes": "Repetir (min)",
"alerts.policy.readOnly": "Puedes ver la politica de alertas, pero solo propietarios pueden editar.",
"alerts.policy.defaultsHelp": "Los valores por defecto aplican cuando un evento se reinicia o no se personaliza.",
"alerts.policy.eventSelectLabel": "Tipo de evento",
"alerts.policy.eventSelectHelper": "Ajusta escalamiento para un solo tipo de evento.",
"alerts.policy.applyDefaults": "Aplicar por defecto",
"alerts.event.macrostop": "Macroparo",
"alerts.event.microstop": "Microparo",
"alerts.event.slow-cycle": "Ciclo lento",
"alerts.event.offline": "Fuera de linea",
"alerts.event.error": "Error",
"alerts.contacts.title": "Contactos de alertas",
"alerts.contacts.subtitle": "Destinatarios externos y alcance por rol.",
"alerts.contacts.name": "Nombre",
"alerts.contacts.roleScope": "Rol",
"alerts.contacts.email": "Correo",
"alerts.contacts.phone": "Telefono",
"alerts.contacts.eventTypes": "Tipos de evento (opcional)",
"alerts.contacts.eventTypesPlaceholder": "macroparo, microparo, fuera-de-linea",
"alerts.contacts.eventTypesHelper": "Deja vacío para recibir todos los tipos de evento.",
"alerts.contacts.add": "Agregar contacto",
"alerts.contacts.creating": "Agregando...",
"alerts.contacts.empty": "Sin contactos de alertas.",
"alerts.contacts.save": "Guardar",
"alerts.contacts.saving": "Guardando...",
"alerts.contacts.delete": "Eliminar",
"alerts.contacts.deleting": "Eliminando...",
"alerts.contacts.active": "Activo",
"alerts.contacts.linkedUser": "Usuario vinculado (editar en perfil)",
"alerts.contacts.role.custom": "Personalizado",
"alerts.contacts.role.member": "Miembro",
"alerts.contacts.role.admin": "Admin",
"alerts.contacts.role.owner": "Propietario",
"alerts.contacts.readOnly": "Puedes ver contactos, pero solo propietarios pueden agregar o editar.",
"alerts.inbox.title": "Bandeja de alertas",
"alerts.inbox.loading": "Cargando alertas...",
"alerts.inbox.loadingFilters": "Cargando filtros...",
"alerts.inbox.empty": "No se encontraron alertas.",
"alerts.inbox.error": "No se pudieron cargar las alertas.",
"alerts.inbox.range.24h": "Últimas 24 horas",
"alerts.inbox.range.7d": "Últimos 7 días",
"alerts.inbox.range.30d": "Últimos 30 días",
"alerts.inbox.range.custom": "Personalizado",
"alerts.inbox.filters.title": "Filtros",
"alerts.inbox.filters.range": "Rango",
"alerts.inbox.filters.start": "Inicio",
"alerts.inbox.filters.end": "Fin",
"alerts.inbox.filters.machine": "Máquina",
"alerts.inbox.filters.site": "Sitio",
"alerts.inbox.filters.shift": "Turno",
"alerts.inbox.filters.type": "Clasificación",
"alerts.inbox.filters.severity": "Severidad",
"alerts.inbox.filters.status": "Estado",
"alerts.inbox.filters.search": "Buscar",
"alerts.inbox.filters.searchPlaceholder": "Título, descripción, máquina...",
"alerts.inbox.filters.includeUpdates": "Incluir actualizaciones",
"alerts.inbox.filters.allMachines": "Todas las máquinas",
"alerts.inbox.filters.allSites": "Todos los sitios",
"alerts.inbox.filters.allShifts": "Todos los turnos",
"alerts.inbox.filters.allTypes": "Todas las clasificaciones",
"alerts.inbox.filters.allSeverities": "Todas las severidades",
"alerts.inbox.filters.allStatuses": "Todos los estados",
"alerts.inbox.table.time": "Hora",
"alerts.inbox.table.machine": "Máquina",
"alerts.inbox.table.site": "Sitio",
"alerts.inbox.table.shift": "Turno",
"alerts.inbox.table.type": "Tipo",
"alerts.inbox.table.severity": "Severidad",
"alerts.inbox.table.status": "Estado",
"alerts.inbox.table.duration": "Duración",
"alerts.inbox.table.title": "Título",
"alerts.inbox.table.unknown": "Sin dato",
"alerts.inbox.status.active": "Activa",
"alerts.inbox.status.resolved": "Resuelta",
"alerts.inbox.status.unknown": "Sin dato",
"alerts.inbox.duration.na": "n/d",
"alerts.inbox.duration.sec": "s",
"alerts.inbox.duration.min": " min",
"alerts.inbox.duration.hr": " h",
"alerts.inbox.meta.workOrder": "OT",
"alerts.inbox.meta.sku": "SKU",
"reports.notes.suggested": "Acciones sugeridas",
"reports.notes.none": "Sin insights todavía. Genera reportes tras recolectar datos.",
"reports.noTrend": "Sin datos de tendencia.",
"reports.noDowntime": "Sin datos de paros.",
"reports.noCycle": "Sin datos de ciclo.",
"reports.scrapRate": "Scrap Rate",
"reports.topScrapSku": "SKU con más scrap",
"reports.topScrapWorkOrder": "Orden con más scrap",
"reports.loss.macrostop": "Macroparo",
"reports.loss.microstop": "Microparo",
"reports.loss.slowCycle": "Ciclo lento",
"reports.loss.qualitySpike": "Pico de calidad",
"reports.loss.oeeDrop": "Caída de OEE",
"reports.loss.perfDegradation": "Baja de desempeño",
"reports.tooltip.cycles": "Ciclos",
"reports.tooltip.range": "Rango",
"reports.tooltip.below": "Debajo de",
"reports.tooltip.above": "Encima de",
"reports.tooltip.extremes": "Extremos",
"reports.tooltip.downtime": "Tiempo de paro",
"reports.tooltip.extraTime": "Tiempo extra",
"reports.csv.section": "sección",
"reports.csv.key": "clave",
"reports.csv.value": "valor",
"reports.pdf.title": "Exportación de reporte",
"reports.pdf.range": "Rango",
"reports.pdf.machine": "Máquina",
"reports.pdf.workOrder": "Orden de trabajo",
"reports.pdf.sku": "SKU",
"reports.pdf.metric": "Métrica",
"reports.pdf.value": "Valor",
"reports.pdf.topLoss": "Principales causas de pérdida",
"reports.pdf.qualitySummary": "Resumen de calidad",
"reports.pdf.cycleDistribution": "Distribución de tiempos de ciclo",
"reports.pdf.notes": "Notas para operaciones",
"reports.pdf.none": "Ninguna",
"settings.title": "Configuración",
"settings.subtitle": "Configuración en vivo para turnos, alertas y valores predeterminados.",
"settings.tabs.general": "General",
"settings.tabs.shifts": "Turnos",
"settings.tabs.thresholds": "Umbrales",
"settings.tabs.alerts": "Alertas",
"settings.tabs.financial": "Finanzas",
"settings.tabs.team": "Equipo",
"settings.tabs.reasonCatalog": "Paros y scrap",
"settings.loading": "Cargando configuración...",
"settings.loadingTeam": "Cargando equipo...",
"settings.refresh": "Actualizar",
"settings.save": "Guardar cambios",
"settings.saving": "Guardando...",
"settings.saved": "Configuración guardada",
"settings.failedLoad": "No se pudo cargar la configuración",
"settings.failedTeam": "No se pudo cargar el equipo",
"settings.failedSave": "No se pudo guardar la configuración",
"settings.unavailable": "La configuración no está disponible.",
"settings.conflict": "La configuración cambió en otro lugar. Actualiza e intenta de nuevo.",
"settings.org.title": "Organización",
"settings.org.plantName": "Nombre de planta",
"settings.org.slug": "Slug",
"settings.org.timeZone": "Zona horaria",
"settings.shiftSchedule": "Turnos",
"settings.shiftSubtitle": "Define turnos activos y compensación de paros.",
"settings.shiftName": "Nombre del turno",
"settings.shiftStart": "Inicio",
"settings.shiftEnd": "Fin",
"settings.shiftEnabled": "Activo",
"settings.shiftAdd": "Agregar turno",
"settings.shiftRemove": "Eliminar",
"settings.shiftComp": "Compensación por cambio de turno",
"settings.lunchBreak": "Comida",
"settings.minutes": "minutos",
"settings.shiftHint": "Máx 3 turnos, HH:mm",
"settings.shiftTo": "a",
"settings.shiftCompLabel": "Compensación por cambio de turno (min)",
"settings.lunchBreakLabel": "Comida (min)",
"settings.shift.defaultName": "Turno {index}",
"settings.shiftOverrides.title": "Turnos por día",
"settings.shiftOverrides.subtitle": "Sobrescrituras opcionales por día.",
"settings.shiftOverrides.useDefault": "Usar predeterminado",
"settings.shiftOverrides.customize": "Personalizar",
"settings.shiftOverrides.inherits": "Usa el horario de turnos predeterminado.",
"settings.shiftOverrides.dayOff": "Día libre (sin turnos)",
"settings.shiftOverrides.clear": "Borrar turnos",
"settings.shiftOverrides.mon": "Lunes",
"settings.shiftOverrides.tue": "Martes",
"settings.shiftOverrides.wed": "Miércoles",
"settings.shiftOverrides.thu": "Jueves",
"settings.shiftOverrides.fri": "Viernes",
"settings.shiftOverrides.sat": "Sábado",
"settings.shiftOverrides.sun": "Domingo",
"settings.thresholds": "Umbrales de alertas",
"settings.thresholdsSubtitle": "Ajusta alertas de salud de producción.",
"settings.thresholds.appliesAll": "Aplica a todas las máquinas",
"settings.thresholds.oee": "Umbral de alerta OEE",
"settings.thresholds.performance": "Umbral de Performance",
"settings.thresholds.qualitySpike": "Delta de pico de calidad",
"settings.thresholds.stoppage": "Multiplicador de paro",
"settings.thresholds.macroStoppage": "Multiplicador de macroparo",
"settings.alerts": "Alertas",
"settings.alertsSubtitle": "Elige qué alertas notificar.",
"settings.reasonCatalog.title": "Catálogos de paros y scrap",
"settings.reasonCatalog.subtitle": "Los catálogos viven en MIS (categorías y códigos). Los cambios suben la versión de ajustes para que las máquinas los reciban. Desactiva códigos retirados en lugar de borrarlos.",
"settings.reasonCatalog.version": "Versión del catálogo",
"settings.reasonCatalog.hint": "Sube la versión cuando cambies códigos para que el borde detecte actualizaciones. Usa \"Activo\" para ocultar un código en nuevas capturas sin perder etiquetas en histórico.",
"settings.reasonCatalog.downtime": "Tiempo muerto (paros)",
"settings.reasonCatalog.scrap": "Scrap",
"settings.reasonCatalog.addCategory": "Agregar categoría",
"settings.reasonCatalog.emptyKind": "Aún no hay categorías.",
"settings.reasonCatalog.categoryId": "Id de categoría",
"settings.reasonCatalog.categoryLabel": "Nombre de categoría",
"settings.reasonCatalog.reasons": "Razones",
"settings.reasonCatalog.addReason": "Agregar razón",
"settings.reasonCatalog.removeCategory": "Quitar categoría",
"settings.reasonCatalog.detailId": "Id del detalle",
"settings.reasonCatalog.reasonCode": "Código impreso",
"settings.reasonCatalog.detailLabel": "Descripción",
"settings.reasonCatalog.active": "Activo",
"settings.reasonCatalog.removeRow": "Quitar",
"settings.reasonCatalog.removeDetailHint": "Para códigos ya usados en producción, preferir desactivar en lugar de quitar la fila.",
"settings.reasonCatalog.newCategory": "Nueva categoría",
"settings.reasonCatalog.newReason": "Nueva razón",
"settings.reasonCatalog.dbVersionHint": "Versión de ajustes (incluye catálogo): {version}",
"settings.reasonCatalog.reload": "Recargar",
"settings.reasonCatalog.stepKind": "1. Tipo de catálogo",
"settings.reasonCatalog.stepCategory": "2. Categoría y prefijo",
"settings.reasonCatalog.pickCategory": "Categoría",
"settings.reasonCatalog.inactive": "inactiva",
"settings.reasonCatalog.categoryNameEdit": "Nombre de categoría",
"settings.reasonCatalog.codePrefixEdit": "Prefijo de código (letras; opcional dígitos o guión después de la primera letra)",
"settings.reasonCatalog.categoryActive": "Categoría activa",
"settings.reasonCatalog.newCategorySection": "Nueva categoría en este tipo de catálogo",
"settings.reasonCatalog.codePrefixField": "Prefijo (se muestra antes del número)",
"settings.reasonCatalog.stepReason": "3. Agregar razón (solo números)",
"settings.reasonCatalog.digitsOnlyHint": "Captura solo la parte numérica; el código impreso completo es prefijo + número.",
"settings.reasonCatalog.fullCodePreview": "Código impreso",
"settings.reasonCatalog.numericSuffix": "Número",
"settings.reasonCatalog.reasonsInCategory": "Razones en esta categoría",
"settings.reasonCatalog.noItemsYet": "Aún no hay razones.",
"settings.reasonCatalog.prefixInvalid": "El prefijo debe empezar con letra y usar letras, dígitos o guión.",
"settings.alerts.oeeDrop": "Alertas por caída de OEE",
"settings.alerts.oeeDropHelper": "Notificar cuando OEE esté por debajo del umbral",
"settings.alerts.performanceDegradation": "Alertas por baja de Performance",
"settings.alerts.performanceDegradationHelper": "Marcar ciclos lentos prolongados",
"settings.alerts.qualitySpike": "Alertas por picos de calidad",
"settings.alerts.qualitySpikeHelper": "Alertar por picos de scrap",
"settings.alerts.predictive": "Alertas predictivas de caída OEE",
"settings.alerts.predictiveHelper": "Avisar antes de que OEE caiga",
"settings.defaults": "Valores predeterminados de moldes",
"settings.defaults.moldTotal": "Moldes totales",
"settings.defaults.moldActive": "Moldes activos",
"settings.updated": "Actualizado",
"settings.updatedBy": "Actualizado por",
"settings.team": "Miembros del equipo",
"settings.teamTotal": "{count} total",
"settings.teamNone": "Sin miembros del equipo.",
"settings.invites": "Invitaciones",
"settings.inviteEmail": "Correo de invitación",
"settings.inviteRole": "Rol",
"settings.inviteSend": "Crear invitación",
"settings.inviteSending": "Creando...",
"settings.inviteStatus.copied": "Enlace de invitación copiado",
"settings.inviteStatus.emailRequired": "El correo es obligatorio",
"settings.inviteStatus.failed": "No se pudo revocar la invitación",
"settings.inviteStatus.sent": "Correo de invitación enviado",
"settings.inviteStatus.createFailed": "No se pudo crear la invitación",
"settings.inviteStatus.emailFailed": "Invitación creada, falló el correo: {url}",
"settings.inviteNone": "Sin invitaciones pendientes.",
"settings.inviteExpires": "Expira {date}",
"settings.inviteRole.member": "Miembro",
"settings.inviteRole.admin": "Admin",
"settings.inviteRole.owner": "Propietario",
"settings.inviteCopy": "Copiar enlace",
"settings.inviteRevoke": "Revocar",
"settings.role.owner": "Propietario",
"settings.role.admin": "Admin",
"settings.role.member": "Miembro",
"settings.role.inactive": "Inactivo",
"settings.integrations": "Integraciones",
"settings.integrations.webhook": "Webhook URL",
"settings.integrations.erp": "ERP Sync",
"settings.integrations.erpNotConfigured": "No configurado",
"financial.title": "Impacto financiero",
"financial.subtitle": "Convierte paros, ciclos lentos y scrap en dinero.",
"financial.ownerOnly": "El impacto financiero solo está disponible para propietarios.",
"financial.costsMoved": "Los costos ahora están en",
"financial.costsMovedLink": "Configuración -> Finanzas",
"financial.export.html": "HTML",
"financial.export.csv": "CSV",
"financial.refresh": "Actualizar",
"financial.totalLoss": "Pérdida total",
"financial.currencyLabel": "Moneda: {currency}",
"financial.noImpact": "Sin datos de impacto.",
"financial.chart.title": "Pérdida de dinero en el tiempo",
"financial.chart.subtitle": "Acumulado por tipo de evento",
"financial.range.day": "Día",
"financial.range.week": "Semana",
"financial.range.month": "Mes",
"financial.filters.title": "Filtros",
"financial.filters.machine": "Máquina",
"financial.filters.location": "Ubicación",
"financial.filters.sku": "SKU",
"financial.filters.currency": "Moneda",
"financial.filters.allMachines": "Todas las máquinas",
"financial.filters.allLocations": "Todas las ubicaciones",
"financial.filters.skuPlaceholder": "Filtrar por SKU",
"financial.filters.currencyPlaceholder": "MXN",
"financial.loadingMachines": "Cargando máquinas...",
"financial.config.title": "Parámetros de costo",
"financial.config.subtitle": "Los valores aplican a todas las máquinas salvo override.",
"financial.config.applyOrg": "Aplicar valores de organización a todas",
"financial.config.save": "Guardar",
"financial.config.saving": "Guardando...",
"financial.config.saved": "Guardado",
"financial.config.saveFailed": "No se pudo guardar",
"financial.config.orgDefaults": "Valores de organización",
"financial.config.locationOverrides": "Overrides por ubicación",
"financial.config.machineOverrides": "Overrides por máquina",
"financial.config.productOverrides": "Overrides por producto",
"financial.config.addLocation": "Agregar override de ubicación",
"financial.config.addMachine": "Agregar override de máquina",
"financial.config.addProduct": "Agregar override de producto",
"financial.config.noneLocation": "Sin overrides de ubicación.",
"financial.config.noneMachine": "Sin overrides de máquina.",
"financial.config.noneProduct": "Sin overrides de producto.",
"financial.config.location": "Ubicación",
"financial.config.selectLocation": "Selecciona ubicación",
"financial.config.machine": "Máquina",
"financial.config.selectMachine": "Selecciona máquina",
"financial.config.currency": "Moneda",
"financial.config.sku": "SKU",
"financial.config.rawMaterialUnit": "Materia prima / unidad",
"financial.config.ownerOnly": "Los costos financieros solo están disponibles para propietarios.",
"financial.config.loading": "Cargando finanzas...",
"financial.field.machineCostPerMin": "Costo máquina / min",
"financial.field.operatorCostPerMin": "Costo operador / min",
"financial.field.ratedRunningKw": "kW en operación",
"financial.field.idleKw": "kW en espera",
"financial.field.kwhRate": "Tarifa kWh",
"financial.field.energyMultiplier": "Multiplicador de energía",
"financial.field.energyCostPerMin": "Costo energía / min",
"financial.field.scrapCostPerUnit": "Costo scrap / unidad",
"financial.field.rawMaterialCostPerUnit": "Costo materia prima / unidad",
"nav.downtime": "Downtime",
"nav.recap": "Resumen diario",
"settings.tabs.modules": "Módulos",
"settings.modules.title": "Módulos",
"settings.modules.subtitle": "Activa/desactiva módulos según cómo opera la planta.",
"settings.modules.screenless.title": "Modo sin pantalla",
"settings.modules.screenless.helper": "Oculta el módulo de Paros (Downtime) del menú (para plantas sin captura de razones en Node-RED).",
"settings.modules.note": "Este ajuste aplica a toda la organización."
}