feat: Add backward navigation and comprehensive i18n support

- Implement backward navigation in onboarding wizard with state persistence
- Add comprehensive setup wizard translations (Spanish, English, Basque)
- Add configuration widget translations for dashboard
- Support for Suppliers, Recipes, Quality, and Team setup steps

New translation files:
- setup_wizard.json for all 3 languages (es, en, eu)
- Added config section to dashboard.json files

Key improvements:
- Users can now navigate backwards through wizard steps
- All setup wizard steps now have proper i18n support
- Configuration progress widget fully translated
This commit is contained in:
Claude
2025-11-12 15:17:58 +00:00
parent ca090125f7
commit 11d0d27056
7 changed files with 911 additions and 1 deletions

View File

@@ -167,6 +167,30 @@
"last_30_days": "Últimos 30 días",
"last_90_days": "Últimos 90 días"
},
"config": {
"title": "Completa la Configuración de tu Panadería",
"subtitle": "Configura características esenciales para comenzar",
"inventory": "Inventario",
"suppliers": "Proveedores",
"recipes": "Recetas",
"quality": "Estándares de Calidad",
"add_ingredients": "Agregar al menos {{count}} ingredientes",
"add_supplier": "Agregar tu primer proveedor",
"add_recipe": "Crear tu primera receta",
"add_quality": "Agregar controles de calidad (opcional)",
"sections_complete": "secciones completas",
"added": "agregado",
"recommended": "recomendado",
"next_step": "Siguiente Paso",
"configure": "Configurar",
"features_unlocked": "¡Características Desbloqueadas!",
"features": {
"inventory_tracking": "Seguimiento de Inventario",
"purchase_orders": "Órdenes de Compra",
"production_planning": "Planificación de Producción",
"cost_analysis": "Análisis de Costos"
}
},
"errors": {
"failed_to_load_stats": "Error al cargar las estadísticas del panel. Por favor, inténtelo de nuevo."
}

View File

