Improve frontend 5

This commit is contained in:
Urtzi Alfaro
2025-11-20 19:14:49 +01:00
parent 29e6ddcea9
commit 4433b66f25
30 changed files with 3649 additions and 600 deletions

View File

@@ -38,7 +38,10 @@
"savings": {
"label": "💰 AHORROS",
"this_week": "esta semana",
"vs_last": "vs. anterior"
"vs_last": "vs. anterior",
"value_this_week": "€{amount} esta semana",
"detail_vs_last_positive": "+{percentage}% vs. anterior",
"detail_vs_last_negative": "{percentage}% vs. anterior"
},
"inventory": {
"label": "📦 INVENTARIO",
@@ -52,7 +55,9 @@
"waste": {
"label": "♻️ DESPERDICIO",
"this_month": "este mes",
"vs_goal": "vs. objetivo"
"vs_goal": "vs. objetivo",
"value_this_month": "{percentage}% este mes",
"detail_vs_goal": "{change}% vs. objetivo"
},
"deliveries": {
"label": "🚚 ENTREGAS",
@@ -164,6 +169,14 @@
"delete": "Eliminar"
}
},
"production": {
"scheduled_based_on": "Programado según {{type}}",
"status": {
"completed": "COMPLETADO",
"in_progress": "EN PROGRESO",
"pending": "PENDIENTE"
}
},
"messages": {
"welcome": "Bienvenido de vuelta",
"good_morning": "Buenos días",
@@ -238,6 +251,28 @@
"cost_analysis": "Análisis de Costos"
}
},
"action_queue": {
"consequences": {
"delayed_delivery": "La entrega retrasada puede afectar el programa de producción",
"immediate_action": "Se requiere acción inmediata para prevenir problemas de producción",
"limited_features": "Algunas funciones están limitadas"
},
"titles": {
"purchase_order": "Orden de Compra {po_number}",
"supplier": "Proveedor: {supplier_name}",
"pending_approval": "Aprobación pendiente para {supplier_name} - {type}"
},
"buttons": {
"view_details": "Ver Detalles",
"dismiss": "Descartar",
"approve": "Aprobar",
"modify": "Modificar",
"complete_setup": "Completar Configuración"
}
},
"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."
},
"errors": {
"failed_to_load_stats": "Error al cargar las estadísticas del panel. Por favor, inténtelo de nuevo."
}

View File

@@ -83,7 +83,7 @@
},
"accuracy": "Precisión: 92% (vs 60-70% de sistemas genéricos)",
"cta": "Ver Todas las Funcionalidades",
"key1": "🎯 Precisión:",
"key1": "🎯 Precisión: ",
"key2": "(vs 60-70% de sistemas genéricos)"
},
"pillar2": {
@@ -121,12 +121,12 @@
"cta": "Ver Todas las Funcionalidades"
},
"pillar3": {
"title": "Tus Datos, Tu Impacto Ambiental",
"title": "🌱 Tus Datos, Tu Impacto Ambiental",
"intro": "100% de tus datos te pertenecen. Mide tu impacto ambiental automáticamente y genera informes de sostenibilidad que cumplen con los estándares internacionales.",
"data_ownership_value": "100%",
"data_ownership": "Propiedad de datos",
"co2_metric": "Hondakinak",
"co2": "Murrizketa automatikoa",
"co2_metric": "Residuos",
"co2": "Reducción automática",
"sdg_value": "Verde",
"sdg": "Certificado de sostenibilidad",
"sustainability_title": "🔒 Privados por defecto, sostenibles de serie.",

View File

@@ -157,5 +157,15 @@
"view_alert": "Ver Detalles",
"run_planning": "Ejecutar Planificación Diaria"
}
},
"types": {
"low_stock_detection": "Stock bajo detectado para {{product_name}}. El stock se agotará en {{days_until_stockout}} días.",
"stockout_prevention": "Previniendo desabastecimiento de ingredientes críticos",
"forecast_demand": "Basado en pronóstico de demanda: {{predicted_demand}} unidades predichas ({{confidence_score}}% confianza)",
"customer_orders": "Cumpliendo pedidos confirmados de clientes",
"seasonal_demand": "Aumento anticipado de demanda estacional",
"inventory_replenishment": "Reposición regular de inventario",
"production_schedule": "Lote de producción programado",
"other": "Reposición estándar"
}
}

