feat: Complete frontend i18n implementation for dashboard components
- Updated TypeScript types to support reasoning_data field - Integrated useReasoningTranslation hook in all dashboard components: * ActionQueueCard: Translates PO reasoning_data and UI text * ProductionTimelineCard: Translates batch reasoning_data and UI text * OrchestrationSummaryCard: Translates all hardcoded English text * HealthStatusCard: Translates all hardcoded English text - Added missing translation keys to all language files (EN, ES, EU): * health_status: never, critical_issues, actions_needed * action_queue: total, critical, important * orchestration_summary: ready_to_plan, run_info, took, show_more/less * production_timeline: Complete rebuild with new keys - Components now support fallback for deprecated text fields - Full multilingual support: English, Spanish, Basque Dashboard is now fully translatable and will display reasoning in user's language.
This commit is contained in:
@@ -52,52 +52,55 @@ ko da.",
|
||||
"yellow": "Elementu batzuek arreta behar dute",
|
||||
"red": "Arazo kritikoek ekintza berehalakoa behar dute",
|
||||
"last_updated": "Azken eguneratzea",
|
||||
"next_check": "Hurrengo egiaztapena"
|
||||
"next_check": "Hurrengo egiaztapena",
|
||||
"never": "Inoiz ez",
|
||||
"critical_issues": "{{count}} arazo kritiko",
|
||||
"actions_needed": "{{count}} ekintza behar"
|
||||
},
|
||||
"action_queue": {
|
||||
"title": "Zer Behar Du Zure Arreta",
|
||||
"why_needed": "Zergatik behar da hau:",
|
||||
"what_if_not": "Zer gertatzen da hau egiten ez badut?",
|
||||
"estimated_time": "Estimatutako denbora: {{minutes}} min",
|
||||
"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{{plural}} Gehiago",
|
||||
"show_more": "Erakutsi {{count}} Ekintza gehiago",
|
||||
"show_less": "Erakutsi Gutxiago",
|
||||
"critical_badge": "{{count}} kritiko{{plural}}",
|
||||
"important_badge": "{{count}} garrantzitsu{{plural}}"
|
||||
"total": "guztira",
|
||||
"critical": "kritiko",
|
||||
"important": "garrantzitsu"
|
||||
},
|
||||
"orchestration_summary": {
|
||||
"title": "Bart Gauean Zure Eguna Planifikatu Nuen",
|
||||
"no_runs": "Zure Okindegiko Eguna Planifikatzeko Prest",
|
||||
"no_runs_message": "Sistemak oraindik ez du eguneko plangintza exekutatu. Egin klik 'Exekutatu Eguneko Plangintza'-n zure lehen plana sortzeko.",
|
||||
"run_number": "Orkestazio exekuzioa #{{number}}",
|
||||
"duration": "{{seconds}}s behar izan zituen",
|
||||
"pos_created": "{{count}} erosketa agindu{{plural}} sortu nituen",
|
||||
"batches_created": "{{count}} ekoizpen lote{{plural}} programatu nituen",
|
||||
"ready_to_plan": "Zure Okindegiko Eguna Planifikatzeko Prest",
|
||||
"run_planning": "Exekutatu Eguneko Plangintza",
|
||||
"run_info": "Orkestazio exekuzioa #{{runNumber}}",
|
||||
"took": "{{seconds}}s behar izan zituen",
|
||||
"created_pos": "{{count}} erosketa agindu sortu",
|
||||
"scheduled_batches": "{{count}} ekoizpen lote programatu",
|
||||
"show_more": "Erakutsi {{count}} gehiago",
|
||||
"show_less": "Erakutsi gutxiago",
|
||||
"no_actions": "Ez dira ekintza berriak behar - dena bidean dago!",
|
||||
"based_on": "Oinarrituta:",
|
||||
"customer_orders": "{{count}} bezero eskaera{{plural}}",
|
||||
"customer_orders": "{{count}} bezero eskaera",
|
||||
"historical_demand": "Eskaera historikoa",
|
||||
"inventory_levels": "Inbentario mailak",
|
||||
"ai_optimization": "IA optimizazioa",
|
||||
"actions_required": "{{count}} elementu{{plural}}k zure onespena behar du{{verb}} aurrera jarraitu aurretik"
|
||||
"actions_required": "{{count}} elementuk zure onespena behar du aurrera jarraitu aurretik"
|
||||
},
|
||||
"production_timeline": {
|
||||
"title": "Gaurko Ekoizpen Denbora-lerroa",
|
||||
"no_batches": "Ez dago ekoizpen loterik programatuta gaurko",
|
||||
"status": {
|
||||
"pending": "Zain",
|
||||
"in_progress": "Prozesuan",
|
||||
"completed": "Osatua",
|
||||
"cancelled": "Bertan behera utzita"
|
||||
},
|
||||
"ready_by": "{{time}}rako prest",
|
||||
"priority": {
|
||||
"low": "Lehentasun Baxua",
|
||||
"normal": "Normala",
|
||||
"high": "Lehentasun Altua",
|
||||
"urgent": "Larria"
|
||||
}
|
||||
"title": "Zure Gaurko Ekoizpen Plana",
|
||||
"no_production": "Ez Dago Ekoizpenik Programatuta",
|
||||
"no_batches": "Ez dago loterik programatuta gaur ekoizpenerako.",
|
||||
"ready_by": "Prest egongo da",
|
||||
"start_batch": "Hasi Lotea",
|
||||
"pause_batch": "Pausatu Lotea",
|
||||
"completed": "Osatua",
|
||||
"total": "Guztira",
|
||||
"done": "Eginda",
|
||||
"active": "Aktibo",
|
||||
"pending": "Zain",
|
||||
"view_full_schedule": "Ikusi Ekoizpen Egutegi Osoa"
|
||||
},
|
||||
"insights": {
|
||||
"savings": "Aste Honetako Aurrezkiak",
|
||||
|
||||
Reference in New Issue
Block a user