Improve UI and traslations

This commit is contained in:
Urtzi Alfaro
2026-01-01 13:36:45 +01:00
parent 007cbda598
commit cba55c2805
47 changed files with 1405 additions and 999 deletions

View File

@@ -11,7 +11,7 @@
},
"post": {
"read_more": "Irakurri artikulu osoa",
"read_time": "{{time}} min"
"read_time": "{time} min"
},
"categories": {
"management": "Kudeaketa",

View File

@@ -349,12 +349,6 @@
"terms": "Baldintzak",
"cookies": "Cookie-ak"
},
"social_follow": "Jarraitu gaitzazu sare sozialetan",
"social_labels": {
"twitter": "Twitter",
"linkedin": "LinkedIn",
"github": "GitHub"
},
"made_with_love": "Madrilen maitasunez eginda"
},
"breadcrumbs": {
@@ -464,4 +458,4 @@
"file_too_large": "Fitxategia handiegia da",
"invalid_file_type": "Fitxategi mota baliogabea"
}
}
}

View File

@@ -0,0 +1,83 @@
{
"hero": {
"badge": "Kontaktua eta Laguntza",
"title": "Hemen Gaude Zu",
"title_accent": "Laguntzeko",
"subtitle": "Galderarik duzu? Laguntza behar duzu? Gure taldea prest dago zu laguntzeko"
},
"methods": {
"title": "Kontaktuan Jartzeko Hainbat Modu",
"subtitle": "Aukeratu zuretzat egokiena den bidea",
"email": {
"title": "Emaila",
"description": "laguntza@panaderia-ia.com",
"detail": "4 ordu baino gutxiagotan erantzuna"
},
"phone": {
"title": "Telefonoa",
"description": "+34 XXX XXX XXX",
"detail": "Astelehenetik Ostiralera: 10:00 - 19:00 CET"
},
"office": {
"title": "Bulegoa",
"description": "Madril, Espainia",
"detail": "Hitzorduarekin soilik"
}
},
"form": {
"title": "Bidali Mezu Bat",
"subtitle": "Bete formularioa eta lehenbailehen erantzungo dizugu",
"success": {
"title": "Mezua bidali da!",
"message": "Laster erantzungo dizugu."
},
"error": {
"title": "Errorea bidaltzean.",
"message": "Mesedez, saiatu berriro."
},
"fields": {
"name": "Izen-abizenak",
"name_placeholder": "Zure izena",
"email": "Emaila",
"email_placeholder": "zure@emaila.com",
"phone": "Telefonoa (aukerakoa)",
"phone_placeholder": "+34 XXX XXX XXX",
"bakery_name": "Zure Okindegiaren Izena (aukerakoa)",
"bakery_name_placeholder": "Adibidezko Okindegia",
"type": "Kontsulta Mota",
"type_options": {
"general": "Kontsulta Orokorra",
"technical": "Laguntza Teknikoa",
"sales": "Informazio Komertziala",
"feedback": "Iritziak/Iradokizunak"
},
"subject": "Gaia",
"subject_placeholder": "Nola lagundu diezazukegu?",
"message": "Mezua",
"message_placeholder": "Kontatu iezaguzu gehiago zure kontsulta edo arazoari buruz..."
},
"submit": "Mezua Bidali",
"sending": "Bidaltzen...",
"privacy": "Formulario hau bidaltzean, gure <privacyLink>Pribatutasun Politika</privacyLink> onartzen duzu",
"required_indicator": "*"
},
"footer": {
"hours": {
"title": "Arreta Ordutegia",
"email": {
"label": "Emaila:",
"detail": "24/7 (4 ordu baino gutxiagotan erantzuna lanorduetan)"
},
"phone": {
"label": "Telefonoa:",
"detail": "Astelehenetik Ostiralera: 10:00 - 19:00 CET (bezero aktiboak soilik)"
}
},
"faq": {
"title": "Erantzun Azkarrak Behar Dituzu?",
"description": "Galdera askok badute jada erantzuna gure Laguntza Zentroan eta Dokumentazioan",
"help_center": "Ikusi Laguntza Zentroa →",
"docs": "Irakurri Dokumentazioa →"
}
}
}

View File

