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.
This commit is contained in:
@@ -163,7 +163,49 @@
|
||||
"basicInformation": "Basic Information",
|
||||
"scoringConfiguration": "Scoring Configuration",
|
||||
"advancedOptions": "Advanced Options",
|
||||
"advancedOptionsDescription": "Optional fields for comprehensive quality template configuration"
|
||||
"advancedOptionsDescription": "Optional fields for comprehensive quality template configuration",
|
||||
"checkPointsConfiguration": "Check Points Configuration",
|
||||
"advancedConfiguration": "Advanced Configuration (JSONB)",
|
||||
"responsibilityRequirements": "Responsibility & Requirements",
|
||||
"controlSettings": "Control Settings"
|
||||
},
|
||||
"scoringMethods": {
|
||||
"scoringMethod": "Scoring Method",
|
||||
"weightedAverage": "Weighted Average",
|
||||
"passFail": "Pass/Fail",
|
||||
"percentage": "Percentage",
|
||||
"pointsBased": "Points-based"
|
||||
},
|
||||
"advancedFields": {
|
||||
"checkPointsJsonArray": "Check Points (JSON Array)",
|
||||
"checkPointsTooltip": "Array of check points: [{\"name\": \"Visual Check\", \"description\": \"...\", \"weight\": 1.0}]",
|
||||
"checkPointsPlaceholder": "[{\"name\": \"Visual Inspection\", \"description\": \"Check appearance\", \"expected_value\": \"Golden brown\", \"measurement_type\": \"visual\", \"is_critical\": false, \"weight\": 1.0}]",
|
||||
"acceptanceCriteria": "Acceptance Criteria",
|
||||
"acceptanceCriteriaPlaceholder": "E.g., Golden uniform color, fluffy texture, no burns...",
|
||||
"parametersJson": "Parameters (JSON)",
|
||||
"parametersTooltip": "Template parameters: {\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
|
||||
"parametersPlaceholder": "{\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
|
||||
"thresholdsJson": "Thresholds (JSON)",
|
||||
"thresholdsTooltip": "Threshold values: {\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
|
||||
"thresholdsPlaceholder": "{\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
|
||||
"scoringCriteriaJson": "Scoring Criteria (JSON)",
|
||||
"scoringCriteriaTooltip": "Custom scoring criteria: {\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
|
||||
"scoringCriteriaPlaceholder": "{\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
|
||||
"responsibleRole": "Responsible Role/Person",
|
||||
"responsibleRolePlaceholder": "E.g., Production Manager, Baker",
|
||||
"requiredEquipment": "Required Equipment/Tools",
|
||||
"requiredEquipmentPlaceholder": "E.g., Thermometer, scale, timer",
|
||||
"specificConditions": "Specific Conditions or Notes",
|
||||
"specificConditionsPlaceholder": "E.g., Only applicable on humid days, check 30 min after baking...",
|
||||
"passThresholdPercent": "Pass Threshold (%)",
|
||||
"frequencyDays": "Frequency (days)",
|
||||
"frequencyPlaceholder": "Leave empty for batch-based",
|
||||
"requiredCheck": "Required Check",
|
||||
"activeTemplate": "Active Template",
|
||||
"requiresPhotoEvidence": "Requires Photo Evidence",
|
||||
"criticalControlPoint": "Critical Control Point (CCP)",
|
||||
"notifyOnFailure": "Notify on Failure",
|
||||
"templateDetailsTitle": "Template Details"
|
||||
}
|
||||
},
|
||||
"customerOrder": {
|
||||
|
||||
@@ -163,7 +163,49 @@
|
||||
"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"
|
||||
"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": {
|
||||
|
||||
@@ -163,7 +163,49 @@
|
||||
"basicInformation": "Oinarrizko Informazioa",
|
||||
"scoringConfiguration": "Puntuazio Konfigurazioa",
|
||||
"advancedOptions": "Aukera Aurreratuak",
|
||||
"advancedOptionsDescription": "Kalitate txantiloi konfigurazio osoa egiteko eremu aukerazkoak"
|
||||
"advancedOptionsDescription": "Kalitate txantiloi konfigurazio osoa egiteko eremu aukerazkoak",
|
||||
"checkPointsConfiguration": "Kontrol Puntuen Konfigurazioa",
|
||||
"advancedConfiguration": "Konfigurazio Aurreratua (JSONB)",
|
||||
"responsibilityRequirements": "Erantzukizuna eta Eskakizunak",
|
||||
"controlSettings": "Kontrol Ezarpenak"
|
||||
},
|
||||
"scoringMethods": {
|
||||
"scoringMethod": "Puntuazio Metodoa",
|
||||
"weightedAverage": "Batez Besteko Haztatua",
|
||||
"passFail": "Gainditu/Huts egin",
|
||||
"percentage": "Ehunekoa",
|
||||
"pointsBased": "Puntuetan Oinarrituta"
|
||||
},
|
||||
"advancedFields": {
|
||||
"checkPointsJsonArray": "Kontrol Puntuak (JSON Array)",
|
||||
"checkPointsTooltip": "Kontrol puntuen array-a: [{\"name\": \"Ikusizko Kontrola\", \"description\": \"...\", \"weight\": 1.0}]",
|
||||
"checkPointsPlaceholder": "[{\"name\": \"Ikusizko Ikuskatzea\", \"description\": \"Itxura egiaztatu\", \"expected_value\": \"Urre marroia\", \"measurement_type\": \"visual\", \"is_critical\": false, \"weight\": 1.0}]",
|
||||
"acceptanceCriteria": "Onarpenerako Irizpideak",
|
||||
"acceptanceCriteriaPlaceholder": "Adib: Kolore urre uniformea, ehundura puzgatua, erreadurak gabe...",
|
||||
"parametersJson": "Parametroak (JSON)",
|
||||
"parametersTooltip": "Txantiloiaren parametroak: {\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
|
||||
"parametersPlaceholder": "{\"temp_min\": 75, \"temp_max\": 85, \"humidity\": 65}",
|
||||
"thresholdsJson": "Atalaseak (JSON)",
|
||||
"thresholdsTooltip": "Atalase balioak: {\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
|
||||
"thresholdsPlaceholder": "{\"critical\": 90, \"warning\": 70, \"acceptable\": 50}",
|
||||
"scoringCriteriaJson": "Puntuazio Irizpideak (JSON)",
|
||||
"scoringCriteriaTooltip": "Puntuazio irizpide pertsonalizatuak: {\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
|
||||
"scoringCriteriaPlaceholder": "{\"appearance\": 30, \"texture\": 30, \"taste\": 40}",
|
||||
"responsibleRole": "Arduradunaren Rola/Pertsona",
|
||||
"responsibleRolePlaceholder": "Adib: Ekoizpen Kudeatzailea, Okindegilea",
|
||||
"requiredEquipment": "Beharrezko Ekipamendua/Tresnak",
|
||||
"requiredEquipmentPlaceholder": "Adib: Termometroa, balantza, kronometroa",
|
||||
"specificConditions": "Baldintza Espezifikoak edo Oharrak",
|
||||
"specificConditionsPlaceholder": "Adib: Egun hezetan soilik aplikagarria, labean 30 minutu geroago egiaztatu...",
|
||||
"passThresholdPercent": "Gainditzeko Atalasea (%)",
|
||||
"frequencyDays": "Maiztasuna (egunak)",
|
||||
"frequencyPlaceholder": "Utzi hutsik lote oinarritua izateko",
|
||||
"requiredCheck": "Beharrezko Egiaztapena",
|
||||
"activeTemplate": "Txantiloi Aktiboa",
|
||||
"requiresPhotoEvidence": "Argazki Frogak Behar Ditu",
|
||||
"criticalControlPoint": "Kontrol Puntu Kritikoa (KPK)",
|
||||
"notifyOnFailure": "Jakinarazi Hutsegitean",
|
||||
"templateDetailsTitle": "Txantiloiaren Xehetasunak"
|
||||
}
|
||||
},
|
||||
"customerOrder": {
|
||||
|
||||
Reference in New Issue
Block a user