Improve the UI and tests
This commit is contained in:
@@ -67,6 +67,9 @@
|
||||
"expand": "Expand",
|
||||
"collapse": "Collapse"
|
||||
},
|
||||
"item": "item",
|
||||
"items": "items",
|
||||
"unknown": "Unknown",
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
|
||||
@@ -34,6 +34,32 @@
|
||||
"quick_actions": "Quick Actions",
|
||||
"key_metrics": "Key Metrics"
|
||||
},
|
||||
"insights": {
|
||||
"savings": {
|
||||
"label": "💰 SAVINGS",
|
||||
"this_week": "this week",
|
||||
"vs_last": "vs. last"
|
||||
},
|
||||
"inventory": {
|
||||
"label": "📦 INVENTORY",
|
||||
"all_stocked": "All stocked",
|
||||
"low_stock": "Low stock",
|
||||
"stock_issues": "⚠️ Stock issues",
|
||||
"no_alerts": "No alerts",
|
||||
"out_of_stock": "{count} out of stock",
|
||||
"alerts": "{count} alert{count, plural, one {} other {s}}"
|
||||
},
|
||||
"waste": {
|
||||
"label": "♻️ WASTE",
|
||||
"this_month": "this month",
|
||||
"vs_goal": "vs. goal"
|
||||
},
|
||||
"deliveries": {
|
||||
"label": "🚚 DELIVERIES",
|
||||
"arriving_today": "{count} arriving today",
|
||||
"none_scheduled": "None scheduled"
|
||||
}
|
||||
},
|
||||
"procurement": {
|
||||
"title": "What needs to be bought for tomorrow?",
|
||||
"empty": "All supplies ready for tomorrow",
|
||||
@@ -72,8 +98,8 @@
|
||||
"view_all": "View all alerts",
|
||||
"time": {
|
||||
"now": "Now",
|
||||
"minutes_ago": "{{count}} min ago",
|
||||
"hours_ago": "{{count}} h ago",
|
||||
"minutes_ago": "{count} min ago",
|
||||
"hours_ago": "{count} h ago",
|
||||
"yesterday": "Yesterday"
|
||||
},
|
||||
"types": {
|
||||
@@ -101,7 +127,7 @@
|
||||
"additional_details": "Additional Details",
|
||||
"mark_as_read": "Mark as read",
|
||||
"remove": "Remove",
|
||||
"active_count": "{{count}} active alerts"
|
||||
"active_count": "{count} active alerts"
|
||||
},
|
||||
"messages": {
|
||||
"welcome": "Welcome back",
|
||||
@@ -131,16 +157,16 @@
|
||||
},
|
||||
"health": {
|
||||
"production_on_schedule": "Production on schedule",
|
||||
"production_delayed": "{{count}} production batch{{count, plural, one {} other {es}}} delayed",
|
||||
"production_delayed": "{count} production batch{count, plural, one {} other {es}} delayed",
|
||||
"all_ingredients_in_stock": "All ingredients in stock",
|
||||
"ingredients_out_of_stock": "{{count}} ingredient{{count, plural, one {} other {s}}} out of stock",
|
||||
"ingredients_out_of_stock": "{count} ingredient{count, plural, one {} other {s}} out of stock",
|
||||
"no_pending_approvals": "No pending approvals",
|
||||
"approvals_awaiting": "{{count}} purchase order{{count, plural, one {} other {s}}} awaiting approval",
|
||||
"approvals_awaiting": "{count} purchase order{count, plural, one {} other {s}} awaiting approval",
|
||||
"all_systems_operational": "All systems operational",
|
||||
"critical_issues": "{{count}} critical issue{{count, plural, one {} other {s}}}",
|
||||
"critical_issues": "{count} critical issue{count, plural, one {} other {s}}",
|
||||
"headline_green": "Your bakery is running smoothly",
|
||||
"headline_yellow_approvals": "Please review {{count}} pending approval{{count, plural, one {} other {s}}}",
|
||||
"headline_yellow_alerts": "You have {{count}} alert{{count, plural, one {} other {s}}} needing attention",
|
||||
"headline_yellow_approvals": "Please review {count} pending approval{count, plural, one {} other {s}}",
|
||||
"headline_yellow_alerts": "You have {count} alert{count, plural, one {} other {s}} needing attention",
|
||||
"headline_yellow_general": "Some items need your attention",
|
||||
"headline_red": "Critical issues require immediate action"
|
||||
},
|
||||
@@ -160,7 +186,7 @@
|
||||
"suppliers": "Suppliers",
|
||||
"recipes": "Recipes",
|
||||
"quality": "Quality Standards",
|
||||
"add_ingredients": "Add at least {{count}} ingredients",
|
||||
"add_ingredients": "Add at least {count} ingredients",
|
||||
"add_supplier": "Add your first supplier",
|
||||
"add_recipe": "Create your first recipe",
|
||||
"add_quality": "Add quality checks (optional)",
|
||||
|
||||
36
frontend/src/locales/en/purchase_orders.json
Normal file
36
frontend/src/locales/en/purchase_orders.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"purchase_order": "Purchase Order",
|
||||
"purchase_orders": "Purchase Orders",
|
||||
"created": "Created",
|
||||
"supplier": "Supplier",
|
||||
"order_date": "Order Date",
|
||||
"expected_delivery": "Expected Delivery",
|
||||
"items": "Items",
|
||||
"no_items": "No items in this order",
|
||||
"notes": "Notes",
|
||||
"not_found": "Purchase order not found",
|
||||
"total_amount": "Total Amount",
|
||||
"status": {
|
||||
"draft": "Draft",
|
||||
"pending_approval": "Pending Approval",
|
||||
"approved": "Approved",
|
||||
"sent": "Sent",
|
||||
"partially_received": "Partially Received",
|
||||
"received": "Received",
|
||||
"cancelled": "Cancelled"
|
||||
},
|
||||
"details": {
|
||||
"title": "Purchase Order Details",
|
||||
"quick_view": "Quick Order View",
|
||||
"summary": "Summary",
|
||||
"supplier_info": "Supplier Information",
|
||||
"delivery_info": "Delivery Information",
|
||||
"order_items": "Order Items",
|
||||
"additional_notes": "Additional Notes"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Approve Order",
|
||||
"modify": "Modify Order",
|
||||
"close": "Close"
|
||||
}
|
||||
}
|
||||
@@ -75,8 +75,8 @@
|
||||
"last_updated": "Last updated",
|
||||
"next_check": "Next check",
|
||||
"never": "Never",
|
||||
"critical_issues": "{{count}} critical issue{{count, plural, one {} other {s}}}",
|
||||
"actions_needed": "{{count}} action{{count, plural, one {} other {s}}} needed"
|
||||
"critical_issues": "{count} critical issue{count, plural, one {} other {s}}",
|
||||
"actions_needed": "{count} action{count, plural, one {} other {s}} needed"
|
||||
},
|
||||
"action_queue": {
|
||||
"title": "What Needs Your Attention",
|
||||
@@ -85,11 +85,23 @@
|
||||
"estimated_time": "Estimated time",
|
||||
"all_caught_up": "All caught up!",
|
||||
"no_actions": "No actions requiring your attention right now.",
|
||||
"show_more": "Show {{count}} More Action{{count, plural, one {} other {s}}}",
|
||||
"show_more": "Show {count} More Action{count, plural, one {} other {s}}",
|
||||
"show_less": "Show Less",
|
||||
"total": "total",
|
||||
"critical": "critical",
|
||||
"important": "important"
|
||||
"important": "important",
|
||||
"consequences": {
|
||||
"delayed_delivery_impact": "Delayed delivery may impact production schedule",
|
||||
"immediate_action_required": "Immediate action required to prevent production issues",
|
||||
"some_features_limited": "Some features are limited"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Approve",
|
||||
"view_details": "View Details",
|
||||
"modify": "Modify",
|
||||
"dismiss": "Dismiss",
|
||||
"complete_setup": "Complete Setup"
|
||||
}
|
||||
},
|
||||
"orchestration_summary": {
|
||||
"title": "Last Night I Planned Your Day",
|
||||
@@ -97,17 +109,17 @@
|
||||
"run_planning": "Run Daily Planning",
|
||||
"run_info": "Orchestration run #{{runNumber}}",
|
||||
"took": "Took {{seconds}}s",
|
||||
"created_pos": "Created {{count}} purchase order{{count, plural, one {} other {s}}}",
|
||||
"scheduled_batches": "Scheduled {{count}} production batch{{count, plural, one {} other {es}}}",
|
||||
"show_more": "Show {{count}} more",
|
||||
"created_pos": "Created {count} purchase order{count, plural, one {} other {s}}",
|
||||
"scheduled_batches": "Scheduled {count} production batch{count, plural, one {} other {es}}",
|
||||
"show_more": "Show {count} more",
|
||||
"show_less": "Show less",
|
||||
"no_actions": "No new actions needed - everything is on track!",
|
||||
"based_on": "Based on:",
|
||||
"customer_orders": "{{count}} customer order{{count, plural, one {} other {s}}}",
|
||||
"customer_orders": "{count} customer order{count, plural, one {} other {s}}",
|
||||
"historical_demand": "Historical demand",
|
||||
"inventory_levels": "Inventory levels",
|
||||
"ai_optimization": "AI optimization",
|
||||
"actions_required": "{{count}} item{{count, plural, one {} other {s}}} need{{count, plural, one {s} other {}}} your approval before proceeding",
|
||||
"actions_required": "{count} item{count, plural, one {} other {s}} need{count, plural, one {s} other {}}} your approval before proceeding",
|
||||
"no_tenant_error": "No tenant ID found. Please ensure you're logged in.",
|
||||
"planning_started": "Planning started successfully",
|
||||
"planning_failed": "Failed to start planning",
|
||||
|
||||
@@ -12,6 +12,16 @@
|
||||
"title": "Add Inventory",
|
||||
"inventoryDetails": "Inventory Item Details",
|
||||
"fillRequiredInfo": "Fill in the required information to create an inventory item",
|
||||
"summary": "Summary",
|
||||
"steps": {
|
||||
"productType": "Product Type",
|
||||
"basicInfo": "Basic Information",
|
||||
"stockConfig": "Stock Configuration"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"ingredient": "Raw materials and ingredients used in recipes",
|
||||
"finished_product": "Final products ready for sale or consumption"
|
||||
},
|
||||
"fields": {
|
||||
"name": "Name",
|
||||
"namePlaceholder": "E.g., All-Purpose Flour, Sourdough Bread",
|
||||
@@ -81,6 +91,11 @@
|
||||
"basicInformation": "Basic Information",
|
||||
"advancedOptions": "Advanced Options",
|
||||
"advancedOptionsDescription": "Optional fields for comprehensive inventory management",
|
||||
"additionalInformationDescription": "Optional product identifiers",
|
||||
"additionalDetails": "Additional Details",
|
||||
"additionalDetailsDescription": "Optional product details",
|
||||
"advancedStockSettings": "Advanced Stock Settings",
|
||||
"advancedStockSettingsDescription": "Configure inventory thresholds and reorder points",
|
||||
"pricingInformation": "Pricing Information",
|
||||
"inventoryManagement": "Inventory Management",
|
||||
"productInformation": "Product Information",
|
||||
|
||||
@@ -67,6 +67,9 @@
|
||||
"expand": "Expandir",
|
||||
"collapse": "Contraer"
|
||||
},
|
||||
"item": "artículo",
|
||||
"items": "artículos",
|
||||
"unknown": "Desconocido",
|
||||
"status": {
|
||||
"active": "Activo",
|
||||
"inactive": "Inactivo",
|
||||
|
||||
@@ -34,6 +34,32 @@
|
||||
"quick_actions": "Acciones Rápidas",
|
||||
"key_metrics": "Métricas Clave"
|
||||
},
|
||||
"insights": {
|
||||
"savings": {
|
||||
"label": "💰 AHORROS",
|
||||
"this_week": "esta semana",
|
||||
"vs_last": "vs. anterior"
|
||||
},
|
||||
"inventory": {
|
||||
"label": "📦 INVENTARIO",
|
||||
"all_stocked": "Todo en stock",
|
||||
"low_stock": "Stock bajo",
|
||||
"stock_issues": "⚠️ Problemas de stock",
|
||||
"no_alerts": "Sin alertas",
|
||||
"out_of_stock": "{count} sin stock",
|
||||
"alerts": "{count} alerta{count, plural, one {} other {s}}"
|
||||
},
|
||||
"waste": {
|
||||
"label": "♻️ DESPERDICIO",
|
||||
"this_month": "este mes",
|
||||
"vs_goal": "vs. objetivo"
|
||||
},
|
||||
"deliveries": {
|
||||
"label": "🚚 ENTREGAS",
|
||||
"arriving_today": "{count} llegan hoy",
|
||||
"none_scheduled": "Ninguna programada"
|
||||
}
|
||||
},
|
||||
"procurement": {
|
||||
"title": "¿Qué necesito comprar para mañana?",
|
||||
"empty": "Todos los suministros listos para mañana",
|
||||
@@ -166,16 +192,16 @@
|
||||
},
|
||||
"health": {
|
||||
"production_on_schedule": "Producción a tiempo",
|
||||
"production_delayed": "{{count}} lote{{count, plural, one {} other {s}}} de producción retrasado{{count, plural, one {} other {s}}}",
|
||||
"production_delayed": "{count} lote{count, plural, one {} other {s}} de producción retrasado{count, plural, one {} other {s}}",
|
||||
"all_ingredients_in_stock": "Todos los ingredientes en stock",
|
||||
"ingredients_out_of_stock": "{{count}} ingrediente{{count, plural, one {} other {s}}} sin stock",
|
||||
"ingredients_out_of_stock": "{count} ingrediente{count, plural, one {} other {s}} sin stock",
|
||||
"no_pending_approvals": "Sin aprobaciones pendientes",
|
||||
"approvals_awaiting": "{{count}} orden{{count, plural, one {} other {es}}} de compra esperando aprobación",
|
||||
"approvals_awaiting": "{count} orden{count, plural, one {} other {es}} de compra esperando aprobación",
|
||||
"all_systems_operational": "Todos los sistemas operativos",
|
||||
"critical_issues": "{{count}} problema{{count, plural, one {} other {s}}} crítico{{count, plural, one {} other {s}}}",
|
||||
"critical_issues": "{count} problema{count, plural, one {} other {s}} crítico{count, plural, one {} other {s}}",
|
||||
"headline_green": "Tu panadería funciona sin problemas",
|
||||
"headline_yellow_approvals": "Por favor revisa {{count}} aprobación{{count, plural, one {} other {es}}} pendiente{{count, plural, one {} other {s}}}",
|
||||
"headline_yellow_alerts": "Tienes {{count}} alerta{{count, plural, one {} other {s}}} que necesita{{count, plural, one {} other {n}}} atención",
|
||||
"headline_yellow_approvals": "Por favor revisa {count} aprobación{count, plural, one {} other {es}} pendiente{count, plural, one {} other {s}}",
|
||||
"headline_yellow_alerts": "Tienes {count} alerta{count, plural, one {} other {s}} que necesita{count, plural, one {} other {n}} atención",
|
||||
"headline_yellow_general": "Algunos elementos necesitan tu atención",
|
||||
"headline_red": "Problemas críticos requieren acción inmediata"
|
||||
},
|
||||
|
||||
36
frontend/src/locales/es/purchase_orders.json
Normal file
36
frontend/src/locales/es/purchase_orders.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"purchase_order": "Orden de Compra",
|
||||
"purchase_orders": "Órdenes de Compra",
|
||||
"created": "Creada",
|
||||
"supplier": "Proveedor",
|
||||
"order_date": "Fecha de Pedido",
|
||||
"expected_delivery": "Entrega Esperada",
|
||||
"items": "Artículos",
|
||||
"no_items": "No hay artículos en esta orden",
|
||||
"notes": "Notas",
|
||||
"not_found": "Orden de compra no encontrada",
|
||||
"total_amount": "Monto Total",
|
||||
"status": {
|
||||
"draft": "Borrador",
|
||||
"pending_approval": "Pendiente de Aprobación",
|
||||
"approved": "Aprobada",
|
||||
"sent": "Enviada",
|
||||
"partially_received": "Parcialmente Recibida",
|
||||
"received": "Recibida",
|
||||
"cancelled": "Cancelada"
|
||||
},
|
||||
"details": {
|
||||
"title": "Detalles de la Orden de Compra",
|
||||
"quick_view": "Vista Rápida de la Orden",
|
||||
"summary": "Resumen",
|
||||
"supplier_info": "Información del Proveedor",
|
||||
"delivery_info": "Información de Entrega",
|
||||
"order_items": "Artículos del Pedido",
|
||||
"additional_notes": "Notas Adicionales"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Aprobar Orden",
|
||||
"modify": "Modificar Orden",
|
||||
"close": "Cerrar"
|
||||
}
|
||||
}
|
||||
@@ -75,8 +75,8 @@
|
||||
"last_updated": "Última actualización",
|
||||
"next_check": "Próxima verificación",
|
||||
"never": "Nunca",
|
||||
"critical_issues": "{{count}} problema{{count, plural, one {} other {s}}} crítico{{count, plural, one {} other {s}}}",
|
||||
"actions_needed": "{{count}} acción{{count, plural, one {} other {es}}} necesaria{{count, plural, one {} other {s}}}"
|
||||
"critical_issues": "{count} problema{count, plural, one {} other {s}} crítico{count, plural, one {} other {s}}",
|
||||
"actions_needed": "{count} acción{count, plural, one {} other {es}} necesaria{count, plural, one {} other {s}}"
|
||||
},
|
||||
"action_queue": {
|
||||
"title": "Qué Necesita Tu Atención",
|
||||
@@ -85,11 +85,23 @@
|
||||
"estimated_time": "Tiempo estimado",
|
||||
"all_caught_up": "¡Todo al día!",
|
||||
"no_actions": "No hay acciones que requieran tu atención en este momento.",
|
||||
"show_more": "Mostrar {{count}} Acción{{count, plural, one {} other {es}}} Más",
|
||||
"show_more": "Mostrar {count} Acción{count, plural, one {} other {es}} Más",
|
||||
"show_less": "Mostrar Menos",
|
||||
"total": "total",
|
||||
"critical": "críticas",
|
||||
"important": "importantes"
|
||||
"important": "importantes",
|
||||
"consequences": {
|
||||
"delayed_delivery_impact": "El retraso en la entrega puede afectar el cronograma de producción",
|
||||
"immediate_action_required": "Se requiere acción inmediata para prevenir problemas de producción",
|
||||
"some_features_limited": "Algunas funciones están limitadas"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Aprobar",
|
||||
"view_details": "Ver Detalles",
|
||||
"modify": "Modificar",
|
||||
"dismiss": "Descartar",
|
||||
"complete_setup": "Completar Configuración"
|
||||
}
|
||||
},
|
||||
"orchestration_summary": {
|
||||
"title": "Anoche Planifiqué Tu Día",
|
||||
@@ -97,17 +109,17 @@
|
||||
"run_planning": "Ejecutar Planificación Diaria",
|
||||
"run_info": "Ejecución de orquestación #{{runNumber}}",
|
||||
"took": "Duró {{seconds}}s",
|
||||
"created_pos": "{{count}} orden{{count, plural, one {} other {es}}} de compra creada{{count, plural, one {} other {s}}}",
|
||||
"scheduled_batches": "{{count}} lote{{count, plural, one {} other {s}}} de producción programado{{count, plural, one {} other {s}}}",
|
||||
"show_more": "Mostrar {{count}} más",
|
||||
"created_pos": "{count} orden{count, plural, one {} other {es}} de compra creada{count, plural, one {} other {s}}",
|
||||
"scheduled_batches": "{count} lote{count, plural, one {} other {s}} de producción programado{count, plural, one {} other {s}}",
|
||||
"show_more": "Mostrar {count} más",
|
||||
"show_less": "Mostrar menos",
|
||||
"no_actions": "¡No se necesitan nuevas acciones - todo va según lo planeado!",
|
||||
"based_on": "Basado en:",
|
||||
"customer_orders": "{{count}} pedido{{count, plural, one {} other {s}}} de cliente",
|
||||
"customer_orders": "{count} pedido{count, plural, one {} other {s}} de cliente",
|
||||
"historical_demand": "Demanda histórica",
|
||||
"inventory_levels": "Niveles de inventario",
|
||||
"ai_optimization": "Optimización por IA",
|
||||
"actions_required": "{{count}} elemento{{count, plural, one {} other {s}}} necesita{{count, plural, one {} other {n}}} tu aprobación antes de continuar",
|
||||
"actions_required": "{count} elemento{count, plural, one {} other {s}} necesita{count, plural, one {} other {n}} tu aprobación antes de continuar",
|
||||
"no_tenant_error": "No se encontró ID de inquilino. Por favor, asegúrate de haber iniciado sesión.",
|
||||
"planning_started": "Planificación iniciada correctamente",
|
||||
"planning_failed": "Error al iniciar la planificación",
|
||||
|
||||
@@ -12,6 +12,16 @@
|
||||
"title": "Agregar Inventario",
|
||||
"inventoryDetails": "Detalles del Artículo de Inventario",
|
||||
"fillRequiredInfo": "Complete la información requerida para crear un artículo de inventario",
|
||||
"summary": "Resumen",
|
||||
"steps": {
|
||||
"productType": "Tipo de Producto",
|
||||
"basicInfo": "Información Básica",
|
||||
"stockConfig": "Configuración de Stock"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"ingredient": "Materias primas e ingredientes utilizados en recetas",
|
||||
"finished_product": "Productos finales listos para venta o consumo"
|
||||
},
|
||||
"fields": {
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "Ej: Harina de Uso General, Pan de Masa Madre",
|
||||
@@ -81,6 +91,11 @@
|
||||
"basicInformation": "Información Básica",
|
||||
"advancedOptions": "Opciones Avanzadas",
|
||||
"advancedOptionsDescription": "Campos opcionales para gestión completa de inventario",
|
||||
"additionalInformationDescription": "Identificadores de producto opcionales",
|
||||
"additionalDetails": "Detalles Adicionales",
|
||||
"additionalDetailsDescription": "Detalles opcionales del producto",
|
||||
"advancedStockSettings": "Configuración Avanzada de Stock",
|
||||
"advancedStockSettingsDescription": "Configurar umbrales de inventario y puntos de reorden",
|
||||
"pricingInformation": "Información de Precios",
|
||||
"inventoryManagement": "Gestión de Inventario",
|
||||
"productInformation": "Información del Producto",
|
||||
|
||||
@@ -67,6 +67,9 @@
|
||||
"expand": "Zabaldu",
|
||||
"collapse": "Tolestu"
|
||||
},
|
||||
"item": "produktua",
|
||||
"items": "produktuak",
|
||||
"unknown": "Ezezaguna",
|
||||
"status": {
|
||||
"active": "Aktibo",
|
||||
"inactive": "Ez aktibo",
|
||||
|
||||
@@ -32,6 +32,32 @@
|
||||
"quick_actions": "Ekintza Azkarrak",
|
||||
"key_metrics": "Metrika Nagusiak"
|
||||
},
|
||||
"insights": {
|
||||
"savings": {
|
||||
"label": "💰 AURREZKIAK",
|
||||
"this_week": "aste honetan",
|
||||
"vs_last": "vs. aurrekoa"
|
||||
},
|
||||
"inventory": {
|
||||
"label": "📦 INBENTARIOA",
|
||||
"all_stocked": "Guztia stock-ean",
|
||||
"low_stock": "Stock baxua",
|
||||
"stock_issues": "⚠️ Stock arazoak",
|
||||
"no_alerts": "Ez dago alertarik",
|
||||
"out_of_stock": "{count} stock-ik gabe",
|
||||
"alerts": "{count} alerta"
|
||||
},
|
||||
"waste": {
|
||||
"label": "♻️ HONDAKINAK",
|
||||
"this_month": "hilabete honetan",
|
||||
"vs_goal": "vs. helburua"
|
||||
},
|
||||
"deliveries": {
|
||||
"label": "🚚 BIDALKETA",
|
||||
"arriving_today": "{count} gaur iristen",
|
||||
"none_scheduled": "Ez dago programaturik"
|
||||
}
|
||||
},
|
||||
"procurement": {
|
||||
"title": "Zer erosi behar da biarko?",
|
||||
"empty": "Hornikuntza guztiak prest biarko",
|
||||
@@ -70,8 +96,8 @@
|
||||
"view_all": "Alerta guztiak ikusi",
|
||||
"time": {
|
||||
"now": "Orain",
|
||||
"minutes_ago": "duela {{count}} min",
|
||||
"hours_ago": "duela {{count}} h",
|
||||
"minutes_ago": "duela {count} min",
|
||||
"hours_ago": "duela {count} h",
|
||||
"yesterday": "Atzo"
|
||||
},
|
||||
"types": {
|
||||
@@ -99,7 +125,7 @@
|
||||
"additional_details": "Xehetasun Gehigarriak",
|
||||
"mark_as_read": "Irakurritako gisa markatu",
|
||||
"remove": "Kendu",
|
||||
"active_count": "{{count}} alerta aktibo"
|
||||
"active_count": "{count} alerta aktibo"
|
||||
},
|
||||
"messages": {
|
||||
"welcome": "Ongi etorri berriro",
|
||||
@@ -129,16 +155,16 @@
|
||||
},
|
||||
"health": {
|
||||
"production_on_schedule": "Ekoizpena orduan",
|
||||
"production_delayed": "{{count}} ekoizpen sorta atzeratuta",
|
||||
"production_delayed": "{count} ekoizpen sorta atzeratuta",
|
||||
"all_ingredients_in_stock": "Osagai guztiak stockean",
|
||||
"ingredients_out_of_stock": "{{count}} osagai stockik gabe",
|
||||
"ingredients_out_of_stock": "{count} osagai stockik gabe",
|
||||
"no_pending_approvals": "Ez dago onarpen pendienteik",
|
||||
"approvals_awaiting": "{{count}} erosketa agindu{{count, plural, one {} other {k}}} onarpenaren zai",
|
||||
"approvals_awaiting": "{count} erosketa agindu{count, plural, one {} other {k}}} onarpenaren zai",
|
||||
"all_systems_operational": "Sistema guztiak martxan",
|
||||
"critical_issues": "{{count}} arazo kritiko",
|
||||
"critical_issues": "{count} arazo kritiko",
|
||||
"headline_green": "Zure okindegia arazorik gabe dabil",
|
||||
"headline_yellow_approvals": "Mesedez berrikusi {{count}} onarpen zain",
|
||||
"headline_yellow_alerts": "{{count}} alerta{{count, plural, one {} other {k}}} arreta behar d{{count, plural, one {u} other {ute}}}",
|
||||
"headline_yellow_approvals": "Mesedez berrikusi {count} onarpen zain",
|
||||
"headline_yellow_alerts": "{count} alerta{count, plural, one {} other {k}}} arreta behar d{count, plural, one {u} other {ute}}}",
|
||||
"headline_yellow_general": "Zenbait elementuk zure arreta behar dute",
|
||||
"headline_red": "Arazo kritikoek berehalako ekintza behar dute"
|
||||
},
|
||||
@@ -158,7 +184,7 @@
|
||||
"suppliers": "Hornitzaileak",
|
||||
"recipes": "Errezetak",
|
||||
"quality": "Kalitate Estandarrak",
|
||||
"add_ingredients": "Gehitu gutxienez {{count}} osagai",
|
||||
"add_ingredients": "Gehitu gutxienez {count} osagai",
|
||||
"add_supplier": "Gehitu zure lehen hornitzailea",
|
||||
"add_recipe": "Sortu zure lehen errezeta",
|
||||
"add_quality": "Gehitu kalitate kontrolak (aukerakoa)",
|
||||
|
||||
36
frontend/src/locales/eu/purchase_orders.json
Normal file
36
frontend/src/locales/eu/purchase_orders.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"purchase_order": "Erosketa Agindua",
|
||||
"purchase_orders": "Erosketa Aginduak",
|
||||
"created": "Sortua",
|
||||
"supplier": "Hornitzailea",
|
||||
"order_date": "Eskabidearen Data",
|
||||
"expected_delivery": "Espero den Entrega",
|
||||
"items": "Produktuak",
|
||||
"no_items": "Ez dago produkturik eskaera honetan",
|
||||
"notes": "Oharrak",
|
||||
"not_found": "Erosketa agindua ez da aurkitu",
|
||||
"total_amount": "Guztira",
|
||||
"status": {
|
||||
"draft": "Zirriborroa",
|
||||
"pending_approval": "Onarpenaren Zain",
|
||||
"approved": "Onartuta",
|
||||
"sent": "Bidalita",
|
||||
"partially_received": "Partzialki Jasota",
|
||||
"received": "Jasota",
|
||||
"cancelled": "Bertan Behera Utzita"
|
||||
},
|
||||
"details": {
|
||||
"title": "Erosketa Aginduaren Xehetasunak",
|
||||
"quick_view": "Eskaeraren Ikuspegi Azkarra",
|
||||
"summary": "Laburpena",
|
||||
"supplier_info": "Hornitzailearen Informazioa",
|
||||
"delivery_info": "Entregaren Informazioa",
|
||||
"order_items": "Eskaeraren Produktuak",
|
||||
"additional_notes": "Ohar Gehigarriak"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Agindua Onartu",
|
||||
"modify": "Agindua Aldatu",
|
||||
"close": "Itxi"
|
||||
}
|
||||
}
|
||||
@@ -85,11 +85,23 @@
|
||||
"estimated_time": "Estimatutako denbora",
|
||||
"all_caught_up": "Dena egunean!",
|
||||
"no_actions": "Ez dago une honetan zure arreta behar duen ekintzarik.",
|
||||
"show_more": "Erakutsi {{count}} Ekintza gehiago",
|
||||
"show_more": "Erakutsi {count} Ekintza gehiago",
|
||||
"show_less": "Erakutsi Gutxiago",
|
||||
"total": "guztira",
|
||||
"critical": "kritiko",
|
||||
"important": "garrantzitsu"
|
||||
"important": "garrantzitsu",
|
||||
"consequences": {
|
||||
"delayed_delivery_impact": "Entregatze atzerapena ekoizpen programan eragina izan dezake",
|
||||
"immediate_action_required": "Berehalako ekintza behar da ekoizpen arazoak saihesteko",
|
||||
"some_features_limited": "Funtzio batzuk mugatuta daude"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Onartu",
|
||||
"view_details": "Xehetasunak Ikusi",
|
||||
"modify": "Aldatu",
|
||||
"dismiss": "Baztertu",
|
||||
"complete_setup": "Osatu Konfigurazioa"
|
||||
}
|
||||
},
|
||||
"orchestration_summary": {
|
||||
"title": "Bart Gauean Zure Eguna Planifikatu Nuen",
|
||||
|
||||
@@ -12,6 +12,16 @@
|
||||
"title": "Inbentarioa Gehitu",
|
||||
"inventoryDetails": "Inbentario Elementuaren Xehetasunak",
|
||||
"fillRequiredInfo": "Bete beharrezko informazioa inbentario elementu bat sortzeko",
|
||||
"summary": "Laburpena",
|
||||
"steps": {
|
||||
"productType": "Produktu Mota",
|
||||
"basicInfo": "Oinarrizko Informazioa",
|
||||
"stockConfig": "Stock Konfigurazioa"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"ingredient": "Errezetetan erabiltzen diren lehengaiak eta osagaiak",
|
||||
"finished_product": "Salmentarako edo kontsumorako prest dauden produktu finalak"
|
||||
},
|
||||
"fields": {
|
||||
"name": "Izena",
|
||||
"namePlaceholder": "Adib: Erabilera Anitzeko Irina, Masa Zaharreko Ogia",
|
||||
@@ -81,6 +91,11 @@
|
||||
"basicInformation": "Oinarrizko Informazioa",
|
||||
"advancedOptions": "Aukera Aurreratuak",
|
||||
"advancedOptionsDescription": "Inbentario kudeaketa osoa egiteko eremu aukerazkoak",
|
||||
"additionalInformationDescription": "Produktu identifikatzaile aukerazkoak",
|
||||
"additionalDetails": "Xehetasun Gehigarriak",
|
||||
"additionalDetailsDescription": "Produktuaren xehetasun aukerazkoak",
|
||||
"advancedStockSettings": "Stock Ezarpen Aurreratuak",
|
||||
"advancedStockSettingsDescription": "Konfiguratu inbentario atalaseak eta berriro eskatzeko puntuak",
|
||||
"pricingInformation": "Prezioen Informazioa",
|
||||
"inventoryManagement": "Inbentario Kudeaketa",
|
||||
"productInformation": "Produktuaren Informazioa",
|
||||
|
||||
@@ -16,6 +16,7 @@ import ajustesEs from './es/ajustes.json';
|
||||
import reasoningEs from './es/reasoning.json';
|
||||
import wizardsEs from './es/wizards.json';
|
||||
import subscriptionEs from './es/subscription.json';
|
||||
import purchaseOrdersEs from './es/purchase_orders.json';
|
||||
|
||||
// English translations
|
||||
import commonEn from './en/common.json';
|
||||
@@ -35,6 +36,7 @@ import ajustesEn from './en/ajustes.json';
|
||||
import reasoningEn from './en/reasoning.json';
|
||||
import wizardsEn from './en/wizards.json';
|
||||
import subscriptionEn from './en/subscription.json';
|
||||
import purchaseOrdersEn from './en/purchase_orders.json';
|
||||
|
||||
// Basque translations
|
||||
import commonEu from './eu/common.json';
|
||||
@@ -54,6 +56,7 @@ import ajustesEu from './eu/ajustes.json';
|
||||
import reasoningEu from './eu/reasoning.json';
|
||||
import wizardsEu from './eu/wizards.json';
|
||||
import subscriptionEu from './eu/subscription.json';
|
||||
import purchaseOrdersEu from './eu/purchase_orders.json';
|
||||
|
||||
// Translation resources by language
|
||||
export const resources = {
|
||||
@@ -75,6 +78,7 @@ export const resources = {
|
||||
reasoning: reasoningEs,
|
||||
wizards: wizardsEs,
|
||||
subscription: subscriptionEs,
|
||||
purchase_orders: purchaseOrdersEs,
|
||||
},
|
||||
en: {
|
||||
common: commonEn,
|
||||
@@ -94,6 +98,7 @@ export const resources = {
|
||||
reasoning: reasoningEn,
|
||||
wizards: wizardsEn,
|
||||
subscription: subscriptionEn,
|
||||
purchase_orders: purchaseOrdersEn,
|
||||
},
|
||||
eu: {
|
||||
common: commonEu,
|
||||
@@ -113,6 +118,7 @@ export const resources = {
|
||||
reasoning: reasoningEu,
|
||||
wizards: wizardsEu,
|
||||
subscription: subscriptionEu,
|
||||
purchase_orders: purchaseOrdersEu,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -149,7 +155,7 @@ export const languageConfig = {
|
||||
};
|
||||
|
||||
// Namespaces available in translations
|
||||
export const namespaces = ['common', 'auth', 'inventory', 'foodSafety', 'suppliers', 'orders', 'recipes', 'errors', 'dashboard', 'production', 'equipment', 'landing', 'settings', 'ajustes', 'reasoning', 'wizards', 'subscription'] as const;
|
||||
export const namespaces = ['common', 'auth', 'inventory', 'foodSafety', 'suppliers', 'orders', 'recipes', 'errors', 'dashboard', 'production', 'equipment', 'landing', 'settings', 'ajustes', 'reasoning', 'wizards', 'subscription', 'purchase_orders'] as const;
|
||||
export type Namespace = typeof namespaces[number];
|
||||
|
||||
// Helper function to get language display name
|
||||
|
||||
Reference in New Issue
Block a user