@@ -129,7 +129,7 @@
"active_count": "{count} alerta aktibo"
},
"production": {
"scheduled_based_on": "{{type}} arabera programatuta",
"scheduled_based_on": "{type} arabera programatuta",
"status": {
"completed": "OSATUTA",
"in_progress": "MARTXAN",
@@ -170,15 +170,15 @@
"ingredients_out_of_stock": "{count} osagai stockik gabe",
"inventory_ai_prevented": "AIk {count} inbentario arazo saihestu {count, plural, one {du} other {ditu}}",
"no_pending_approvals": "Ez dago onarpen pendienteik",
"approvals_awaiting": "{count} erosketa agindu{count, plural, one {} other {k}}} onarpenaren zai",
"procurement_ai_created": "AIk {count} erosketa agindu sortu {count, plural, one {du} other {ditu}} automatikoki",
"approvals_awaiting": "{count} erosketa agindu{count, plural, one {} other {k} onarpenaren zai}",
"procurement_ai_created": "AIk {count} erosketa agindu sortu {count, plural, one {du} other {ditu} automatikoki}",
"deliveries_on_track": "Entrega guztiak orduan",
"deliveries_pending": "{count} entrega zain",
"all_systems_operational": "Sistema guztiak martxan",
"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_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"
},
@@ -248,7 +248,7 @@
"user_needed": "Erabiltzailea Behar",
"needs_review": "zure berrikuspena behar du",
"all_handled": "guztia AIak kudeatua",
"prevented_badge": "{count} arazu saihestau{{count, plural, one {} other {}}",
"prevented_badge": "{count} arazu saihestau{count, plural, one {} other {}}",
"prevented_description": "AIak hauek proaktiboki kudeatu zituen arazo bihurtu aurretik",
"analyzed_title": "Zer Aztertu Nuen",
"actions_taken": "Zer Egin Nuen",
@@ -354,7 +354,7 @@
"no_forecast_data": "Ez dago iragarpen daturik erabilgarri",
"no_performance_data": "Ez dago errendimendu daturik erabilgarri",
"no_distribution_data": "Ez dago banaketa daturik erabilgarri",
"performance_based_on": "Errendimendua {{metric}}-n oinarrituta {{period}} egunetan",
"performance_based_on": "Errendimendua {metric}-n oinarrituta {period} egunetan",
"ranking": "Sailkapena",
"rank": "Postua",
"outlet": "Denda",
@@ -395,7 +395,7 @@
"new_dashboard": {
"system_status": {
"title": "Sistema Egoera",
"issues_requiring_action": "{count, plural, one {# arazok} other {# arazok}} zure ekintza behar {count, plural, one {du} other {dute}}",
"issues_requiring_action": "{count, plural, one {# arazok} other {# arazok} zure ekintza behar {count, plural, one {du} other {dute}}",
"all_clear": "Sistema guztiak ondo dabiltza",
"never_run": "Inoiz exekutatu gabe",
"action_needed_label": "ekintza behar",
@@ -411,7 +411,7 @@
},
"pending_purchases": {
"title": "Erosketa Zain",
"count": "{count, plural, one {# agindu} other {# agindu}} onarpenaren zai",
"count": "{count, plural, one {# agindu} other {# agindu} onarpenaren zai}",
"no_pending": "Ez dago erosketa-agindu zain",
"all_clear": "Ez dago erosketa-agindu onartzeko zain",
"po_number": "EA #{number}",
@@ -421,14 +421,14 @@
"view_details": "Xehetasunak Ikusi",
"ai_reasoning": "IAk EA hau sortu zuen zeren:",
"reasoning": {
"low_stock": "{ingredient} {days, plural, =0 {egun bat baino gutxiago} one {# egunean} other {# egunetan}} agortuko da",
"low_stock_detailed": "{count, plural, one {# osagai kritiko} other {# osagai kritiko}} arriskuan: {products}. Lehen agortze {days, plural, =0 {<1 egun} one {1 egun} other {# egun}}, {batches, plural, one {# lote} other {# lote}} ukituz. Galera potentziala: €{loss}",
"low_stock": "{ingredient} {days, plural, =0 {egun bat baino gutxiago} one {# egunean} other {# egunetan} agortuko da}",
"low_stock_detailed": "{count, plural, one {# osagai kritiko} other {# osagai kritiko} arriskuan: {products}. Lehen agortze {days, plural, =0 {<1 egun} one {1 egun} other {# egun}, {batches, plural, one {# lote} other {# lote} ukituz. Galera potentziala: €{loss}}",
"demand_forecast": "{product} produktuaren eskaria %{increase} igotzea espero da"
}
},
"pending_deliveries": {
"title": "Entrega Zain",
"count": "{count, plural, one {# entrega} other {# entrega}} gaur espero",
"count": "{count, plural, one {# entrega} other {# entrega} gaur espero}",
"no_deliveries": "Ez dago entregarik gaur esperatzen",
"all_clear": "Ez dago entregarik zain gaur",
"overdue_section": "Atzeratutako Entregak",
@@ -442,7 +442,7 @@
},
"production_status": {
"title": "Ekoizpen Egoera",
"count": "{count, plural, one {# lote} other {# lote}} gaur",
"count": "{count, plural, one {# lote} other {# lote} gaur}",
"no_production": "Ez dago ekoizpenik programatuta gaur",
"all_clear": "Ez dago ekoizpenik programatuta gaur",
"late_section": "Hasteko Atzeratua",
@@ -492,7 +492,7 @@
"batch_delayed": "Lotearen Hasiera Atzeratuta",
"generic": "Ekoizpen Alerta",
"active": "Aktiboa",
"affected_orders": "{count, plural, one {# eskaera} other {# eskaera}} kaltetuak",
"affected_orders": "{count, plural, one {# eskaera} other {# eskaera} kaltetuak}",
"delay_hours": "{hours}h atzerapena",
"financial_impact": "€{amount} eragina",
"urgent_in": "Presazkoa {hours}h-tan"

View File

@@ -170,11 +170,6 @@
}
],
"contact": {
"liveChat": {
"title": "Zuzeneko Txata",
"description": "Erantzun berehalakoa 9:00-21:00",
"action": "Hasi Txata"
},
"email": {
"title": "Posta Elektronikoa",
"description": "Erantzuna 4 ordu baino gutxiagoan",
@@ -187,7 +182,6 @@
"action": "Ikusi Dokumentuak"
},
"hours": {
"liveChat": "Astelehenetik ostiralera 9:00 - 21:00, Larunbatak 10:00 - 18:00",
"email": "24/7 (erantzuna 4 orduen barruan lan orduetan)",
"phone": "Astelehenetik ostiralera 10:00 - 19:00 (bezero aktiboak soilik)"
}
@@ -209,4 +203,4 @@
"action": "Irakurri Aholkuak"
}
}
}
}

