New alert system and panel de control page

This commit is contained in:
Urtzi Alfaro
2025-11-27 15:52:40 +01:00
parent 1a2f4602f3
commit e902419b6e
178 changed files with 20982 additions and 6944 deletions

View File

@@ -46,6 +46,7 @@
"last_run": "Last run",
"what_ai_did": "What AI did for you"
},
"no_reasoning_available": "No reasoning available",
"metrics": {
"hours": "{count, plural, =1 {# hour} other {# hours}}",
"minutes": "{count, plural, =1 {# minute} other {# minutes}}",
@@ -135,14 +136,14 @@
"trend": {
"near_threshold": "Near threshold"
},
"action_preview": {
"action_preview": {
"title": "Action Preview",
"outcome": "What will happen",
"financial_impact": "Financial Impact",
"affected_systems": "Affected Systems",
"reversible": "This action can be undone",
"not_reversible": "This action cannot be undone",
"confidence": "AI Confidence: {{confidence}}%",
"confidence": "AI Confidence: {confidence}%",
"cancel": "Cancel",
"confirm": "Confirm Action"
},
@@ -288,8 +289,8 @@
"message": "{{shift_name}} over-staffed by {{excess_percent}}%. Consider adjusting staff levels to reduce labor costs."
},
"po_approval_needed": {
"title": "Purchase Order #{{po_number}} requires approval",
"message": "Purchase order for {{supplier_name}} totaling {{currency}} {{total_amount}} is pending approval. Delivery required by {{required_delivery_date}}."
"title": "Purchase Order #{po_number} requires approval",
"message": "Purchase order for {supplier_name} totaling {currency} {total_amount} is pending approval. Delivery required by {required_delivery_date}."
},
"production_batch_start": {
"title": "Production Batch Ready: {{product_name}}",

View File

@@ -65,8 +65,11 @@
"continue": "Continue",
"confirm": "Confirm",
"expand": "Expand",
"collapse": "Collapse"
"collapse": "Collapse",
"save_draft": "Save Draft",
"confirm_receipt": "Confirm Receipt"
},
"saved": "saved",
"item": "item",
"items": "items",
"unknown": "Unknown",
@@ -317,10 +320,6 @@
"profile_menu": "Profile menu",
"close_navigation": "Close navigation"
},
"header": {
"main_navigation": "Main navigation",
"open_menu": "Open navigation menu"
},
"footer": {
"company_description": "Intelligent management system for bakeries. Optimize your production, inventory and sales with artificial intelligence.",
"sections": {
@@ -413,9 +412,14 @@
"minimize": "Minimize",
"accept_all": "Accept All",
"accept_essential": "Essential Only",
"customize": "Customize"
"customize": "Customize",
"save_draft": "Save Draft",
"confirm_receipt": "Confirm Receipt"
},
"header": {
"main_navigation": "Main navigation",
"notifications": "Notifications",
"unread_count": "{{count}} unread notifications",
"login": "Login",
"start_free": "Start Free",
"register": "Sign Up",

View File

@@ -171,10 +171,15 @@
"health": {
"production_on_schedule": "Production on schedule",
"production_delayed": "{count} production batch{count, plural, one {} other {es}} delayed",
"production_ai_prevented": "AI prevented {count} production delay{count, plural, one {} other {s}}",
"all_ingredients_in_stock": "All ingredients in stock",
"ingredients_out_of_stock": "{count} ingredient{count, plural, one {} other {s}} out of stock",
"inventory_ai_prevented": "AI prevented {count} inventory issue{count, plural, one {} other {s}}",
"no_pending_approvals": "No pending approvals",
"approvals_awaiting": "{count} purchase order{count, plural, one {} other {s}} awaiting approval",
"procurement_ai_created": "AI created {count} purchase order{count, plural, one {} other {s}} automatically",
"deliveries_on_track": "All deliveries on track",
"deliveries_pending": "{count} pending deliver{count, plural, one {y} other {ies}}",
"all_systems_operational": "All systems operational",
"critical_issues": "{count} critical issue{count, plural, one {} other {s}}",
"headline_green": "Your bakery is running smoothly",
@@ -235,10 +240,94 @@
"complete_setup": "Complete Setup"
}
},
"action_queue_title": "Action Queue",
"total_actions": "actions",
"all_caught_up": "All Caught Up!",
"no_actions_needed": "No actions needed right now",
"orchestration": {
"no_runs_message": "No orchestration has been run yet. Click 'Run Daily Planning' to generate your first plan."
"no_runs_message": "No orchestration has been run yet. Click 'Run Daily Planning' to generate your first plan.",
"reasoning_title": "AI Orchestration Reasoning",
"no_data": "No orchestration data available yet. The AI will analyze your operations and make recommendations.",
"last_run": "Last run",
"ai_automated": "AI Automated",
"actions_completed": "actions completed",
"user_needed": "User Needed",
"needs_review": "needs your review",
"all_handled": "all handled by AI",
"prevented_badge": "{{count}} issue{{count, plural, one {} other {s}}} prevented",
"prevented_description": "AI proactively handled these before they became problems",
"analyzed_title": "What I Analyzed",
"actions_taken": "What I Did",
"prevented_issues": "Issues I Prevented",
"prevented_issues_detail": "Issue Prevention Details",
"estimated_impact": "Estimated Impact",
"impact_description": "Based on prevented stockouts, waste reduction, and optimized purchasing"
},
"errors": {
"failed_to_load_stats": "Failed to load dashboard statistics. Please try again."
},
"ai_handling_rate": {
"title": "AI Impact This Week",
"subtitle": "Issues prevented before they became problems",
"handling_rate_label": "of alerts handled automatically",
"prevented_count_label": "Prevented",
"issues_text": "issues",
"savings_label": "Savings",
"estimated_text": "estimated",
"context": "Based on {total} total alerts over the last {days} days.",
"view_prevented_issues": "View Prevented Issues",
"no_prevented_issues": "No issues prevented this week - all systems running smoothly!",
"error_title": "Unable to load AI metrics",
"error_message": "Please try again later"
},
"prevented_issues": {
"title": "Prevented Issues",
"subtitle": "AI interventions this week",
"total_savings": "Total Saved",
"celebration": "Great news! AI prevented {count} issue{plural} before they became problems.",
"ai_insight": "AI Insight:",
"show_less": "Show Less",
"show_more": "Show {{count}} More",
"no_issues": "No issues prevented this week",
"no_issues_detail": "All systems running smoothly!",
"error_title": "Unable to load prevented issues"
},
"execution_progress": {
"title": "Today's Execution Progress",
"subtitle": "Plan vs Actual",
"production": "Production",
"deliveries": "Deliveries",
"approvals": "Approvals",
"status": {
"no_plan": "No Plan",
"no_deliveries": "No Deliveries",
"completed": "Completed",
"on_track": "On Track",
"at_risk": "At Risk"
},
"no_production_plan": "No production planned for today",
"no_deliveries_today": "No deliveries scheduled for today",
"batches_complete": "batches complete",
"completed": "Completed",
"in_progress": "In Progress",
"pending": "Pending",
"received": "Received",
"overdue": "Overdue",
"pending_approvals": "Pending Approvals",
"whats_next": "What's Next",
"starts_at": "starts at"
},
"intelligent_system": {
"title": "Intelligent System Summary",
"subtitle": "AI-powered automation working for you",
"ai_handling_rate": "AI Handling Rate",
"prevented_issues": "Issues Prevented",
"estimated_savings": "Estimated Savings",
"context": "Based on {total} alerts over the last {days} days",
"prevented_issues_details": "Prevented Issues Details",
"no_prevented_issues": "No issues prevented this week - all systems running smoothly!",
"celebration": "Great news! AI prevented {count} issue(s) before they became problems.",
"ai_insight": "AI Insight:",
"orchestration_title": "Latest Orchestration Run"
}
}

