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.
337 lines
15 KiB
JSON
337 lines
15 KiB
JSON
{
|
||
"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"
|
||
}
|
||
}
|