{ "title": "Item Tracing", "subtitle": "Scan a lot QR code to trace the full lifecycle — stock in/out, QC, pick orders, job orders, stock take, transfers, and BOM links.", "scanReady": "Scanner ready — scan lot label QR", "scanning": "Scanning…", "scanAgain": "Scan again", "manualSearch": "Manual search", "itemCode": "Item code", "lotNo": "Lot no.", "search": "Trace", "searching": "Tracing…", "noResult": "No trace data. Scan a lot QR or search by item code and lot number.", "notFound": "Lot not found or no permission to view.", "traceError": "Unable to load trace data. Please try again or contact support.", "scanError": "Invalid QR code. Expected lot label JSON with itemId and stockInLineId.", "summary": "Lot summary", "expiryDate": "Expiry", "productionDate": "Production", "stockInDate": "Stock in", "totalAvailable": "Total available", "warehouseBreakdown": "Warehouse breakdown", "alternateLocationsTitle": "Same lot in other locations", "alternateLocationsHint": "This lot may exist in multiple inventory records (e.g. after transfer). All locations are merged in the lifecycle graph above — click a row below to focus that warehouse in the graph.", "traceAlternateLocation": "Focus in graph", "focusWarehouseInGraph": "Focus in graph", "sectionsMultiLocationHint": "Tables below merge events from the traced location and other warehouses. The warehouse column shows which inventory record each row belongs to.", "action": "Action", "timeline": "Movement timeline", "flowGraph": "Lifecycle flow", "flowLegendTime": "→ Time (later to the right)", "flowLegendPhase": "↓ Phase (later stages below)", "flowLegendBranch": "↔ Same day = left to right by time", "flowLegendArrow": "Arrows only between phases", "flowLegendPrelude": "↑ Pre-production at top", "flowLegendTimeTip": "Horizontal axis = calendar dates, left to right", "flowLegendPhaseTip": "Vertical axis = process phases, top to bottom in order", "flowLegendBranchTip": "Events on the same calendar day are ordered left to right by timestamp; vertical lane still shows the process phase", "flowLegendArrowTip": "Arrows link events in different phases to show flow", "flowLegendPreludeTip": "FG lots: material inbound, QC (material + finished good), job pick at top", "flowGraphPathJo": "Process order: material in → QC → putaway → pick → production / byproducts → FG in → warehouse → out → stock take", "flowZoomIn": "Zoom in", "flowZoomOut": "Zoom out", "flowZoomFit": "Fit view", "flowMinimapHide": "Hide minimap", "flowMinimapShow": "Show minimap", "flowZoomPanHint": "Scroll to zoom · drag to pan · click a node for details on the left · search nodes at top right", "flowNodeDetailHint": "Click a node in the graph to view event details", "flowGraphSearchPlaceholder": "Search nodes (doc no., lot, warehouse…)", "flowGraphSearchNoMatch": "No matching nodes", "flowGraphSearchMatch": "{{current}} / {{total}}", "flowGraphSearchPrev": "Previous", "flowGraphSearchNext": "Next", "flowGraphSearchClear": "Clear", "nodeDetailTitle": "Event details", "nodeDetailClose": "Close", "nodeExpired": "Expired", "nodeDepleted": "Depleted", "detailDirection": "Direction", "categoryPurchase": "Purchase", "categoryProduction": "Production", "categoryOpen": "Lot open", "categoryTerminal": "Terminal state", "flowGraphHint": "Phases on the left, dates left to right. Same-day events are ordered left to right by time; arrows indicate cross-phase flow.", "flowGraphHintJo": "Includes pre-production (material inbound, QC, job pick) and finished-good phases. One QC lane covers material and FG IQC.", "phaseMaterialInbound": "Material inbound", "phaseMaterialQc": "Material QC", "phaseMaterialPick": "Job pick", "phaseProduction": "Production / byproducts", "nodeProductionStep": "Production step", "nodeByproduct": "Byproduct lot", "scrapQty": "Scrap qty", "defectQty": "Defect qty", "processOutputQty": "Process output", "processScrapQty": "Scrap quantity", "processDefectQty": "Defect quantity", "equipment": "Equipment", "processStep": "Process step", "detailStepMaterials": "Step materials", "detailAssignedStep": "Assigned process", "traceByproductLot": "Trace byproduct lot", "nodeScrap": "Scrap", "nodeDefect": "Defect", "nodeOpen": "Opening stock", "nodeFail": "Pick failure", "nodeDoOut": "Delivery outbound", "nodeReplenishmentCreated": "Replenishment created", "doOutboundExtra": "Add-on", "doOutboundReplenish": "Replenishment", "detailDoOutboundKind": "Outbound type", "nodeDoGroup": "Delivery outbound group", "flowDoGroupTitle": "Delivery outbound ({{count}})", "flowDoGroupTotalQty": "Total outbound: {{qtyLabel}}", "flowGroupCollapse": "Collapse group", "flowGroupExpand": "Expand group", "nodePickGroup": "Material pick group", "flowPickGroupTitle": "Material pick · {{pickOrderCode}} ({{count}})", "nodeReturn": "Return", "nodeRepack": "Repack / split lot", "traceRepackLot": "Trace related lot", "productLotNo": "Product lot no.", "nodeMaterialIn": "Material receipt", "nodeJoCreated": "Job order created", "nodeMaterialPick": "Material pick", "nodePurchase": "Purchase", "nodeReceipt": "Goods receipt", "nodePutaway": "Putaway", "nodePutawayTransfer": "Transfer inbound", "flowLegendTitle": "How to read the graph", "flowLegendOpen": "Graph legend", "flowPhaseFilter": "Show phases", "flowPhaseFilterAll": "All phases", "flowPhaseFilterReset": "Reset", "locationsShowAll": "▼ Show all {{count}} rows", "locationsCollapse": "▲ Collapse (showing all {{count}})", "exportExcel": "Export Excel", "exportExcelTooltip": "Download a classified multi-sheet workbook for this lot genealogy", "putawayTransferInboundDetail": "Received at target warehouse after transfer (system auto-completed; not the PO pending put-away queue)", "putawayStatusPending": "Pending put-away", "putawayStatusCompleted": "Put away done", "phaseInbound": "Inbound", "phasePurchase": "Purchase", "phaseQc": "Quality inspection", "phasePutaway": "Putaway", "categoryReceipt": "Receipt", "phaseWarehouse": "Warehouse operations", "phaseOutbound": "Outbound / consumption", "phaseStockTake": "Stock take", "noTimestamp": "No date", "nodeQcPass": "IQC passed", "nodeQcFail": "IQC failed", "nodeStockTake": "Stock take", "nodeAdjustment": "Adjustment", "nodeTransfer": "Transfer", "tabOrigins": "Origins & receipt", "tabQc": "Quality (IQC)", "tabOutbound": "Outbound usage", "tabStockTake": "Stock take", "tabAdjustments": "Adjustments", "tabTransfers": "Transfers", "tabBom": "BOM trace", "tabJoPick": "Job pick orders", "joContext": "Job order context", "planStart": "Planned start", "plannedQty": "Planned qty", "pickedQty": "Actual pick qty", "requiredQty": "Required qty", "pickedAt": "Picked at", "traceMaterialLot": "Trace material lot", "targetDate": "Target date", "detailPickTargetDate": "Target date", "completeDate": "Complete date", "directionIn": "In", "directionOut": "Out", "bomDirection": "Trace direction", "bomDirectionFG": "Finished good lot", "bomDirectionMaterial": "Material lot", "bomDirectionUnknown": "General inventory lot", "bomUpstream": "Materials consumed (actual)", "bomDownstream": "Finished goods produced", "bomRecipe": "BOM recipe (theoretical)", "noRecords": "No records", "type": "Type", "ref": "Doc no.", "detailInboundRef": "Inbound SI", "detailInboundSiNo": "Inbound SI no.", "detailAdjustmentRef": "Adjustment #", "detailReplenishmentCode": "Replenishment #", "detailReason": "Reason", "detailReturnRef": "Return #", "detailSourceDoc": "Source doc #", "detailPutawayBin": "Bin", "supplier": "Supplier", "dnNo": "DN no.", "qty": "Qty", "detailOrderQty": "Order qty", "detailPutAwayQty": "Put away qty", "detailRemainingQty": "Remaining qty", "detailPurchaseUnit": "Purchase unit", "detailPurchaseOrderNo": "PO number", "detailSupplyTo": "Supply to", "detailStockTakeRound": "Stock take round", "detailStockTakeSection": "Stock take section", "detailLocation": "Location", "status": "Status", "handler": "Handler", "stockTaker": "First counter", "timestamp": "Time", "pickOrder": "Pick order", "jobOrder": "Job order", "deliveryOrder": "Delivery order", "deliveryNoteCode": "Delivery note (DN)", "ticketNo": "Ticket no.", "variance": "Variance", "before": "Book qty", "after": "Accepted qty", "approver": "Approver", "from": "From", "to": "To", "material": "Material", "detailItemCode": "Item code", "detailItemName": "Item name", "finishedItem": "Finished item", "finishedLot": "FG lot", "materialLot": "Material lot", "materialQty": "Actual pick qty", "processingStatus": "Processing status", "matchStatus": "Match status", "fgQty": "FG qty", "qtyPerUnit": "Required qty", "uom": "UOM", "remarks": "Remarks", "detailFailCategory": "Fail category", "detailProcessDescription": "Step description", "qcPassed": "Passed", "qcFailed": "Failed", "acceptedQty": "Sample qty", "failQty": "Defect qty", "unqualifiedQty": "Reject qty", "usageType": "Type", "detailQcCriteria": "QC criteria", "detailQcType": "QC type", "detailQcUnknownItem": "Unnamed QC item", "code.refType.PO": "Purchase order", "code.refType.JO": "Job order", "code.refType.DO": "Delivery order", "code.refType.TKE": "Stock take", "code.refType.TRANSFER": "Transfer", "code.refType.ADJ": "Adjustment", "code.refType.OPEN": "Lot open", "code.refType.OTHER": "Other", "code.movementType.STOCK_IN": "Stock in", "code.movementType.STOCK_OUT": "Stock out", "code.movementType.CONSUMABLE": "Consumption", "code.movementType.RETURN": "Return", "code.movementType.ADJ": "Adjustment", "code.movementType.TKE": "Stock take", "code.movementType.OPEN": "Lot open", "code.movementType.IN": "In", "code.movementType.OUT": "Out", "code.stockInStatus.pending": "Pending", "code.stockInStatus.qc": "Under QC", "code.stockInStatus.escalated": "Escalated", "code.stockInStatus.determine1": "1st determination", "code.stockInStatus.determine2": "2nd determination", "code.stockInStatus.determine3": "3rd determination", "code.stockInStatus.receiving": "Receiving", "code.stockInStatus.received": "Received, pending putaway", "code.stockInStatus.completed": "Completed", "code.stockInStatus.complete": "Completed", "code.stockInStatus.partially_completed": "Partially completed", "code.stockInStatus.rejected": "Rejected", "code.qcType.IQC": "Incoming QC (IQC)", "code.qcType.IPQC": "In-process QC (IPQC)", "code.qcType.EPQC": "End-product QC (EPQC)", "code.qcType.FQC": "Finished goods QC (FQC)", "code.adjustmentType.ADJ": "Inventory adjustment", "code.usageType.CONSUMABLE": "Consumption", "code.usageType.PRODUCTION": "Production use", "code.usageType.FG_DELIVERY": "FG delivery", "code.usageType.MATERIAL": "Material issue", "code.processingStatus.pending": "Pending", "code.processingStatus.completed": "Completed", "code.processingStatus.rejected": "Rejected", "code.matchStatus.pending": "Pending", "code.matchStatus.scanned": "Scanned", "code.matchStatus.completed": "Completed", "code.lotLineStatus.available": "Available", "code.lotLineStatus.unavailable": "Unavailable", "code.joStatus.pending": "Pending", "code.joStatus.completed": "Completed", "code.joStatus.cancelled": "Cancelled", "code.joStatus.in_progress": "In progress", "code.joStatus.planning": "Planning", "code.joStatus.packaging": "Packaging", "code.joStatus.processing": "Processing", "code.joStatus.pendingQC": "Pending QC", "code.joStatus.storing": "Storing", "code.joStatus.PARTIAL": "Partial", "code.joStatus.partial": "Partial", "continuousScanBlocked": "Finish current scan first", "nodeJoOut": "Job order material issue", "nodePoOut": "Purchase pick", "code.refType.JO_PICK": "JO pick order", "code.refType.PO_PICK": "Pick order", "stockTakeStageCreated": "Round created", "stockTakeStageFirstCount": "First count", "stockTakeStageSecondCount": "Re-count", "stockTakeStageApproverCount": "Approver count", "stockTakeStageAccepted": "Accepted", "stockTakeStagePending": "Pending review", "stockTakeStageBookQty": "Book qty", "stockTakeStageExpand": "Show lifecycle", "stockTakeStageCollapse": "Hide lifecycle", "stockTakeStageDetail": "{{count}} stages", "locationHeader": "This lot exists in other locations ({{count}} total)", "available": "Available", "inQty": "Qty In", "outQty": "Qty Out", "warehouseLines": "Warehouse Lines", "movements": "Movements", "stockTake": "Stock Take", "stockTakeCode": "Stock Take #", "section": "Section", "round": "Round", "outbound": "Outbound", "date": "Date", "warehouse": "Warehouse", "direction": "Direction", "origins": "Origins", "refCode": "Ref.", "lastMove": "Last move" }