New alert system and panel de control page

This commit is contained in:
Urtzi Alfaro
2025-11-27 15:52:40 +01:00
parent 1a2f4602f3
commit e902419b6e
178 changed files with 20982 additions and 6944 deletions

View File

@@ -46,6 +46,7 @@
"last_run": "Última ejecución",
"what_ai_did": "Lo que hizo la IA por ti"
},
"no_reasoning_available": "No hay razonamiento disponible",
"metrics": {
"hours": "{count, plural, =1 {# hora} other {# horas}}",
"minutes": "{count, plural, =1 {# minuto} other {# minutos}}",
@@ -140,7 +141,7 @@
"affected_systems": "Sistemas Afectados",
"reversible": "Esta acción se puede deshacer",
"not_reversible": "Esta acción no se puede deshacer",
"confidence": "Confianza de IA: {{confidence}}%",
"confidence": "Confianza de IA: {confidence}%",
"cancel": "Cancelar",
"confirm": "Confirmar Acción"
},
@@ -161,137 +162,137 @@
},
"alerts": {
"critical_stock_shortage": {
"title": "🚨 Stock Crítico: {{ingredient_name}}",
"message_with_po_pending": "Solo {{current_stock}}kg de {{ingredient_name}} (necesitas {{required_stock}}kg). Ya creé {{po_id}} para entrega el {{delivery_day_name}}. Por favor aprueba €{{po_amount}}.",
"message_with_po_created": "Solo {{current_stock}}kg de {{ingredient_name}} (necesitas {{required_stock}}kg). Ya creé {{po_id}}. Revisa y aprueba €{{po_amount}}.",
"message_with_hours": "Solo {{current_stock}}kg de {{ingredient_name}} disponibles (necesitas {{required_stock}}kg en {{hours_until}} horas).",
"message_with_date": "Solo {{current_stock}}kg de {{ingredient_name}} disponibles (necesitas {{required_stock}}kg para producción del {{production_day_name}}).",
"message_generic": "Solo {{current_stock}}kg de {{ingredient_name}} disponibles (necesitas {{required_stock}}kg)."
"title": "🚨 Stock Crítico: {ingredient_name}",
"message_with_po_pending": "Solo {current_stock}kg de {ingredient_name} (necesitas {required_stock}kg). Ya creé {po_id} para entrega el {delivery_day_name}. Por favor aprueba €{po_amount}.",
"message_with_po_created": "Solo {current_stock}kg de {ingredient_name} (necesitas {required_stock}kg). Ya creé {po_id}. Revisa y aprueba €{po_amount}.",
"message_with_hours": "Solo {current_stock}kg de {ingredient_name} disponibles (necesitas {required_stock}kg en {hours_until} horas).",
"message_with_date": "Solo {current_stock}kg de {ingredient_name} disponibles (necesitas {required_stock}kg para producción del {production_day_name}).",
"message_generic": "Solo {current_stock}kg de {ingredient_name} disponibles (necesitas {required_stock}kg)."
},
"low_stock": {
"title": "⚠️ Stock Bajo: {{ingredient_name}}",
"message_with_po": "Stock de {{ingredient_name}}: {{current_stock}}kg (mínimo: {{minimum_stock}}kg). Ya programé PO para reposición.",
"message_generic": "Stock de {{ingredient_name}}: {{current_stock}}kg (mínimo: {{minimum_stock}}kg). Considera hacer un pedido."
"title": "⚠️ Stock Bajo: {ingredient_name}",
"message_with_po": "Stock de {ingredient_name}: {current_stock}kg (mínimo: {minimum_stock}kg). Ya programé PO para reposición.",
"message_generic": "Stock de {ingredient_name}: {current_stock}kg (mínimo: {minimum_stock}kg). Considera hacer un pedido."
},
"stock_depleted": {
"title": "📦 Stock Agotado por Pedido",
"message_with_supplier": "Pedido #{{order_id}} requiere {{ingredient_name}} pero está agotado. Contacta a {{supplier_name}} ({{supplier_phone}}).",
"message_generic": "Pedido #{{order_id}} requiere {{ingredient_name}} pero está agotado. Acción inmediata requerida."
"message_with_supplier": "Pedido #{order_id} requiere {ingredient_name} pero está agotado. Contacta a {supplier_name} ({supplier_phone}).",
"message_generic": "Pedido #{order_id} requiere {ingredient_name} pero está agotado. Acción inmediata requerida."
},
"ingredient_shortage": {
"title": "⚠️ Falta de Ingrediente en Producción",
"message_with_customers": "{{ingredient_name}} insuficiente para lotes en curso. {{affected_orders}} pedidos afectados ({{customer_names}}). Stock actual: {{current_stock}}kg, necesario: {{required_stock}}kg.",
"message_generic": "{{ingredient_name}} insuficiente para lotes en curso. Stock actual: {{current_stock}}kg, necesario: {{required_stock}}kg."
"message_with_customers": "{ingredient_name} insuficiente para lotes en curso. {affected_orders} pedidos afectados ({customer_names}). Stock actual: {current_stock}kg, necesario: {required_stock}kg.",
"message_generic": "{ingredient_name} insuficiente para lotes en curso. Stock actual: {current_stock}kg, necesario: {required_stock}kg."
},
"expired_products": {
"title": "🚫 Productos Caducados o por Caducar",
"message_with_names": "{{count}} productos caducando: {{product_names}}. Valor total: €{{total_value}}.",
"message_generic": "{{count}} productos caducando. Valor total: €{{total_value}}."
"message_with_names": "{count} productos caducando: {product_names}. Valor total: €{total_value}.",
"message_generic": "{count} productos caducando. Valor total: €{total_value}."
},
"production_delay": {
"title": "⏰ Retraso en Producción: {{batch_name}}",
"message_with_customers": "Lote {{batch_name}} retrasado {{delay_minutes}} minutos. Clientes afectados: {{customer_names}}. Hora entrega original: {{scheduled_time}}.",
"message_with_orders": "Lote {{batch_name}} retrasado {{delay_minutes}} minutos. {{affected_orders}} pedidos afectados. Hora entrega original: {{scheduled_time}}.",
"message_generic": "Lote {{batch_name}} retrasado {{delay_minutes}} minutos. Hora entrega original: {{scheduled_time}}."
"title": "⏰ Retraso en Producción: {batch_name}",
"message_with_customers": "Lote {batch_name} retrasado {delay_minutes} minutos. Clientes afectados: {customer_names}. Hora entrega original: {scheduled_time}.",
"message_with_orders": "Lote {batch_name} retrasado {delay_minutes} minutos. {affected_orders} pedidos afectados. Hora entrega original: {scheduled_time}.",
"message_generic": "Lote {batch_name} retrasado {delay_minutes} minutos. Hora entrega original: {scheduled_time}."
},
"equipment_failure": {
"title": "🔧 Fallo de Equipo: {{equipment_name}}",
"message_with_batches": "{{equipment_name}} falló. {{affected_batches}} lotes en producción afectados ({{batch_names}}).",
"message_generic": "{{equipment_name}} falló. Requiere reparación inmediata."
"title": "🔧 Fallo de Equipo: {equipment_name}",
"message_with_batches": "{equipment_name} falló. {affected_batches} lotes en producción afectados ({batch_names}).",
"message_generic": "{equipment_name} falló. Requiere reparación inmediata."
},
"maintenance_required": {
"title": "🔧 Mantenimiento Requerido: {{equipment_name}}",
"message_with_hours": "{{equipment_name}} requiere mantenimiento en {{hours_until}} horas. Programa ahora para evitar interrupciones.",
"message_with_days": "{{equipment_name}} requiere mantenimiento en {{days_until}} días. Programa antes del {{maintenance_date}}."
"title": "🔧 Mantenimiento Requerido: {equipment_name}",
"message_with_hours": "{equipment_name} requiere mantenimiento en {hours_until} horas. Programa ahora para evitar interrupciones.",
"message_with_days": "{equipment_name} requiere mantenimiento en {days_until} días. Programa antes del {maintenance_date}."
},
"low_equipment_efficiency": {
"title": "📉 Baja Eficiencia: {{equipment_name}}",
"message": "{{equipment_name}} operando a {{efficiency_percent}}% eficiencia (esperado: >{{threshold_percent}}%). Considera mantenimiento."
"title": "📉 Baja Eficiencia: {equipment_name}",
"message": "{equipment_name} operando a {efficiency_percent}% eficiencia (esperado: >{threshold_percent}%). Considera mantenimiento."
},
"order_overload": {
"title": "📊 Sobrecarga de Pedidos",
"message_with_orders": "Capacidad sobrecargada en {{overload_percent}}%. {{total_orders}} pedidos programados, capacidad: {{capacity_orders}}. Considera ajustar el calendario.",
"message_generic": "Capacidad sobrecargada en {{overload_percent}}%. Considera ajustar el calendario de producción."
"message_with_orders": "Capacidad sobrecargada en {overload_percent}%. {total_orders} pedidos programados, capacidad: {capacity_orders}. Considera ajustar el calendario.",
"message_generic": "Capacidad sobrecargada en {overload_percent}%. Considera ajustar el calendario de producción."
},
"supplier_delay": {
"title": "🚚 Retraso de Proveedor: {{supplier_name}}",
"message": "{{supplier_name}} retrasó entrega de {{ingredient_name}} (PO: {{po_id}}). Nueva fecha: {{new_delivery_date}}. Original: {{original_delivery_date}}."
"title": "🚚 Retraso de Proveedor: {supplier_name}",
"message": "{supplier_name} retrasó entrega de {ingredient_name} (PO: {po_id}). Nueva fecha: {new_delivery_date}. Original: {original_delivery_date}."
},
"temperature_breach": {
"title": "🌡️ Violación de Temperatura",
"message": "Temperatura {{location}}: {{current_temp}}°C (rango: {{min_temp}}°C-{{max_temp}}°C). Duración: {{duration_minutes}} minutos."
"message": "Temperatura {location}: {current_temp}°C (rango: {min_temp}°C-{max_temp}°C). Duración: {duration_minutes} minutos."
},
"demand_surge_weekend": {
"title": "📈 Aumento de Demanda: Fin de Semana",
"message": "Demanda esperada {{surge_percent}}% mayor para {{weekend_date}}. Productos afectados: {{products}}. Considera aumentar producción."
"message": "Demanda esperada {surge_percent}% mayor para {weekend_date}. Productos afectados: {products}. Considera aumentar producción."
},
"weather_impact_alert": {
"title": "🌦️ Impacto Climático Esperado",
"message": "{{weather_condition}} esperado {{date}}. Impacto en demanda: {{impact_percent}}%. Productos afectados: {{products}}."
"message": "{weather_condition} esperado {date}. Impacto en demanda: {impact_percent}%. Productos afectados: {products}."
},
"holiday_preparation": {
"title": "🎉 Preparación para Festivo: {{holiday_name}}",
"message": "{{holiday_name}} en {{days_until}} días ({{holiday_date}}). Demanda esperada {{expected_increase}}% mayor. Productos clave: {{products}}."
"title": "🎉 Preparación para Festivo: {holiday_name}",
"message": "{holiday_name} en {days_until} días ({holiday_date}). Demanda esperada {expected_increase}% mayor. Productos clave: {products}."
},
"severe_weather_impact": {
"title": "⛈️ Impacto Climático Severo",
"message": "{{weather_condition}} severo esperado {{date}}. Impacto en demanda: {{impact_percent}}%. Considera ajustar horarios de entrega."
"message": "{weather_condition} severo esperado {date}. Impacto en demanda: {impact_percent}%. Considera ajustar horarios de entrega."
},
"unexpected_demand_spike": {
"title": "📊 Pico de Demanda Inesperado",
"message": "Demanda aumentó {{spike_percent}}% para {{products}}. Stock actual podría agotarse en {{hours_until_stockout}} horas."
"message": "Demanda aumentó {spike_percent}% para {products}. Stock actual podría agotarse en {hours_until_stockout} horas."
},
"demand_pattern_optimization": {
"title": "💡 Optimización de Patrón de Demanda",
"message": "Patrón detectado: {{pattern_description}}. Recomienda ajustar producción de {{products}} para optimizar eficiencia."
"message": "Patrón detectado: {pattern_description}. Recomienda ajustar producción de {products} para optimizar eficiencia."
},
"inventory_optimization": {
"title": "📦 Optimización de Inventario",
"message": "{{ingredient_name}} consistentemente sobre-stock por {{excess_percent}}%. Recomienda reducir pedido a {{recommended_amount}}kg."
"message": "{ingredient_name} consistentemente sobre-stock por {excess_percent}%. Recomienda reducir pedido a {recommended_amount}kg."
},
"production_efficiency": {
"title": "⚡ Oportunidad de Eficiencia en Producción",
"message": "{{product_name}} más eficiente a las {{suggested_time}}. Tiempo de producción {{time_saved}} minutos menor ({{savings_percent}}% ahorro)."
"message": "{product_name} más eficiente a las {suggested_time}. Tiempo de producción {time_saved} minutos menor ({savings_percent}% ahorro)."
},
"sales_opportunity": {
"title": "💰 Oportunidad de Ventas",
"message": "Alta demanda de {{products}} detectada. Considera producción adicional. Ingresos potenciales: €{{potential_revenue}}."
"message": "Alta demanda de {products} detectada. Considera producción adicional. Ingresos potenciales: €{potential_revenue}."
},
"seasonal_adjustment": {
"title": "🍂 Ajuste Estacional Recomendado",
"message": "Temporada {{season}} acercándose. Ajusta producción de {{products}} basado en tendencias históricas ({{adjustment_percent}}% {{adjustment_direction}})."
"message": "Temporada {season} acercándose. Ajusta producción de {products} basado en tendencias históricas ({adjustment_percent}% {adjustment_direction})."
},
"cost_reduction": {
"title": "💵 Oportunidad de Reducción de Costos",
"message": "Cambiando a {{alternative_ingredient}} puede ahorrar €{{savings_amount}}/mes. Calidad similar, menor costo."
"message": "Cambiando a {alternative_ingredient} puede ahorrar €{savings_amount}/mes. Calidad similar, menor costo."
},
"waste_reduction": {
"title": "♻️ Oportunidad de Reducción de Desperdicio",
"message": "{{product_name}} desperdicio alto ({{waste_percent}}%). Recomienda reducir lote a {{recommended_quantity}} unidades."
"message": "{product_name} desperdicio alto ({waste_percent}%). Recomienda reducir lote a {recommended_quantity} unidades."
},
"quality_improvement": {
"title": "⭐ Mejora de Calidad Recomendada",
"message": "{{issue_description}} detectado en {{product_name}}. Acción recomendada: {{recommended_action}}."
"message": "{issue_description} detectado en {product_name}. Acción recomendada: {recommended_action}."
},
"customer_satisfaction": {
"title": "😊 Oportunidad de Satisfacción del Cliente",
"message": "Cliente {{customer_name}} consistentemente ordena {{product_name}}. Considera oferta especial o programa de lealtad."
"message": "Cliente {customer_name} consistentemente ordena {product_name}. Considera oferta especial o programa de lealtad."
},
"energy_optimization": {
"title": "⚡ Optimización de Energía",
"message": "Uso de energía para {{equipment_name}} pico a las {{peak_time}}. Cambiando a {{off_peak_start}}-{{off_peak_end}} puede ahorrar €{{savings_amount}}/mes."
"message": "Uso de energía para {equipment_name} pico a las {peak_time}. Cambiando a {off_peak_start}-{off_peak_end} puede ahorrar €{savings_amount}/mes."
},
"staff_optimization": {
"title": "👥 Optimización de Personal",
"message": "{{shift_name}} sobrestimado por {{excess_percent}}%. Considera ajustar niveles de personal para reducir costos laborales."
"message": "{shift_name} sobrestimado por {excess_percent}%. Considera ajustar niveles de personal para reducir costos laborales."
},
"po_approval_needed": {
"title": "Orden de Compra #{{po_number}} requiere aprobación",
"message": "Orden de compra para {{supplier_name}} por un total de {{currency}} {{total_amount}} pendiente de aprobación. Entrega requerida para {{required_delivery_date}}."
"title": "Orden de Compra #{po_number} requiere aprobación",
"message": "Orden de compra para {supplier_name} por un total de {currency} {total_amount} pendiente de aprobación. Entrega requerida para {required_delivery_date}."
},
"production_batch_start": {
"title": "Lote de Producción Listo: {{product_name}}",
"message": "Lote #{{batch_number}} ({{quantity_planned}} {{unit}} de {{product_name}}) está listo para comenzar. Prioridad: {{priority}}."
"title": "Lote de Producción Listo: {product_name}",
"message": "Lote #{batch_number} ({quantity_planned} {unit} de {product_name}) está listo para comenzar. Prioridad: {priority}."
}
}
}

