Files
bakery-ia/frontend/src/locales/es/wizards.json
Claude 45d18ef980 feat: Add comprehensive i18n support to QualityTemplateWizard
Added full internationalization support for the Quality Template wizard:

Translation keys added (en/es/eu):
- Scoring methods (weighted average, pass/fail, percentage, points-based)
- Advanced fields (check points, parameters, thresholds, scoring criteria)
- Section headers (check points config, advanced config, responsibility, control settings)
- Control settings (active template, photo evidence, critical control point, notify on failure)

Component updates:
- Translated all hardcoded strings in QualityTemplateWizard.tsx
- Implemented useTranslation hook
- Updated all labels, placeholders, tooltips, and section headers
- Added translations for scoring configuration section
- Translated advanced options including JSONB configuration fields
- Translated responsibility & requirements section
- Translated control settings checkboxes

Follows established pattern from InventoryWizard.tsx for consistency.
2025-11-10 13:16:49 +00:00

337 lines
15 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"common": {
"optional": "Opcional",
"required": "Requerido",
"autoGenerated": "Auto-generado",
"leaveEmptyForAutoGeneration": "Dejar vacío para auto-generar",
"readOnly": "Solo lectura - Auto-generado",
"willBeGeneratedAutomatically": "Se generará automáticamente",
"autoGeneratedOnSave": "Auto-generado al guardar"
},
"inventory": {
"title": "Agregar Inventario",
"inventoryDetails": "Detalles del Artículo de Inventario",
"fillRequiredInfo": "Complete la información requerida para crear un artículo de inventario",
"fields": {
"name": "Nombre",
"namePlaceholder": "Ej: Harina de Uso General, Pan de Masa Madre",
"productType": "Tipo de Producto",
"unitOfMeasure": "Unidad de Medida",
"sku": "SKU",
"skuPlaceholder": "Dejar vacío para auto-generar",
"skuTooltip": "Dejar vacío para auto-generar desde el backend, o introducir SKU personalizado",
"barcode": "Código de Barras",
"barcodePlaceholder": "Código de Barras/UPC/EAN",
"ingredientCategory": "Categoría de Ingrediente",
"productCategory": "Categoría de Producto",
"brand": "Marca",
"brandPlaceholder": "Nombre de marca",
"description": "Descripción",
"descriptionPlaceholder": "Descripción detallada del artículo de inventario",
"averageCost": "Coste Promedio (€)",
"lastPurchasePrice": "Último Precio de Compra (€)",
"standardCost": "Coste Estándar (€)",
"sellingPrice": "Precio de Venta (€)",
"minimumPrice": "Precio Mínimo (€)",
"lowStockThreshold": "Umbral de Stock Bajo",
"reorderPoint": "Punto de Reorden",
"reorderQuantity": "Cantidad de Reorden",
"maxStockLevel": "Nivel Máximo de Stock",
"leadTimeDays": "Tiempo de Entrega (días)",
"packageSize": "Tamaño del Paquete",
"packageSizePlaceholder": "Ej: bolsa de 25kg, paquete de 12",
"shelfLifeDays": "Vida Útil (días)",
"displayLifeHours": "Vida de Exhibición (horas)",
"storageTempRange": "Rango de Temperatura de Almacenamiento (°C)",
"storageTempMin": "Mín",
"storageTempMax": "Máx",
"storageInstructions": "Instrucciones de Almacenamiento",
"storageInstructionsPlaceholder": "Ej: Almacenar en lugar fresco y seco alejado de la luz directa del sol",
"handlingInstructions": "Instrucciones de Manejo",
"handlingInstructionsPlaceholder": "Requisitos especiales de manejo",
"isPerishable": "Artículo Perecedero",
"preferredSupplierId": "ID de Proveedor Preferido",
"preferredSupplierIdPlaceholder": "ID del Proveedor",
"supplierProductCode": "Código de Producto del Proveedor",
"supplierProductCodePlaceholder": "Código del producto del proveedor",
"allergenInfo": "Información de Alérgenos",
"allergenInfoPlaceholder": "gluten, leche, huevos",
"nutritionalInfo": "Información Nutricional",
"nutritionalInfoPlaceholder": "calorías:250, proteína:8g, carbohidratos:45g",
"certifications": "Certificaciones",
"certificationsPlaceholder": "Orgánico, Sin OGM, Kosher",
"weight": "Peso (kg)",
"volume": "Volumen (L)",
"dimensions": "Dimensiones (L×A×A cm)",
"dimensionsPlaceholder": "30×20×15",
"color": "Color",
"colorPlaceholder": "Color del producto",
"isActive": "Artículo Activo",
"trackByLot": "Rastrear por Lote/Batch",
"trackByExpiry": "Rastrear por Fecha de Vencimiento",
"allowNegativeStock": "Permitir Stock Negativo",
"notes": "Notas",
"notesPlaceholder": "Notas adicionales sobre este artículo",
"tags": "Etiquetas",
"tagsPlaceholder": "orgánico, premium, estacional",
"customFields": "Campos Personalizados (JSON)",
"customFieldsPlaceholder": "{\"campo_personalizado\": \"valor\"}"
},
"sections": {
"basicInformation": "Información Básica",
"advancedOptions": "Opciones Avanzadas",
"advancedOptionsDescription": "Campos opcionales para gestión completa de inventario",
"pricingInformation": "Información de Precios",
"inventoryManagement": "Gestión de Inventario",
"productInformation": "Información del Producto",
"storageAndHandling": "Almacenamiento y Manejo",
"supplierInformation": "Información del Proveedor",
"qualityAndCompliance": "Calidad y Cumplimiento",
"physicalProperties": "Propiedades Físicas",
"statusAndTracking": "Estado y Seguimiento",
"additionalInformation": "Información Adicional"
},
"productTypes": {
"ingredient": "Ingrediente",
"finished_product": "Producto Terminado",
"packaging": "Empaquetado",
"consumable": "Consumible"
},
"units": {
"select": "Seleccionar...",
"kg": "Kilogramos (kg)",
"g": "Gramos (g)",
"l": "Litros (L)",
"ml": "Mililitros (ml)",
"units": "Unidades",
"dozen": "Docena",
"lb": "Libras (lb)",
"oz": "Onzas (oz)"
},
"ingredientCategories": {
"select": "Seleccionar...",
"flour": "Harinas",
"dairy": "Lácteos",
"eggs": "Huevos",
"fats": "Grasas y Aceites",
"sweeteners": "Endulzantes",
"additives": "Aditivos",
"fruits": "Frutas",
"nuts": "Nueces y Semillas",
"spices": "Especias",
"leavening": "Agentes Leudantes"
},
"productCategories": {
"select": "Seleccionar...",
"bread": "Pan",
"pastry": "Pastelería",
"cake": "Tortas",
"cookies": "Galletas",
"specialty": "Artículos Especiales"
}
},
"qualityTemplate": {
"title": "Agregar Plantilla de Calidad",
"templateDetails": "Detalles de la Plantilla de Calidad",
"fillRequiredInfo": "Complete la información requerida para crear una plantilla de control de calidad",
"fields": {
"name": "Nombre",
"namePlaceholder": "Ej: Control de Calidad del Pan, Inspección de Higiene",
"checkType": "Tipo de Verificación",
"weight": "Peso",
"weightTooltip": "Peso de importancia para la puntuación (0.0-10.0)",
"templateCode": "Código de Plantilla",
"templateCodePlaceholder": "Dejar vacío para auto-generar",
"templateCodeTooltip": "Dejar vacío para auto-generar desde el backend, o introducir código personalizado",
"version": "Versión",
"description": "Descripción",
"descriptionPlaceholder": "Descripción detallada de la plantilla de control de calidad",
"applicableStages": "Etapas Aplicables",
"applicableStagesTooltip": "Lista separada por comas de etapas de producción: ej: amasado, fermentación, horneado, enfriamiento",
"applicablePlaceholder": "amasado, fermentación, horneado, enfriamiento"
},
"checkTypes": {
"product_quality": "Calidad del Producto",
"process_hygiene": "Higiene del Proceso",
"equipment": "Equipamiento",
"safety": "Seguridad",
"cleaning": "Limpieza",
"temperature": "Control de Temperatura",
"documentation": "Documentación"
},
"sections": {
"basicInformation": "Información Básica",
"scoringConfiguration": "Configuración de Puntuación",
"advancedOptions": "Opciones Avanzadas",
"advancedOptionsDescription": "Campos opcionales para configuración completa de plantilla de calidad",
"checkPointsConfiguration": "Configuración de Puntos de Control",
"advancedConfiguration": "Configuración Avanzada (JSONB)",
"responsibilityRequirements": "Responsabilidad y Requisitos",
"controlSettings": "Configuración de Control"
},
"scoringMethods": {
"scoringMethod": "Método de Puntuación",
"weightedAverage": "Promedio Ponderado",
"passFail": "Aprobar/Reprobar",
"percentage": "Porcentaje",
"pointsBased": "Basado en Puntos"
},
"advancedFields": {
"checkPointsJsonArray": "Puntos de Control (Array JSON)",
"checkPointsTooltip": "Array de puntos de control: [{\"name\": \"Control Visual\", \"description\": \"...\", \"weight\": 1.0}]",
"checkPointsPlaceholder": "[{\"name\": \"Inspección Visual\", \"description\": \"Verificar apariencia\", \"expected_value\": \"Marrón dorado\", \"measurement_type\": \"visual\", \"is_critical\": false, \"weight\": 1.0}]",
"acceptanceCriteria": "Criterios de Aceptación",
"acceptanceCriteriaPlaceholder": "Ej: Color dorado uniforme, textura esponjosa, sin quemaduras...",
"parametersJson": "Parámetros (JSON)",
"parametersTooltip": "Parámetros de plantilla: {\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
"parametersPlaceholder": "{\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
"thresholdsJson": "Umbrales (JSON)",
"thresholdsTooltip": "Valores de umbral: {\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
"thresholdsPlaceholder": "{\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
"scoringCriteriaJson": "Criterios de Puntuación (JSON)",
"scoringCriteriaTooltip": "Criterios de puntuación personalizados: {\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
"scoringCriteriaPlaceholder": "{\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
"responsibleRole": "Rol/Persona Responsable",
"responsibleRolePlaceholder": "Ej: Gerente de Producción, Panadero",
"requiredEquipment": "Equipos/Herramientas Requeridas",
"requiredEquipmentPlaceholder": "Ej: Termómetro, báscula, temporizador",
"specificConditions": "Condiciones o Notas Específicas",
"specificConditionsPlaceholder": "Ej: Solo aplicable en días húmedos, verificar 30 min después de hornear...",
"passThresholdPercent": "Umbral de Aprobación (%)",
"frequencyDays": "Frecuencia (días)",
"frequencyPlaceholder": "Dejar vacío para basado en lotes",
"requiredCheck": "Verificación Requerida",
"activeTemplate": "Plantilla Activa",
"requiresPhotoEvidence": "Requiere Evidencia Fotográfica",
"criticalControlPoint": "Punto Crítico de Control (PCC)",
"notifyOnFailure": "Notificar en Falla",
"templateDetailsTitle": "Detalles de Plantilla"
}
},
"customerOrder": {
"title": "Agregar Pedido",
"steps": {
"customerSelection": "Selección de Cliente",
"orderItems": "Artículos del Pedido",
"deliveryAndPayment": "Entrega y Pago"
},
"customerSelection": {
"title": "Seleccionar o Crear Cliente",
"subtitle": "Elija un cliente existente o cree uno nuevo",
"searchPlaceholder": "Buscar clientes...",
"createNew": "Crear nuevo cliente",
"backToList": "← Volver a la lista de clientes",
"fields": {
"customerName": "Nombre del Cliente",
"customerNamePlaceholder": "Ej: Restaurante El Molino",
"customerType": "Tipo de Cliente",
"phone": "Teléfono",
"phonePlaceholder": "+34 123 456 789",
"email": "Correo Electrónico",
"emailPlaceholder": "contacto@restaurante.com"
},
"customerTypes": {
"retail": "Minorista",
"wholesale": "Mayorista",
"event": "Evento",
"restaurant": "Restaurante"
}
},
"orderItems": {
"title": "Agregar Productos al Pedido",
"subtitle": "Seleccione productos y cantidades",
"addItem": "Agregar Artículo",
"removeItem": "Eliminar artículo",
"fields": {
"product": "Producto",
"productPlaceholder": "Seleccionar producto...",
"quantity": "Cantidad",
"unitPrice": "Precio Unitario (€)",
"customRequirements": "Requisitos Personalizados",
"customRequirementsPlaceholder": "Instrucciones especiales...",
"subtotal": "Subtotal"
},
"total": "Cantidad Total"
},
"deliveryPayment": {
"title": "Detalles de Entrega y Pago",
"subtitle": "Configurar entrega, pago y detalles del pedido",
"fields": {
"requestedDeliveryDate": "Fecha de Entrega Solicitada",
"orderNumber": "Número de Pedido",
"orderNumberTooltip": "Generado automáticamente por el backend al crear el pedido (formato: ORD-AAAAMMDD-####)",
"status": "Estado",
"orderType": "Tipo de Pedido",
"priority": "Prioridad"
},
"sections": {
"basicInfo": "Información Básica del Pedido",
"deliveryInfo": "Información de Entrega",
"paymentInfo": "Información de Pago"
}
}
},
"itemTypeSelector": {
"title": "Seleccionar Tipo",
"description": "Elige qué deseas agregar",
"types": {
"inventory": {
"title": "Inventario",
"description": "Agregar ingredientes o productos a tu inventario"
},
"supplier": {
"title": "Proveedor",
"description": "Agregar un nuevo proveedor o vendedor"
},
"recipe": {
"title": "Receta",
"description": "Crear una nueva receta o fórmula"
},
"equipment": {
"title": "Equipo",
"description": "Registrar equipo o maquinaria de panadería"
},
"quality-template": {
"title": "Plantilla de Calidad",
"description": "Crear una plantilla de control de calidad"
},
"customer-order": {
"title": "Pedido de Cliente",
"description": "Crear un nuevo pedido de cliente"
},
"customer": {
"title": "Cliente",
"description": "Agregar un nuevo cliente"
},
"team-member": {
"title": "Miembro del Equipo",
"description": "Agregar un miembro del equipo o empleado"
},
"sales-entry": {
"title": "Registro de Ventas",
"description": "Registrar una transacción de venta"
}
}
},
"tooltips": {
"averageCost": "Costo promedio por unidad basado en historial de compras",
"standardCost": "Costo estándar/esperado por unidad para cálculos de costos",
"lowStockThreshold": "Alertar cuando el stock caiga por debajo de este nivel",
"reorderPoint": "Activar reorden cuando el stock alcance este nivel",
"reorderQuantity": "Cantidad estándar a ordenar al reordenar",
"leadTime": "Tiempo entre la colocación del pedido y la entrega",
"displayLife": "Horas que el producto puede ser exhibido antes de que la calidad se degrade",
"allergenInfo": "Lista separada por comas: ej: gluten, leche, huevos, nueces",
"nutritionalInfo": "Datos nutricionales clave como lista separada por comas",
"certifications": "Lista separada por comas: ej: Orgánico, No GMO, Kosher",
"tags": "Etiquetas separadas por comas para facilitar búsqueda y filtrado",
"customFields": "Datos personalizados adicionales en formato JSON",
"passThreshold": "Puntuación mínima requerida para aprobar (0-100)",
"frequencyDays": "Con qué frecuencia debe realizarse esta verificación (dejar vacío para basado en lotes)",
"checkPoints": "Matriz de puntos de verificación",
"parameters": "Parámetros de plantilla",
"thresholds": "Valores de umbral",
"scoringCriteria": "Criterios de puntuación personalizados"
}
}