Improve the frontend modals
This commit is contained in:
@@ -22,7 +22,18 @@
|
||||
"safety_stock_percentage": "Safety Stock (%)",
|
||||
"workflow": "Approval Workflow",
|
||||
"approval_reminder_hours": "Approval Reminder (hours)",
|
||||
"critical_escalation_hours": "Critical Escalation (hours)"
|
||||
"critical_escalation_hours": "Critical Escalation (hours)",
|
||||
"smart_procurement": "Smart Procurement Calculation",
|
||||
"use_reorder_rules": "Use reorder rules (point & quantity)",
|
||||
"use_reorder_rules_desc": "Respect reorder point and reorder quantity configured in ingredients",
|
||||
"economic_rounding": "Economic rounding",
|
||||
"economic_rounding_desc": "Round quantities to economic multiples (reorder quantity or supplier minimum)",
|
||||
"respect_storage_limits": "Respect storage limits",
|
||||
"respect_storage_limits_desc": "Limit orders to configured maximum stock level",
|
||||
"use_supplier_minimums": "Use supplier minimums",
|
||||
"use_supplier_minimums_desc": "Respect supplier minimum order quantity and minimum order amount",
|
||||
"optimize_price_tiers": "Optimize price tiers",
|
||||
"optimize_price_tiers_desc": "Adjust quantities to capture volume discounts when beneficial"
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Inventory Management",
|
||||
|
||||
@@ -189,7 +189,9 @@
|
||||
"name": "Name",
|
||||
"contact_person": "Contact Person",
|
||||
"email": "Email",
|
||||
"email_placeholder": "email@example.com",
|
||||
"phone": "Phone",
|
||||
"phone_placeholder": "+34 XXX XXX XXX",
|
||||
"city": "City",
|
||||
"country": "Country",
|
||||
"address": "Address",
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
"customer_satisfaction": "Customer Satisfaction",
|
||||
"inventory_turnover": "Inventory Turnover",
|
||||
"daily_profit": "Daily Profit",
|
||||
"products_sold": "Products Sold"
|
||||
"products_sold": "Products Sold",
|
||||
"waste_reduction": "Waste Reduction",
|
||||
"monthly_savings": "Monthly Savings"
|
||||
},
|
||||
"trends": {
|
||||
"vs_yesterday": "% vs yesterday",
|
||||
@@ -112,7 +114,14 @@
|
||||
"action_required": "Action required",
|
||||
"manage_organizations": "Manage your organizations",
|
||||
"setup_new_business": "Set up a new business from scratch",
|
||||
"active_organizations": "Active Organizations"
|
||||
"active_organizations": "Active Organizations",
|
||||
"excellent_progress": "Excellent progress!",
|
||||
"keep_improving": "Keep improving",
|
||||
"from_sustainability": "From sustainability",
|
||||
"all_caught_up": "All caught up!",
|
||||
"stock_healthy": "Stock healthy",
|
||||
"same_as_yesterday": "Same as yesterday",
|
||||
"less_than_yesterday": "less than yesterday"
|
||||
},
|
||||
"time_periods": {
|
||||
"today": "Today",
|
||||
@@ -122,5 +131,8 @@
|
||||
"last_7_days": "Last 7 days",
|
||||
"last_30_days": "Last 30 days",
|
||||
"last_90_days": "Last 90 days"
|
||||
},
|
||||
"errors": {
|
||||
"failed_to_load_stats": "Failed to load dashboard statistics. Please try again."
|
||||
}
|
||||
}
|
||||
@@ -61,6 +61,9 @@
|
||||
"labels": {
|
||||
"total_equipment": "Total Equipment",
|
||||
"operational": "Operational",
|
||||
"warning": "Warning",
|
||||
"maintenance_required": "Maintenance Required",
|
||||
"down": "Down",
|
||||
"avg_efficiency": "Average Efficiency",
|
||||
"active_alerts": "Active Alerts",
|
||||
"maintenance_due": "Maintenance Due",
|
||||
@@ -110,4 +113,4 @@
|
||||
"warning": "Warning",
|
||||
"info": "Information"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,49 +1,118 @@
|
||||
{
|
||||
"product_type": {
|
||||
"raw_material": "Raw Material",
|
||||
"intermediate": "Intermediate Product",
|
||||
"finished_product": "Finished Product",
|
||||
"packaging": "Packaging"
|
||||
"title": "Inventory Management",
|
||||
"subtitle": "Manage stock, costs, batches and ingredient alerts",
|
||||
"fields": {
|
||||
"name": "Name",
|
||||
"sku": "SKU Code",
|
||||
"barcode": "Barcode",
|
||||
"brand": "Brand",
|
||||
"category": "Category",
|
||||
"current_stock": "Current Stock",
|
||||
"min_stock": "Minimum Stock",
|
||||
"max_stock": "Maximum Stock",
|
||||
"unit": "Unit",
|
||||
"cost": "Cost",
|
||||
"price": "Price",
|
||||
"supplier": "Supplier",
|
||||
"last_restocked": "Last Restocked",
|
||||
"expiration_date": "Expiration Date",
|
||||
"batch_number": "Batch Number",
|
||||
"lot_number": "Lot Number",
|
||||
"supplier_batch_ref": "Supplier Ref.",
|
||||
"location": "Location",
|
||||
"description": "Description",
|
||||
"notes": "Notes",
|
||||
"package_size": "Package Size",
|
||||
"average_cost": "Average Cost",
|
||||
"standard_cost": "Standard Cost",
|
||||
"unit_cost": "Unit Cost",
|
||||
"low_stock_threshold": "Low Stock Threshold",
|
||||
"reorder_point": "Reorder Point",
|
||||
"reorder_quantity": "Reorder Quantity",
|
||||
"max_stock_level": "Maximum Stock",
|
||||
"shelf_life_days": "Shelf Life Days",
|
||||
"is_perishable": "Is Perishable?",
|
||||
"costs_and_pricing": "Costs and Pricing",
|
||||
"reserved_quantity": "Reserved Quantity",
|
||||
"available_quantity": "Available Quantity",
|
||||
"received_date": "Received Date",
|
||||
"best_before_date": "Best Before",
|
||||
"warehouse_zone": "Warehouse Zone",
|
||||
"shelf_position": "Shelf Position",
|
||||
"quality_status": "Quality Status",
|
||||
"storage_instructions": "Storage Instructions",
|
||||
"transformation_reference": "Transformation Reference",
|
||||
"original_expiration_date": "Original Expiration",
|
||||
"transformation_date": "Transformation Date",
|
||||
"final_expiration_date": "Final Expiration"
|
||||
},
|
||||
"production_stage": {
|
||||
"raw": "Raw",
|
||||
"in_process": "In Process",
|
||||
"finished": "Finished",
|
||||
"packaged": "Packaged"
|
||||
"sections": {
|
||||
"purchase_costs": "Purchase Costs",
|
||||
"stock_management": "Stock Management"
|
||||
},
|
||||
"unit_of_measure": {
|
||||
"kg": "Kilograms",
|
||||
"g": "Grams",
|
||||
"l": "Liters",
|
||||
"ml": "Milliliters",
|
||||
"pieces": "Pieces",
|
||||
"units": "Units",
|
||||
"portions": "Portions"
|
||||
"help": {
|
||||
"standard_cost": "Target cost for budgeting and variance analysis",
|
||||
"average_cost": "Automatically calculated from weighted average of purchases"
|
||||
},
|
||||
"ingredient_category": {
|
||||
"flour": "Flour",
|
||||
"dairy": "Dairy",
|
||||
"eggs": "Eggs",
|
||||
"fats": "Fats",
|
||||
"sugar": "Sugar",
|
||||
"yeast": "Yeast",
|
||||
"spices": "Spices",
|
||||
"other": "Other"
|
||||
},
|
||||
"product_category": {
|
||||
"bread": "Bread",
|
||||
"pastry": "Pastry",
|
||||
"cake": "Cake",
|
||||
"cookie": "Cookie",
|
||||
"salted": "Salted",
|
||||
"other": "Other"
|
||||
},
|
||||
"stock_movement_type": {
|
||||
"purchase": "Purchase",
|
||||
"production": "Production",
|
||||
"sale": "Sale",
|
||||
"adjustment": "Adjustment",
|
||||
"waste": "Waste",
|
||||
"transfer": "Transfer"
|
||||
"enums": {
|
||||
"product_type": {
|
||||
"ingredient": "Ingredient",
|
||||
"finished_product": "Finished Product"
|
||||
},
|
||||
"production_stage": {
|
||||
"raw_ingredient": "Raw Ingredient",
|
||||
"par_baked": "Par-Baked",
|
||||
"fully_baked": "Fully Baked",
|
||||
"prepared_dough": "Prepared Dough",
|
||||
"frozen_product": "Frozen Product"
|
||||
},
|
||||
"unit_of_measure": {
|
||||
"kg": "Kilograms",
|
||||
"g": "Grams",
|
||||
"l": "Liters",
|
||||
"ml": "Milliliters",
|
||||
"units": "Units",
|
||||
"pcs": "Pieces",
|
||||
"pkg": "Packages",
|
||||
"bags": "Bags",
|
||||
"boxes": "Boxes"
|
||||
},
|
||||
"ingredient_category": {
|
||||
"flour": "Flour",
|
||||
"yeast": "Yeast",
|
||||
"dairy": "Dairy",
|
||||
"eggs": "Eggs",
|
||||
"sugar": "Sugar",
|
||||
"fats": "Fats",
|
||||
"salt": "Salt",
|
||||
"spices": "Spices",
|
||||
"additives": "Additives",
|
||||
"packaging": "Packaging",
|
||||
"cleaning": "Cleaning",
|
||||
"other": "Other"
|
||||
},
|
||||
"product_category": {
|
||||
"bread": "Bread",
|
||||
"croissants": "Croissants",
|
||||
"pastries": "Pastries",
|
||||
"cakes": "Cakes",
|
||||
"cookies": "Cookies",
|
||||
"muffins": "Muffins",
|
||||
"sandwiches": "Sandwiches",
|
||||
"seasonal": "Seasonal",
|
||||
"beverages": "Beverages",
|
||||
"other_products": "Other Products"
|
||||
},
|
||||
"stock_movement_type": {
|
||||
"PURCHASE": "Purchase",
|
||||
"PRODUCTION_USE": "Production Use",
|
||||
"TRANSFORMATION": "Transformation",
|
||||
"ADJUSTMENT": "Adjustment",
|
||||
"WASTE": "Waste",
|
||||
"TRANSFER": "Transfer",
|
||||
"RETURN": "Return",
|
||||
"INITIAL_STOCK": "Initial Stock",
|
||||
"OTHER": "Other"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,24 +81,85 @@
|
||||
"currency": "Currency",
|
||||
"created_date": "Created Date",
|
||||
"updated_date": "Last Updated",
|
||||
"notes": "Notes"
|
||||
"notes": "Notes",
|
||||
"tax_id": "Tax/VAT ID",
|
||||
"registration_number": "Business Registration",
|
||||
"mobile": "Mobile Phone",
|
||||
"website": "Website",
|
||||
"address_line1": "Address Line 1",
|
||||
"address_line2": "Address Line 2",
|
||||
"state_province": "State/Province",
|
||||
"postal_code": "Postal Code",
|
||||
"delivery_area": "Delivery Area"
|
||||
},
|
||||
"sections": {
|
||||
"contact_info": "Contact Information",
|
||||
"address_info": "Address Information",
|
||||
"commercial_info": "Commercial Information",
|
||||
"additional_info": "Additional Information",
|
||||
"performance": "Performance and Statistics",
|
||||
"notes": "Notes"
|
||||
},
|
||||
"placeholders": {
|
||||
"name": "Supplier name",
|
||||
"contact_person": "Contact person name",
|
||||
"supplier_code": "Unique code",
|
||||
"notes": "Notes about the supplier"
|
||||
"supplier_code": "e.g., SUP-001",
|
||||
"notes": "Notes about the supplier",
|
||||
"tax_id": "e.g., ESB12345678",
|
||||
"registration_number": "Business registration number",
|
||||
"mobile": "+34 XXX XXX XXX",
|
||||
"website": "https://example.com",
|
||||
"address_line1": "Street address",
|
||||
"address_line2": "Apartment, suite, etc. (optional)",
|
||||
"state_province": "State or Province",
|
||||
"postal_code": "Postal/ZIP code",
|
||||
"delivery_area": "Delivery coverage area"
|
||||
},
|
||||
"currencies": {
|
||||
"EUR": "Euro (€)",
|
||||
"USD": "US Dollar ($)",
|
||||
"GBP": "British Pound (£)"
|
||||
},
|
||||
"descriptions": {
|
||||
"supplier_type": "Select the type of products or services this supplier offers",
|
||||
"payment_terms": "Payment terms agreed with the supplier",
|
||||
"quality_rating": "1 to 5 star rating based on product quality",
|
||||
"delivery_rating": "1 to 5 star rating based on delivery punctuality and condition"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Approve Supplier",
|
||||
"reject": "Reject Supplier",
|
||||
"delete": "Delete Supplier"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete Supplier",
|
||||
"subtitle": "How would you like to delete {name}?",
|
||||
"supplier_name": "Supplier",
|
||||
"soft_delete": "Mark as Inactive",
|
||||
"hard_delete": "Permanently Delete",
|
||||
"soft_explanation": "Marks the supplier as inactive. Can be reactivated later. All data is preserved.",
|
||||
"hard_explanation": "Permanently deletes all supplier data including price lists, quality reviews, and performance metrics.",
|
||||
"confirm_soft_title": "Confirm Mark as Inactive",
|
||||
"confirm_hard_title": "Confirm Permanent Deletion",
|
||||
"soft_description": "This will mark the supplier as inactive. The supplier can be reactivated later and all data will be preserved.",
|
||||
"hard_description": "This will permanently delete all supplier data. This action cannot be undone.",
|
||||
"warning_irreversible": "Warning: This action is irreversible!",
|
||||
"type_to_confirm": "Type ELIMINAR to confirm",
|
||||
"confirm_instruction": "Type ELIMINAR in capital letters to confirm permanent deletion",
|
||||
"confirm_soft": "Mark as Inactive",
|
||||
"confirm_hard": "Permanently Delete",
|
||||
"summary_title": "Deletion Complete",
|
||||
"supplier_deleted": "Supplier {name} has been permanently deleted",
|
||||
"deletion_summary": "Deletion Summary",
|
||||
"deleted_price_lists": "Price lists deleted",
|
||||
"deleted_quality_reviews": "Quality reviews deleted",
|
||||
"deleted_performance_metrics": "Performance metrics deleted",
|
||||
"deleted_alerts": "Alerts deleted",
|
||||
"deleted_scorecards": "Scorecards deleted",
|
||||
"cannot_delete": "Cannot delete supplier with active purchase orders"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,18 @@
|
||||
"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)"
|
||||
"critical_escalation_hours": "Escalación Crítica (horas)",
|
||||
"smart_procurement": "Cálculo Inteligente de Compras",
|
||||
"use_reorder_rules": "Usar reglas de reorden (punto y cantidad)",
|
||||
"use_reorder_rules_desc": "Respetar punto de reorden y cantidad de reorden configurados en ingredientes",
|
||||
"economic_rounding": "Redondeo económico",
|
||||
"economic_rounding_desc": "Redondear cantidades a múltiplos económicos (cantidad de reorden o mínimo del proveedor)",
|
||||
"respect_storage_limits": "Respetar límites de almacenamiento",
|
||||
"respect_storage_limits_desc": "Limitar pedidos al nivel máximo de stock configurado",
|
||||
"use_supplier_minimums": "Usar mínimos del proveedor",
|
||||
"use_supplier_minimums_desc": "Respetar cantidad mínima de pedido y monto mínimo del proveedor",
|
||||
"optimize_price_tiers": "Optimizar niveles de precio",
|
||||
"optimize_price_tiers_desc": "Ajustar cantidades para capturar descuentos por volumen cuando sea beneficioso"
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Gestión de Inventario",
|
||||
|
||||
@@ -189,7 +189,9 @@
|
||||
"name": "Nombre",
|
||||
"contact_person": "Persona de Contacto",
|
||||
"email": "Email",
|
||||
"email_placeholder": "email@ejemplo.com",
|
||||
"phone": "Teléfono",
|
||||
"phone_placeholder": "+34 XXX XXX XXX",
|
||||
"city": "Ciudad",
|
||||
"country": "País",
|
||||
"address": "Dirección",
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
"customer_satisfaction": "Satisfacción del Cliente",
|
||||
"inventory_turnover": "Rotación de Inventario",
|
||||
"daily_profit": "Ganancia Diaria",
|
||||
"products_sold": "Productos Vendidos"
|
||||
"products_sold": "Productos Vendidos",
|
||||
"waste_reduction": "Reducción de Residuos",
|
||||
"monthly_savings": "Ahorro Mensual"
|
||||
},
|
||||
"trends": {
|
||||
"vs_yesterday": "% vs ayer",
|
||||
@@ -147,7 +149,14 @@
|
||||
"action_required": "Acción requerida",
|
||||
"manage_organizations": "Gestiona tus organizaciones",
|
||||
"setup_new_business": "Configurar un nuevo negocio desde cero",
|
||||
"active_organizations": "Organizaciones Activas"
|
||||
"active_organizations": "Organizaciones Activas",
|
||||
"excellent_progress": "¡Excelente progreso!",
|
||||
"keep_improving": "Sigue mejorando",
|
||||
"from_sustainability": "De sostenibilidad",
|
||||
"all_caught_up": "¡Todo al día!",
|
||||
"stock_healthy": "Stock saludable",
|
||||
"same_as_yesterday": "Igual que ayer",
|
||||
"less_than_yesterday": "menos que ayer"
|
||||
},
|
||||
"time_periods": {
|
||||
"today": "Hoy",
|
||||
@@ -157,5 +166,8 @@
|
||||
"last_7_days": "Últimos 7 días",
|
||||
"last_30_days": "Últimos 30 días",
|
||||
"last_90_days": "Últimos 90 días"
|
||||
},
|
||||
"errors": {
|
||||
"failed_to_load_stats": "Error al cargar las estadísticas del panel. Por favor, inténtelo de nuevo."
|
||||
}
|
||||
}
|
||||
@@ -60,6 +60,9 @@
|
||||
"labels": {
|
||||
"total_equipment": "Total de Equipos",
|
||||
"operational": "Operacionales",
|
||||
"warning": "Advertencia",
|
||||
"maintenance_required": "Mantenimiento Requerido",
|
||||
"down": "Fuera de Servicio",
|
||||
"avg_efficiency": "Eficiencia Promedio",
|
||||
"active_alerts": "Alertas Activas",
|
||||
"maintenance_due": "Mantenimiento Próximo",
|
||||
@@ -109,4 +112,4 @@
|
||||
"warning": "Advertencia",
|
||||
"info": "Información"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"title": "Gestión de Inventario",
|
||||
"subtitle": "Controla el stock de ingredientes y materias primas",
|
||||
"subtitle": "Gestiona stock, costos, lotes y alertas de ingredientes",
|
||||
"overview": {
|
||||
"total_items": "Total Artículos",
|
||||
"low_stock": "Stock Bajo",
|
||||
@@ -24,6 +24,9 @@
|
||||
},
|
||||
"fields": {
|
||||
"name": "Nombre",
|
||||
"sku": "Código SKU",
|
||||
"barcode": "Código de Barras",
|
||||
"brand": "Marca",
|
||||
"category": "Categoría",
|
||||
"current_stock": "Stock Actual",
|
||||
"min_stock": "Stock Mínimo",
|
||||
@@ -35,10 +38,42 @@
|
||||
"last_restocked": "Último Reabastecimiento",
|
||||
"expiration_date": "Fecha de Caducidad",
|
||||
"batch_number": "Número de Lote",
|
||||
"lot_number": "Número de Lote",
|
||||
"supplier_batch_ref": "Ref. Proveedor",
|
||||
"location": "Ubicación",
|
||||
"barcode": "Código de Barras",
|
||||
"description": "Descripción",
|
||||
"notes": "Notas"
|
||||
"notes": "Notas",
|
||||
"package_size": "Tamaño de Paquete",
|
||||
"average_cost": "Costo Promedio",
|
||||
"standard_cost": "Costo Estándar",
|
||||
"unit_cost": "Costo Unitario",
|
||||
"low_stock_threshold": "Umbral Stock Bajo",
|
||||
"reorder_point": "Punto de Reorden",
|
||||
"reorder_quantity": "Cantidad de Reorden",
|
||||
"max_stock_level": "Stock Máximo",
|
||||
"shelf_life_days": "Días de Vida Útil",
|
||||
"is_perishable": "¿Es Perecedero?",
|
||||
"costs_and_pricing": "Costos y Precios",
|
||||
"reserved_quantity": "Cantidad Reservada",
|
||||
"available_quantity": "Cantidad Disponible",
|
||||
"received_date": "Fecha de Recepción",
|
||||
"best_before_date": "Mejor Antes De",
|
||||
"warehouse_zone": "Zona de Almacén",
|
||||
"shelf_position": "Posición en Estantería",
|
||||
"quality_status": "Estado de Calidad",
|
||||
"storage_instructions": "Instrucciones de Almacenamiento",
|
||||
"transformation_reference": "Referencia de Transformación",
|
||||
"original_expiration_date": "Vencimiento Original",
|
||||
"transformation_date": "Fecha de Transformación",
|
||||
"final_expiration_date": "Vencimiento Final"
|
||||
},
|
||||
"sections": {
|
||||
"purchase_costs": "Costos de Compra",
|
||||
"stock_management": "Gestión de Stock"
|
||||
},
|
||||
"help": {
|
||||
"standard_cost": "Costo objetivo para presupuesto y análisis de variación",
|
||||
"average_cost": "Calculado automáticamente según el promedio ponderado de compras"
|
||||
},
|
||||
"enums": {
|
||||
"product_type": {
|
||||
@@ -97,7 +132,8 @@
|
||||
"TRANSFER": "Transferencia",
|
||||
"RETURN": "Devolución",
|
||||
"INITIAL_STOCK": "Stock Inicial",
|
||||
"TRANSFORMATION": "Transformación"
|
||||
"TRANSFORMATION": "Transformación",
|
||||
"OTHER": "Otro"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
|
||||
@@ -113,6 +113,22 @@
|
||||
"chemical": "Químico",
|
||||
"hygiene": "Higiene"
|
||||
},
|
||||
"check_types": {
|
||||
"visual": "Visual",
|
||||
"visual_description": "Inspección visual",
|
||||
"measurement": "Medición",
|
||||
"measurement_description": "Mediciones precisas",
|
||||
"temperature": "Temperatura",
|
||||
"temperature_description": "Control de temperatura",
|
||||
"weight": "Peso",
|
||||
"weight_description": "Control de peso",
|
||||
"boolean": "Sí/No",
|
||||
"boolean_description": "Verificación binaria",
|
||||
"timing": "Tiempo",
|
||||
"timing_description": "Control de tiempo",
|
||||
"checklist": "Lista de verificación",
|
||||
"checklist_description": "Checklist de verificación"
|
||||
},
|
||||
"inspection": {
|
||||
"title": "Inspección de Calidad",
|
||||
"notes_placeholder": "Agregar notas para este criterio (opcional)..."
|
||||
@@ -691,4 +707,4 @@
|
||||
"active_alerts": "alertas activas"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,24 +81,85 @@
|
||||
"currency": "Moneda",
|
||||
"created_date": "Fecha de Creación",
|
||||
"updated_date": "Última Actualización",
|
||||
"notes": "Observaciones"
|
||||
"notes": "Observaciones",
|
||||
"tax_id": "NIF/CIF",
|
||||
"registration_number": "Registro Mercantil",
|
||||
"mobile": "Teléfono Móvil",
|
||||
"website": "Sitio Web",
|
||||
"address_line1": "Dirección Línea 1",
|
||||
"address_line2": "Dirección Línea 2",
|
||||
"state_province": "Provincia/Estado",
|
||||
"postal_code": "Código Postal",
|
||||
"delivery_area": "Área de Entrega"
|
||||
},
|
||||
"sections": {
|
||||
"contact_info": "Información de Contacto",
|
||||
"address_info": "Información de Dirección",
|
||||
"commercial_info": "Información Comercial",
|
||||
"additional_info": "Información Adicional",
|
||||
"performance": "Rendimiento y Estadísticas",
|
||||
"notes": "Notas"
|
||||
},
|
||||
"placeholders": {
|
||||
"name": "Nombre del proveedor",
|
||||
"contact_person": "Nombre del contacto",
|
||||
"supplier_code": "Código único",
|
||||
"notes": "Notas sobre el proveedor"
|
||||
"supplier_code": "ej., PROV-001",
|
||||
"notes": "Notas sobre el proveedor",
|
||||
"tax_id": "ej., ESB12345678",
|
||||
"registration_number": "Número de registro mercantil",
|
||||
"mobile": "+34 XXX XXX XXX",
|
||||
"website": "https://ejemplo.com",
|
||||
"address_line1": "Dirección de la calle",
|
||||
"address_line2": "Apartamento, piso, etc. (opcional)",
|
||||
"state_province": "Provincia o Estado",
|
||||
"postal_code": "Código postal",
|
||||
"delivery_area": "Área de cobertura de entrega"
|
||||
},
|
||||
"currencies": {
|
||||
"EUR": "Euro (€)",
|
||||
"USD": "Dólar estadounidense ($)",
|
||||
"GBP": "Libra esterlina (£)"
|
||||
},
|
||||
"descriptions": {
|
||||
"supplier_type": "Selecciona el tipo de productos o servicios que ofrece este proveedor",
|
||||
"payment_terms": "Términos de pago acordados con el proveedor",
|
||||
"quality_rating": "Calificación de 1 a 5 estrellas basada en la calidad de los productos",
|
||||
"delivery_rating": "Calificación de 1 a 5 estrellas basada en la puntualidad y estado de las entregas"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Aprobar Proveedor",
|
||||
"reject": "Rechazar Proveedor",
|
||||
"delete": "Eliminar Proveedor"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Eliminar Proveedor",
|
||||
"subtitle": "¿Cómo te gustaría eliminar {name}?",
|
||||
"supplier_name": "Proveedor",
|
||||
"soft_delete": "Marcar como Inactivo",
|
||||
"hard_delete": "Eliminar Permanentemente",
|
||||
"soft_explanation": "Marca el proveedor como inactivo. Puede reactivarse más tarde. Todos los datos se conservan.",
|
||||
"hard_explanation": "Elimina permanentemente todos los datos del proveedor, incluyendo listas de precios, revisiones de calidad y métricas de rendimiento.",
|
||||
"confirm_soft_title": "Confirmar Marcar como Inactivo",
|
||||
"confirm_hard_title": "Confirmar Eliminación Permanente",
|
||||
"soft_description": "Esto marcará el proveedor como inactivo. El proveedor puede reactivarse más tarde y todos los datos se conservarán.",
|
||||
"hard_description": "Esto eliminará permanentemente todos los datos del proveedor. Esta acción no se puede deshacer.",
|
||||
"warning_irreversible": "Advertencia: ¡Esta acción es irreversible!",
|
||||
"type_to_confirm": "Escribe ELIMINAR para confirmar",
|
||||
"confirm_instruction": "Escribe ELIMINAR en mayúsculas para confirmar la eliminación permanente",
|
||||
"confirm_soft": "Marcar como Inactivo",
|
||||
"confirm_hard": "Eliminar Permanentemente",
|
||||
"summary_title": "Eliminación Completa",
|
||||
"supplier_deleted": "El proveedor {name} ha sido eliminado permanentemente",
|
||||
"deletion_summary": "Resumen de Eliminación",
|
||||
"deleted_price_lists": "Listas de precios eliminadas",
|
||||
"deleted_quality_reviews": "Revisiones de calidad eliminadas",
|
||||
"deleted_performance_metrics": "Métricas de rendimiento eliminadas",
|
||||
"deleted_alerts": "Alertas eliminadas",
|
||||
"deleted_scorecards": "Tarjetas de puntuación eliminadas",
|
||||
"cannot_delete": "No se puede eliminar el proveedor con órdenes de compra activas"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,18 @@
|
||||
"safety_stock_percentage": "Segurtasun Stocka (%)",
|
||||
"workflow": "Onespen Fluxua",
|
||||
"approval_reminder_hours": "Onespen Gogorarazpena (orduak)",
|
||||
"critical_escalation_hours": "Eskalazio Kritikoa (orduak)"
|
||||
"critical_escalation_hours": "Eskalazio Kritikoa (orduak)",
|
||||
"smart_procurement": "Erosketa Adimendunaren Kalkulua",
|
||||
"use_reorder_rules": "Erabili berrerozketa arauak (puntua eta kantitatea)",
|
||||
"use_reorder_rules_desc": "Egin erreferentzia osagaietan konfiguratutako berrerozketa puntua eta kantitateari",
|
||||
"economic_rounding": "Biribiltze ekonomikoa",
|
||||
"economic_rounding_desc": "Biribildu kantitateak multiplo ekonomikoetara (berrerozketa kantitatea edo hornitzailearen gutxienekoa)",
|
||||
"respect_storage_limits": "Egin errespetu biltegiratze mugari",
|
||||
"respect_storage_limits_desc": "Mugatu aginduak konfiguratutako gehienezko stock mailara",
|
||||
"use_supplier_minimums": "Erabili hornitzaileen gutxienezkoak",
|
||||
"use_supplier_minimums_desc": "Egin errespetu hornitzaileen gutxieneko erosketa kantitateari eta gutxieneko erosketa zenbatekoari",
|
||||
"optimize_price_tiers": "Optimizatu prezio mailak",
|
||||
"optimize_price_tiers_desc": "Doitu kantitateak bolumeneko deskontuak lortzeko onuragarria denean"
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Inbentarioaren Kudeaketa",
|
||||
|
||||
@@ -189,7 +189,9 @@
|
||||
"name": "Izena",
|
||||
"contact_person": "Kontaktu pertsona",
|
||||
"email": "Emaila",
|
||||
"email_placeholder": "email@adibidea.eus",
|
||||
"phone": "Telefonoa",
|
||||
"phone_placeholder": "+34 XXX XXX XXX",
|
||||
"city": "Hiria",
|
||||
"country": "Herrialdea",
|
||||
"address": "Helbidea",
|
||||
|
||||
@@ -1 +1,99 @@
|
||||
{}
|
||||
{
|
||||
"title": "Inbentario Kudeaketa",
|
||||
"subtitle": "Kudeatu stock-a, kostuak, loteak eta osagaien alertak",
|
||||
"fields": {
|
||||
"name": "Izena",
|
||||
"sku": "SKU Kodea",
|
||||
"barcode": "Barra Kodea",
|
||||
"brand": "Marka",
|
||||
"category": "Kategoria",
|
||||
"current_stock": "Egungo Stock-a",
|
||||
"min_stock": "Gutxieneko Stock-a",
|
||||
"max_stock": "Gehienezko Stock-a",
|
||||
"unit": "Unitatea",
|
||||
"cost": "Kostua",
|
||||
"price": "Prezioa",
|
||||
"supplier": "Hornitzailea",
|
||||
"last_restocked": "Azken Hornidura",
|
||||
"expiration_date": "Iraungitze Data",
|
||||
"batch_number": "Lote Zenbakia",
|
||||
"lot_number": "Lote Zenbakia",
|
||||
"supplier_batch_ref": "Hornitzailearen Err.",
|
||||
"location": "Kokapena",
|
||||
"description": "Deskribapena",
|
||||
"notes": "Oharrak",
|
||||
"package_size": "Pakete Tamaina",
|
||||
"average_cost": "Batez Besteko Kostua",
|
||||
"standard_cost": "Kostu Estandarra",
|
||||
"unit_cost": "Unitatearen Kostua",
|
||||
"low_stock_threshold": "Stock Baxuaren Muga",
|
||||
"reorder_point": "Berriz Eskatzeko Puntua",
|
||||
"reorder_quantity": "Berriz Eskatzeko Kantitatea",
|
||||
"max_stock_level": "Gehienezko Stock-a",
|
||||
"shelf_life_days": "Bizitza Erabilgarria Egunetan",
|
||||
"is_perishable": "Hondagarria da?",
|
||||
"costs_and_pricing": "Kostuak eta Prezioak",
|
||||
"reserved_quantity": "Erreserbatutako Kantitatea",
|
||||
"available_quantity": "Kantitate Erabilgarria",
|
||||
"received_date": "Jasotze Data",
|
||||
"best_before_date": "Hobe Baino Lehen",
|
||||
"warehouse_zone": "Biltegiaren Zona",
|
||||
"shelf_position": "Apaleko Posizioa",
|
||||
"quality_status": "Kalitatearen Egoera",
|
||||
"storage_instructions": "Biltegiratze Jarraibideak",
|
||||
"transformation_reference": "Transformazio Erreferentzia",
|
||||
"original_expiration_date": "Jatorrizko Iraungipena",
|
||||
"transformation_date": "Transformazio Data",
|
||||
"final_expiration_date": "Azken Iraungipena"
|
||||
},
|
||||
"sections": {
|
||||
"purchase_costs": "Erosketa Kostuak",
|
||||
"stock_management": "Stock Kudeaketa"
|
||||
},
|
||||
"help": {
|
||||
"standard_cost": "Helburuko kostua aurrekonturako eta bariantza analisirako",
|
||||
"average_cost": "Erosketaren batez besteko ponderatutik automatikoki kalkulatuta"
|
||||
},
|
||||
"enums": {
|
||||
"ingredient_category": {
|
||||
"flour": "Irinak",
|
||||
"yeast": "Legamiak",
|
||||
"dairy": "Esnekiak",
|
||||
"eggs": "Arrautzak",
|
||||
"sugar": "Azukrea",
|
||||
"fats": "Gantzak",
|
||||
"salt": "Gatza",
|
||||
"spices": "Espezia",
|
||||
"additives": "Gehigarriak",
|
||||
"packaging": "Ontziak",
|
||||
"cleaning": "Garbiketa",
|
||||
"other": "Besteak"
|
||||
},
|
||||
"stock_movement_type": {
|
||||
"PURCHASE": "Erosketa",
|
||||
"PRODUCTION_USE": "Ekoizpenean Erabilera",
|
||||
"TRANSFORMATION": "Transformazioa",
|
||||
"ADJUSTMENT": "Doikuntza",
|
||||
"WASTE": "Hondakina",
|
||||
"TRANSFER": "Transferentzia",
|
||||
"RETURN": "Itzulera",
|
||||
"INITIAL_STOCK": "Hasierako Stock-a",
|
||||
"OTHER": "Bestea"
|
||||
}
|
||||
},
|
||||
"categories": {
|
||||
"all": "Kategoria guztiak",
|
||||
"flour": "Irinak",
|
||||
"dairy": "Esnekiak",
|
||||
"eggs": "Arrautzak",
|
||||
"fats": "Gantzak",
|
||||
"sugar": "Azukrea",
|
||||
"yeast": "Legamiak",
|
||||
"spices": "Espezia",
|
||||
"additives": "Gehigarriak",
|
||||
"packaging": "Ontziak",
|
||||
"cleaning": "Garbiketa",
|
||||
"equipment": "Ekipoak",
|
||||
"other": "Besteak"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,24 +81,85 @@
|
||||
"currency": "Moneta",
|
||||
"created_date": "Sortze data",
|
||||
"updated_date": "Azken eguneraketa",
|
||||
"notes": "Oharrak"
|
||||
"notes": "Oharrak",
|
||||
"tax_id": "IFK/ZIOA",
|
||||
"registration_number": "Merkataritza erregistroa",
|
||||
"mobile": "Mugikorra",
|
||||
"website": "Webgunea",
|
||||
"address_line1": "Helbide lerroa 1",
|
||||
"address_line2": "Helbide lerroa 2",
|
||||
"state_province": "Probintzia/Estatua",
|
||||
"postal_code": "Posta kodea",
|
||||
"delivery_area": "Entrega eremua"
|
||||
},
|
||||
"sections": {
|
||||
"contact_info": "Kontaktu informazioa",
|
||||
"address_info": "Helbide informazioa",
|
||||
"commercial_info": "Informazio komertziala",
|
||||
"additional_info": "Informazio gehigarria",
|
||||
"performance": "Errendimendua eta estatistikak",
|
||||
"notes": "Oharrak"
|
||||
},
|
||||
"placeholders": {
|
||||
"name": "Hornitzailearen izena",
|
||||
"contact_person": "Kontaktuaren izena",
|
||||
"supplier_code": "Kode esklusiboa",
|
||||
"notes": "Oharrak hornitzaileari buruz"
|
||||
"supplier_code": "adib., HORN-001",
|
||||
"notes": "Oharrak hornitzaileari buruz",
|
||||
"tax_id": "adib., ESB12345678",
|
||||
"registration_number": "Merkataritza erregistro zenbakia",
|
||||
"mobile": "+34 XXX XXX XXX",
|
||||
"website": "https://adibidea.eus",
|
||||
"address_line1": "Kalearen helbidea",
|
||||
"address_line2": "Apartamentua, pisua, etab. (aukerakoa)",
|
||||
"state_province": "Probintzia edo Estatua",
|
||||
"postal_code": "Posta kodea",
|
||||
"delivery_area": "Entregaren estaldura eremua"
|
||||
},
|
||||
"currencies": {
|
||||
"EUR": "Euroa (€)",
|
||||
"USD": "AEBetako dolarra ($)",
|
||||
"GBP": "Libera esterlina (£)"
|
||||
},
|
||||
"descriptions": {
|
||||
"supplier_type": "Hautatu hornitzaile honek ematen dituen produktuen edo zerbitzuen mota",
|
||||
"payment_terms": "Hornitzailearekin hitz egindako ordainketa baldintzak",
|
||||
"quality_rating": "1etik 5erako izarra balorazioa produktuaren kalitatean oinarrituta",
|
||||
"delivery_rating": "1etik 5erako izarra balorazioa entrega puntualtasunean eta baldintzetan oinarrituta"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Hornitzailea Onartu",
|
||||
"reject": "Hornitzailea Baztertu",
|
||||
"delete": "Hornitzailea Ezabatu"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Hornitzailea Ezabatu",
|
||||
"subtitle": "Nola ezabatu nahi duzu {name}?",
|
||||
"supplier_name": "Hornitzailea",
|
||||
"soft_delete": "Inaktibo gisa Markatu",
|
||||
"hard_delete": "Betirako Ezabatu",
|
||||
"soft_explanation": "Hornitzailea inaktibo gisa markatzen du. Geroago berriro aktibatu daiteke. Datu guztiak gordetzen dira.",
|
||||
"hard_explanation": "Hornitzailearen datu guztiak betirako ezabatzen ditu, prezio zerrendak, kalitate berrikuspenak eta errendimenduko metrikak barne.",
|
||||
"confirm_soft_title": "Berretsi Inaktibo gisa Markatu",
|
||||
"confirm_hard_title": "Berretsi Betirako Ezabatzea",
|
||||
"soft_description": "Honek hornitzailea inaktibo gisa markatuko du. Hornitzailea geroago berriro aktibatu daiteke eta datu guztiak gordeko dira.",
|
||||
"hard_description": "Honek hornitzailearen datu guztiak betirako ezabatuko ditu. Ekintza hau ezin da desegin.",
|
||||
"warning_irreversible": "Abisua: Ekintza hau itzulezina da!",
|
||||
"type_to_confirm": "Idatzi EZABATU berresteko",
|
||||
"confirm_instruction": "Idatzi EZABATU letra larriz betirako ezabatzea berresteko",
|
||||
"confirm_soft": "Inaktibo gisa Markatu",
|
||||
"confirm_hard": "Betirako Ezabatu",
|
||||
"summary_title": "Ezabatzea Osatua",
|
||||
"supplier_deleted": "{name} hornitzailea betirako ezabatu da",
|
||||
"deletion_summary": "Ezabatze Laburpena",
|
||||
"deleted_price_lists": "Ezabatutako prezio zerrendak",
|
||||
"deleted_quality_reviews": "Ezabatutako kalitate berrikuspenak",
|
||||
"deleted_performance_metrics": "Ezabatutako errendimenduko metrikak",
|
||||
"deleted_alerts": "Ezabatutako alertak",
|
||||
"deleted_scorecards": "Ezabatutako puntuazio txartelak",
|
||||
"cannot_delete": "Ezin da ezabatu erosketa agindu aktiboak dituen hornitzailea"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import productionEs from './es/production.json';
|
||||
import equipmentEs from './es/equipment.json';
|
||||
import landingEs from './es/landing.json';
|
||||
import settingsEs from './es/settings.json';
|
||||
import ajustesEs from './es/ajustes.json';
|
||||
|
||||
// English translations
|
||||
import commonEn from './en/common.json';
|
||||
@@ -27,6 +28,7 @@ import productionEn from './en/production.json';
|
||||
import equipmentEn from './en/equipment.json';
|
||||
import landingEn from './en/landing.json';
|
||||
import settingsEn from './en/settings.json';
|
||||
import ajustesEn from './en/ajustes.json';
|
||||
|
||||
// Basque translations
|
||||
import commonEu from './eu/common.json';
|
||||
@@ -42,10 +44,11 @@ import productionEu from './eu/production.json';
|
||||
import equipmentEu from './eu/equipment.json';
|
||||
import landingEu from './eu/landing.json';
|
||||
import settingsEu from './eu/settings.json';
|
||||
import ajustesEu from './eu/ajustes.json';
|
||||
|
||||
// Translation resources by language
|
||||
export const resources = {
|
||||
es: {
|
||||
es: {
|
||||
common: commonEs,
|
||||
auth: authEs,
|
||||
inventory: inventoryEs,
|
||||
@@ -59,6 +62,7 @@ export const resources = {
|
||||
equipment: equipmentEs,
|
||||
landing: landingEs,
|
||||
settings: settingsEs,
|
||||
ajustes: ajustesEs,
|
||||
},
|
||||
en: {
|
||||
common: commonEn,
|
||||
@@ -74,6 +78,7 @@ export const resources = {
|
||||
equipment: equipmentEn,
|
||||
landing: landingEn,
|
||||
settings: settingsEn,
|
||||
ajustes: ajustesEn,
|
||||
},
|
||||
eu: {
|
||||
common: commonEu,
|
||||
@@ -89,6 +94,7 @@ export const resources = {
|
||||
equipment: equipmentEu,
|
||||
landing: landingEu,
|
||||
settings: settingsEu,
|
||||
ajustes: ajustesEu,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -125,7 +131,7 @@ export const languageConfig = {
|
||||
};
|
||||
|
||||
// Namespaces available in translations
|
||||
export const namespaces = ['common', 'auth', 'inventory', 'foodSafety', 'suppliers', 'orders', 'recipes', 'errors', 'dashboard', 'production', 'equipment', 'landing', 'settings'] as const;
|
||||
export const namespaces = ['common', 'auth', 'inventory', 'foodSafety', 'suppliers', 'orders', 'recipes', 'errors', 'dashboard', 'production', 'equipment', 'landing', 'settings', 'ajustes'] as const;
|
||||
export type Namespace = typeof namespaces[number];
|
||||
|
||||
// Helper function to get language display name
|
||||
@@ -139,7 +145,7 @@ export const isSupportedLanguage = (language: string): language is SupportedLang
|
||||
};
|
||||
|
||||
// Export individual language modules for direct imports
|
||||
export { commonEs, authEs, inventoryEs, foodSafetyEs, suppliersEs, ordersEs, recipesEs, errorsEs, equipmentEs, landingEs, settingsEs };
|
||||
export { commonEs, authEs, inventoryEs, foodSafetyEs, suppliersEs, ordersEs, recipesEs, errorsEs, equipmentEs, landingEs, settingsEs, ajustesEs };
|
||||
|
||||
// Default export with all translations
|
||||
export default resources;
|
||||
export default resources;
|
||||
|
||||
Reference in New Issue
Block a user