View File

@@ -65,8 +65,11 @@
"continue": "Continuar",
"confirm": "Confirmar",
"expand": "Expandir",
"collapse": "Contraer"
"collapse": "Contraer",
"save_draft": "Guardar Borrador",
"confirm_receipt": "Confirmar Recepción"
},
"saved": "ahorrado",
"item": "artículo",
"items": "artículos",
"unknown": "Desconocido",
@@ -341,10 +344,6 @@
"profile_menu": "Menú de perfil",
"close_navigation": "Cerrar navegación"
},
"header": {
"main_navigation": "Navegación principal",
"open_menu": "Abrir menú de navegación"
},
"footer": {
"company_description": "Sistema inteligente de gestión para panaderías. Optimiza tu producción, inventario y ventas con inteligencia artificial.",
"sections": {
@@ -440,6 +439,9 @@
"customize": "Personalizar"
},
"header": {
"main_navigation": "Navegación principal",
"notifications": "Notificaciones",
"unread_count": "{{count}} notificaciones sin leer",
"login": "Iniciar Sesión",
"start_free": "Comenzar Gratis",
"register": "Registro",

View File

@@ -107,12 +107,6 @@
"hours_ago": "hace {{count}} h",
"yesterday": "Ayer"
},
"severity": {
"urgent": "Urgente",
"high": "Alta",
"medium": "Media",
"low": "Baja"
},
"types": {
"alert": "Alerta",
"recommendation": "Recomendación",
@@ -134,8 +128,6 @@
},
"filters": {
"search_placeholder": "Buscar alertas...",
"severity": "Severidad",
"category": "Categoría",
"time_range": "Periodo",
"show_snoozed": "Mostrar pospuestos",
"active_filters": "Filtros activos:",
@@ -143,7 +135,7 @@
},
"grouping": {
"by_time": "Por tiempo",
"by_category": "Por categoría",
"by_type_class": "Por tipo",
"by_similarity": "Similares",
"none": "Sin agrupar"
},
@@ -206,10 +198,15 @@
"health": {
"production_on_schedule": "Producción a tiempo",
"production_delayed": "{count} lote{count, plural, one {} other {s}} de producción retrasado{count, plural, one {} other {s}}",
"production_ai_prevented": "IA evitó {count} retraso{count, plural, one {} other {s}} de producción",
"all_ingredients_in_stock": "Todos los ingredientes en stock",
"ingredients_out_of_stock": "{count} ingrediente{count, plural, one {} other {s}} sin stock",
"inventory_ai_prevented": "IA evitó {count} problema{count, plural, one {} other {s}} de inventario",
"no_pending_approvals": "Sin aprobaciones pendientes",
"approvals_awaiting": "{count} orden{count, plural, one {} other {es}} de compra esperando aprobación",
"procurement_ai_created": "IA creó {count} orden{count, plural, one {} other {es}} de compra automáticamente",
"deliveries_on_track": "Todas las entregas a tiempo",
"deliveries_pending": "{count} entrega{count, plural, one {} other {s}} pendiente{count, plural, one {} other {s}}",
"all_systems_operational": "Todos los sistemas operativos",
"critical_issues": "{count} problema{count, plural, one {} other {s}} crítico{count, plural, one {} other {s}}",
"headline_green": "Tu panadería funciona sin problemas",
@@ -251,6 +248,28 @@
"cost_analysis": "Análisis de Costos"
}
},
"setup_banner": {
"title": "{{count}} paso(s) más para desbloquear todas las funciones",
"recommended": "(recomendado)",
"added": "agregado(s)",
"recommended_count": "Recomendado",
"dismiss": "Ocultar por 7 días",
"dismiss_info": "Puedes ocultar este banner por 7 días haciendo clic en la X",
"benefits_title": "✨ Al completar estos pasos, desbloquearás",
"benefit_1": "Análisis de costos más preciso",
"benefit_2": "Recomendaciones de IA mejoradas",
"benefit_3": "Planificación de producción optimizada"
},
"setup_wizard": {
"title": "🏗️ Configuración Necesaria",
"subtitle": "Completa estos pasos para empezar a usar tu panadería",
"progress": "Progreso",
"step": "Paso",
"of": "de",
"next": "SIGUIENTE",
"complete_to_continue": "Completa para continuar",
"setup_blocked_message": "Necesitas completar la configuración básica antes de acceder al panel de control."
},
"action_queue": {
"consequences": {
"delayed_delivery": "La entrega retrasada puede afectar el programa de producción",
@@ -270,10 +289,94 @@
"complete_setup": "Completar Configuración"
}
},
"action_queue_title": "Cola de Acciones",
"total_actions": "acciones",
"all_caught_up": "¡Todo al Día!",
"no_actions_needed": "No se necesitan acciones ahora mismo",
"orchestration": {
"no_runs_message": "Aún no se ha ejecutado ninguna orquestación. Haga clic en 'Ejecutar Planificación Diaria' para generar su primer plan."
"no_runs_message": "Aún no se ha ejecutado ninguna orquestación. Haga clic en 'Ejecutar Planificación Diaria' para generar su primer plan.",
"reasoning_title": "Razonamiento de Orquestación de IA",
"no_data": "Aún no hay datos de orquestación disponibles. La IA analizará sus operaciones y hará recomendaciones.",
"last_run": "Última ejecución",
"ai_automated": "IA Automatizada",
"actions_completed": "acciones completadas",
"user_needed": "Usuario Necesario",
"needs_review": "necesita tu revisión",
"all_handled": "todo manejado por IA",
"prevented_badge": "{{count}} problema{{count, plural, one {} other {s}}} evitado{{count, plural, one {} other {s}}}",
"prevented_description": "La IA manejó estos proactivamente antes de que se convirtieran en problemas",
"analyzed_title": "Lo Que Analicé",
"actions_taken": "Lo Que Hice",
"prevented_issues": "Problemas Que Evité",
"prevented_issues_detail": "Detalles de Prevención de Problemas",
"estimated_impact": "Impacto Estimado",
"impact_description": "Basado en desabastecimientos evitados, reducción de desperdicios y compras optimizadas"
},
"errors": {
"failed_to_load_stats": "Error al cargar las estadísticas del panel. Por favor, inténtelo de nuevo."
},
"ai_handling_rate": {
"title": "Impacto de IA Esta Semana",
"subtitle": "Problemas evitados antes de que se convirtieran en incidencias",
"handling_rate_label": "de alertas manejadas automáticamente",
"prevented_count_label": "Evitadas",
"issues_text": "incidencias",
"savings_label": "Ahorros",
"estimated_text": "estimados",
"context": "Basado en {total} alertas totales durante los últimos {days} días.",
"view_prevented_issues": "Ver Incidencias Evitadas",
"no_prevented_issues": "No se evitaron incidencias esta semana - ¡todos los sistemas funcionan correctamente!",
"error_title": "No se pueden cargar las métricas de IA",
"error_message": "Por favor, inténtelo de nuevo más tarde"
},
"prevented_issues": {
"title": "Incidencias Evitadas",
"subtitle": "Intervenciones de IA esta semana",
"total_savings": "Total Ahorrado",
"celebration": "¡Buenas noticias! La IA evitó {count} incidencia{plural} antes de que se convirtieran en problemas.",
"ai_insight": "Análisis de IA:",
"show_less": "Mostrar Menos",
"show_more": "Mostrar {{count}} Más",
"no_issues": "No se evitaron incidencias esta semana",
"no_issues_detail": "¡Todos los sistemas funcionan correctamente!",
"error_title": "No se pueden cargar las incidencias evitadas"
},
"execution_progress": {
"title": "Progreso de Ejecución de Hoy",
"subtitle": "Plan vs Real",
"production": "Producción",
"deliveries": "Entregas",
"approvals": "Aprobaciones",
"status": {
"no_plan": "Sin Plan",
"no_deliveries": "Sin Entregas",
"completed": "Completado",
"on_track": "En Marcha",
"at_risk": "En Riesgo"
},
"no_production_plan": "No hay producción planificada para hoy",
"no_deliveries_today": "No hay entregas programadas para hoy",
"batches_complete": "lotes completos",
"completed": "Completado",
"in_progress": "En Progreso",
"pending": "Pendiente",
"received": "Recibido",
"overdue": "Atrasado",
"pending_approvals": "Aprobaciones Pendientes",
"whats_next": "Qué Sigue",
"starts_at": "comienza a las"
},
"intelligent_system": {
"title": "Resumen del Sistema Inteligente",
"subtitle": "Automatización impulsada por IA trabajando para ti",
"ai_handling_rate": "Tasa de Gestión de IA",
"prevented_issues": "Incidencias Evitadas",
"estimated_savings": "Ahorros Estimados",
"context": "Basado en {total} alertas durante los últimos {days} días",
"prevented_issues_details": "Detalles de Incidencias Evitadas",
"no_prevented_issues": "No se evitaron incidencias esta semana - ¡todos los sistemas funcionan correctamente!",
"celebration": "¡Buenas noticias! La IA evitó {count} incidencia(s) antes de que se convirtieran en problemas.",
"ai_insight": "Análisis de IA:",
"orchestration_title": "Última Ejecución de Orquestación"
}
}

View File

@@ -73,6 +73,10 @@
"green": "Todo funciona correctamente",
"yellow": "Algunos elementos necesitan atención",
"red": "Problemas críticos requieren acción inmediata",
"green_simple": "✅ Todo listo para hoy",
"yellow_simple": "⚠️ Algunas cosas necesitan atención",
"red_simple": "🔴 Problemas críticos requieren acción",
"yellow_simple_with_count": "⚠️ {count} acción{count, plural, one {} other {es}} necesaria{count, plural, one {} other {s}}",
"last_updated": "Última actualización",
"next_check": "Próxima verificación",
"never": "Nunca",