feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
{
"priority" : {
"critical" : "Critical" ,
"important" : "Important" ,
"standard" : "Standard" ,
"info" : "Info"
} ,
"type_class" : {
"action_needed" : "Action Needed" ,
"prevented_issue" : "Issue Prevented" ,
"trend_warning" : "Trend Warning" ,
"escalation" : "Escalation" ,
"information" : "Information"
} ,
"context" : {
"already_addressed" : "AI already handled this" ,
"financial_impact" : "€{amount} at risk" ,
"time_until" : "Needs decision in {time}" ,
"can_user_fix" : "You can fix this" ,
"requires_supplier" : "Requires {supplier}" ,
"prevented_savings" : "Saved €{amount}" ,
"grouped_count" : "{count} grouped"
} ,
"actions" : {
"approve_po" : "Approve €{amount} order" ,
"reject_po" : "Reject order" ,
"call_supplier" : "Call {supplier} ({phone})" ,
"see_reasoning" : "See full reasoning" ,
"complete_receipt" : "Complete stock receipt" ,
"mark_received" : "Mark as received" ,
"adjust_production" : "Adjust production schedule" ,
"snooze" : "Snooze {hours}h" ,
"mark_read" : "Mark as read" ,
"dismiss" : "Dismiss" ,
"navigate" : "View details" ,
"notify_customer" : "Notify {customer}" ,
"cancel_auto_action" : "Cancel auto-action"
} ,
"orchestration" : {
"reasoning_title" : "🤖 Daily Orchestrator Reasoning" ,
"analyzed_title" : "This morning, I analyzed:" ,
"actions_taken" : "So I scheduled:" ,
"prevented_issues" : "✅ Issues Prevented" ,
"estimated_impact" : "Estimated Impact" ,
"impact_description" : "Savings from prevented rush orders, stockouts, and waste" ,
"last_run" : "Last run" ,
"what_ai_did" : "What AI did for you"
} ,
2025-11-27 15:52:40 +01:00
"no_reasoning_available" : "No reasoning available" ,
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
"metrics" : {
"hours" : "{count, plural, =1 {# hour} other {# hours}}" ,
"minutes" : "{count, plural, =1 {# minute} other {# minutes}}" ,
"days" : "{count, plural, =1 {# day} other {# days}}"
} ,
"escalated" : "Escalated" ,
"action_success" : "Action completed successfully" ,
"action_error" : "Action failed. Please try again." ,
"hub" : {
"tab_list_label" : "Alert categories" ,
"tabs" : {
"all" : "All Alerts" ,
"all_description" : "Every alert for your bakery" ,
"for_me" : "For Me" ,
"for_me_description" : "Alerts assigned to you or requiring your action" ,
"archived" : "Archived" ,
"archived_description" : "Resolved and dismissed alerts"
} ,
"toggle_filters" : "Toggle filters" ,
"filters" : "Filters" ,
"active" : "Active"
} ,
"auto_action" : {
"title" : "Auto-action Pending" ,
"remaining" : "remaining" ,
"financial_impact" : "Impact:" ,
"cancel_button" : "Cancel Auto-action" ,
"cancelling" : "Cancelling..." ,
"cancelled_title" : "Auto-action Cancelled" ,
"cancelled_message" : "The automatic action has been prevented. You can now handle this manually." ,
"completed_title" : "Auto-action Executed" ,
"help_text" : "AI will automatically execute this action when the timer expires. Click \"Cancel\" to prevent it and handle manually." ,
"urgency" : {
"critical" : "URGENT" ,
"warning" : "SOON" ,
"info" : "SCHEDULED"
}
} ,
"priority_explainer" : {
"title" : "Understanding Priority Scores" ,
"subtitle" : "How AI calculates what needs your attention first" ,
"overview" : {
"title" : "The Priority Score (0-100)" ,
"description" : "Every alert receives a priority score from 0-100 based on four weighted components. This helps you focus on what truly matters for your bakery."
} ,
"example_alert" : "Example Alert Priority" ,
"level" : {
"critical" : "CRITICAL" ,
"important" : "IMPORTANT" ,
"standard" : "STANDARD" ,
"info" : "INFO"
} ,
"components_title" : "Score Components" ,
"weight" : "weight" ,
"business_impact" : {
"name" : "Business Impact" ,
"description" : "Financial consequences, affected orders, customer satisfaction" ,
"example1" : "€500 in potential revenue at risk" ,
"example2" : "10 customer orders affected" ,
"example3" : "High customer satisfaction impact"
} ,
"urgency" : {
"name" : "Urgency" ,
"description" : "Time sensitivity, deadlines, escalation potential" ,
"example1" : "Deadline in 2 hours" ,
"example2" : "Stockout imminent (4 hours)" ,
"example3" : "Production window closing soon"
} ,
"agency" : {
"name" : "User Agency" ,
"description" : "Can you take action? Do you have control over the outcome?" ,
"example1" : "Requires approval from you" ,
"example2" : "One-click action available" ,
"example3" : "Decision needed within your authority"
} ,
"confidence" : {
"name" : "AI Confidence" ,
"description" : "How certain is the AI about this alert's validity?" ,
"example1" : "Based on historical patterns (95% match)" ,
"example2" : "Data quality: High" ,
"example3" : "Prediction accuracy validated"
} ,
"formula_title" : "The Formula" ,
"footer" : "This scoring helps AI prioritize alerts, ensuring you see the most important issues first." ,
"got_it" : "Got it!"
} ,
"trend" : {
"near_threshold" : "Near threshold"
} ,
2025-11-27 15:52:40 +01:00
"action_preview" : {
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
"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" ,
2025-11-27 15:52:40 +01:00
"confidence" : "AI Confidence: {confidence}%" ,
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
"cancel" : "Cancel" ,
"confirm" : "Confirm Action"
} ,
"response_time" : {
"title" : "Response Time Performance" ,
"subtitle" : "How quickly you respond to alerts" ,
"on_time" : "On Time" ,
"alerts" : "alerts" ,
"average" : "Average" ,
"target" : "Target" ,
"on_time_responses" : "On-Time Responses" ,
"needs_improvement" : "Needs improvement" ,
"benchmark_title" : "Performance Perspective" ,
"excellent" : "Excellent! You're responding faster than 80% of bakeries. Keep it up!" ,
"good" : "Good job! Try responding to critical alerts within target time to improve further." ,
"needs_work" : "Faster responses to critical alerts can prevent issues and save money. Try meeting target times." ,
"tip" : "Tip: Enable mobile notifications to respond faster to critical alerts"
} ,
"alerts" : {
"critical_stock_shortage" : {
2025-11-27 16:28:44 +01:00
"title" : "🚨 Critical Stock: {ingredient_name}" ,
"message_with_po_pending" : "Only {current_stock}kg of {ingredient_name} (need {required_stock}kg). Already created {po_id} for delivery on {delivery_day_name}. Please approve €{po_amount}." ,
"message_with_po_created" : "Only {current_stock}kg of {ingredient_name} (need {required_stock}kg). Already created {po_id}. Review and approve €{po_amount}." ,
"message_with_hours" : "Only {current_stock}kg of {ingredient_name} available (need {required_stock}kg in {hours_until} hours)." ,
"message_with_date" : "Only {current_stock}kg of {ingredient_name} available (need {required_stock}kg for production on {production_day_name})." ,
"message_generic" : "Only {current_stock}kg of {ingredient_name} available (need {required_stock}kg)."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"low_stock" : {
2025-11-27 16:28:44 +01:00
"title" : "⚠️ Low Stock: {ingredient_name}" ,
"message_with_po" : "{ingredient_name} stock: {current_stock}kg (minimum: {minimum_stock}kg). Already scheduled PO for replenishment." ,
"message_generic" : "{ingredient_name} stock: {current_stock}kg (minimum: {minimum_stock}kg). Consider placing an order."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"stock_depleted" : {
"title" : "📦 Stock Depleted by Order" ,
2025-11-27 16:28:44 +01:00
"message_with_supplier" : "Order #{order_id} requires {ingredient_name} but it's depleted. Contact {supplier_name} ({supplier_phone})." ,
"message_generic" : "Order #{order_id} requires {ingredient_name} but it's depleted. Immediate action required."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"ingredient_shortage" : {
"title" : "⚠️ Ingredient Shortage in Production" ,
2025-11-27 16:28:44 +01:00
"message_with_customers" : "{ingredient_name} insufficient for batches in progress. {affected_orders} orders affected ({customer_names}). Current stock: {current_stock}kg, required: {required_stock}kg." ,
"message_generic" : "{ingredient_name} insufficient for batches in progress. Current stock: {current_stock}kg, required: {required_stock}kg."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"expired_products" : {
"title" : "🚫 Expired or Expiring Products" ,
2025-11-27 16:28:44 +01:00
"message_with_names" : "{count} products expiring: {product_names}. Total value: €{total_value}." ,
"message_generic" : "{count} products expiring. Total value: €{total_value}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"production_delay" : {
2025-11-27 16:28:44 +01:00
"title" : "⏰ Production Delay: {batch_name}" ,
"message_with_customers" : "Batch {batch_name} delayed {delay_minutes} minutes. Affected customers: {customer_names}. Original delivery time: {scheduled_time}." ,
"message_with_orders" : "Batch {batch_name} delayed {delay_minutes} minutes. {affected_orders} orders affected. Original delivery time: {scheduled_time}." ,
"message_generic" : "Batch {batch_name} delayed {delay_minutes} minutes. Original delivery time: {scheduled_time}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"equipment_failure" : {
2025-11-27 16:28:44 +01:00
"title" : "🔧 Equipment Failure: {equipment_name}" ,
"message_with_batches" : "{equipment_name} failed. {affected_batches} batches in production affected ({batch_names})." ,
"message_generic" : "{equipment_name} failed. Requires immediate repair."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"maintenance_required" : {
2025-11-27 16:28:44 +01:00
"title" : "🔧 Maintenance Required: {equipment_name}" ,
"message_with_hours" : "{equipment_name} requires maintenance in {hours_until} hours. Schedule now to prevent disruptions." ,
"message_with_days" : "{equipment_name} requires maintenance in {days_until} days. Schedule before {maintenance_date}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"low_equipment_efficiency" : {
2025-11-27 16:28:44 +01:00
"title" : "📉 Low Efficiency: {equipment_name}" ,
"message" : "{equipment_name} operating at {efficiency_percent}% efficiency (expected: >{threshold_percent}%). Consider maintenance."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"order_overload" : {
"title" : "📊 Order Overload" ,
2025-11-27 16:28:44 +01:00
"message_with_orders" : "Capacity overloaded by {overload_percent}%. {total_orders} orders scheduled, capacity: {capacity_orders}. Consider adjusting schedule." ,
"message_generic" : "Capacity overloaded by {overload_percent}%. Consider adjusting production schedule."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"supplier_delay" : {
2025-11-27 16:28:44 +01:00
"title" : "🚚 Supplier Delay: {supplier_name}" ,
"message" : "{supplier_name} delayed delivery of {ingredient_name} (PO: {po_id}). New date: {new_delivery_date}. Original: {original_delivery_date}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"temperature_breach" : {
"title" : "🌡️ Temperature Breach" ,
2025-11-27 16:28:44 +01:00
"message" : "Temperature {location}: {current_temp}°C (range: {min_temp}°C-{max_temp}°C). Duration: {duration_minutes} minutes."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"demand_surge_weekend" : {
"title" : "📈 Demand Surge: Weekend" ,
2025-11-27 16:28:44 +01:00
"message" : "Expected demand {surge_percent}% higher for {weekend_date}. Affected products: {products}. Consider increasing production."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"weather_impact_alert" : {
"title" : "🌦️ Expected Weather Impact" ,
2025-11-27 16:28:44 +01:00
"message" : "{weather_condition} expected {date}. Demand impact: {impact_percent}%. Affected products: {products}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"holiday_preparation" : {
2025-11-27 16:28:44 +01:00
"title" : "🎉 Holiday Preparation: {holiday_name}" ,
"message" : "{holiday_name} in {days_until} days ({holiday_date}). Expected demand {expected_increase}% higher. Key products: {products}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"severe_weather_impact" : {
"title" : "⛈️ Severe Weather Impact" ,
2025-11-27 16:28:44 +01:00
"message" : "Severe {weather_condition} expected {date}. Demand impact: {impact_percent}%. Consider adjusting delivery schedules."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"unexpected_demand_spike" : {
"title" : "📊 Unexpected Demand Spike" ,
2025-11-27 16:28:44 +01:00
"message" : "Demand increased {spike_percent}% for {products}. Current stock may run out in {hours_until_stockout} hours."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"demand_pattern_optimization" : {
"title" : "💡 Demand Pattern Optimization" ,
2025-11-27 16:28:44 +01:00
"message" : "Pattern detected: {pattern_description}. Recommend adjusting production of {products} to optimize efficiency."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"inventory_optimization" : {
"title" : "📦 Inventory Optimization" ,
2025-11-27 16:28:44 +01:00
"message" : "{ingredient_name} consistently over-stocked by {excess_percent}%. Recommend reducing order to {recommended_amount}kg."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"production_efficiency" : {
"title" : "⚡ Production Efficiency Opportunity" ,
2025-11-27 16:28:44 +01:00
"message" : "{product_name} more efficient at {suggested_time}. Production time {time_saved} minutes shorter ({savings_percent}% savings)."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"sales_opportunity" : {
"title" : "💰 Sales Opportunity" ,
2025-11-27 16:28:44 +01:00
"message" : "High demand for {products} detected. Consider additional production. Potential revenue: €{potential_revenue}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"seasonal_adjustment" : {
"title" : "🍂 Seasonal Adjustment Recommended" ,
2025-11-27 16:28:44 +01:00
"message" : "{season} season approaching. Adjust production of {products} based on historical trends ({adjustment_percent}% {adjustment_direction})."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"cost_reduction" : {
"title" : "💵 Cost Reduction Opportunity" ,
2025-11-27 16:28:44 +01:00
"message" : "Switching to {alternative_ingredient} can save €{savings_amount}/month. Similar quality, lower cost."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"waste_reduction" : {
"title" : "♻️ Waste Reduction Opportunity" ,
2025-11-27 16:28:44 +01:00
"message" : "{product_name} waste high ({waste_percent}%). Recommend reducing batch to {recommended_quantity} units."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"quality_improvement" : {
"title" : "⭐ Quality Improvement Recommended" ,
2025-11-27 16:28:44 +01:00
"message" : "{issue_description} detected in {product_name}. Recommended action: {recommended_action}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"customer_satisfaction" : {
"title" : "😊 Customer Satisfaction Opportunity" ,
2025-11-27 16:28:44 +01:00
"message" : "Customer {customer_name} consistently orders {product_name}. Consider special offer or loyalty program."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"energy_optimization" : {
"title" : "⚡ Energy Optimization" ,
2025-11-27 16:28:44 +01:00
"message" : "Energy usage for {equipment_name} peaks at {peak_time}. Shifting to {off_peak_start}-{off_peak_end} can save €{savings_amount}/month."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"staff_optimization" : {
"title" : "👥 Staff Optimization" ,
2025-11-27 16:28:44 +01:00
"message" : "{shift_name} over-staffed by {excess_percent}%. Consider adjusting staff levels to reduce labor costs."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"po_approval_needed" : {
2025-11-27 15:52:40 +01:00
"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}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
} ,
"production_batch_start" : {
2025-11-27 16:28:44 +01:00
"title" : "Production Batch Ready: {product_name}" ,
"message" : "Batch #{batch_number} ({quantity_planned} {unit} of {product_name}) is ready to start. Priority: {priority}."
feat(dashboard): Add i18n support for action buttons
- Create getActionLabelKey() mapper function for action types
- Map action types (approve_po, call_supplier, etc.) to i18n keys
- Extract parameters from metadata (amount, supplier, customer, hours)
- Update button rendering to use translations instead of backend strings
Translation updates:
- Add missing action keys: reject_po, complete_receipt, mark_received
- Spanish translations: "Rechazar pedido", "Completar recepción", etc.
- Basque translations: "Baztertu eskaera", "Osatu stockaren harrera", etc.
Action buttons now respect user's language preference (EN/ES/EU)
instead of showing hardcoded backend strings.
Fixes: Issue #4 - Missing i18n for action buttons
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 07:40:12 +01:00
}
}
}