View File

@@ -92,9 +92,9 @@
},
"messages": {
"training_started": "Entrenamentua hasi da {{name}}rako",
"training_started": "Entrenamentua hasi da {name}rako",
"training_error": "Errorea entrenamentua hastean",
"retraining_started": "Berrentrenamendua hasi da {{name}}rako",
"retraining_started": "Berrentrenamendua hasi da {name}rako",
"retraining_error": "Errorea eredua berrentrenatzean"
}
}

View File

@@ -243,8 +243,8 @@
"deployment": "Hedapena",
"processing": "Prozesatzen..."
},
"estimated_time": "Aurreikusitako denbora: {{minutes}} minutu",
"estimated_time_remaining": "Geratzen den denbora aurreikusia: {{time}}",
"estimated_time": "Aurreikusitako denbora: {minutes} minutu",
"estimated_time_remaining": "Geratzen den denbora aurreikusia: {time}",
"description": "AA modelo pertsonalizatu bat sortzen ari gara zure okindegiarentzat zure datu historikoen oinarrian.",
"training_info": {
"title": "Zer gertatzen da prestakuntzaren bitartean?",

View File

@@ -115,10 +115,10 @@
"auto_approve": "🤖 Auto-onartua"
},
"messages": {
"confirm_send": "Bidali {{po_number}} agindua hornitzaileari?",
"confirm_receive": "Berretsi {{po_number}} aginduaren harrera?",
"confirm_items": "Markatu artikuluak jasota {{po_number}} aginduarentzat?",
"confirm_complete": "Osatu {{po_number}} agindua?",
"cancel_reason": "Zergatik ezeztatu nahi duzu {{po_number}} agindua?"
"confirm_send": "Bidali {po_number} agindua hornitzaileari?",
"confirm_receive": "Berretsi {po_number} aginduaren harrera?",
"confirm_items": "Markatu artikuluak jasota {po_number} aginduarentzat?",
"confirm_complete": "Osatu {po_number} agindua?",
"cancel_reason": "Zergatik ezeztatu nahi duzu {po_number} agindua?"
}
}

