feat: Complete InventoryWizard i18n translation with extended field support

Add comprehensive translation keys for all inventory wizard fields and complete
the InventoryWizard component translation from English/Spanish/Basque.

Translation additions (en/es/eu):
- Extended inventory.fields with 48 new field labels and placeholders:
  * Pricing fields (averageCost, standardCost, sellingPrice, minimumPrice)
  * Inventory management fields (lowStockThreshold, reorderPoint, etc.)
  * Product info fields (packageSize, shelfLifeDays, displayLifeHours, etc.)
  * Storage fields (storageInstructions, handlingInstructions, isPerishable)
  * Supplier fields (preferredSupplierId, supplierProductCode)
  * Quality fields (allergenInfo, nutritionalInfo, certifications)
  * Physical properties (weight, volume, dimensions, color)
  * Status tracking (isActive, trackByLot, trackByExpiry, allowNegativeStock)
  * Additional fields (notes, tags, customFields)

- Added ingredientCategories with 10 options (flour, dairy, eggs, fats, etc.)
- Added productCategories with 5 options (bread, pastry, cake, cookies, specialty)

InventoryWizard implementation:
- Translated all section headers (11 sections)
- Translated all field labels (58 fields)
- Translated all placeholder texts (35 placeholders)
- Translated all tooltips using tooltips namespace (11 tooltips)
- Translated ingredient and product category options (15 total)
- Translated wizard step title

Result: Fully internationalized InventoryWizard with complete en/es/eu support
covering all required fields, advanced options, and dynamic category selection.
This commit is contained in:
Claude
2025-11-10 13:06:04 +00:00
parent 8c37de49b0
commit ebabe4cd40
4 changed files with 317 additions and 105 deletions

View File