View File

@@ -14,6 +14,16 @@
"complete": "Completar",
"stepOf": "Paso {{current}} de {{total}}"
},
"keyValueEditor": {
"showBuilder": "Mostrar Constructor",
"showJson": "Mostrar JSON",
"suggestions": "Sugerencias rápidas",
"keyPlaceholder": "Clave",
"valuePlaceholder": "Valor",
"remove": "Eliminar",
"addPair": "Agregar Parámetro",
"emptyState": "No hay parámetros aún. Haz clic en 'Agregar Parámetro' para comenzar."
},
"inventory": {
"title": "Agregar Inventario",
"inventoryDetails": "Detalles del Artículo de Inventario",
@@ -174,6 +184,17 @@
"title": "Agregar Plantilla de Calidad",
"templateDetails": "Detalles de la Plantilla de Calidad",
"fillRequiredInfo": "Complete la información requerida para crear una plantilla de control de calidad",
"selectCheckType": "Seleccionar Tipo de Control de Calidad",
"selectCheckTypeDescription": "Elija el tipo de control de calidad que desea crear",
"essentialConfiguration": "Configuración Esencial",
"essentialConfigurationDescription": "Defina las propiedades principales de su plantilla de control de calidad",
"criteriaAndSettings": "Criterios y Configuración de Calidad",
"criteriaAndSettingsDescription": "Configure los métodos de puntuación y criterios avanzados de calidad",
"steps": {
"checkType": "Tipo de Control",
"essentialConfiguration": "Configuración",
"criteriaSettings": "Criterios y Ajustes"
},
"fields": {
"name": "Nombre",
"namePlaceholder": "Ej: Control de Calidad del Pan, Inspección de Higiene",
@@ -183,24 +204,90 @@
"templateCode": "Código de Plantilla",
"templateCodePlaceholder": "Dejar vacío para auto-generar",
"templateCodeTooltip": "Dejar vacío para auto-generar desde el backend, o introducir código personalizado",
"category": "Categoría",
"categoryPlaceholder": "Ej: apariencia, estructura, textura",
"version": "Versión",
"description": "Descripción",
"descriptionPlaceholder": "Descripción detallada de la plantilla de control de calidad",
"applicableStages": "Etapas Aplicables",
"applicableStagesTooltip": "Lista separada por comas de etapas de producción: ej: amasado, fermentación, horneado, enfriamiento",
"applicablePlaceholder": "amasado, fermentación, horneado, enfriamiento"
"applicableStagesTooltip": "Seleccione las etapas de producción donde se aplica este control de calidad",
"applicableStagesHelp": "Dejar vacío para aplicar a todas las etapas",
"applicablePlaceholder": "amasado, fermentación, horneado, enfriamiento",
"instructions": "Instrucciones",
"instructionsPlaceholder": "Instrucciones paso a paso para realizar este control de calidad",
"minValue": "Valor Mínimo",
"maxValue": "Valor Máximo",
"targetValue": "Valor Objetivo",
"unit": "Unidad",
"unitPlaceholder": "Ej: °C, g, cm, %",
"tolerancePercentage": "Porcentaje de Tolerancia",
"toleranceTooltip": "Desviación aceptable del valor objetivo (0-100%)",
"scoringMethod": "Método de Puntuación",
"passThreshold": "Umbral de Aprobación (%)",
"passThresholdTooltip": "Porcentaje de puntuación mínimo requerido para aprobar (0-100%)",
"frequencyDays": "Frecuencia (días)",
"frequencyDaysTooltip": "Con qué frecuencia debe realizarse este control (en días)",
"frequencyDaysPlaceholder": "Dejar vacío para basado en lotes",
"requiredCheck": "Verificación Requerida",
"checkPointsJsonArray": "Puntos de Control (Array JSON)",
"checkPointsTooltip": "Array de puntos de control: [{\"name\": \"Control Visual\", \"description\": \"...\", \"weight\": 1.0}]",
"checkPointsPlaceholder": "[{\"name\": \"Inspección Visual\", \"description\": \"Verificar apariencia\", \"expected_value\": \"Marrón dorado\", \"measurement_type\": \"visual\", \"is_critical\": false, \"weight\": 1.0}]",
"acceptanceCriteria": "Criterios de Aceptación",
"acceptanceCriteriaPlaceholder": "Ej: Color dorado uniforme, textura esponjosa, sin quemaduras...",
"parametersJson": "Parámetros (JSON)",
"parametersTooltip": "Parámetros de plantilla: {\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
"parametersPlaceholder": "{\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
"thresholdsJson": "Umbrales (JSON)",
"thresholdsTooltip": "Valores de umbral: {\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
"thresholdsPlaceholder": "{\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
"scoringCriteriaJson": "Criterios de Puntuación (JSON)",
"scoringCriteriaTooltip": "Criterios de puntuación personalizados: {\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
"scoringCriteriaPlaceholder": "{\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
"responsibleRole": "Rol/Persona Responsable",
"responsibleRolePlaceholder": "Ej: Gerente de Producción, Panadero",
"requiredEquipment": "Equipos/Herramientas Requeridas",
"requiredEquipmentPlaceholder": "Ej: Termómetro, báscula, temporizador",
"specificConditions": "Condiciones o Notas Específicas",
"specificConditionsPlaceholder": "Ej: Solo aplicable en días húmedos, verificar 30 min después de hornear...",
"activeTemplate": "Plantilla Activa",
"requiresPhotoEvidence": "Requiere Evidencia Fotográfica",
"criticalControlPoint": "Punto Crítico de Control (PCC)",
"notifyOnFailure": "Notificar en Falla"
},
"checkTypes": {
"product_quality": "Calidad del Producto",
"process_hygiene": "Higiene del Proceso",
"equipment": "Equipamiento",
"safety": "Seguridad",
"cleaning": "Limpieza",
"temperature": "Control de Temperatura",
"documentation": "Documentación"
"visual": "Inspección Visual",
"measurement": "Medición",
"temperature": "Temperatura",
"weight": "Peso",
"boolean": "Control Aprobado/Reprobado",
"timing": "Temporización",
"checklist": "Lista de Verificación"
},
"checkTypeDescriptions": {
"visual": "Inspeccionar apariencia, color y características visuales de calidad",
"measurement": "Medir dimensiones, tamaños o cantidades específicas",
"temperature": "Monitorear y verificar lecturas de temperatura",
"weight": "Verificar mediciones de peso y masa",
"boolean": "Controles simples de sí/no o aprobado/reprobado",
"timing": "Rastrear criterios de calidad basados en tiempo",
"checklist": "Verificación de lista de puntos múltiples"
},
"processStages": {
"mixing": "Amasado",
"proofing": "Fermentación",
"shaping": "Formado",
"baking": "Horneado",
"cooling": "Enfriamiento",
"packaging": "Empaquetado",
"finishing": "Acabado"
},
"sections": {
"basicInformation": "Información Básica",
"additionalIdentifiers": "Identificadores Adicionales",
"additionalIdentifiersDescription": "Identificadores opcionales para organización",
"measurementSpecifications": "Especificaciones de Medición",
"additionalDetails": "Detalles Adicionales",
"additionalDetailsDescription": "Instrucciones detalladas opcionales",
"scoringConfiguration": "Configuración de Puntuación",
"advancedOptions": "Opciones Avanzadas",
"advancedOptionsDescription": "Campos opcionales para configuración completa de plantilla de calidad",