View File

@@ -114,5 +114,36 @@
"INITIAL_STOCK": "Initial Stock",
"OTHER": "Other"
}
},
"stock_receipt_title": "Stock Receipt Confirmation",
"purchase_order": "Purchase Order",
"supplier_info": "Supplier Information",
"expected": "Expected",
"actual": "Actual",
"discrepancy_detected": "Discrepancy Detected",
"lot_total": "Lot Total",
"discrepancy_reason": "Discrepancy Reason",
"discrepancy_reason_placeholder": "Explain why the received quantity differs from expected...",
"lots": "Lots",
"lot_details": "Lot Details",
"quantity": "Quantity",
"supplier_lot_number": "Supplier Lot Number",
"warehouse_location": "Warehouse Location",
"storage_zone": "Storage Zone",
"quality_notes": "Quality Notes",
"quality_notes_placeholder": "Any quality observations or special handling notes...",
"add_lot": "Add Another Lot",
"receipt_notes": "Receipt Notes",
"receipt_notes_placeholder": "General notes about this delivery...",
"validation": {
"no_line_items": "At least one line item is required",
"at_least_one_lot": "At least one lot is required for each line item",
"lot_quantity_mismatch": "Lot quantities ({{actual}}) must sum to actual quantity ({{expected}})",
"expiration_required": "Expiration date is required",
"quantity_required": "Quantity must be greater than 0"
},
"errors": {
"save_failed": "Failed to save draft. Please try again.",
"confirm_failed": "Failed to confirm receipt. Please check all fields and try again."
}
}

View File

@@ -73,6 +73,10 @@
"green": "Everything is running smoothly",
"yellow": "Some items need attention",
"red": "Critical issues require immediate action",
"green_simple": "✅ Everything is ready for today",
"yellow_simple": "⚠️ Some items need attention",
"red_simple": "🔴 Critical issues require action",
"yellow_simple_with_count": "⚠️ {count} action{count, plural, one {} other {s}} needed",
"last_updated": "Last updated",
"next_check": "Next check",
"never": "Never",