@@ -27,7 +27,55 @@
"brand": "Brand",
"brandPlaceholder": "Brand name",
"description": "Description",
"descriptionPlaceholder": "Detailed description of the inventory item"
"descriptionPlaceholder": "Detailed description of the inventory item",
"averageCost": "Average Cost (€)",
"lastPurchasePrice": "Last Purchase Price (€)",
"standardCost": "Standard Cost (€)",
"sellingPrice": "Selling Price (€)",
"minimumPrice": "Minimum Price (€)",
"lowStockThreshold": "Low Stock Threshold",
"reorderPoint": "Reorder Point",
"reorderQuantity": "Reorder Quantity",
"maxStockLevel": "Max Stock Level",
"leadTimeDays": "Lead Time (days)",
"packageSize": "Package Size",
"packageSizePlaceholder": "E.g., 25kg bag, 12-pack",
"shelfLifeDays": "Shelf Life (days)",
"displayLifeHours": "Display Life (hours)",
"storageTempRange": "Storage Temp Range (°C)",
"storageTempMin": "Min",
"storageTempMax": "Max",
"storageInstructions": "Storage Instructions",
"storageInstructionsPlaceholder": "E.g., Store in cool, dry place away from direct sunlight",
"handlingInstructions": "Handling Instructions",
"handlingInstructionsPlaceholder": "Special handling requirements",
"isPerishable": "Perishable Item",
"preferredSupplierId": "Preferred Supplier ID",
"preferredSupplierIdPlaceholder": "Supplier ID",
"supplierProductCode": "Supplier Product Code",
"supplierProductCodePlaceholder": "Supplier's product code",
"allergenInfo": "Allergen Information",
"allergenInfoPlaceholder": "gluten, milk, eggs",
"nutritionalInfo": "Nutritional Information",
"nutritionalInfoPlaceholder": "calories:250, protein:8g, carbs:45g",
"certifications": "Certifications",
"certificationsPlaceholder": "Organic, Non-GMO, Kosher",
"weight": "Weight (kg)",
"volume": "Volume (L)",
"dimensions": "Dimensions (L×W×H cm)",
"dimensionsPlaceholder": "30×20×15",
"color": "Color",
"colorPlaceholder": "Product color",
"isActive": "Active Item",
"trackByLot": "Track by Lot/Batch",
"trackByExpiry": "Track by Expiry Date",
"allowNegativeStock": "Allow Negative Stock",
"notes": "Notes",
"notesPlaceholder": "Additional notes about this item",
"tags": "Tags",
"tagsPlaceholder": "organic, premium, seasonal",
"customFields": "Custom Fields (JSON)",
"customFieldsPlaceholder": "{\"custom_field\": \"value\"}"
},
"sections": {
"basicInformation": "Basic Information",
@@ -59,6 +107,27 @@
"dozen": "Dozen",
"lb": "Pounds (lb)",
"oz": "Ounces (oz)"
},
"ingredientCategories": {
"select": "Select...",
"flour": "Flours",
"dairy": "Dairy",
"eggs": "Eggs",
"fats": "Fats & Oils",
"sweeteners": "Sweeteners",
"additives": "Additives",
"fruits": "Fruits",
"nuts": "Nuts & Seeds",
"spices": "Spices",
"leavening": "Leavening Agents"
},
"productCategories": {
"select": "Select...",
"bread": "Bread",
"pastry": "Pastry",
"cake": "Cakes",
"cookies": "Cookies",
"specialty": "Specialty Items"
}
},
"qualityTemplate": {

View File

@@ -27,7 +27,55 @@
"brand": "Marca",
"brandPlaceholder": "Nombre de marca",
"description": "Descripción",
"descriptionPlaceholder": "Descripción detallada del artículo de inventario"
"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",
@@ -59,6 +107,27 @@
"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": {

View File

@@ -27,7 +27,55 @@
"brand": "Marka",
"brandPlaceholder": "Marka izena",
"description": "Deskribapena",
"descriptionPlaceholder": "Inbentario elementuaren deskribapen zehatza"
"descriptionPlaceholder": "Inbentario elementuaren deskribapen zehatza",
"averageCost": "Batez Besteko Kostua (€)",
"lastPurchasePrice": "Azken Erosketa Prezioa (€)",
"standardCost": "Kostu Estandarra (€)",
"sellingPrice": "Salmenta Prezioa (€)",
"minimumPrice": "Gutxieneko Prezioa (€)",
"lowStockThreshold": "Stock Baxuko Atalasea",
"reorderPoint": "Berriro Eskatzeko Puntua",
"reorderQuantity": "Berriro Eskatzeko Kantitatea",
"maxStockLevel": "Gehienezko Stock Maila",
"leadTimeDays": "Entrega Denbora (egunak)",
"packageSize": "Pakete Tamaina",
"packageSizePlaceholder": "Adib: 25kg zorroa, 12ko paketea",
"shelfLifeDays": "Bizi Iraupena (egunak)",
"displayLifeHours": "Erakusketaren Iraupena (orduak)",
"storageTempRange": "Biltegiratze Tenperatura Eremua (°C)",
"storageTempMin": "Gutx",
"storageTempMax": "Geh",
"storageInstructions": "Biltegiratze Jarraibideak",
"storageInstructionsPlaceholder": "Adib: Gorde leku fresko eta lehorrean eguzki-argitik urrun",
"handlingInstructions": "Maneiatzeko Jarraibideak",
"handlingInstructionsPlaceholder": "Maneiatzeko eskakizun bereziak",
"isPerishable": "Elementu Hondagarria",
"preferredSupplierId": "Hornitzaile Hobetsiko ID",
"preferredSupplierIdPlaceholder": "Hornitzailearen ID",
"supplierProductCode": "Hornitzailearen Produktu Kodea",
"supplierProductCodePlaceholder": "Hornitzailearen produktu kodea",
"allergenInfo": "Alergenoen Informazioa",
"allergenInfoPlaceholder": "glutena, esnea, arrautzak",
"nutritionalInfo": "Nutrizio Informazioa",
"nutritionalInfoPlaceholder": "kaloriak:250, proteina:8g, karbohidratoak:45g",
"certifications": "Ziurtagiriak",
"certificationsPlaceholder": "Organikoa, GMO gabea, Kosher",
"weight": "Pisua (kg)",
"volume": "Bolumena (L)",
"dimensions": "Dimentsioak (L×Z×A cm)",
"dimensionsPlaceholder": "30×20×15",
"color": "Kolorea",
"colorPlaceholder": "Produktuaren kolorea",
"isActive": "Elementu Aktiboa",
"trackByLot": "Lote/Batch-ren arabera jarraitu",
"trackByExpiry": "Iraungitze Dataren arabera jarraitu",
"allowNegativeStock": "Stock Negatiboa Baimendu",
"notes": "Oharrak",
"notesPlaceholder": "Elementu honi buruzko ohar gehigarriak",
"tags": "Etiketak",
"tagsPlaceholder": "organikoa, premium, denborakoa",
"customFields": "Eremu Pertsonalizatuak (JSON)",
"customFieldsPlaceholder": "{\"eremu_pertsonalizatua\": \"balioa\"}"
},
"sections": {
"basicInformation": "Oinarrizko Informazioa",
@@ -59,6 +107,27 @@
"dozen": "Dozena",
"lb": "Libratok (lb)",
"oz": "Ontzak (oz)"
},
"ingredientCategories": {
"select": "Hautatu...",
"flour": "Irinak",
"dairy": "Esnekiak",
"eggs": "Arrautzak",
"fats": "Gantzak eta Olioak",
"sweeteners": "Gozo-gailuak",
"additives": "Gehigarriak",
"fruits": "Frutak",
"nuts": "Fruitu Lehorrak eta Haziak",
"spices": "Espezia",
"leavening": "Altxatzeko Agenteak"
},
"productCategories": {
"select": "Hautatu...",
"bread": "Ogia",
"pastry": "Gozogintzak",
"cake": "Tartak",
"cookies": "Galetak",
"specialty": "Elementu Bereziak"
}
},
"qualityTemplate": {