Improve the frontend and repository layer
This commit is contained in:
131
frontend/src/locales/en/ajustes.json
Normal file
131
frontend/src/locales/en/ajustes.json
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"title": "Settings",
|
||||
"description": "Configure your bakery's operational parameters",
|
||||
"save_all": "Save Changes",
|
||||
"reset_all": "Reset All",
|
||||
"unsaved_changes": "You have unsaved changes",
|
||||
"discard": "Discard",
|
||||
"save": "Save",
|
||||
"loading": "Loading settings...",
|
||||
"saving": "Saving...",
|
||||
"procurement": {
|
||||
"title": "Procurement and Sourcing",
|
||||
"auto_approval": "Purchase Order Auto-Approval",
|
||||
"auto_approve_enabled": "Enable purchase order auto-approval",
|
||||
"auto_approve_threshold": "Auto-Approval Threshold (EUR)",
|
||||
"min_supplier_score": "Minimum Supplier Score",
|
||||
"require_approval_new_suppliers": "Require approval for new suppliers",
|
||||
"require_approval_critical_items": "Require approval for critical items",
|
||||
"planning": "Planning and Forecasting",
|
||||
"lead_time_days": "Lead Time (days)",
|
||||
"demand_forecast_days": "Demand Forecast Days",
|
||||
"safety_stock_percentage": "Safety Stock (%)",
|
||||
"workflow": "Approval Workflow",
|
||||
"approval_reminder_hours": "Approval Reminder (hours)",
|
||||
"critical_escalation_hours": "Critical Escalation (hours)"
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Inventory Management",
|
||||
"stock_control": "Stock Control",
|
||||
"low_stock_threshold": "Low Stock Threshold",
|
||||
"reorder_point": "Reorder Point",
|
||||
"reorder_quantity": "Reorder Quantity",
|
||||
"expiration": "Expiration Management",
|
||||
"expiring_soon_days": "Days for 'Expiring Soon'",
|
||||
"expiration_warning_days": "Expiration Warning Days",
|
||||
"quality_score_threshold": "Quality Threshold (0-10)",
|
||||
"temperature": "Temperature Monitoring",
|
||||
"temperature_monitoring_enabled": "Enable temperature monitoring",
|
||||
"refrigeration": "Refrigeration (°C)",
|
||||
"refrigeration_temp_min": "Minimum Temperature",
|
||||
"refrigeration_temp_max": "Maximum Temperature",
|
||||
"freezer": "Freezer (°C)",
|
||||
"freezer_temp_min": "Minimum Temperature",
|
||||
"freezer_temp_max": "Maximum Temperature",
|
||||
"room_temp": "Room Temperature (°C)",
|
||||
"room_temp_min": "Minimum Temperature",
|
||||
"room_temp_max": "Maximum Temperature",
|
||||
"temp_alerts": "Deviation Alerts",
|
||||
"temp_deviation_alert_minutes": "Normal Deviation (minutes)",
|
||||
"critical_temp_deviation_minutes": "Critical Deviation (minutes)"
|
||||
},
|
||||
"production": {
|
||||
"title": "Production",
|
||||
"planning": "Planning and Batches",
|
||||
"planning_horizon_days": "Planning Horizon (days)",
|
||||
"minimum_batch_size": "Minimum Batch Size",
|
||||
"maximum_batch_size": "Maximum Batch Size",
|
||||
"production_buffer_percentage": "Production Buffer (%)",
|
||||
"schedule_optimization_enabled": "Enable schedule optimization",
|
||||
"capacity": "Capacity and Working Hours",
|
||||
"working_hours_per_day": "Working Hours per Day",
|
||||
"max_overtime_hours": "Maximum Overtime Hours",
|
||||
"capacity_utilization_target": "Capacity Utilization Target",
|
||||
"capacity_warning_threshold": "Capacity Warning Threshold",
|
||||
"quality": "Quality Control",
|
||||
"quality_check_enabled": "Enable quality checks",
|
||||
"minimum_yield_percentage": "Minimum Yield (%)",
|
||||
"quality_score_threshold": "Quality Score Threshold (0-10)",
|
||||
"time_buffers": "Time Buffers",
|
||||
"prep_time_buffer_minutes": "Prep Time Buffer (minutes)",
|
||||
"cleanup_time_buffer_minutes": "Cleanup Time Buffer (minutes)",
|
||||
"costs": "Costs",
|
||||
"labor_cost_per_hour": "Labor Cost per Hour (EUR)",
|
||||
"overhead_cost_percentage": "Overhead Cost Percentage (%)"
|
||||
},
|
||||
"supplier": {
|
||||
"title": "Supplier Management",
|
||||
"default_terms": "Default Terms",
|
||||
"default_payment_terms_days": "Default Payment Terms (days)",
|
||||
"default_delivery_days": "Default Delivery Days",
|
||||
"delivery_performance": "Performance Thresholds - Delivery",
|
||||
"excellent_delivery_rate": "Excellent Delivery Rate (%)",
|
||||
"good_delivery_rate": "Good Delivery Rate (%)",
|
||||
"quality_performance": "Performance Thresholds - Quality",
|
||||
"excellent_quality_rate": "Excellent Quality Rate (%)",
|
||||
"good_quality_rate": "Good Quality Rate (%)",
|
||||
"critical_alerts": "Critical Alerts",
|
||||
"critical_delivery_delay_hours": "Critical Delivery Delay (hours)",
|
||||
"critical_quality_rejection_rate": "Critical Quality Rejection Rate (%)",
|
||||
"high_cost_variance_percentage": "High Cost Variance (%)",
|
||||
"info": "These thresholds are used to automatically evaluate supplier performance. Suppliers performing below 'good' thresholds will receive automatic alerts."
|
||||
},
|
||||
"pos": {
|
||||
"title": "Point of Sale (POS)",
|
||||
"sync": "Synchronization",
|
||||
"sync_interval_minutes": "Sync Interval (minutes)",
|
||||
"sync_interval_help": "Frequency at which POS syncs with central system",
|
||||
"auto_sync_products": "Automatic product synchronization",
|
||||
"auto_sync_transactions": "Automatic transaction synchronization",
|
||||
"info": "These settings control how information syncs between the central system and point of sale terminals.",
|
||||
"info_details": [
|
||||
"A shorter interval keeps data more current but uses more resources",
|
||||
"Automatic synchronization ensures changes reflect immediately",
|
||||
"Disabling automatic sync requires manual synchronization"
|
||||
]
|
||||
},
|
||||
"order": {
|
||||
"title": "Orders and Business Rules",
|
||||
"pricing": "Discounts and Pricing",
|
||||
"max_discount_percentage": "Maximum Discount (%)",
|
||||
"max_discount_help": "Maximum discount percentage allowed on orders",
|
||||
"discount_enabled": "Enable order discounts",
|
||||
"dynamic_pricing_enabled": "Enable dynamic pricing",
|
||||
"delivery": "Delivery Configuration",
|
||||
"default_delivery_window_hours": "Default Delivery Window (hours)",
|
||||
"default_delivery_window_help": "Default time for order delivery",
|
||||
"delivery_tracking_enabled": "Enable delivery tracking",
|
||||
"info": "These settings control the business rules applied to orders.",
|
||||
"info_details": {
|
||||
"dynamic_pricing": "Automatically adjusts prices based on demand, inventory, and other factors",
|
||||
"discounts": "Allows applying discounts to products and orders within the set limit",
|
||||
"delivery_tracking": "Enables customers to track their orders in real-time"
|
||||
}
|
||||
},
|
||||
"messages": {
|
||||
"save_success": "Settings saved successfully",
|
||||
"save_error": "Error saving settings",
|
||||
"load_error": "Error loading settings",
|
||||
"validation_error": "Validation error"
|
||||
}
|
||||
}
|
||||
@@ -260,6 +260,50 @@
|
||||
"subtitle": "No hidden costs, no long commitments. Start free and scale as you grow.",
|
||||
"compare_link": "View complete feature comparison"
|
||||
},
|
||||
"sustainability": {
|
||||
"badge": "UN SDG 12.3 & EU Green Deal Aligned",
|
||||
"title_main": "Not Just Reduce Waste",
|
||||
"title_accent": "Prove It to the World",
|
||||
"subtitle": "The only AI platform with built-in UN SDG 12.3 compliance tracking. Reduce waste, save money, and qualify for EU sustainability grants—all with verifiable environmental impact metrics.",
|
||||
"metrics": {
|
||||
"co2_avoided": "CO₂ Avoided Monthly",
|
||||
"co2_equivalent": "Equivalent to 43 trees planted",
|
||||
"water_saved": "Water Saved Monthly",
|
||||
"water_equivalent": "Equivalent to 4,500 showers",
|
||||
"grants_eligible": "Grant Programs Eligible",
|
||||
"grants_value": "Up to €50,000 in funding"
|
||||
},
|
||||
"sdg": {
|
||||
"title": "UN SDG 12.3 Compliance",
|
||||
"subtitle": "Halve food waste by 2030",
|
||||
"description": "Real-time tracking toward the UN Sustainable Development Goal 12.3 target. Our AI helps you achieve 50% waste reduction with verifiable, auditable data for grant applications and certifications.",
|
||||
"progress_label": "Progress to Target",
|
||||
"baseline": "Baseline",
|
||||
"current": "Current",
|
||||
"target": "Target 2030",
|
||||
"features": {
|
||||
"tracking": "Automated waste baseline and progress tracking",
|
||||
"export": "One-click grant application report export",
|
||||
"certification": "Certification-ready environmental impact data"
|
||||
}
|
||||
},
|
||||
"grants": {
|
||||
"eu_horizon": "EU Horizon Europe",
|
||||
"eu_horizon_req": "Requires 30% reduction",
|
||||
"farm_to_fork": "Farm to Fork",
|
||||
"farm_to_fork_req": "Requires 20% reduction",
|
||||
"circular_economy": "Circular Economy",
|
||||
"circular_economy_req": "Requires 15% reduction",
|
||||
"un_sdg": "UN SDG Certified",
|
||||
"un_sdg_req": "Requires 50% reduction",
|
||||
"eligible": "Eligible",
|
||||
"on_track": "On Track"
|
||||
},
|
||||
"differentiator": {
|
||||
"title": "The Only AI Platform",
|
||||
"description": "With built-in UN SDG 12.3 tracking, real-time environmental impact calculations, and one-click grant application exports. Not just reduce waste—prove it."
|
||||
}
|
||||
},
|
||||
"final_cta": {
|
||||
"scarcity_badge": "12 spots remaining of the 20 pilot program",
|
||||
"title": "Be Among the First 20 Bakeries",
|
||||
|
||||
93
frontend/src/locales/en/sustainability.json
Normal file
93
frontend/src/locales/en/sustainability.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"widget": {
|
||||
"title": "Sustainability Impact",
|
||||
"subtitle": "Environmental & SDG 12.3 Compliance",
|
||||
"footer": "Aligned with UN SDG 12.3 & EU Green Deal"
|
||||
},
|
||||
"sdg": {
|
||||
"progress_label": "SDG 12.3 Target Progress",
|
||||
"target_note": "Target: 50% food waste reduction by 2030",
|
||||
"status": {
|
||||
"compliant": "SDG 12.3 Compliant",
|
||||
"on_track": "On Track to Compliance",
|
||||
"progressing": "Making Progress",
|
||||
"baseline": "Establishing Baseline"
|
||||
}
|
||||
},
|
||||
"metrics": {
|
||||
"waste_reduction": "Waste Reduction",
|
||||
"co2_avoided": "CO₂ Avoided",
|
||||
"water_saved": "Water Saved",
|
||||
"grants_eligible": "Grants Eligible",
|
||||
"trees": "trees",
|
||||
"programs": "programs"
|
||||
},
|
||||
"financial": {
|
||||
"potential_savings": "Potential Monthly Savings"
|
||||
},
|
||||
"actions": {
|
||||
"view_details": "View Details",
|
||||
"export_report": "Export Report"
|
||||
},
|
||||
"errors": {
|
||||
"load_failed": "Unable to load sustainability metrics"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Sustainability Dashboard",
|
||||
"description": "Environmental Impact & Grant Readiness"
|
||||
},
|
||||
"environmental": {
|
||||
"co2_emissions": "CO₂ Emissions",
|
||||
"water_footprint": "Water Footprint",
|
||||
"land_use": "Land Use",
|
||||
"equivalents": {
|
||||
"car_km": "Car kilometers equivalent",
|
||||
"showers": "Showers equivalent",
|
||||
"phones": "Smartphone charges",
|
||||
"trees_planted": "Trees to plant"
|
||||
}
|
||||
},
|
||||
"grants": {
|
||||
"title": "Grant Program Eligibility",
|
||||
"overall_readiness": "Overall Readiness",
|
||||
"programs": {
|
||||
"eu_horizon_europe": "EU Horizon Europe",
|
||||
"eu_farm_to_fork": "EU Farm to Fork",
|
||||
"national_circular_economy": "Circular Economy Grants",
|
||||
"un_sdg_certified": "UN SDG Certification"
|
||||
},
|
||||
"confidence": {
|
||||
"high": "High Confidence",
|
||||
"medium": "Medium Confidence",
|
||||
"low": "Low Confidence"
|
||||
},
|
||||
"status": {
|
||||
"eligible": "Eligible",
|
||||
"not_eligible": "Not Eligible",
|
||||
"requirements_met": "Requirements Met"
|
||||
}
|
||||
},
|
||||
"waste": {
|
||||
"total_waste": "Total Food Waste",
|
||||
"production_waste": "Production Waste",
|
||||
"inventory_waste": "Inventory Waste",
|
||||
"by_reason": {
|
||||
"production_defects": "Production Defects",
|
||||
"expired_inventory": "Expired Inventory",
|
||||
"damaged_inventory": "Damaged Inventory",
|
||||
"overproduction": "Overproduction"
|
||||
}
|
||||
},
|
||||
"report": {
|
||||
"title": "Sustainability Report",
|
||||
"export_success": "Report exported successfully",
|
||||
"export_error": "Failed to export report",
|
||||
"types": {
|
||||
"general": "General Sustainability Report",
|
||||
"eu_horizon": "EU Horizon Europe Format",
|
||||
"farm_to_fork": "Farm to Fork Report",
|
||||
"circular_economy": "Circular Economy Report",
|
||||
"un_sdg": "UN SDG Certification Report"
|
||||
}
|
||||
}
|
||||
}
|
||||
131
frontend/src/locales/es/ajustes.json
Normal file
131
frontend/src/locales/es/ajustes.json
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"title": "Ajustes",
|
||||
"description": "Configura los parámetros operativos de tu panadería",
|
||||
"save_all": "Guardar Cambios",
|
||||
"reset_all": "Restablecer Todo",
|
||||
"unsaved_changes": "Tienes cambios sin guardar",
|
||||
"discard": "Descartar",
|
||||
"save": "Guardar",
|
||||
"loading": "Cargando ajustes...",
|
||||
"saving": "Guardando...",
|
||||
"procurement": {
|
||||
"title": "Compras y Aprovisionamiento",
|
||||
"auto_approval": "Auto-Aprobación de Órdenes de Compra",
|
||||
"auto_approve_enabled": "Habilitar auto-aprobación de órdenes de compra",
|
||||
"auto_approve_threshold": "Umbral de Auto-Aprobación (EUR)",
|
||||
"min_supplier_score": "Puntuación Mínima de Proveedor",
|
||||
"require_approval_new_suppliers": "Requiere aprobación para nuevos proveedores",
|
||||
"require_approval_critical_items": "Requiere aprobación para artículos críticos",
|
||||
"planning": "Planificación y Previsión",
|
||||
"lead_time_days": "Tiempo de Entrega (días)",
|
||||
"demand_forecast_days": "Días de Previsión de Demanda",
|
||||
"safety_stock_percentage": "Stock de Seguridad (%)",
|
||||
"workflow": "Flujo de Aprobación",
|
||||
"approval_reminder_hours": "Recordatorio de Aprobación (horas)",
|
||||
"critical_escalation_hours": "Escalación Crítica (horas)"
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Gestión de Inventario",
|
||||
"stock_control": "Control de Stock",
|
||||
"low_stock_threshold": "Umbral de Stock Bajo",
|
||||
"reorder_point": "Punto de Reorden",
|
||||
"reorder_quantity": "Cantidad de Reorden",
|
||||
"expiration": "Gestión de Caducidad",
|
||||
"expiring_soon_days": "Días para 'Próximo a Caducar'",
|
||||
"expiration_warning_days": "Días para Alerta de Caducidad",
|
||||
"quality_score_threshold": "Umbral de Calidad (0-10)",
|
||||
"temperature": "Monitorización de Temperatura",
|
||||
"temperature_monitoring_enabled": "Habilitar monitorización de temperatura",
|
||||
"refrigeration": "Refrigeración (°C)",
|
||||
"refrigeration_temp_min": "Temperatura Mínima",
|
||||
"refrigeration_temp_max": "Temperatura Máxima",
|
||||
"freezer": "Congelador (°C)",
|
||||
"freezer_temp_min": "Temperatura Mínima",
|
||||
"freezer_temp_max": "Temperatura Máxima",
|
||||
"room_temp": "Temperatura Ambiente (°C)",
|
||||
"room_temp_min": "Temperatura Mínima",
|
||||
"room_temp_max": "Temperatura Máxima",
|
||||
"temp_alerts": "Alertas de Desviación",
|
||||
"temp_deviation_alert_minutes": "Desviación Normal (minutos)",
|
||||
"critical_temp_deviation_minutes": "Desviación Crítica (minutos)"
|
||||
},
|
||||
"production": {
|
||||
"title": "Producción",
|
||||
"planning": "Planificación y Lotes",
|
||||
"planning_horizon_days": "Horizonte de Planificación (días)",
|
||||
"minimum_batch_size": "Tamaño Mínimo de Lote",
|
||||
"maximum_batch_size": "Tamaño Máximo de Lote",
|
||||
"production_buffer_percentage": "Buffer de Producción (%)",
|
||||
"schedule_optimization_enabled": "Habilitar optimización de horarios",
|
||||
"capacity": "Capacidad y Jornada Laboral",
|
||||
"working_hours_per_day": "Horas de Trabajo por Día",
|
||||
"max_overtime_hours": "Máximo Horas Extra",
|
||||
"capacity_utilization_target": "Objetivo Utilización Capacidad",
|
||||
"capacity_warning_threshold": "Umbral de Alerta de Capacidad",
|
||||
"quality": "Control de Calidad",
|
||||
"quality_check_enabled": "Habilitar verificación de calidad",
|
||||
"minimum_yield_percentage": "Rendimiento Mínimo (%)",
|
||||
"quality_score_threshold": "Umbral de Puntuación de Calidad (0-10)",
|
||||
"time_buffers": "Tiempos de Preparación",
|
||||
"prep_time_buffer_minutes": "Tiempo de Preparación (minutos)",
|
||||
"cleanup_time_buffer_minutes": "Tiempo de Limpieza (minutos)",
|
||||
"costs": "Costes",
|
||||
"labor_cost_per_hour": "Coste Laboral por Hora (EUR)",
|
||||
"overhead_cost_percentage": "Porcentaje de Gastos Generales (%)"
|
||||
},
|
||||
"supplier": {
|
||||
"title": "Gestión de Proveedores",
|
||||
"default_terms": "Términos Predeterminados",
|
||||
"default_payment_terms_days": "Plazo de Pago Predeterminado (días)",
|
||||
"default_delivery_days": "Días de Entrega Predeterminados",
|
||||
"delivery_performance": "Umbrales de Rendimiento - Entregas",
|
||||
"excellent_delivery_rate": "Tasa de Entrega Excelente (%)",
|
||||
"good_delivery_rate": "Tasa de Entrega Buena (%)",
|
||||
"quality_performance": "Umbrales de Rendimiento - Calidad",
|
||||
"excellent_quality_rate": "Tasa de Calidad Excelente (%)",
|
||||
"good_quality_rate": "Tasa de Calidad Buena (%)",
|
||||
"critical_alerts": "Alertas Críticas",
|
||||
"critical_delivery_delay_hours": "Retraso de Entrega Crítico (horas)",
|
||||
"critical_quality_rejection_rate": "Tasa de Rechazo de Calidad Crítica (%)",
|
||||
"high_cost_variance_percentage": "Varianza de Coste Alta (%)",
|
||||
"info": "Estos umbrales se utilizan para evaluar automáticamente el rendimiento de los proveedores. Los proveedores con rendimiento por debajo de los umbrales 'buenos' recibirán alertas automáticas."
|
||||
},
|
||||
"pos": {
|
||||
"title": "Punto de Venta (POS)",
|
||||
"sync": "Sincronización",
|
||||
"sync_interval_minutes": "Intervalo de Sincronización (minutos)",
|
||||
"sync_interval_help": "Frecuencia con la que se sincroniza el POS con el sistema central",
|
||||
"auto_sync_products": "Sincronización automática de productos",
|
||||
"auto_sync_transactions": "Sincronización automática de transacciones",
|
||||
"info": "Estos ajustes controlan cómo se sincroniza la información entre el sistema central y los terminales de punto de venta.",
|
||||
"info_details": [
|
||||
"Un intervalo más corto mantiene los datos más actualizados pero consume más recursos",
|
||||
"La sincronización automática garantiza que los cambios se reflejen inmediatamente",
|
||||
"Desactivar la sincronización automática requiere sincronización manual"
|
||||
]
|
||||
},
|
||||
"order": {
|
||||
"title": "Pedidos y Reglas de Negocio",
|
||||
"pricing": "Descuentos y Precios",
|
||||
"max_discount_percentage": "Descuento Máximo (%)",
|
||||
"max_discount_help": "Porcentaje máximo de descuento permitido en pedidos",
|
||||
"discount_enabled": "Habilitar descuentos en pedidos",
|
||||
"dynamic_pricing_enabled": "Habilitar precios dinámicos",
|
||||
"delivery": "Configuración de Entrega",
|
||||
"default_delivery_window_hours": "Ventana de Entrega Predeterminada (horas)",
|
||||
"default_delivery_window_help": "Tiempo predeterminado para la entrega de pedidos",
|
||||
"delivery_tracking_enabled": "Habilitar seguimiento de entregas",
|
||||
"info": "Estos ajustes controlan las reglas de negocio que se aplican a los pedidos.",
|
||||
"info_details": {
|
||||
"dynamic_pricing": "Ajusta automáticamente los precios según demanda, inventario y otros factores",
|
||||
"discounts": "Permite aplicar descuentos a productos y pedidos dentro del límite establecido",
|
||||
"delivery_tracking": "Permite a los clientes rastrear sus pedidos en tiempo real"
|
||||
}
|
||||
},
|
||||
"messages": {
|
||||
"save_success": "Ajustes guardados correctamente",
|
||||
"save_error": "Error al guardar ajustes",
|
||||
"load_error": "Error al cargar los ajustes",
|
||||
"validation_error": "Error de validación"
|
||||
}
|
||||
}
|
||||
@@ -260,6 +260,50 @@
|
||||
"subtitle": "Sin costos ocultos, sin compromisos largos. Comienza gratis y escala según crezcas.",
|
||||
"compare_link": "Ver comparación completa de características"
|
||||
},
|
||||
"sustainability": {
|
||||
"badge": "Alineado con ODS 12.3 de la ONU y Pacto Verde Europeo",
|
||||
"title_main": "No Solo Reduce Desperdicios",
|
||||
"title_accent": "Demuéstralo al Mundo",
|
||||
"subtitle": "La única plataforma de IA con seguimiento integrado del cumplimiento del ODS 12.3 de la ONU. Reduce desperdicios, ahorra dinero y califica para ayudas europeas de sostenibilidad—todo con métricas verificables de impacto ambiental.",
|
||||
"metrics": {
|
||||
"co2_avoided": "CO₂ Evitado Mensualmente",
|
||||
"co2_equivalent": "Equivalente a plantar 43 árboles",
|
||||
"water_saved": "Agua Ahorrada Mensualmente",
|
||||
"water_equivalent": "Equivalente a 4,500 duchas",
|
||||
"grants_eligible": "Programas de Ayudas Elegibles",
|
||||
"grants_value": "Hasta €50,000 en financiación"
|
||||
},
|
||||
"sdg": {
|
||||
"title": "Cumplimiento ODS 12.3 de la ONU",
|
||||
"subtitle": "Reducir a la mitad el desperdicio alimentario para 2030",
|
||||
"description": "Seguimiento en tiempo real hacia el objetivo de Desarrollo Sostenible 12.3 de la ONU. Nuestra IA te ayuda a lograr una reducción del 50% en desperdicios con datos verificables y auditables para solicitudes de ayudas y certificaciones.",
|
||||
"progress_label": "Progreso hacia el Objetivo",
|
||||
"baseline": "Línea Base",
|
||||
"current": "Actual",
|
||||
"target": "Objetivo 2030",
|
||||
"features": {
|
||||
"tracking": "Seguimiento automático de línea base y progreso de desperdicios",
|
||||
"export": "Exportación de informes para solicitudes de ayudas con un clic",
|
||||
"certification": "Datos de impacto ambiental listos para certificación"
|
||||
}
|
||||
},
|
||||
"grants": {
|
||||
"eu_horizon": "Horizonte Europa UE",
|
||||
"eu_horizon_req": "Requiere reducción del 30%",
|
||||
"farm_to_fork": "De la Granja a la Mesa",
|
||||
"farm_to_fork_req": "Requiere reducción del 20%",
|
||||
"circular_economy": "Economía Circular",
|
||||
"circular_economy_req": "Requiere reducción del 15%",
|
||||
"un_sdg": "Certificado ODS ONU",
|
||||
"un_sdg_req": "Requiere reducción del 50%",
|
||||
"eligible": "Elegible",
|
||||
"on_track": "En Camino"
|
||||
},
|
||||
"differentiator": {
|
||||
"title": "La Única Plataforma de IA",
|
||||
"description": "Con seguimiento integrado del ODS 12.3 de la ONU, cálculos de impacto ambiental en tiempo real y exportación de solicitudes de ayudas con un clic. No solo reduce desperdicios—demuéstralo."
|
||||
}
|
||||
},
|
||||
"final_cta": {
|
||||
"scarcity_badge": "Quedan 12 plazas de las 20 del programa piloto",
|
||||
"title": "Sé de las Primeras 20 Panaderías",
|
||||
|
||||
93
frontend/src/locales/es/sustainability.json
Normal file
93
frontend/src/locales/es/sustainability.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"widget": {
|
||||
"title": "Impacto en Sostenibilidad",
|
||||
"subtitle": "Ambiental y Cumplimiento ODS 12.3",
|
||||
"footer": "Alineado con ODS 12.3 de la ONU y Pacto Verde Europeo"
|
||||
},
|
||||
"sdg": {
|
||||
"progress_label": "Progreso Objetivo ODS 12.3",
|
||||
"target_note": "Objetivo: 50% de reducción de desperdicio alimentario para 2030",
|
||||
"status": {
|
||||
"compliant": "Cumple ODS 12.3",
|
||||
"on_track": "En Camino al Cumplimiento",
|
||||
"progressing": "Avanzando",
|
||||
"baseline": "Estableciendo Línea Base"
|
||||
}
|
||||
},
|
||||
"metrics": {
|
||||
"waste_reduction": "Reducción de Desperdicio",
|
||||
"co2_avoided": "CO₂ Evitado",
|
||||
"water_saved": "Agua Ahorrada",
|
||||
"grants_eligible": "Subvenciones Elegibles",
|
||||
"trees": "árboles",
|
||||
"programs": "programas"
|
||||
},
|
||||
"financial": {
|
||||
"potential_savings": "Ahorro Potencial Mensual"
|
||||
},
|
||||
"actions": {
|
||||
"view_details": "Ver Detalles",
|
||||
"export_report": "Exportar Informe"
|
||||
},
|
||||
"errors": {
|
||||
"load_failed": "No se pudieron cargar las métricas de sostenibilidad"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Panel de Sostenibilidad",
|
||||
"description": "Impacto Ambiental y Preparación para Subvenciones"
|
||||
},
|
||||
"environmental": {
|
||||
"co2_emissions": "Emisiones de CO₂",
|
||||
"water_footprint": "Huella Hídrica",
|
||||
"land_use": "Uso de Suelo",
|
||||
"equivalents": {
|
||||
"car_km": "Kilómetros en coche equivalentes",
|
||||
"showers": "Duchas equivalentes",
|
||||
"phones": "Cargas de smartphone",
|
||||
"trees_planted": "Árboles a plantar"
|
||||
}
|
||||
},
|
||||
"grants": {
|
||||
"title": "Elegibilidad para Subvenciones",
|
||||
"overall_readiness": "Preparación General",
|
||||
"programs": {
|
||||
"eu_horizon_europe": "Horizonte Europa UE",
|
||||
"eu_farm_to_fork": "De la Granja a la Mesa UE",
|
||||
"national_circular_economy": "Subvenciones Economía Circular",
|
||||
"un_sdg_certified": "Certificación ODS ONU"
|
||||
},
|
||||
"confidence": {
|
||||
"high": "Alta Confianza",
|
||||
"medium": "Confianza Media",
|
||||
"low": "Baja Confianza"
|
||||
},
|
||||
"status": {
|
||||
"eligible": "Elegible",
|
||||
"not_eligible": "No Elegible",
|
||||
"requirements_met": "Requisitos Cumplidos"
|
||||
}
|
||||
},
|
||||
"waste": {
|
||||
"total_waste": "Desperdicio Alimentario Total",
|
||||
"production_waste": "Desperdicio de Producción",
|
||||
"inventory_waste": "Desperdicio de Inventario",
|
||||
"by_reason": {
|
||||
"production_defects": "Defectos de Producción",
|
||||
"expired_inventory": "Inventario Caducado",
|
||||
"damaged_inventory": "Inventario Dañado",
|
||||
"overproduction": "Sobreproducción"
|
||||
}
|
||||
},
|
||||
"report": {
|
||||
"title": "Informe de Sostenibilidad",
|
||||
"export_success": "Informe exportado correctamente",
|
||||
"export_error": "Error al exportar el informe",
|
||||
"types": {
|
||||
"general": "Informe General de Sostenibilidad",
|
||||
"eu_horizon": "Formato Horizonte Europa",
|
||||
"farm_to_fork": "Informe De la Granja a la Mesa",
|
||||
"circular_economy": "Informe Economía Circular",
|
||||
"un_sdg": "Informe Certificación ODS ONU"
|
||||
}
|
||||
}
|
||||
}
|
||||
131
frontend/src/locales/eu/ajustes.json
Normal file
131
frontend/src/locales/eu/ajustes.json
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"title": "Ezarpenak",
|
||||
"description": "Konfiguratu zure okindegiko parametro operatiboak",
|
||||
"save_all": "Gorde Aldaketak",
|
||||
"reset_all": "Berrezarri Dena",
|
||||
"unsaved_changes": "Gorde gabeko aldaketak dituzu",
|
||||
"discard": "Baztertu",
|
||||
"save": "Gorde",
|
||||
"loading": "Ezarpenak kargatzen...",
|
||||
"saving": "Gordetzen...",
|
||||
"procurement": {
|
||||
"title": "Erosketak eta Hornidura",
|
||||
"auto_approval": "Erosketa Aginduen Auto-Onespena",
|
||||
"auto_approve_enabled": "Gaitu erosketa aginduen auto-onespena",
|
||||
"auto_approve_threshold": "Auto-Onespen Atalasea (EUR)",
|
||||
"min_supplier_score": "Hornitzailearen Gutxieneko Puntuazioa",
|
||||
"require_approval_new_suppliers": "Eskatu onespena hornitzaile berrientzat",
|
||||
"require_approval_critical_items": "Eskatu onespena elementu kritikoetarako",
|
||||
"planning": "Plangintza eta Aurreikuspena",
|
||||
"lead_time_days": "Entregatzeko Denbora (egunak)",
|
||||
"demand_forecast_days": "Eskariaren Aurreikuspen Egunak",
|
||||
"safety_stock_percentage": "Segurtasun Stocka (%)",
|
||||
"workflow": "Onespen Fluxua",
|
||||
"approval_reminder_hours": "Onespen Gogorarazpena (orduak)",
|
||||
"critical_escalation_hours": "Eskalazio Kritikoa (orduak)"
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Inbentarioaren Kudeaketa",
|
||||
"stock_control": "Stock Kontrola",
|
||||
"low_stock_threshold": "Stock Baxuaren Atalasea",
|
||||
"reorder_point": "Berreskaera Puntua",
|
||||
"reorder_quantity": "Berreskaera Kantitatea",
|
||||
"expiration": "Iraungitze Kudeaketa",
|
||||
"expiring_soon_days": "Egunak 'Laster Iraungitzen'",
|
||||
"expiration_warning_days": "Iraungitze Abisu Egunak",
|
||||
"quality_score_threshold": "Kalitate Atalasea (0-10)",
|
||||
"temperature": "Tenperaturaren Monitorizazioa",
|
||||
"temperature_monitoring_enabled": "Gaitu tenperaturaren monitorizazioa",
|
||||
"refrigeration": "Hozkailua (°C)",
|
||||
"refrigeration_temp_min": "Gutxieneko Tenperatura",
|
||||
"refrigeration_temp_max": "Gehienezko Tenperatura",
|
||||
"freezer": "Izozkailua (°C)",
|
||||
"freezer_temp_min": "Gutxieneko Tenperatura",
|
||||
"freezer_temp_max": "Gehienezko Tenperatura",
|
||||
"room_temp": "Gela Tenperatura (°C)",
|
||||
"room_temp_min": "Gutxieneko Tenperatura",
|
||||
"room_temp_max": "Gehienezko Tenperatura",
|
||||
"temp_alerts": "Desbideratze Alertak",
|
||||
"temp_deviation_alert_minutes": "Desbideratze Normala (minutuak)",
|
||||
"critical_temp_deviation_minutes": "Desbideratze Kritikoa (minutuak)"
|
||||
},
|
||||
"production": {
|
||||
"title": "Ekoizpena",
|
||||
"planning": "Plangintza eta Loteak",
|
||||
"planning_horizon_days": "Plangintza Horizontea (egunak)",
|
||||
"minimum_batch_size": "Gutxieneko Lote Tamaina",
|
||||
"maximum_batch_size": "Gehienezko Lote Tamaina",
|
||||
"production_buffer_percentage": "Ekoizpen Bufferra (%)",
|
||||
"schedule_optimization_enabled": "Gaitu ordutegi optimizazioa",
|
||||
"capacity": "Gaitasuna eta Lan Orduak",
|
||||
"working_hours_per_day": "Eguneko Lan Orduak",
|
||||
"max_overtime_hours": "Gehienezko Ordu Gehigarriak",
|
||||
"capacity_utilization_target": "Gaitasun Erabilera Helburua",
|
||||
"capacity_warning_threshold": "Gaitasun Alerta Atalasea",
|
||||
"quality": "Kalitate Kontrola",
|
||||
"quality_check_enabled": "Gaitu kalitate egiaztapena",
|
||||
"minimum_yield_percentage": "Gutxieneko Etekina (%)",
|
||||
"quality_score_threshold": "Kalitate Puntuazioaren Atalasea (0-10)",
|
||||
"time_buffers": "Prestaketa Denborak",
|
||||
"prep_time_buffer_minutes": "Prestaketa Denbora (minutuak)",
|
||||
"cleanup_time_buffer_minutes": "Garbiketa Denbora (minutuak)",
|
||||
"costs": "Kostuak",
|
||||
"labor_cost_per_hour": "Lan Kostua Orduko (EUR)",
|
||||
"overhead_cost_percentage": "Gastu Orokorren Ehunekoa (%)"
|
||||
},
|
||||
"supplier": {
|
||||
"title": "Hornitzaileen Kudeaketa",
|
||||
"default_terms": "Baldintza Lehenetsiak",
|
||||
"default_payment_terms_days": "Ordainketa Epea Lehenetsia (egunak)",
|
||||
"default_delivery_days": "Entrega Egun Lehenetsiak",
|
||||
"delivery_performance": "Errendimendu Atalaseak - Entregak",
|
||||
"excellent_delivery_rate": "Entrega Tasa Bikaina (%)",
|
||||
"good_delivery_rate": "Entrega Tasa Ona (%)",
|
||||
"quality_performance": "Errendimendu Atalaseak - Kalitatea",
|
||||
"excellent_quality_rate": "Kalitate Tasa Bikaina (%)",
|
||||
"good_quality_rate": "Kalitate Tasa Ona (%)",
|
||||
"critical_alerts": "Alerta Kritikoak",
|
||||
"critical_delivery_delay_hours": "Entrega Atzerapen Kritikoa (orduak)",
|
||||
"critical_quality_rejection_rate": "Kalitate Baztertze Tasa Kritikoa (%)",
|
||||
"high_cost_variance_percentage": "Kostu Bariantza Altua (%)",
|
||||
"info": "Atalase hauek hornitzaileen errendimendua automatikoki ebaluatzeko erabiltzen dira. 'On' atalaseen azpitik dauden hornitzaileek alerta automatikoak jasoko dituzte."
|
||||
},
|
||||
"pos": {
|
||||
"title": "Salmenta Puntua (POS)",
|
||||
"sync": "Sinkronizazioa",
|
||||
"sync_interval_minutes": "Sinkronizazio Tartea (minutuak)",
|
||||
"sync_interval_help": "POS sistema zentralarekin sinkronizatzen den maiztasuna",
|
||||
"auto_sync_products": "Produktuen sinkronizazio automatikoa",
|
||||
"auto_sync_transactions": "Transakzioen sinkronizazio automatikoa",
|
||||
"info": "Ezarpen hauek sistema zentralaren eta salmenta puntuko terminalen arteko informazioaren sinkronizazioa kontrolatzen dute.",
|
||||
"info_details": [
|
||||
"Tarte laburragoak datuak eguneratuago mantentzen ditu baina baliabide gehiago kontsumitzen ditu",
|
||||
"Sinkronizazio automatikoak aldaketak berehala islatzen direla bermatzen du",
|
||||
"Sinkronizazio automatikoa desgaitzeak eskuzko sinkronizazioa behar du"
|
||||
]
|
||||
},
|
||||
"order": {
|
||||
"title": "Eskaerak eta Negozio Arauak",
|
||||
"pricing": "Deskontuak eta Prezioak",
|
||||
"max_discount_percentage": "Gehienezko Deskontua (%)",
|
||||
"max_discount_help": "Eskaeretan onartutako gehienezko deskontu ehunekoa",
|
||||
"discount_enabled": "Gaitu eskaeren deskontuak",
|
||||
"dynamic_pricing_enabled": "Gaitu prezio dinamikoak",
|
||||
"delivery": "Entrega Konfigurazioa",
|
||||
"default_delivery_window_hours": "Entrega Leiho Lehenetsia (orduak)",
|
||||
"default_delivery_window_help": "Eskaeren entregarako denbora lehenetsia",
|
||||
"delivery_tracking_enabled": "Gaitu entregaren jarraipena",
|
||||
"info": "Ezarpen hauek eskaerei aplikatzen zaizkien negozio arauak kontrolatzen dituzte.",
|
||||
"info_details": {
|
||||
"dynamic_pricing": "Prezioak automatikoki doitzen ditu eskariari, inbentarioari eta beste faktore batzuei jarraituz",
|
||||
"discounts": "Produktu eta eskaerei deskontuak aplikatzea ahalbidetzen du ezarritako mugan",
|
||||
"delivery_tracking": "Bezeroei beren eskaerak denbora errealean jarraitzeko aukera ematen die"
|
||||
}
|
||||
},
|
||||
"messages": {
|
||||
"save_success": "Ezarpenak ondo gorde dira",
|
||||
"save_error": "Errorea ezarpenak gordetzean",
|
||||
"load_error": "Errorea ezarpenak kargatzean",
|
||||
"validation_error": "Balidazio errorea"
|
||||
}
|
||||
}
|
||||
@@ -260,6 +260,50 @@
|
||||
"subtitle": "Ezkutuko kosturik gabe, konpromiso luzerik gabe. Hasi doan eta handitu zure hazkundea",
|
||||
"compare_link": "Ikusi ezaugarrien konparazio osoa"
|
||||
},
|
||||
"sustainability": {
|
||||
"badge": "NBEren GIH 12.3 eta EBren Itun Berdearekin Lerrokatuta",
|
||||
"title_main": "Ez Bakarrik Hondakinak Murriztu",
|
||||
"title_accent": "Frogatu Munduari",
|
||||
"subtitle": "AA plataforma bakarra NBEren GIH 12.3 betetze jarraipen integratua duena. Murriztu hondakinak, aurreztu dirua eta kualifikatu EBko iraunkortasun laguntzarako—ingurumen eraginaren metrika egiaztagarriekin.",
|
||||
"metrics": {
|
||||
"co2_avoided": "CO₂ Saihestu Hilero",
|
||||
"co2_equivalent": "43 zuhaitz landatzeko baliokidea",
|
||||
"water_saved": "Ura Aurreztua Hilero",
|
||||
"water_equivalent": "4,500 dutxaren baliokidea",
|
||||
"grants_eligible": "Laguntza Programa Kualifikatuak",
|
||||
"grants_value": "€50,000ra arte finantzaketan"
|
||||
},
|
||||
"sdg": {
|
||||
"title": "NBEren GIH 12.3 Betetzea",
|
||||
"subtitle": "Elikagai hondakinak erdira murriztea 2030erako",
|
||||
"description": "Denbora errealeko jarraipena NBEren Garapen Iraunkorreko 12.3 helbururantz. Gure AA-k laguntzen dizu %50eko murrizketa lortzeko datu egiaztagarri eta audita daitekeenekin laguntza eskaera eta ziurtagirietarako.",
|
||||
"progress_label": "Helbururantz Aurrerapena",
|
||||
"baseline": "Oinarri Lerroa",
|
||||
"current": "Oraingoa",
|
||||
"target": "2030 Helburua",
|
||||
"features": {
|
||||
"tracking": "Hondakinen oinarri lerro eta aurrerapen jarraipen automatikoa",
|
||||
"export": "Klik batean laguntza eskaera txostenen esportazioa",
|
||||
"certification": "Ziurtagirirako prest ingurumen eraginaren datuak"
|
||||
}
|
||||
},
|
||||
"grants": {
|
||||
"eu_horizon": "EBko Horizonte Europa",
|
||||
"eu_horizon_req": "%30eko murrizketa behar du",
|
||||
"farm_to_fork": "Baratzatik Mahairako",
|
||||
"farm_to_fork_req": "%20ko murrizketa behar du",
|
||||
"circular_economy": "Ekonomia Zirkularra",
|
||||
"circular_economy_req": "%15eko murrizketa behar du",
|
||||
"un_sdg": "NBEren GIH Ziurtagiria",
|
||||
"un_sdg_req": "%50eko murrizketa behar du",
|
||||
"eligible": "Kualifikatua",
|
||||
"on_track": "Bidean"
|
||||
},
|
||||
"differentiator": {
|
||||
"title": "AA Plataforma Bakarra",
|
||||
"description": "NBEren GIH 12.3 jarraipen integratua, ingurumen eraginaren denbora errealeko kalkuluak eta klik batean laguntza eskaerak esportatzeko aukerarekin. Ez bakarrik hondakinak murriztu—frogatu."
|
||||
}
|
||||
},
|
||||
"final_cta": {
|
||||
"scarcity_badge": "12 leku geratzen dira pilotu programako 20tik",
|
||||
"title": "Izan Lehenengo 20 Okindegien Artean",
|
||||
|
||||
93
frontend/src/locales/eu/sustainability.json
Normal file
93
frontend/src/locales/eu/sustainability.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"widget": {
|
||||
"title": "Iraunkortasun Eragina",
|
||||
"subtitle": "Ingurumen eta GIH 12.3 Betetze",
|
||||
"footer": "NBEren GIH 12.3 eta EBren Itun Berdearekin lerrokatuta"
|
||||
},
|
||||
"sdg": {
|
||||
"progress_label": "GIH 12.3 Helburu Aurrerapena",
|
||||
"target_note": "Helburua: %50 elikagai-hondakinak murriztea 2030erako",
|
||||
"status": {
|
||||
"compliant": "GIH 12.3 Betetzen",
|
||||
"on_track": "Betetze Bidean",
|
||||
"progressing": "Aurrera Egiten",
|
||||
"baseline": "Oinarri Lerroa Ezartzen"
|
||||
}
|
||||
},
|
||||
"metrics": {
|
||||
"waste_reduction": "Hondakin Murrizketa",
|
||||
"co2_avoided": "CO₂ Saihestua",
|
||||
"water_saved": "Ura Aurreztua",
|
||||
"grants_eligible": "Diru-laguntzak Eskuragarri",
|
||||
"trees": "zuhaitzak",
|
||||
"programs": "programak"
|
||||
},
|
||||
"financial": {
|
||||
"potential_savings": "Hileko Aurrezpen Potentziala"
|
||||
},
|
||||
"actions": {
|
||||
"view_details": "Xehetasunak Ikusi",
|
||||
"export_report": "Txostena Esportatu"
|
||||
},
|
||||
"errors": {
|
||||
"load_failed": "Ezin izan dira iraunkortasun metrikak kargatu"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Iraunkortasun Panela",
|
||||
"description": "Ingurumen Eragina eta Diru-laguntzak Prest"
|
||||
},
|
||||
"environmental": {
|
||||
"co2_emissions": "CO₂ Isuriak",
|
||||
"water_footprint": "Ur Aztarna",
|
||||
"land_use": "Lur Erabilera",
|
||||
"equivalents": {
|
||||
"car_km": "Autoan kilometro baliokideak",
|
||||
"showers": "Dutxa baliokideak",
|
||||
"phones": "Smartphone kargak",
|
||||
"trees_planted": "Landatu beharreko zuhaitzak"
|
||||
}
|
||||
},
|
||||
"grants": {
|
||||
"title": "Diru-laguntzetarako Gaitasuna",
|
||||
"overall_readiness": "Prestutasun Orokorra",
|
||||
"programs": {
|
||||
"eu_horizon_europe": "EB Horizonte Europa",
|
||||
"eu_farm_to_fork": "EB Baratzatik Mahairako",
|
||||
"national_circular_economy": "Ekonomia Zirkularreko Diru-laguntzak",
|
||||
"un_sdg_certified": "NBE GIH Ziurtagiria"
|
||||
},
|
||||
"confidence": {
|
||||
"high": "Konfiantza Handia",
|
||||
"medium": "Konfiantza Ertaina",
|
||||
"low": "Konfiantza Txikia"
|
||||
},
|
||||
"status": {
|
||||
"eligible": "Eskuragarri",
|
||||
"not_eligible": "Ez Dago Eskuragarri",
|
||||
"requirements_met": "Eskakizunak Betetzen"
|
||||
}
|
||||
},
|
||||
"waste": {
|
||||
"total_waste": "Elikagai-hondakin Guztira",
|
||||
"production_waste": "Ekoizpen Hondakinak",
|
||||
"inventory_waste": "Inbentario Hondakinak",
|
||||
"by_reason": {
|
||||
"production_defects": "Ekoizpen Akatsak",
|
||||
"expired_inventory": "Iraungi den Inbentarioa",
|
||||
"damaged_inventory": "Kaltetutako Inbentarioa",
|
||||
"overproduction": "Gehiegizko Ekoizpena"
|
||||
}
|
||||
},
|
||||
"report": {
|
||||
"title": "Iraunkortasun Txostena",
|
||||
"export_success": "Txostena ongi esportatu da",
|
||||
"export_error": "Errorea txostena esportatzean",
|
||||
"types": {
|
||||
"general": "Iraunkortasun Txosten Orokorra",
|
||||
"eu_horizon": "Horizonte Europa Formatua",
|
||||
"farm_to_fork": "Baratzatik Mahairako Txostena",
|
||||
"circular_economy": "Ekonomia Zirkularreko Txostena",
|
||||
"un_sdg": "NBE GIH Ziurtagiri Txostena"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user