Improve the frontend 2

This commit is contained in:
Urtzi Alfaro
2025-10-29 06:58:05 +01:00
parent 858d985c92
commit 36217a2729
98 changed files with 6652 additions and 4230 deletions

View File

@@ -31,12 +31,24 @@
"energy_usage": "Energy Usage",
"temperature": "Temperature",
"target_temperature": "Target Temperature",
"current_temperature": "Current Temperature",
"power": "Power",
"capacity": "Capacity",
"weight": "Weight",
"parts": "Parts",
"utilization_today": "Utilization Today",
"edit": "Edit",
"notes": "Notes",
"date": "Date",
"technician": "Technician",
"downtime": "Downtime",
"maintenance_type": "Maintenance Type",
"priority": "Priority",
"scheduled_date": "Scheduled Date",
"time": "Time",
"duration": "Duration (hours)",
"parts_needed": "Parts Needed",
"description": "Description",
"specifications": {
"power": "Power",
"capacity": "Capacity",
@@ -50,13 +62,16 @@
"add_equipment": "Add Equipment",
"edit_equipment": "Edit Equipment",
"delete_equipment": "Delete Equipment",
"delete": "Delete",
"schedule_maintenance": "Schedule Maintenance",
"schedule": "Schedule",
"view_maintenance_history": "View Maintenance History",
"acknowledge_alert": "Acknowledge Alert",
"view_details": "View Details",
"view_history": "View History",
"close": "Close",
"cost": "Cost"
"cost": "Cost",
"edit": "Edit"
},
"labels": {
"total_equipment": "Total Equipment",
@@ -74,14 +89,23 @@
"equipment_info": "Equipment Information",
"performance": "Performance",
"maintenance": "Maintenance Information",
"maintenance_info": "Maintenance Information",
"specifications": "Specifications",
"temperature_monitoring": "Temperature Monitoring",
"notes": "Notes",
"scheduling": "Scheduling",
"details": "Details",
"create_equipment_subtitle": "Fill in the details for the new equipment"
},
"placeholders": {
"name": "Enter equipment name",
"model": "Enter equipment model",
"serial_number": "Enter serial number",
"location": "Enter location"
"location": "Enter location",
"notes": "Additional notes and observations",
"technician": "Assigned technician name",
"parts_needed": "List of required parts and materials",
"maintenance_description": "Description of the maintenance work to be performed"
},
"descriptions": {
"equipment_efficiency": "Current equipment efficiency percentage",
@@ -97,12 +121,24 @@
"records": "records",
"overdue": "Overdue",
"scheduled": "Scheduled",
"no_history": "No maintenance history",
"no_history_description": "Maintenance records will appear here when operations are performed",
"type": {
"preventive": "Preventive",
"corrective": "Corrective",
"emergency": "Emergency"
}
},
"priority": {
"low": "Low",
"medium": "Medium",
"high": "High",
"urgent": "Urgent"
},
"validation": {
"required": "This field is required",
"must_be_positive": "Must be greater than 0"
},
"alerts": {
"title": "Alerts",
"unread_alerts": "unread alerts",

View File

@@ -0,0 +1,100 @@
{
"page_title": "AI Models Configuration",
"page_description": "Manage training and configuration of prediction models for each ingredient",
"status": {
"active": "Active",
"no_model": "No Model",
"training": "Training",
"retraining": "Retraining",
"error": "Error"
},
"retrain": {
"title": "Retrain Model",
"subtitle": "Update the prediction model with recent data",
"modes": {
"quick": "Quick",
"preset": "Preset",
"advanced": "Advanced"
},
"quick": {
"title": "Quick Retrain",
"ingredient": "Ingredient",
"current_accuracy": "Current Accuracy",
"last_training": "Last Training",
"description": "Description",
"description_text": "Quick retraining uses the same configuration as the current model but with the most recent data. This keeps the model accuracy up to date without changing its behavior."
},
"preset": {
"title": "Select Configuration",
"ingredient": "Ingredient",
"select": "Product Type",
"description": "Description",
"seasonality_mode": "Seasonality Mode",
"daily": "Daily Seasonality",
"weekly": "Weekly Seasonality",
"yearly": "Yearly Seasonality"
},
"advanced": {
"title": "Advanced Configuration",
"ingredient": "Ingredient",
"start_date": "Start Date",
"start_date_help": "Leave empty to use all available data",
"end_date": "End Date",
"end_date_help": "Leave empty to use up to current date",
"seasonality_mode": "Seasonality Mode",
"seasonality_mode_help": "Additive: constant changes. Multiplicative: proportional changes.",
"seasonality_patterns": "Seasonal Patterns",
"daily_seasonality": "Daily Seasonality",
"daily_seasonality_help": "Patterns that repeat every day",
"weekly_seasonality": "Weekly Seasonality",
"weekly_seasonality_help": "Patterns that repeat every week",
"yearly_seasonality": "Yearly Seasonality",
"yearly_seasonality_help": "Patterns that repeat every year (holidays, seasons)"
}
},
"presets": {
"standard": {
"name": "Standard Bakery",
"description": "Recommended for products with weekly patterns and daily cycles. Ideal for bread and daily baked goods."
},
"seasonal": {
"name": "Seasonal Products",
"description": "For products with seasonal or seasonal demand. Includes annual patterns for holidays and special events."
},
"stable": {
"name": "Stable Demand",
"description": "For basic ingredients with constant demand. Minimal seasonality."
},
"custom": {
"name": "Custom",
"description": "Advanced configuration with full control over parameters."
}
},
"seasonality": {
"additive": "Additive",
"multiplicative": "Multiplicative"
},
"actions": {
"train": "Train",
"retrain": "Retrain",
"view_details": "View Details",
"cancel": "Cancel",
"save": "Save"
},
"messages": {
"training_started": "Training started for {{name}}",
"training_error": "Error starting training",
"retraining_started": "Retraining started for {{name}}",
"retraining_error": "Error retraining model"
}
}

View File

@@ -97,6 +97,7 @@
"address_info": "Address Information",
"commercial_info": "Commercial Information",
"additional_info": "Additional Information",
"price_list": "Price List",
"performance": "Performance and Statistics",
"notes": "Notes"
},
@@ -129,12 +130,92 @@
"actions": {
"approve": "Approve Supplier",
"reject": "Reject Supplier",
"delete": "Delete Supplier"
"delete": "Delete Supplier",
"manage_products": "Manage Products"
},
"confirm": {
"approve": "Are you sure you want to approve this supplier? This will activate the supplier for use.",
"reject": "Are you sure you want to reject this supplier? This action can be undone later."
},
"price_list": {
"title": "Product Price List",
"subtitle": "{{count}} products available from this supplier",
"modal": {
"title_create": "Add Product to Supplier",
"title_edit": "Edit Product Price",
"subtitle_create": "Add a new product that this supplier can provide",
"subtitle_edit": "Update product pricing and details"
},
"sections": {
"product_selection": "Product Selection",
"pricing": "Pricing Information",
"validity": "Price Validity",
"product_details": "Product Details"
},
"fields": {
"product": "Product",
"product_code": "Supplier Product Code",
"unit_price": "Unit Price",
"price_per_unit": "Price per Unit",
"unit_of_measure": "Unit of Measure",
"minimum_order": "Minimum Order Quantity",
"effective_date": "Effective Date",
"expiry_date": "Expiry Date",
"is_active": "Active",
"brand": "Brand",
"packaging_size": "Packaging Size",
"origin_country": "Country of Origin",
"shelf_life_days": "Shelf Life (days)",
"storage_requirements": "Storage Requirements"
},
"placeholders": {
"product_code": "e.g., SUP-FLOUR-001",
"brand": "Brand name",
"packaging_size": "e.g., 25kg bags, 1L bottles",
"origin_country": "e.g., Spain, France",
"storage_requirements": "e.g., Store in cool, dry place"
},
"help": {
"product_locked": "Product cannot be changed after creation",
"select_product": "Select a product from your inventory",
"product_code": "Supplier's internal code for this product",
"unit_price": "Base price per package/unit",
"price_per_unit": "Calculated price per unit of measure",
"unit_of_measure": "Unit used for pricing and ordering",
"minimum_order": "Minimum quantity required for ordering",
"effective_date": "Date when this price becomes valid",
"expiry_date": "Optional expiration date for this price",
"is_active": "Enable or disable this price list item",
"packaging_size": "e.g., 25kg bags, 1L bottles, 100 units per box",
"shelf_life_days": "Number of days product remains fresh"
},
"columns": {
"product": "Product",
"price": "Price",
"min_order": "Min. Order",
"validity": "Validity Period",
"brand": "Brand",
"status": "Status"
},
"actions": {
"add_product": "Add Product",
"add_first_product": "Add First Product"
},
"empty": {
"title": "No Products Yet",
"description": "Add products that this supplier can provide with their prices"
},
"errors": {
"load_failed": "Failed to load price list"
},
"validation": {
"price_positive": "Price must be greater than 0"
},
"delete": {
"title": "Remove Product from Supplier",
"description": "Are you sure you want to remove {{product}} from this supplier's price list?"
}
},
"delete": {
"title": "Delete Supplier",
"subtitle": "How would you like to delete {name}?",