@@ -0,0 +1,276 @@
{
"why_this_matters": "Por qué es importante",
"optional": "Opcional",
"navigation": {
"continue": "Continuar →",
"back": "← Atrás",
"skip": "Omitir por ahora"
},
"welcome": {
"title": "¡Excelente! Tu IA está lista",
"subtitle": "Ahora configuremos las operaciones diarias de tu panadería para que el sistema pueda ayudarte a gestionar:",
"feature_inventory": "Control de Inventario",
"feature_inventory_desc": "Niveles de stock en tiempo real y alertas de reposición",
"feature_recipes": "Costeo de Recetas",
"feature_recipes_desc": "Cálculo automático de costos y análisis de rentabilidad",
"feature_quality": "Monitoreo de Calidad",
"feature_quality_desc": "Seguimiento de estándares y calidad de producción",
"feature_team": "Coordinación del Equipo",
"feature_team_desc": "Asignar tareas y seguir responsabilidades",
"time_estimate": "Toma aproximadamente 15-20 minutos",
"save_resume": "Puedes guardar el progreso y reanudar en cualquier momento",
"skip": "Lo haré más tarde",
"get_started": "¡Empecemos! →"
},
"suppliers": {
"why": "Los proveedores son la fuente de tus ingredientes. Configurarlos ahora te permite rastrear costos, gestionar pedidos y analizar el rendimiento de los proveedores.",
"added_count": "{{count}} proveedor agregado",
"added_count_plural": "{{count}} proveedores agregados",
"minimum_met": "Requisito mínimo cumplido",
"add_minimum": "Agrega al menos 1 proveedor para continuar",
"your_suppliers": "Tus Proveedores",
"confirm_delete": "¿Estás seguro de que deseas eliminar este proveedor?",
"edit_supplier": "Editar Proveedor",
"add_supplier": "Agregar Proveedor",
"add_first": "Agrega tu Primer Proveedor",
"add_another": "Agregar Otro Proveedor",
"manage_products": "Gestionar Productos",
"products": "productos",
"products_for": "Productos para {{name}}",
"add_products": "Agregar Productos",
"no_products_available": "No hay productos disponibles",
"select_products": "Seleccionar Productos",
"unit_price": "Precio",
"unit": "Unidad",
"min_qty": "Cant. Mín.",
"add_new_product": "Agregar Nuevo Producto",
"save_products": "Guardar",
"no_products_warning": "Agrega al menos 1 producto para habilitar órdenes de compra automáticas",
"fields": {
"name": "Nombre del Proveedor",
"type": "Tipo",
"contact_person": "Persona de Contacto",
"phone": "Teléfono",
"email": "Correo Electrónico"
},
"placeholders": {
"name": "ej., Molinos SA, Distribuidora López",
"contact_person": "ej., Juan Pérez",
"phone": "ej., +34 91 123 4567",
"email": "ej., ventas@proveedor.com"
},
"errors": {
"name_required": "El nombre es obligatorio",
"email_invalid": "Formato de correo inválido"
}
},
"inventory": {
"why": "Los artículos de inventario son los componentes básicos de tus recetas. Una vez configurados, el sistema rastreará las cantidades, te alertará cuando el stock sea bajo y te ayudará a calcular los costos de las recetas.",
"quick_start": "Inicio Rápido",
"quick_start_desc": "Importa ingredientes comunes para comenzar rápidamente",
"essential": "Ingredientes Esenciales",
"common": "Ingredientes Comunes",
"packaging": "Embalaje",
"import_all": "Importar Todo",
"templates_hint": "Haz clic en cualquier artículo para personalizarlo antes de agregarlo, o usa \"Importar Todo\" para una configuración rápida",
"show_templates": "Mostrar Plantillas de Inicio Rápido",
"added_count": "{{count}} ingrediente agregado",
"added_count_plural": "{{count}} ingredientes agregados",
"minimum_met": "Requisito mínimo cumplido",
"need_more": "Necesitas {{count}} más",
"your_ingredients": "Tus Ingredientes",
"add_ingredient": "Agregar Ingrediente",
"edit_ingredient": "Editar Ingrediente",
"add_first": "Agrega tu Primer Ingrediente",
"add_another": "Agregar Otro Ingrediente",
"confirm_delete": "¿Estás seguro de que deseas eliminar este ingrediente?",
"add_stock": "Agregar Stock Inicial",
"quantity": "Cantidad",
"expiration_date": "Fecha de Vencimiento",
"supplier": "Proveedor",
"batch_number": "Número de Lote",
"stock_help": "El seguimiento de vencimiento ayuda a prevenir desperdicios y habilita la gestión de inventario FIFO",
"add_another_lot": "+ Agregar Otro Lote",
"add_another_stock": "Agregar Otro Lote de Stock",
"add_initial_stock": "Agregar Stock Inicial (Opcional)",
"fields": {
"name": "Nombre del Ingrediente",
"category": "Categoría",
"unit": "Unidad de Medida",
"brand": "Marca",
"cost": "Costo Estándar"
},
"placeholders": {
"name": "ej., Harina 000, Levadura fresca",
"brand": "ej., Molinos Río",
"cost": "ej., 150.00"
},
"errors": {
"name_required": "El nombre es obligatorio",
"cost_invalid": "El costo debe ser un número válido",
"threshold_invalid": "El umbral debe ser un número válido"
},
"stock_errors": {
"quantity_required": "La cantidad debe ser mayor que cero",
"expiration_past": "La fecha de vencimiento está en el pasado",
"expiring_soon": "¡Advertencia: Este ingrediente vence muy pronto!"
}
},
"recipes": {
"why": "Las recetas conectan tu inventario con la producción. El sistema calculará los costos exactos por artículo, rastreará el consumo de ingredientes y te ayudará a optimizar la rentabilidad de tu menú.",
"quick_start": "Plantillas de Recetas",
"quick_start_desc": "Comienza con recetas probadas y personalízalas según tus necesidades",
"category": {
"breads": "Panes",
"pastries": "Bollería",
"cakes": "Pasteles y Tartas",
"cookies": "Galletas"
},
"use_template": "Usar Plantilla",
"templates_hint": "Las plantillas coincidirán automáticamente con tus ingredientes. Revisa y ajusta según sea necesario.",
"show_templates": "Mostrar Plantillas de Recetas",
"prerequisites_title": "Se necesitan más ingredientes",
"prerequisites_desc": "Necesitas al menos 2 ingredientes en tu inventario antes de crear recetas. Regresa al paso de Inventario para agregar más ingredientes.",
"added_count": "{{count}} receta agregada",
"added_count_plural": "{{count}} recetas agregadas",
"minimum_met": "{{count}} receta(s) agregada(s) - ¡Listo para continuar!",
"your_recipes": "Tus Recetas",
"yield_label": "Rendimiento",
"add_recipe": "Agregar Receta",
"add_first": "Agrega tu Primera Receta",
"add_another": "Agregar Otra Receta",
"add_new_ingredient": "Agregar Nuevo Ingrediente",
"select_ingredient": "Seleccionar...",
"add_ingredient": "Agregar Ingrediente",
"no_ingredients": "Aún no se han agregado ingredientes",
"confirm_delete": "¿Estás seguro de que deseas eliminar esta receta?",
"fields": {
"name": "Nombre de la Receta",
"finished_product": "Producto Terminado",
"yield_quantity": "Cantidad de Rendimiento",
"yield_unit": "Unidad",
"ingredients": "Ingredientes"
},
"placeholders": {
"name": "ej., Baguette, Croissant",
"finished_product": "Seleccionar producto terminado..."
},
"errors": {
"name_required": "El nombre de la receta es obligatorio",
"finished_product_required": "El producto terminado es obligatorio",
"yield_invalid": "El rendimiento debe ser un número positivo",
"ingredients_required": "Se requiere al menos un ingrediente",
"ingredient_required": "Se requiere un ingrediente",
"quantity_invalid": "La cantidad debe ser positiva"
}
},
"quality": {
"why": "Los controles de calidad aseguran una producción consistente y te ayudan a identificar problemas temprano. Define qué significa \"bueno\" para cada etapa de producción.",
"optional_note": "Puedes omitir esto y configurar los controles de calidad más tarde",
"added_count": "{{count}} control de calidad agregado",
"added_count_plural": "{{count}} controles de calidad agregados",
"recommended_met": "Cantidad recomendada cumplida",
"recommended": "2+ recomendados (opcional)",
"your_checks": "Tus Controles de Calidad",
"add_check": "Agregar Control de Calidad",
"add_first": "Agrega tu Primer Control de Calidad",
"add_another": "Agregar Otro Control de Calidad",
"fields": {
"name": "Nombre del Control",
"check_type": "Tipo de Control",
"description": "Descripción",
"stages": "Etapas Aplicables",
"required": "Control obligatorio (debe completarse)",
"critical": "Control crítico (el fallo detiene la producción)"
},
"placeholders": {
"name": "ej., Control de color de corteza, Temperatura de masa",
"description": "Qué debe verificarse y por qué..."
},
"errors": {
"name_required": "El nombre es obligatorio",
"stages_required": "Se requiere al menos una etapa"
}
},
"team": {
"why": "Agregar miembros del equipo te permite asignar tareas, rastrear quién hace qué y dar a todos las herramientas que necesitan para trabajar eficientemente.",
"optional_note": "Puedes agregar miembros del equipo ahora o invitarlos más tarde desde la configuración",
"invitation_note": "Los miembros del equipo recibirán correos de invitación una vez que completes el asistente de configuración.",
"added_count": "{{count}} miembro del equipo agregado",
"added_count_plural": "{{count}} miembros del equipo agregados",
"your_team": "Los Miembros de tu Equipo",
"add_member": "Agregar Miembro del Equipo",
"add_first": "Agrega tu Primer Miembro del Equipo",
"add_another": "Agregar Otro Miembro del Equipo",
"skip_message": "¿Trabajas solo por ahora? ¡No hay problema!",
"skip_hint": "Siempre puedes invitar miembros del equipo más tarde desde Configuración → Equipo",
"fields": {
"name": "Nombre Completo",
"email": "Dirección de Correo",
"role": "Rol"
},
"placeholders": {
"name": "ej., María García",
"email": "ej., maria@panaderia.com"
},
"errors": {
"name_required": "El nombre es obligatorio",
"email_required": "El correo es obligatorio",
"email_invalid": "Formato de correo inválido",
"email_duplicate": "Este correo ya ha sido agregado"
}
},
"review": {
"title": "Revisa tu Configuración",
"subtitle": "Revisemos todo lo que has configurado. Puedes regresar y hacer cambios si es necesario.",
"suppliers": "Proveedores",
"ingredients": "Ingredientes",
"recipes": "Recetas",
"quality": "Controles de Calidad",
"suppliers_title": "Proveedores",
"more": "más",
"ingredients_title": "Artículos de Inventario",
"total_cost": "Valor total",
"recipes_title": "Recetas",
"avg_ingredients": "Prom. ingredientes",
"yields": "Rendimiento",
"cost": "Costo",
"quality_title": "Plantillas de Control de Calidad",
"required": "Obligatorio",
"ready_title": "¡Tu Panadería está Lista!",
"ready_message": "Has configurado exitosamente {{suppliers}} proveedores, {{ingredients}} ingredientes y {{recipes}} recetas. Haz clic en 'Completar Configuración' para finalizar y comenzar a usar el sistema.",
"help": "¿Necesitas hacer cambios? Usa el botón \"Atrás\" para volver a cualquier paso."
},
"completion": {
"title": "🎉 ¡Configuración Completa!",
"subtitle": "¡Felicitaciones! Tu sistema de gestión de panadería está listo para usar. Comencemos con tus primeras tareas.",
"next_steps": "Próximos Pasos Recomendados",
"step1_title": "Iniciar Producción",
"step1_desc": "Crea tu primer lote de producción usando tus recetas configuradas",
"step1_action": "Ir a Producción",
"step2_title": "Ordenar Inventario",
"step2_desc": "Realiza tu primera orden de compra con tus proveedores",
"step2_action": "Ver Adquisiciones",
"step3_title": "Seguir Analíticas",
"step3_desc": "Monitorea tu eficiencia de producción y costos en tiempo real",
"step3_action": "Ver Analíticas",
"tips": "Consejos Pro para el Éxito",
"tip1_title": "Mantén el Inventario Actualizado",
"tip1_desc": "Actualiza regularmente los niveles de stock para obtener cálculos de costos precisos y alertas de stock bajo",
"tip2_title": "Monitorea las Métricas de Calidad",
"tip2_desc": "Usa controles de calidad durante la producción para identificar problemas temprano y mantener la consistencia",
"tip3_title": "Revisa las Analíticas Semanalmente",
"tip3_desc": "Revisa tus analíticas de producción cada semana para optimizar recetas y reducir desperdicios",
"tip4_title": "Mantén las Relaciones con Proveedores",
"tip4_desc": "Mantén la información de proveedores actualizada y rastrea el rendimiento de pedidos para mejores asociaciones",
"need_help": "¿Necesitas Ayuda?",
"settings": "Configuración",
"settings_desc": "Configurar preferencias",
"dashboard": "Panel",
"dashboard_desc": "Ver resumen",
"recipes": "Recetas",
"recipes_desc": "Gestionar recetas",
"go_dashboard": "Ir al Panel",
"thanks": "¡Gracias por completar la configuración! ¡Feliz horneado! 🥖🥐🍰"
}
}