View File

@@ -1,10 +1,10 @@
{
"orchestration": {
"daily_summary": "{purchase_orders_count, plural, =0 {} =1 {1 erosketa agindu sortu} other {{purchase_orders_count} erosketa agindu sortu}}{purchase_orders_count, plural, =0 {} other { eta }}{production_batches_count, plural, =0 {ekoizpen loterik ez} =1 {1 ekoizpen lote programatu} other {{production_batches_count} ekoizpen lote programatu}}. {critical_items_count, plural, =0 {Guztia stockean.} =1 {Artikulu kritiko 1 arreta behar du} other {{critical_items_count} artikulu kritiko arreta behar dute}}{total_financial_impact_eur, select, 0 {} other { (€{total_financial_impact_eur} arriskuan)}}{min_depletion_hours, select, 0 {} other { - {min_depletion_hours}h stock amaitu arte}}."
"daily_summary": "{purchase_orders_count, plural, =0 {} =1 {1 erosketa agindu sortu} other {purchase_orders_count} erosketa agindu sortu}{purchase_orders_count, plural, =0 {} other { eta }{production_batches_count, plural, =0 {ekoizpen loterik ez} =1 {1 ekoizpen lote programatu} other {production_batches_count} ekoizpen lote programatu}. {critical_items_count, plural, =0 {Guztia stockean.} =1 {Artikulu kritiko 1 arreta behar du} other {critical_items_count} artikulu kritiko arreta behar dute}{total_financial_impact_eur, select, 0 {} other { (€{total_financial_impact_eur} arriskuan)}{min_depletion_hours, select, 0 {} other { - {min_depletion_hours}h stock amaitu arte}.}}"
},
"purchaseOrder": {
"low_stock_detection": "{supplier_name}-rentzat stock baxua. {product_names_joined}-ren egungo stocka {days_until_stockout} egunetan amaituko da.",
"low_stock_detection_detailed": "{critical_product_count, plural, =1 {{critical_products_0} {min_depletion_hours} ordutan amaituko da} other {{critical_product_count} produktu kritiko urri}}. {supplier_name}-ren {supplier_lead_time_days} eguneko entregarekin, {order_urgency, select, critical {BEREHALA} urgent {GAUR} important {laster} other {orain}} eskatu behar dugu {affected_batches_count, plural, =0 {ekoizpen atzerapenak} =1 {{affected_batches_0} lotearen etetea} other {{affected_batches_count} loteen etetea}} saihesteko{potential_loss_eur, select, 0 {} other { (€{potential_loss_eur} arriskuan)}}.",
"low_stock_detection_detailed": "{critical_product_count, plural, =1 {critical_products_0} {min_depletion_hours} ordutan amaituko da} other {critical_product_count} produktu kritiko urri}. {supplier_name}-ren {supplier_lead_time_days} eguneko entregarekin, {order_urgency, select, critical {BEREHALA} urgent {GAUR} important {laster} other {orain} eskatu behar dugu {affected_batches_count, plural, =0 {ekoizpen atzerapenak} =1 {affected_batches_0} lotearen etetea} other {affected_batches_count} loteen etetea} saihesteko{potential_loss_eur, select, 0 {} other { (€{potential_loss_eur} arriskuan)}.",
"forecast_demand": "{supplier_name}-ren {product_names_joined}-rentzat {forecast_period_days} eguneko eskaera aurreikuspenean oinarritutako eskaera programatua.",
"safety_stock_replenishment": "{supplier_name}-ren {product_names_joined}-rentzat segurtasun stockaren birjartzea.",
"supplier_contract": "{supplier_name}-rekin kontratuaren arabera programatutako eskaera.",

View File

@@ -36,7 +36,7 @@
"add_another": "Beste Hornitzaile Bat Gehitu",
"manage_products": "Produktuak Kudeatu",
"products": "produktuak",
"products_for": "{{name}}-(r)entzako produktuak",
"products_for": "{name}-(r)entzako produktuak",
"add_products": "Produktuak Gehitu",
"no_products_available": "Ez dago produkturik eskuragarri",
"select_products": "Produktuak Aukeratu",
@@ -115,6 +115,7 @@
"expiration_past": "Iraungitze data iraganean dago",
"expiring_soon": "Abisua: Osagai hau laster iraungitzen da!"
},
"batch_label": "Lotea",
"templates": {
"basic-bakery": "Oinarrizko Okindegi Osagaiak",
"basic-bakery-desc": "Okindegi orokorrentzako funtsezko osagaiak",
@@ -130,6 +131,9 @@
"why": "Errezetak zure inbentarioa ekoizpenarekin konektatzen dute. Sistemak elementu bakoitzeko kostu zehatzak kalkulatuko ditu, osagaien kontsumoa jarraituko du eta menuko errentagarritasuna optimizatzen lagunduko dizu.",
"quick_start": "Errezeta Txantiloiak",
"quick_start_desc": "Hasi frogatutako errezetekin eta pertsonalizatu zure beharretara",
"template_ingredients": "Osagaiak:",
"template_instructions": "Argibideak:",
"template_tips": "Aholkuak:",
"category": {
"breads": "Ogiak",
"pastries": "Gozogintza",
@@ -219,17 +223,29 @@
"fields": {
"name": "Izen Osoa",
"email": "Posta Elektroniko Helbidea",
"password": "Pasahitza",
"confirm_password": "Pasahitza Berretsi",
"phone": "Telefonoa",
"role": "Rola"
},
"placeholders": {
"name": "adib., María García",
"email": "adib., maria@okindegi.eus"
"email": "adib., maria@okindegi.eus",
"password": "••••••••",
"confirm_password": "••••••••",
"phone": "+34 600 000 000"
},
"email_hint": "Hau erabiltzaile-izena izango da saioa hasteko",
"password_hint": "Gutxienez 8 karaktere",
"errors": {
"name_required": "Izena beharrezkoa da",
"email_required": "Posta beharrezkoa da",
"email_invalid": "Posta formatu baliogabea",
"email_duplicate": "Posta elektroniko hau dagoeneko gehituta dago"
"email_duplicate": "Posta elektroniko hau dagoeneko gehituta dago",
"password_required": "Pasahitza beharrezkoa da",
"password_min_length": "Pasahitzak gutxienez 8 karaktere izan behar ditu",
"confirm_password_required": "Mesedez, pasahitza berretsi",
"passwords_mismatch": "Pasahitzak ez datoz bat"
}
},
"review": {
@@ -250,7 +266,7 @@
"quality_title": "Kalitate Kontrol Txantiloiak",
"required": "Nahitaezkoa",
"ready_title": "Zure Okindegi Prest Dago!",
"ready_message": "Arrakastaz konfiguratu dituzu {{suppliers}} hornitzaile, {{ingredients}} osagai eta {{recipes}} errezeta. Egin klik 'Konfigurazioa Osatu'-n amaitzeko eta sistema erabiltzen hasteko.",
"ready_message": "Arrakastaz konfiguratu dituzu {suppliers} hornitzaile, {ingredients} osagai eta {recipes} errezeta. Egin klik 'Konfigurazioa Osatu'-n amaitzeko eta sistema erabiltzen hasteko.",
"help": "Aldaketak egin behar dituzu? Erabili \"Atzera\" botoia edozein urratsera itzultzeko."
},
"completion": {

View File

@@ -213,7 +213,7 @@
},
"delete": {
"title": "Produktua Kendu Hornitzailetik",
"description": "Ziur zaude {{product}} hornitzaile honen prezioen zerrendatik kendu nahi duzula?"
"description": "Ziur zaude {product} hornitzaile honen prezioen zerrendatik kendu nahi duzula?"
}
},
"delete": {