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}?",

View File

@@ -31,11 +31,24 @@
"energy_usage": "Consumo Energético",
"temperature": "Temperatura",
"target_temperature": "Temperatura Objetivo",
"current_temperature": "Temperatura Actual",
"power": "Potencia",
"capacity": "Capacidad",
"weight": "Peso",
"parts": "Repuestos",
"utilization_today": "Utilización Hoy",
"edit": "Editar",
"notes": "Notas",
"date": "Fecha",
"technician": "Técnico",
"downtime": "Parada",
"maintenance_type": "Tipo de Mantenimiento",
"priority": "Prioridad",
"scheduled_date": "Fecha Programada",
"time": "Hora",
"duration": "Duración (horas)",
"parts_needed": "Repuestos Necesarios",
"description": "Descripción",
"specifications": {
"power": "Potencia",
"capacity": "Capacidad",
@@ -49,13 +62,16 @@
"add_equipment": "Agregar Equipo",
"edit_equipment": "Editar Equipo",
"delete_equipment": "Eliminar Equipo",
"delete": "Eliminar",
"schedule_maintenance": "Programar Mantenimiento",
"schedule": "Programar",
"view_maintenance_history": "Ver Historial de Mantenimiento",
"acknowledge_alert": "Reconocer Alerta",
"view_details": "Ver Detalles",
"view_history": "Ver Historial",
"close": "Cerrar",
"cost": "Costo"
"cost": "Costo",
"edit": "Editar"
},
"labels": {
"total_equipment": "Total de Equipos",
@@ -73,14 +89,23 @@
"equipment_info": "Información de Equipo",
"performance": "Rendimiento",
"maintenance": "Información de Mantenimiento",
"maintenance_info": "Información de Mantenimiento",
"specifications": "Especificaciones",
"temperature_monitoring": "Monitoreo de Temperatura",
"notes": "Notas",
"scheduling": "Programación",
"details": "Detalles",
"create_equipment_subtitle": "Completa los detalles del nuevo equipo"
},
"placeholders": {
"name": "Introduce el nombre del equipo",
"model": "Introduce el modelo del equipo",
"serial_number": "Introduce el número de serie",
"location": "Introduce la ubicación"
"location": "Introduce la ubicación",
"notes": "Notas y observaciones adicionales",
"technician": "Nombre del técnico asignado",
"parts_needed": "Lista de repuestos y materiales necesarios",
"maintenance_description": "Descripción del trabajo a realizar"
},
"descriptions": {
"equipment_efficiency": "Porcentaje de eficiencia actual de los equipos",
@@ -96,12 +121,24 @@
"records": "registros",
"overdue": "Atrasado",
"scheduled": "Programado",
"no_history": "No hay historial de mantenimiento",
"no_history_description": "Los registros de mantenimiento aparecerán aquí cuando se realicen operaciones",
"type": {
"preventive": "Preventivo",
"corrective": "Correctivo",
"emergency": "Emergencia"
}
},
"priority": {
"low": "Baja",
"medium": "Media",
"high": "Alta",
"urgent": "Urgente"
},
"validation": {
"required": "Este campo es requerido",
"must_be_positive": "Debe ser mayor que 0"
},
"alerts": {
"title": "Alertas",
"unread_alerts": "alertas no leídas",

View File

@@ -0,0 +1,100 @@
{
"page_title": "Configuración de Modelos IA",
"page_description": "Gestiona el entrenamiento y configuración de modelos de predicción para cada ingrediente",
"status": {
"active": "Activo",
"no_model": "Sin Modelo",
"training": "Entrenando",
"retraining": "Reentrenamiento",
"error": "Error"
},
"retrain": {
"title": "Reentrenar Modelo",
"subtitle": "Actualiza el modelo de predicción con datos recientes",
"modes": {
"quick": "Rápido",
"preset": "Preconfigurado",
"advanced": "Avanzado"
},
"quick": {
"title": "Reentrenamiento Rápido",
"ingredient": "Ingrediente",
"current_accuracy": "Precisión Actual",
"last_training": "Último Entrenamiento",
"description": "Descripción",
"description_text": "El reentrenamiento rápido utiliza la misma configuración del modelo actual pero con los datos más recientes. Esto mantiene la precisión del modelo actualizada sin cambiar su comportamiento."
},
"preset": {
"title": "Seleccionar Configuración",
"ingredient": "Ingrediente",
"select": "Tipo de Producto",
"description": "Descripción",
"seasonality_mode": "Modo de Estacionalidad",
"daily": "Estacionalidad Diaria",
"weekly": "Estacionalidad Semanal",
"yearly": "Estacionalidad Anual"
},
"advanced": {
"title": "Configuración Avanzada",
"ingredient": "Ingrediente",
"start_date": "Fecha de Inicio",
"start_date_help": "Dejar vacío para usar todos los datos disponibles",
"end_date": "Fecha de Fin",
"end_date_help": "Dejar vacío para usar hasta la fecha actual",
"seasonality_mode": "Modo de Estacionalidad",
"seasonality_mode_help": "Aditivo: cambios constantes. Multiplicativo: cambios proporcionales.",
"seasonality_patterns": "Patrones Estacionales",
"daily_seasonality": "Estacionalidad Diaria",
"daily_seasonality_help": "Patrones que se repiten cada día",
"weekly_seasonality": "Estacionalidad Semanal",
"weekly_seasonality_help": "Patrones que se repiten cada semana",
"yearly_seasonality": "Estacionalidad Anual",
"yearly_seasonality_help": "Patrones que se repiten cada año (festividades, temporadas)"
}
},
"presets": {
"standard": {
"name": "Panadería Estándar",
"description": "Recomendado para productos con patrones semanales y ciclos diarios. Ideal para pan y productos horneados diarios."
},
"seasonal": {
"name": "Productos Estacionales",
"description": "Para productos con demanda estacional o de temporada. Incluye patrones anuales para festividades y eventos especiales."
},
"stable": {
"name": "Demanda Estable",
"description": "Para ingredientes básicos con demanda constante. Mínima estacionalidad."
},
"custom": {
"name": "Personalizado",
"description": "Configuración avanzada con control total sobre los parámetros."
}
},
"seasonality": {
"additive": "Aditivo",
"multiplicative": "Multiplicativo"
},
"actions": {
"train": "Entrenar",
"retrain": "Reentrenar",
"view_details": "Ver Detalles",
"cancel": "Cancelar",
"save": "Guardar"
},
"messages": {
"training_started": "Entrenamiento iniciado para {{name}}",
"training_error": "Error al iniciar el entrenamiento",
"retraining_started": "Reentrenamiento iniciado para {{name}}",
"retraining_error": "Error al reentrenar el modelo"
}
}

View File

@@ -97,6 +97,7 @@
"address_info": "Información de Dirección",
"commercial_info": "Información Comercial",
"additional_info": "Información Adicional",
"price_list": "Lista de Precios",
"performance": "Rendimiento y Estadísticas",
"notes": "Notas"
},
@@ -129,12 +130,92 @@
"actions": {
"approve": "Aprobar Proveedor",
"reject": "Rechazar Proveedor",
"delete": "Eliminar Proveedor"
"delete": "Eliminar Proveedor",
"manage_products": "Gestionar Productos"
},
"confirm": {
"approve": "¿Estás seguro de que quieres aprobar este proveedor? Esto activará el proveedor para su uso.",
"reject": "¿Estás seguro de que quieres rechazar este proveedor? Esta acción se puede deshacer más tarde."
},
"price_list": {
"title": "Lista de Precios de Productos",
"subtitle": "{{count}} productos disponibles de este proveedor",
"modal": {
"title_create": "Añadir Producto al Proveedor",
"title_edit": "Editar Precio de Producto",
"subtitle_create": "Añadir un nuevo producto que este proveedor puede suministrar",
"subtitle_edit": "Actualizar precios y detalles del producto"
},
"sections": {
"product_selection": "Selección de Producto",
"pricing": "Información de Precios",
"validity": "Validez del Precio",
"product_details": "Detalles del Producto"
},
"fields": {
"product": "Producto",
"product_code": "Código de Producto del Proveedor",
"unit_price": "Precio Unitario",
"price_per_unit": "Precio por Unidad",
"unit_of_measure": "Unidad de Medida",
"minimum_order": "Cantidad Mínima de Pedido",
"effective_date": "Fecha de Vigencia",
"expiry_date": "Fecha de Vencimiento",
"is_active": "Activo",
"brand": "Marca",
"packaging_size": "Tamaño del Envase",
"origin_country": "País de Origen",
"shelf_life_days": "Vida Útil (días)",
"storage_requirements": "Requisitos de Almacenamiento"
},
"placeholders": {
"product_code": "ej., PROV-HARINA-001",
"brand": "Nombre de la marca",
"packaging_size": "ej., Sacos de 25kg, Botellas de 1L",
"origin_country": "ej., España, Francia",
"storage_requirements": "ej., Almacenar en lugar fresco y seco"
},
"help": {
"product_locked": "El producto no se puede cambiar después de la creación",
"select_product": "Selecciona un producto de tu inventario",
"product_code": "Código interno del proveedor para este producto",
"unit_price": "Precio base por paquete/unidad",
"price_per_unit": "Precio calculado por unidad de medida",
"unit_of_measure": "Unidad utilizada para precios y pedidos",
"minimum_order": "Cantidad mínima requerida para realizar pedidos",
"effective_date": "Fecha en que este precio entra en vigencia",
"expiry_date": "Fecha de vencimiento opcional para este precio",
"is_active": "Activar o desactivar este elemento de la lista de precios",
"packaging_size": "ej., Sacos de 25kg, Botellas de 1L, 100 unidades por caja",
"shelf_life_days": "Número de días que el producto permanece fresco"
},
"columns": {
"product": "Producto",
"price": "Precio",
"min_order": "Pedido Mín.",
"validity": "Período de Validez",
"brand": "Marca",
"status": "Estado"
},
"actions": {
"add_product": "Añadir Producto",
"add_first_product": "Añadir Primer Producto"
},
"empty": {
"title": "Aún No Hay Productos",
"description": "Añade productos que este proveedor puede suministrar con sus precios"
},
"errors": {
"load_failed": "Error al cargar la lista de precios"
},
"validation": {
"price_positive": "El precio debe ser mayor que 0"
},
"delete": {
"title": "Eliminar Producto del Proveedor",
"description": "¿Estás seguro de que quieres eliminar {{product}} de la lista de precios de este proveedor?"
}
},
"delete": {
"title": "Eliminar Proveedor",
"subtitle": "¿Cómo te gustaría eliminar {name}?",

View File

@@ -31,11 +31,24 @@
"energy_usage": "Energia-kontsumoa",
"temperature": "Tenperatura",
"target_temperature": "Helburuko tenperatura",
"current_temperature": "Uneko tenperatura",
"power": "Potentzia",
"capacity": "Edukiera",
"weight": "Pisua",
"parts": "Piezak",
"utilization_today": "Gaurko erabilera",
"edit": "Editatu",
"notes": "Oharrak",
"date": "Data",
"technician": "Teknikaria",
"downtime": "Geldialdia",
"maintenance_type": "Mantentze mota",
"priority": "Lehentasuna",
"scheduled_date": "Programatutako data",
"time": "Ordua",
"duration": "Iraupena (orduak)",
"parts_needed": "Behar diren piezak",
"description": "Deskribapena",
"specifications": {
"power": "Potentzia",
"capacity": "Edukiera",
@@ -49,13 +62,16 @@
"add_equipment": "Gehitu makina",
"edit_equipment": "Editatu makina",
"delete_equipment": "Ezabatu makina",
"delete": "Ezabatu",
"schedule_maintenance": "Antolatu mantentzea",
"schedule": "Antolatu",
"view_maintenance_history": "Ikusi mantentze-historia",
"acknowledge_alert": "Berretsi alerta",
"view_details": "Ikusi xehetasunak",
"view_history": "Ikusi historia",
"close": "Itxi",
"cost": "Kostua"
"cost": "Kostua",
"edit": "Editatu"
},
"labels": {
"total_equipment": "Makina guztira",
@@ -70,14 +86,23 @@
"equipment_info": "Makinaren informazioa",
"performance": "Errendimendua",
"maintenance": "Mantentze informazioa",
"maintenance_info": "Mantentze informazioa",
"specifications": "Zehaztapenak",
"temperature_monitoring": "Tenperatura-jarraipena",
"notes": "Oharrak",
"scheduling": "Programazioa",
"details": "Xehetasunak",
"create_equipment_subtitle": "Bete makinaren xehetasunak"
},
"placeholders": {
"name": "Sartu makinaren izena",
"model": "Sartu makinaren modeloa",
"serial_number": "Sartu serie-zenbakia",
"location": "Sartu kokapena"
"location": "Sartu kokapena",
"notes": "Ohar eta behaketa gehigarriak",
"technician": "Esleitutako teknikariaren izena",
"parts_needed": "Beharrezko piezen eta materialen zerrenda",
"maintenance_description": "Egingo den lanaren deskribapena"
},
"descriptions": {
"equipment_efficiency": "Uneko makinaren eraginkortasun-ehunekoa",
@@ -93,12 +118,24 @@
"records": "erregistro",
"overdue": "Atzeratuta",
"scheduled": "Antolatuta",
"no_history": "Ez dago mantentze-historiarik",
"no_history_description": "Mantentze-erregistroak hemen agertuko dira eragiketak egiten direnean",
"type": {
"preventive": "Prebentiboa",
"corrective": "Zuzentzailea",
"emergency": "Larria"
}
},
"priority": {
"low": "Baxua",
"medium": "Ertaina",
"high": "Altua",
"urgent": "Presazkoa"
},
"validation": {
"required": "Eremu hau beharrezkoa da",
"must_be_positive": "0 baino handiagoa izan behar du"
},
"alerts": {
"title": "Alertak",
"unread_alerts": "irakurri gabeko alertak",

View File

@@ -0,0 +1,100 @@
{
"page_title": "IA Ereduen Konfigurazioa",
"page_description": "Kudeatu osagai bakoitzaren iragarpen-ereduen prestakuntza eta konfigurazioa",
"status": {
"active": "Aktiboa",
"no_model": "Eredurik Ez",
"training": "Entrenatzen",
"retraining": "Berrentrenatzea",
"error": "Errorea"
},
"retrain": {
"title": "Eredua Berrentrenatu",
"subtitle": "Eguneratu iragarpen-eredua datu berriekin",
"modes": {
"quick": "Azkarra",
"preset": "Aurrekonfiguratua",
"advanced": "Aurreratua"
},
"quick": {
"title": "Berrentrenamendu Azkarra",
"ingredient": "Osagaia",
"current_accuracy": "Uneko Zehaztasuna",
"last_training": "Azken Entrenamentua",
"description": "Deskribapena",
"description_text": "Berrentrenamendu azkarrak uneko ereduaren konfigurazio bera erabiltzen du baina datu berrienekin. Honek ereduaren zehaztasuna eguneratuta mantentzen du bere portaera aldatu gabe."
},
"preset": {
"title": "Hautatu Konfigurazioa",
"ingredient": "Osagaia",
"select": "Produktu Mota",
"description": "Deskribapena",
"seasonality_mode": "Denboraldiko Modua",
"daily": "Eguneroko Denboraldia",
"weekly": "Asteko Denboraldia",
"yearly": "Urteko Denboraldia"
},
"advanced": {
"title": "Konfigurazio Aurreratua",
"ingredient": "Osagaia",
"start_date": "Hasiera Data",
"start_date_help": "Hutsik utzi datu guztiak erabiltzeko",
"end_date": "Amaiera Data",
"end_date_help": "Hutsik utzi gaur arte erabiltzeko",
"seasonality_mode": "Denboraldiko Modua",
"seasonality_mode_help": "Gehigarria: aldaketa konstanteak. Biderkatzailea: aldaketa proportzionalak.",
"seasonality_patterns": "Denboraldi Ereduak",
"daily_seasonality": "Eguneroko Denboraldia",
"daily_seasonality_help": "Egunero errepikatzen diren ereduak",
"weekly_seasonality": "Asteko Denboraldia",
"weekly_seasonality_help": "Astero errepikatzen diren ereduak",
"yearly_seasonality": "Urteko Denboraldia",
"yearly_seasonality_help": "Urtero errepikatzen diren ereduak (jaiak, denboraldiak)"
}
},
"presets": {
"standard": {
"name": "Okindegi Estandarra",
"description": "Gomendatua asteko ereduak eta eguneroko zikloak dituzten produktuentzat. Egokia ogia eta egunero labe-produktuentzat."
},
"seasonal": {
"name": "Denboraldiko Produktuak",
"description": "Denboraldiko eskaria duten produktuentzat. Urteko ereduak barne hartzen ditu jaietarako eta ekitaldi berezietarako."
},
"stable": {
"name": "Eskari Egonkorra",
"description": "Eskari konstantea duten oinarrizko osagaientzat. Denboraldia gutxienekoa."
},
"custom": {
"name": "Pertsonalizatua",
"description": "Konfigurazio aurreratua parametroen kontrol osoarekin."
}
},
"seasonality": {
"additive": "Gehigarria",
"multiplicative": "Biderkatzailea"
},
"actions": {
"train": "Entrenatu",
"retrain": "Berrentrenatu",
"view_details": "Ikusi Xehetasunak",
"cancel": "Ezeztatu",
"save": "Gorde"
},
"messages": {
"training_started": "Entrenamentua hasi da {{name}}rako",
"training_error": "Errorea entrenamentua hastean",
"retraining_started": "Berrentrenamendua hasi da {{name}}rako",
"retraining_error": "Errorea eredua berrentrenatzean"
}
}

View File

@@ -97,6 +97,7 @@
"address_info": "Helbide informazioa",
"commercial_info": "Informazio komertziala",
"additional_info": "Informazio gehigarria",
"price_list": "Prezioen Zerrenda",
"performance": "Errendimendua eta estatistikak",
"notes": "Oharrak"
},
@@ -129,12 +130,92 @@
"actions": {
"approve": "Hornitzailea Onartu",
"reject": "Hornitzailea Baztertu",
"delete": "Hornitzailea Ezabatu"
"delete": "Hornitzailea Ezabatu",
"manage_products": "Produktuak Kudeatu"
},
"confirm": {
"approve": "Ziur zaude hornitzaile hau onartu nahi duzula? Honek hornitzailea erabiltzeko aktibatuko du.",
"reject": "Ziur zaude hornitzaile hau baztertu nahi duzula? Ekintza hau geroago desegin daiteke."
},
"price_list": {
"title": "Produktuen Prezioen Zerrenda",
"subtitle": "{{count}} produktu hornitzaile honetatik eskuragarri",
"modal": {
"title_create": "Produktua Gehitu Hornitzaileari",
"title_edit": "Produktuaren Prezioa Editatu",
"subtitle_create": "Gehitu hornitzaile honek hornitu dezakeen produktu berri bat",
"subtitle_edit": "Eguneratu produktuaren prezioak eta xehetasunak"
},
"sections": {
"product_selection": "Produktu Hautapena",
"pricing": "Prezio Informazioa",
"validity": "Prezioaren Baliozkotasuna",
"product_details": "Produktuaren Xehetasunak"
},
"fields": {
"product": "Produktua",
"product_code": "Hornitzailearen Produktu Kodea",
"unit_price": "Unitate Prezioa",
"price_per_unit": "Unitateko Prezioa",
"unit_of_measure": "Neurri Unitatea",
"minimum_order": "Gutxieneko Eskaera Kantitatea",
"effective_date": "Indarrean Sartzeko Data",
"expiry_date": "Iraungitze Data",
"is_active": "Aktiboa",
"brand": "Marka",
"packaging_size": "Ontziaren Tamaina",
"origin_country": "Jatorri Herrialdea",
"shelf_life_days": "Iraupen Eguna (egunak)",
"storage_requirements": "Biltegiratzeko Baldintzak"
},
"placeholders": {
"product_code": "adib., HORN-IRINA-001",
"brand": "Markaren izena",
"packaging_size": "adib., 25kg zakuak, 1L botilak",
"origin_country": "adib., Espainia, Frantzia",
"storage_requirements": "adib., Gorde leku fresko eta lehor batean"
},
"help": {
"product_locked": "Produktua ezin da aldatu sortu ondoren",
"select_product": "Hautatu produktu bat zure inbentariotik",
"product_code": "Hornitzailearen barne kodea produktu honetarako",
"unit_price": "Oinarrizko prezioa pakete/unitateko",
"price_per_unit": "Kalkulatutako prezioa neurri unitateko",
"unit_of_measure": "Prezioak eta eskaeretan erabilitako unitatea",
"minimum_order": "Eskaera egiteko beharrezko gutxieneko kantitatea",
"effective_date": "Prezio hau indarrean sartzen den data",
"expiry_date": "Prezio honentzako aukerako iraungitze data",
"is_active": "Aktibatu edo desaktibatu prezio zerrenda elementu hau",
"packaging_size": "adib., 25kg zakuak, 1L botilak, 100 unitate kaxako",
"shelf_life_days": "Produktua freskoa mantentzen den egun kopurua"
},
"columns": {
"product": "Produktua",
"price": "Prezioa",
"min_order": "Gutx. Eskaera",
"validity": "Baliozkotasun Aldia",
"brand": "Marka",
"status": "Egoera"
},
"actions": {
"add_product": "Produktua Gehitu",
"add_first_product": "Lehen Produktua Gehitu"
},
"empty": {
"title": "Oraindik Ez Dago Produkturik",
"description": "Gehitu hornitzaile honek bere prezioekin hornitu ditzakeen produktuak"
},
"errors": {
"load_failed": "Errorea prezioen zerrenda kargatzean"
},
"validation": {
"price_positive": "Prezioa 0 baino handiagoa izan behar da"
},
"delete": {
"title": "Produktua Kendu Hornitzailetik",
"description": "Ziur zaude {{product}} hornitzaile honen prezioen zerrendatik kendu nahi duzula?"
}
},
"delete": {
"title": "Hornitzailea Ezabatu",
"subtitle": "Nola ezabatu nahi duzu {name}?",