@open-mercato/core 0.6.7-develop.6669.1.40b669666b → 0.6.7-develop.6671.1.4b925c5096
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +2 -2
- package/dist/generated/entities/inventory_balance/index.js +21 -0
- package/dist/generated/entities/inventory_balance/index.js.map +7 -0
- package/dist/generated/entities/inventory_lot/index.js +19 -0
- package/dist/generated/entities/inventory_lot/index.js.map +7 -0
- package/dist/generated/entities/inventory_movement/index.js +35 -0
- package/dist/generated/entities/inventory_movement/index.js.map +7 -0
- package/dist/generated/entities/inventory_reservation/index.js +23 -0
- package/dist/generated/entities/inventory_reservation/index.js.map +7 -0
- package/dist/generated/entities/product_inventory_profile/index.js +21 -0
- package/dist/generated/entities/product_inventory_profile/index.js.map +7 -0
- package/dist/generated/entities/sales_order_warehouse_assignment/index.js +11 -0
- package/dist/generated/entities/sales_order_warehouse_assignment/index.js.map +7 -0
- package/dist/generated/entities/warehouse/index.js +25 -0
- package/dist/generated/entities/warehouse/index.js.map +7 -0
- package/dist/generated/entities/warehouse_location/index.js +21 -0
- package/dist/generated/entities/warehouse_location/index.js.map +7 -0
- package/dist/generated/entities/warehouse_zone/index.js +11 -0
- package/dist/generated/entities/warehouse_zone/index.js.map +7 -0
- package/dist/generated/entities.ids.generated.js +12 -0
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +98 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/auth/backend/roles/page.js +12 -4
- package/dist/modules/auth/backend/roles/page.js.map +2 -2
- package/dist/modules/auth/lib/backendChrome.js +1 -0
- package/dist/modules/auth/lib/backendChrome.js.map +2 -2
- package/dist/modules/auth/services/rbacService.js +16 -17
- package/dist/modules/auth/services/rbacService.js.map +2 -2
- package/dist/modules/catalog/api/products/route.js +3 -0
- package/dist/modules/catalog/api/products/route.js.map +2 -2
- package/dist/modules/catalog/api/variants/route.js +3 -0
- package/dist/modules/catalog/api/variants/route.js.map +2 -2
- package/dist/modules/query_index/lib/engine.js +6 -6
- package/dist/modules/query_index/lib/engine.js.map +2 -2
- package/dist/modules/sales/api/documents/factory.js +1 -0
- package/dist/modules/sales/api/documents/factory.js.map +2 -2
- package/dist/modules/sales/commands/documents.js +53 -0
- package/dist/modules/sales/commands/documents.js.map +2 -2
- package/dist/modules/sales/components/documents/ItemsSection.js +51 -2
- package/dist/modules/sales/components/documents/ItemsSection.js.map +2 -2
- package/dist/modules/sales/events.js +2 -0
- package/dist/modules/sales/events.js.map +2 -2
- package/dist/modules/sales/widgets/injection/order-items-context.js +11 -0
- package/dist/modules/sales/widgets/injection/order-items-context.js.map +7 -0
- package/dist/modules/wms/acl.js +18 -0
- package/dist/modules/wms/acl.js.map +7 -0
- package/dist/modules/wms/analytics.js +11 -0
- package/dist/modules/wms/analytics.js.map +7 -0
- package/dist/modules/wms/api/dashboard/operational/route.js +80 -0
- package/dist/modules/wms/api/dashboard/operational/route.js.map +7 -0
- package/dist/modules/wms/api/interceptors.js +90 -0
- package/dist/modules/wms/api/interceptors.js.map +7 -0
- package/dist/modules/wms/api/inventory/adjust/route.js +51 -0
- package/dist/modules/wms/api/inventory/adjust/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/allocate/route.js +51 -0
- package/dist/modules/wms/api/inventory/allocate/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/balances/route.js +172 -0
- package/dist/modules/wms/api/inventory/balances/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/cycle-count/route.js +52 -0
- package/dist/modules/wms/api/inventory/cycle-count/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/helpers.js +113 -0
- package/dist/modules/wms/api/inventory/helpers.js.map +7 -0
- package/dist/modules/wms/api/inventory/import/apply/route.js +46 -0
- package/dist/modules/wms/api/inventory/import/apply/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/import/helpers.js +195 -0
- package/dist/modules/wms/api/inventory/import/helpers.js.map +7 -0
- package/dist/modules/wms/api/inventory/import/template/route.js +32 -0
- package/dist/modules/wms/api/inventory/import/template/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/import/validate/route.js +54 -0
- package/dist/modules/wms/api/inventory/import/validate/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/move/route.js +51 -0
- package/dist/modules/wms/api/inventory/move/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/movements/route.js +164 -0
- package/dist/modules/wms/api/inventory/movements/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/receive/route.js +50 -0
- package/dist/modules/wms/api/inventory/receive/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/release/route.js +44 -0
- package/dist/modules/wms/api/inventory/release/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/reservations/route.js +128 -0
- package/dist/modules/wms/api/inventory/reservations/route.js.map +7 -0
- package/dist/modules/wms/api/inventory/reserve/route.js +59 -0
- package/dist/modules/wms/api/inventory/reserve/route.js.map +7 -0
- package/dist/modules/wms/api/inventory-profiles/route.js +178 -0
- package/dist/modules/wms/api/inventory-profiles/route.js.map +7 -0
- package/dist/modules/wms/api/listEnrichers.js +181 -0
- package/dist/modules/wms/api/listEnrichers.js.map +7 -0
- package/dist/modules/wms/api/listSearch.js +77 -0
- package/dist/modules/wms/api/listSearch.js.map +7 -0
- package/dist/modules/wms/api/locations/route.js +172 -0
- package/dist/modules/wms/api/locations/route.js.map +7 -0
- package/dist/modules/wms/api/lots/route.js +204 -0
- package/dist/modules/wms/api/lots/route.js.map +7 -0
- package/dist/modules/wms/api/openapi.js +27 -0
- package/dist/modules/wms/api/openapi.js.map +7 -0
- package/dist/modules/wms/api/sales-orders/[salesOrderId]/re-run-reservation/route.js +54 -0
- package/dist/modules/wms/api/sales-orders/[salesOrderId]/re-run-reservation/route.js.map +7 -0
- package/dist/modules/wms/api/sales-orders/[salesOrderId]/warehouse-assignment/route.js +279 -0
- package/dist/modules/wms/api/sales-orders/[salesOrderId]/warehouse-assignment/route.js.map +7 -0
- package/dist/modules/wms/api/sales-orders/assign-warehouse/route.js +56 -0
- package/dist/modules/wms/api/sales-orders/assign-warehouse/route.js.map +7 -0
- package/dist/modules/wms/api/sales-orders/unassign-warehouse/route.js +43 -0
- package/dist/modules/wms/api/sales-orders/unassign-warehouse/route.js.map +7 -0
- package/dist/modules/wms/api/warehouses/route.js +181 -0
- package/dist/modules/wms/api/warehouses/route.js.map +7 -0
- package/dist/modules/wms/api/zones/route.js +159 -0
- package/dist/modules/wms/api/zones/route.js.map +7 -0
- package/dist/modules/wms/backend/config/wms/page.js +9 -0
- package/dist/modules/wms/backend/config/wms/page.js.map +7 -0
- package/dist/modules/wms/backend/config/wms/page.meta.js +18 -0
- package/dist/modules/wms/backend/config/wms/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/page.js +9 -0
- package/dist/modules/wms/backend/page.js.map +7 -0
- package/dist/modules/wms/backend/page.meta.js +16 -0
- package/dist/modules/wms/backend/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/inventory/page.js +9 -0
- package/dist/modules/wms/backend/wms/inventory/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/inventory/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/inventory/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/location/[id]/page.js +9 -0
- package/dist/modules/wms/backend/wms/location/[id]/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/location/[id]/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/location/[id]/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/locations/page.js +10 -0
- package/dist/modules/wms/backend/wms/locations/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/locations/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/locations/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/lot/[id]/page.js +9 -0
- package/dist/modules/wms/backend/wms/lot/[id]/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/lot/[id]/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/lot/[id]/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/lots/page.js +9 -0
- package/dist/modules/wms/backend/wms/lots/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/lots/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/lots/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/movements/page.js +22 -0
- package/dist/modules/wms/backend/wms/movements/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/movements/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/movements/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/reservations/page.js +23 -0
- package/dist/modules/wms/backend/wms/reservations/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/reservations/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/reservations/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/sku/[id]/page.js +9 -0
- package/dist/modules/wms/backend/wms/sku/[id]/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/sku/[id]/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/sku/[id]/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/warehouses/page.js +10 -0
- package/dist/modules/wms/backend/wms/warehouses/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/warehouses/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/warehouses/page.meta.js.map +7 -0
- package/dist/modules/wms/backend/wms/zones/page.js +10 -0
- package/dist/modules/wms/backend/wms/zones/page.js.map +7 -0
- package/dist/modules/wms/backend/wms/zones/page.meta.js +18 -0
- package/dist/modules/wms/backend/wms/zones/page.meta.js.map +7 -0
- package/dist/modules/wms/ce.js +80 -0
- package/dist/modules/wms/ce.js.map +7 -0
- package/dist/modules/wms/cli.js +83 -0
- package/dist/modules/wms/cli.js.map +7 -0
- package/dist/modules/wms/commands/configuration.js +1519 -0
- package/dist/modules/wms/commands/configuration.js.map +7 -0
- package/dist/modules/wms/commands/index.js +4 -0
- package/dist/modules/wms/commands/index.js.map +7 -0
- package/dist/modules/wms/commands/inventory-actions.js +1539 -0
- package/dist/modules/wms/commands/inventory-actions.js.map +7 -0
- package/dist/modules/wms/commands/sales-order-assignment.js +277 -0
- package/dist/modules/wms/commands/sales-order-assignment.js.map +7 -0
- package/dist/modules/wms/commands/shared.js +82 -0
- package/dist/modules/wms/commands/shared.js.map +7 -0
- package/dist/modules/wms/components/backend/AdjustInventoryDialog.js +755 -0
- package/dist/modules/wms/components/backend/AdjustInventoryDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/ChangeLotStatusDialog.js +269 -0
- package/dist/modules/wms/components/backend/ChangeLotStatusDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/CycleCountWizardDialog.js +1783 -0
- package/dist/modules/wms/components/backend/CycleCountWizardDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/ImportInventoryDialog.js +766 -0
- package/dist/modules/wms/components/backend/ImportInventoryDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/InventoryOperationsSection.js +119 -0
- package/dist/modules/wms/components/backend/InventoryOperationsSection.js.map +7 -0
- package/dist/modules/wms/components/backend/LocationEditDialog.js +140 -0
- package/dist/modules/wms/components/backend/LocationEditDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/MoveInventoryDialog.js +791 -0
- package/dist/modules/wms/components/backend/MoveInventoryDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/ReceiveInventoryDialog.js +656 -0
- package/dist/modules/wms/components/backend/ReceiveInventoryDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/ReleaseReservationDialog.js +344 -0
- package/dist/modules/wms/components/backend/ReleaseReservationDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/ReserveInventoryDialog.js +475 -0
- package/dist/modules/wms/components/backend/ReserveInventoryDialog.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsConfigurationPage.js +1112 -0
- package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +908 -0
- package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsLocationDetailPage.js +1015 -0
- package/dist/modules/wms/components/backend/WmsLocationDetailPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsLotDetailPage.js +1049 -0
- package/dist/modules/wms/components/backend/WmsLotDetailPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsLotsListPage.js +297 -0
- package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js +757 -0
- package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js.map +7 -0
- package/dist/modules/wms/components/backend/WmsSkuDetailPage.js +975 -0
- package/dist/modules/wms/components/backend/WmsSkuDetailPage.js.map +7 -0
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +710 -0
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +7 -0
- package/dist/modules/wms/components/backend/useWmsInventoryMutationAccess.js +79 -0
- package/dist/modules/wms/components/backend/useWmsInventoryMutationAccess.js.map +7 -0
- package/dist/modules/wms/components/backend/useWmsInventoryScopeFromSearchParams.js +24 -0
- package/dist/modules/wms/components/backend/useWmsInventoryScopeFromSearchParams.js.map +7 -0
- package/dist/modules/wms/components/backend/wmsLookupLoaders.js +55 -0
- package/dist/modules/wms/components/backend/wmsLookupLoaders.js.map +7 -0
- package/dist/modules/wms/data/enrichers.js +501 -0
- package/dist/modules/wms/data/enrichers.js.map +7 -0
- package/dist/modules/wms/data/entities.js +467 -0
- package/dist/modules/wms/data/entities.js.map +7 -0
- package/dist/modules/wms/data/validators.js +399 -0
- package/dist/modules/wms/data/validators.js.map +7 -0
- package/dist/modules/wms/di.js +27 -0
- package/dist/modules/wms/di.js.map +7 -0
- package/dist/modules/wms/events.js +42 -0
- package/dist/modules/wms/events.js.map +7 -0
- package/dist/modules/wms/index.js +17 -0
- package/dist/modules/wms/index.js.map +7 -0
- package/dist/modules/wms/lib/catalogInventoryProfileIntent.js +54 -0
- package/dist/modules/wms/lib/catalogInventoryProfileIntent.js.map +7 -0
- package/dist/modules/wms/lib/catalogInventoryProfileSync.js +144 -0
- package/dist/modules/wms/lib/catalogInventoryProfileSync.js.map +7 -0
- package/dist/modules/wms/lib/expiry.js +29 -0
- package/dist/modules/wms/lib/expiry.js.map +7 -0
- package/dist/modules/wms/lib/flashMutationError.js +51 -0
- package/dist/modules/wms/lib/flashMutationError.js.map +7 -0
- package/dist/modules/wms/lib/inventoryDisplayUi.js +188 -0
- package/dist/modules/wms/lib/inventoryDisplayUi.js.map +7 -0
- package/dist/modules/wms/lib/inventoryIdempotency.js +37 -0
- package/dist/modules/wms/lib/inventoryIdempotency.js.map +7 -0
- package/dist/modules/wms/lib/inventoryImportCsv.js +173 -0
- package/dist/modules/wms/lib/inventoryImportCsv.js.map +7 -0
- package/dist/modules/wms/lib/inventoryImportService.js +468 -0
- package/dist/modules/wms/lib/inventoryImportService.js.map +7 -0
- package/dist/modules/wms/lib/inventoryMutationUi.js +25 -0
- package/dist/modules/wms/lib/inventoryMutationUi.js.map +7 -0
- package/dist/modules/wms/lib/inventoryPolicy.js +61 -0
- package/dist/modules/wms/lib/inventoryPolicy.js.map +7 -0
- package/dist/modules/wms/lib/inventoryReconciliation.js +193 -0
- package/dist/modules/wms/lib/inventoryReconciliation.js.map +7 -0
- package/dist/modules/wms/lib/inventoryTrackingValidation.js +13 -0
- package/dist/modules/wms/lib/inventoryTrackingValidation.js.map +7 -0
- package/dist/modules/wms/lib/loadOperationalDashboard.js +580 -0
- package/dist/modules/wms/lib/loadOperationalDashboard.js.map +7 -0
- package/dist/modules/wms/lib/lowStockBalanceFilter.js +49 -0
- package/dist/modules/wms/lib/lowStockBalanceFilter.js.map +7 -0
- package/dist/modules/wms/lib/primaryWarehousePolicy.js +32 -0
- package/dist/modules/wms/lib/primaryWarehousePolicy.js.map +7 -0
- package/dist/modules/wms/lib/roleFeatures.js +30 -0
- package/dist/modules/wms/lib/roleFeatures.js.map +7 -0
- package/dist/modules/wms/lib/salesOrderInventoryAutomation.js +291 -0
- package/dist/modules/wms/lib/salesOrderInventoryAutomation.js.map +7 -0
- package/dist/modules/wms/lib/salesOrderWarehouseAssignment.js +54 -0
- package/dist/modules/wms/lib/salesOrderWarehouseAssignment.js.map +7 -0
- package/dist/modules/wms/lib/wmsIntegrationToggles.js +71 -0
- package/dist/modules/wms/lib/wmsIntegrationToggles.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260428110546.js +78 -0
- package/dist/modules/wms/migrations/Migration20260428110546.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260527120000.js +15 -0
- package/dist/modules/wms/migrations/Migration20260527120000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260527140000.js +37 -0
- package/dist/modules/wms/migrations/Migration20260527140000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260613120000.js +23 -0
- package/dist/modules/wms/migrations/Migration20260613120000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260616090000.js +13 -0
- package/dist/modules/wms/migrations/Migration20260616090000.js.map +7 -0
- package/dist/modules/wms/migrations/Migration20260707180000.js +15 -0
- package/dist/modules/wms/migrations/Migration20260707180000.js.map +7 -0
- package/dist/modules/wms/notifications.client.js +18 -0
- package/dist/modules/wms/notifications.client.js.map +7 -0
- package/dist/modules/wms/notifications.js +53 -0
- package/dist/modules/wms/notifications.js.map +7 -0
- package/dist/modules/wms/search.js +196 -0
- package/dist/modules/wms/search.js.map +7 -0
- package/dist/modules/wms/setup.js +30 -0
- package/dist/modules/wms/setup.js.map +7 -0
- package/dist/modules/wms/subscribers/low-stock-notification.js +40 -0
- package/dist/modules/wms/subscribers/low-stock-notification.js.map +7 -0
- package/dist/modules/wms/subscribers/reservation-shortfall-notification.js +69 -0
- package/dist/modules/wms/subscribers/reservation-shortfall-notification.js.map +7 -0
- package/dist/modules/wms/subscribers/sales-order-cancelled-release.js +14 -0
- package/dist/modules/wms/subscribers/sales-order-cancelled-release.js.map +7 -0
- package/dist/modules/wms/subscribers/sales-order-confirmed-reserve.js +14 -0
- package/dist/modules/wms/subscribers/sales-order-confirmed-reserve.js.map +7 -0
- package/dist/modules/wms/translations.js +10 -0
- package/dist/modules/wms/translations.js.map +7 -0
- package/dist/modules/wms/vector.js +9 -0
- package/dist/modules/wms/vector.js.map +7 -0
- package/dist/modules/wms/widgets/injection/catalog-inventory-profile/widget.js +200 -0
- package/dist/modules/wms/widgets/injection/catalog-inventory-profile/widget.js.map +7 -0
- package/dist/modules/wms/widgets/injection/order-items-stock-column/widget.js +104 -0
- package/dist/modules/wms/widgets/injection/order-items-stock-column/widget.js.map +7 -0
- package/dist/modules/wms/widgets/injection/sales-order-stock-context/widget.client.js +389 -0
- package/dist/modules/wms/widgets/injection/sales-order-stock-context/widget.client.js.map +7 -0
- package/dist/modules/wms/widgets/injection/sales-order-stock-context/widget.js +16 -0
- package/dist/modules/wms/widgets/injection/sales-order-stock-context/widget.js.map +7 -0
- package/dist/modules/wms/widgets/injection-table.js +36 -0
- package/dist/modules/wms/widgets/injection-table.js.map +7 -0
- package/dist/modules/wms/widgets/notifications/WmsLowStockRenderer.js +150 -0
- package/dist/modules/wms/widgets/notifications/WmsLowStockRenderer.js.map +7 -0
- package/dist/modules/wms/widgets/notifications/WmsReservationShortfallRenderer.js +186 -0
- package/dist/modules/wms/widgets/notifications/WmsReservationShortfallRenderer.js.map +7 -0
- package/dist/modules/wms/widgets/notifications/index.js +7 -0
- package/dist/modules/wms/widgets/notifications/index.js.map +7 -0
- package/generated/entities/inventory_balance/index.ts +9 -0
- package/generated/entities/inventory_lot/index.ts +8 -0
- package/generated/entities/inventory_movement/index.ts +16 -0
- package/generated/entities/inventory_reservation/index.ts +10 -0
- package/generated/entities/product_inventory_profile/index.ts +9 -0
- package/generated/entities/sales_order_warehouse_assignment/index.ts +4 -0
- package/generated/entities/warehouse/index.ts +11 -0
- package/generated/entities/warehouse_location/index.ts +9 -0
- package/generated/entities/warehouse_zone/index.ts +4 -0
- package/generated/entities.ids.generated.ts +12 -0
- package/generated/entity-fields-registry.ts +98 -0
- package/package.json +7 -7
- package/src/modules/auth/backend/roles/page.tsx +13 -4
- package/src/modules/auth/i18n/de.json +2 -0
- package/src/modules/auth/i18n/en.json +2 -0
- package/src/modules/auth/i18n/es.json +2 -0
- package/src/modules/auth/i18n/pl.json +2 -0
- package/src/modules/auth/lib/backendChrome.tsx +1 -0
- package/src/modules/auth/services/rbacService.ts +25 -21
- package/src/modules/catalog/api/products/route.ts +3 -0
- package/src/modules/catalog/api/variants/route.ts +3 -0
- package/src/modules/query_index/lib/engine.ts +18 -6
- package/src/modules/sales/api/documents/factory.ts +1 -0
- package/src/modules/sales/commands/documents.ts +71 -0
- package/src/modules/sales/components/documents/ItemsSection.tsx +58 -0
- package/src/modules/sales/events.ts +2 -0
- package/src/modules/sales/widgets/injection/order-items-context.ts +15 -0
- package/src/modules/wms/acl.ts +14 -0
- package/src/modules/wms/analytics.ts +9 -0
- package/src/modules/wms/api/dashboard/operational/route.ts +83 -0
- package/src/modules/wms/api/interceptors.ts +108 -0
- package/src/modules/wms/api/inventory/adjust/route.ts +50 -0
- package/src/modules/wms/api/inventory/allocate/route.ts +50 -0
- package/src/modules/wms/api/inventory/balances/route.ts +178 -0
- package/src/modules/wms/api/inventory/cycle-count/route.ts +51 -0
- package/src/modules/wms/api/inventory/helpers.ts +128 -0
- package/src/modules/wms/api/inventory/import/apply/route.ts +47 -0
- package/src/modules/wms/api/inventory/import/helpers.ts +223 -0
- package/src/modules/wms/api/inventory/import/template/route.ts +31 -0
- package/src/modules/wms/api/inventory/import/validate/route.ts +56 -0
- package/src/modules/wms/api/inventory/move/route.ts +50 -0
- package/src/modules/wms/api/inventory/movements/route.ts +164 -0
- package/src/modules/wms/api/inventory/receive/route.ts +49 -0
- package/src/modules/wms/api/inventory/release/route.ts +43 -0
- package/src/modules/wms/api/inventory/reservations/route.ts +128 -0
- package/src/modules/wms/api/inventory/reserve/route.ts +59 -0
- package/src/modules/wms/api/inventory-profiles/route.ts +177 -0
- package/src/modules/wms/api/listEnrichers.ts +312 -0
- package/src/modules/wms/api/listSearch.ts +121 -0
- package/src/modules/wms/api/locations/route.ts +171 -0
- package/src/modules/wms/api/lots/route.ts +205 -0
- package/src/modules/wms/api/openapi.ts +28 -0
- package/src/modules/wms/api/sales-orders/[salesOrderId]/re-run-reservation/route.ts +58 -0
- package/src/modules/wms/api/sales-orders/[salesOrderId]/warehouse-assignment/route.ts +306 -0
- package/src/modules/wms/api/sales-orders/assign-warehouse/route.ts +57 -0
- package/src/modules/wms/api/sales-orders/unassign-warehouse/route.ts +43 -0
- package/src/modules/wms/api/warehouses/route.ts +181 -0
- package/src/modules/wms/api/zones/route.ts +158 -0
- package/src/modules/wms/backend/config/wms/page.meta.ts +14 -0
- package/src/modules/wms/backend/config/wms/page.tsx +5 -0
- package/src/modules/wms/backend/page.meta.ts +12 -0
- package/src/modules/wms/backend/page.tsx +5 -0
- package/src/modules/wms/backend/wms/inventory/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/inventory/page.tsx +5 -0
- package/src/modules/wms/backend/wms/location/[id]/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/location/[id]/page.tsx +5 -0
- package/src/modules/wms/backend/wms/locations/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/locations/page.tsx +12 -0
- package/src/modules/wms/backend/wms/lot/[id]/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/lot/[id]/page.tsx +5 -0
- package/src/modules/wms/backend/wms/lots/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/lots/page.tsx +5 -0
- package/src/modules/wms/backend/wms/movements/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/movements/page.tsx +23 -0
- package/src/modules/wms/backend/wms/reservations/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/reservations/page.tsx +24 -0
- package/src/modules/wms/backend/wms/sku/[id]/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/sku/[id]/page.tsx +5 -0
- package/src/modules/wms/backend/wms/warehouses/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/warehouses/page.tsx +12 -0
- package/src/modules/wms/backend/wms/zones/page.meta.ts +14 -0
- package/src/modules/wms/backend/wms/zones/page.tsx +12 -0
- package/src/modules/wms/ce.ts +76 -0
- package/src/modules/wms/cli.ts +96 -0
- package/src/modules/wms/commands/configuration.ts +1844 -0
- package/src/modules/wms/commands/index.ts +3 -0
- package/src/modules/wms/commands/inventory-actions.ts +1866 -0
- package/src/modules/wms/commands/sales-order-assignment.ts +346 -0
- package/src/modules/wms/commands/shared.ts +90 -0
- package/src/modules/wms/components/backend/AdjustInventoryDialog.tsx +820 -0
- package/src/modules/wms/components/backend/ChangeLotStatusDialog.tsx +312 -0
- package/src/modules/wms/components/backend/CycleCountWizardDialog.tsx +2007 -0
- package/src/modules/wms/components/backend/ImportInventoryDialog.tsx +1018 -0
- package/src/modules/wms/components/backend/InventoryOperationsSection.tsx +159 -0
- package/src/modules/wms/components/backend/LocationEditDialog.tsx +185 -0
- package/src/modules/wms/components/backend/MoveInventoryDialog.tsx +907 -0
- package/src/modules/wms/components/backend/ReceiveInventoryDialog.tsx +695 -0
- package/src/modules/wms/components/backend/ReleaseReservationDialog.tsx +424 -0
- package/src/modules/wms/components/backend/ReserveInventoryDialog.tsx +511 -0
- package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +1340 -0
- package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +1132 -0
- package/src/modules/wms/components/backend/WmsLocationDetailPage.tsx +1310 -0
- package/src/modules/wms/components/backend/WmsLotDetailPage.tsx +1355 -0
- package/src/modules/wms/components/backend/WmsLotsListPage.tsx +359 -0
- package/src/modules/wms/components/backend/WmsOperationalDashboardPage.tsx +958 -0
- package/src/modules/wms/components/backend/WmsSkuDetailPage.tsx +1245 -0
- package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +960 -0
- package/src/modules/wms/components/backend/useWmsInventoryMutationAccess.ts +89 -0
- package/src/modules/wms/components/backend/useWmsInventoryScopeFromSearchParams.ts +32 -0
- package/src/modules/wms/components/backend/wmsLookupLoaders.ts +78 -0
- package/src/modules/wms/data/enrichers.ts +718 -0
- package/src/modules/wms/data/entities.ts +436 -0
- package/src/modules/wms/data/validators.ts +463 -0
- package/src/modules/wms/di.ts +25 -0
- package/src/modules/wms/events.ts +41 -0
- package/src/modules/wms/i18n/de.json +1051 -0
- package/src/modules/wms/i18n/en.json +1051 -0
- package/src/modules/wms/i18n/es.json +1051 -0
- package/src/modules/wms/i18n/pl.json +1051 -0
- package/src/modules/wms/index.ts +15 -0
- package/src/modules/wms/lib/catalogInventoryProfileIntent.ts +65 -0
- package/src/modules/wms/lib/catalogInventoryProfileSync.ts +199 -0
- package/src/modules/wms/lib/expiry.ts +30 -0
- package/src/modules/wms/lib/flashMutationError.ts +74 -0
- package/src/modules/wms/lib/inventoryDisplayUi.ts +249 -0
- package/src/modules/wms/lib/inventoryIdempotency.ts +54 -0
- package/src/modules/wms/lib/inventoryImportCsv.ts +212 -0
- package/src/modules/wms/lib/inventoryImportService.ts +629 -0
- package/src/modules/wms/lib/inventoryMutationUi.ts +21 -0
- package/src/modules/wms/lib/inventoryPolicy.ts +111 -0
- package/src/modules/wms/lib/inventoryReconciliation.ts +263 -0
- package/src/modules/wms/lib/inventoryTrackingValidation.ts +23 -0
- package/src/modules/wms/lib/loadOperationalDashboard.ts +776 -0
- package/src/modules/wms/lib/lowStockBalanceFilter.ts +74 -0
- package/src/modules/wms/lib/primaryWarehousePolicy.ts +46 -0
- package/src/modules/wms/lib/roleFeatures.ts +32 -0
- package/src/modules/wms/lib/salesOrderInventoryAutomation.ts +390 -0
- package/src/modules/wms/lib/salesOrderWarehouseAssignment.ts +78 -0
- package/src/modules/wms/lib/wmsIntegrationToggles.ts +81 -0
- package/src/modules/wms/migrations/.snapshot-open-mercato.json +2880 -0
- package/src/modules/wms/migrations/Migration20260428110546.ts +91 -0
- package/src/modules/wms/migrations/Migration20260527120000.ts +15 -0
- package/src/modules/wms/migrations/Migration20260527140000.ts +35 -0
- package/src/modules/wms/migrations/Migration20260613120000.ts +21 -0
- package/src/modules/wms/migrations/Migration20260616090000.ts +11 -0
- package/src/modules/wms/migrations/Migration20260707180000.ts +13 -0
- package/src/modules/wms/notifications.client.ts +18 -0
- package/src/modules/wms/notifications.ts +51 -0
- package/src/modules/wms/search.ts +230 -0
- package/src/modules/wms/setup.ts +29 -0
- package/src/modules/wms/subscribers/low-stock-notification.ts +54 -0
- package/src/modules/wms/subscribers/reservation-shortfall-notification.ts +98 -0
- package/src/modules/wms/subscribers/sales-order-cancelled-release.ts +21 -0
- package/src/modules/wms/subscribers/sales-order-confirmed-reserve.ts +21 -0
- package/src/modules/wms/translations.ts +6 -0
- package/src/modules/wms/vector.ts +7 -0
- package/src/modules/wms/widgets/injection/catalog-inventory-profile/widget.ts +238 -0
- package/src/modules/wms/widgets/injection/order-items-stock-column/widget.tsx +153 -0
- package/src/modules/wms/widgets/injection/sales-order-stock-context/widget.client.tsx +476 -0
- package/src/modules/wms/widgets/injection/sales-order-stock-context/widget.ts +15 -0
- package/src/modules/wms/widgets/injection-table.ts +34 -0
- package/src/modules/wms/widgets/notifications/WmsLowStockRenderer.tsx +153 -0
- package/src/modules/wms/widgets/notifications/WmsReservationShortfallRenderer.tsx +194 -0
- package/src/modules/wms/widgets/notifications/index.ts +2 -0
|
@@ -0,0 +1,1051 @@
|
|
|
1
|
+
{
|
|
2
|
+
"wms.audit.inventory.receive": "Receive inventory",
|
|
3
|
+
"wms.audit.salesOrder.assignWarehouse": "Assign warehouse to order",
|
|
4
|
+
"wms.audit.salesOrder.reRunReservation": "Re-run reservation for order",
|
|
5
|
+
"wms.audit.salesOrder.unassignWarehouse": "Remove warehouse assignment from order",
|
|
6
|
+
"wms.backend.config.actions.addLocation": "Add location",
|
|
7
|
+
"wms.backend.config.actions.addProfile": "Add profile",
|
|
8
|
+
"wms.backend.config.actions.addWarehouse": "Add warehouse",
|
|
9
|
+
"wms.backend.config.actions.addZone": "Add zone",
|
|
10
|
+
"wms.backend.config.description": "Phase-1 operational configuration for warehouses, storage locations, and inventory tracking policies.",
|
|
11
|
+
"wms.backend.config.locations.columns.capacityUnits": "Capacity units",
|
|
12
|
+
"wms.backend.config.locations.columns.code": "Location",
|
|
13
|
+
"wms.backend.config.locations.columns.status": "Status",
|
|
14
|
+
"wms.backend.config.locations.columns.type": "Type",
|
|
15
|
+
"wms.backend.config.locations.columns.warehouse": "Warehouse",
|
|
16
|
+
"wms.backend.config.locations.confirmDelete": "Archive location \"{code}\"?",
|
|
17
|
+
"wms.backend.config.locations.description": "Maintain aisle/bin/dock level topology buckets that hold operational inventory.",
|
|
18
|
+
"wms.backend.config.locations.dialog.create": "Create location",
|
|
19
|
+
"wms.backend.config.locations.dialog.edit": "Edit location",
|
|
20
|
+
"wms.backend.config.locations.empty.description": "Create locations to define the buckets used by balances, reservations, and movement ledger rows.",
|
|
21
|
+
"wms.backend.config.locations.empty.title": "No locations",
|
|
22
|
+
"wms.backend.config.locations.errors.delete": "Failed to archive location.",
|
|
23
|
+
"wms.backend.config.locations.errors.load": "Failed to load locations.",
|
|
24
|
+
"wms.backend.config.locations.errors.save": "Failed to save location.",
|
|
25
|
+
"wms.backend.config.locations.flash.created": "Location created",
|
|
26
|
+
"wms.backend.config.locations.flash.deleted": "Location archived",
|
|
27
|
+
"wms.backend.config.locations.flash.updated": "Location updated",
|
|
28
|
+
"wms.backend.config.locations.form.active": "Active",
|
|
29
|
+
"wms.backend.config.locations.form.capacityUnits": "Capacity units",
|
|
30
|
+
"wms.backend.config.locations.form.capacityWeight": "Capacity weight",
|
|
31
|
+
"wms.backend.config.locations.form.code": "Code",
|
|
32
|
+
"wms.backend.config.locations.form.type": "Type",
|
|
33
|
+
"wms.backend.config.locations.form.warehouse": "Warehouse",
|
|
34
|
+
"wms.backend.config.locations.search": "Search locations",
|
|
35
|
+
"wms.backend.config.locations.title": "Locations",
|
|
36
|
+
"wms.backend.config.locations.type.aisle": "Aisle",
|
|
37
|
+
"wms.backend.config.locations.type.bin": "Bin",
|
|
38
|
+
"wms.backend.config.locations.type.dock": "Dock",
|
|
39
|
+
"wms.backend.config.locations.type.rack": "Rack",
|
|
40
|
+
"wms.backend.config.locations.type.slot": "Slot",
|
|
41
|
+
"wms.backend.config.locations.type.staging": "Staging",
|
|
42
|
+
"wms.backend.config.locations.type.zone": "Zone",
|
|
43
|
+
"wms.backend.config.nav.title": "WMS Configuration",
|
|
44
|
+
"wms.backend.config.profiles.allVariants": "All variants",
|
|
45
|
+
"wms.backend.config.profiles.columns.product": "Product",
|
|
46
|
+
"wms.backend.config.profiles.columns.reorderPoint": "Reorder point",
|
|
47
|
+
"wms.backend.config.profiles.columns.safetyStock": "Safety stock",
|
|
48
|
+
"wms.backend.config.profiles.columns.strategy": "Strategy",
|
|
49
|
+
"wms.backend.config.profiles.columns.uom": "UOM",
|
|
50
|
+
"wms.backend.config.profiles.columns.variant": "Variant",
|
|
51
|
+
"wms.backend.config.profiles.confirmDelete": "Archive inventory profile \"{id}\"?",
|
|
52
|
+
"wms.backend.config.profiles.description": "Configure tracking strategy, reorder thresholds, and lot/serial behavior per product scope.",
|
|
53
|
+
"wms.backend.config.profiles.dialog.create": "Create inventory profile",
|
|
54
|
+
"wms.backend.config.profiles.dialog.edit": "Edit inventory profile",
|
|
55
|
+
"wms.backend.config.profiles.empty.description": "Create profiles to control reservation strategy, lot/serial tracking, and low-stock thresholds.",
|
|
56
|
+
"wms.backend.config.profiles.empty.title": "No inventory profiles",
|
|
57
|
+
"wms.backend.config.profiles.errors.delete": "Failed to archive inventory profile.",
|
|
58
|
+
"wms.backend.config.profiles.errors.load": "Failed to load inventory profiles.",
|
|
59
|
+
"wms.backend.config.profiles.errors.save": "Failed to save inventory profile.",
|
|
60
|
+
"wms.backend.config.profiles.flash.created": "Inventory profile created",
|
|
61
|
+
"wms.backend.config.profiles.flash.deleted": "Inventory profile archived",
|
|
62
|
+
"wms.backend.config.profiles.flash.updated": "Inventory profile updated",
|
|
63
|
+
"wms.backend.config.profiles.form.product": "Product",
|
|
64
|
+
"wms.backend.config.profiles.form.reorderPoint": "Reorder point",
|
|
65
|
+
"wms.backend.config.profiles.form.safetyStock": "Safety stock",
|
|
66
|
+
"wms.backend.config.profiles.form.strategy": "Rotation strategy",
|
|
67
|
+
"wms.backend.config.profiles.form.trackExpiration": "Track expiration",
|
|
68
|
+
"wms.backend.config.profiles.form.trackLot": "Track lots",
|
|
69
|
+
"wms.backend.config.profiles.form.trackSerial": "Track serials",
|
|
70
|
+
"wms.backend.config.profiles.form.uom": "Default UOM",
|
|
71
|
+
"wms.backend.config.profiles.form.variant": "Variant",
|
|
72
|
+
"wms.backend.config.profiles.title": "Inventory profiles",
|
|
73
|
+
"wms.backend.config.profiles.validation.fefoRequired": "FEFO is required when expiration tracking is enabled.",
|
|
74
|
+
"wms.backend.config.title": "WMS configuration",
|
|
75
|
+
"wms.backend.config.viewAll": "View all →",
|
|
76
|
+
"wms.backend.config.warehouses.columns.city": "City",
|
|
77
|
+
"wms.backend.config.warehouses.columns.code": "Code",
|
|
78
|
+
"wms.backend.config.warehouses.columns.country": "Country",
|
|
79
|
+
"wms.backend.config.warehouses.columns.name": "Warehouse",
|
|
80
|
+
"wms.backend.config.warehouses.columns.primary": "Primary",
|
|
81
|
+
"wms.backend.config.warehouses.columns.status": "Status",
|
|
82
|
+
"wms.backend.config.warehouses.confirmDelete": "Archive warehouse \"{name}\"?",
|
|
83
|
+
"wms.backend.config.warehouses.description": "Manage the high-level warehouse nodes used by WMS reservations and inventory movements.",
|
|
84
|
+
"wms.backend.config.warehouses.dialog.create": "Create warehouse",
|
|
85
|
+
"wms.backend.config.warehouses.dialog.edit": "Edit warehouse",
|
|
86
|
+
"wms.backend.config.warehouses.empty.description": "Create the first warehouse to expose topology and inventory assignment in WMS.",
|
|
87
|
+
"wms.backend.config.warehouses.empty.title": "No warehouses",
|
|
88
|
+
"wms.backend.config.warehouses.errors.delete": "Failed to archive warehouse.",
|
|
89
|
+
"wms.backend.config.warehouses.errors.load": "Failed to load warehouses.",
|
|
90
|
+
"wms.backend.config.warehouses.errors.save": "Failed to save warehouse.",
|
|
91
|
+
"wms.backend.config.warehouses.flash.created": "Warehouse created",
|
|
92
|
+
"wms.backend.config.warehouses.flash.deleted": "Warehouse archived",
|
|
93
|
+
"wms.backend.config.warehouses.flash.updated": "Warehouse updated",
|
|
94
|
+
"wms.backend.config.warehouses.form.active": "Active",
|
|
95
|
+
"wms.backend.config.warehouses.form.city": "City",
|
|
96
|
+
"wms.backend.config.warehouses.form.code": "Code",
|
|
97
|
+
"wms.backend.config.warehouses.form.country": "Country",
|
|
98
|
+
"wms.backend.config.warehouses.form.name": "Name",
|
|
99
|
+
"wms.backend.config.warehouses.form.primary": "Primary warehouse",
|
|
100
|
+
"wms.backend.config.warehouses.form.timezone": "Timezone",
|
|
101
|
+
"wms.backend.config.warehouses.primary.yes": "Primary",
|
|
102
|
+
"wms.backend.config.warehouses.search": "Search warehouses",
|
|
103
|
+
"wms.backend.config.warehouses.title": "Warehouses",
|
|
104
|
+
"wms.backend.config.zones.columns.code": "Code",
|
|
105
|
+
"wms.backend.config.zones.columns.name": "Zone",
|
|
106
|
+
"wms.backend.config.zones.columns.priority": "Priority",
|
|
107
|
+
"wms.backend.config.zones.columns.warehouse": "Warehouse",
|
|
108
|
+
"wms.backend.config.zones.confirmDelete": "Archive zone \"{name}\"?",
|
|
109
|
+
"wms.backend.config.zones.description": "Group locations into functional zones (e.g. receiving, pick face, bulk) to drive routing and priority.",
|
|
110
|
+
"wms.backend.config.zones.dialog.create": "Create zone",
|
|
111
|
+
"wms.backend.config.zones.dialog.edit": "Edit zone",
|
|
112
|
+
"wms.backend.config.zones.empty.description": "Zones group locations into functional areas to drive picking priority and routing rules.",
|
|
113
|
+
"wms.backend.config.zones.empty.title": "No zones",
|
|
114
|
+
"wms.backend.config.zones.errors.delete": "Failed to archive zone.",
|
|
115
|
+
"wms.backend.config.zones.errors.load": "Failed to load zones.",
|
|
116
|
+
"wms.backend.config.zones.errors.save": "Failed to save zone.",
|
|
117
|
+
"wms.backend.config.zones.flash.created": "Zone created",
|
|
118
|
+
"wms.backend.config.zones.flash.deleted": "Zone archived",
|
|
119
|
+
"wms.backend.config.zones.flash.updated": "Zone updated",
|
|
120
|
+
"wms.backend.config.zones.form.code": "Code",
|
|
121
|
+
"wms.backend.config.zones.form.name": "Name",
|
|
122
|
+
"wms.backend.config.zones.form.priority": "Priority",
|
|
123
|
+
"wms.backend.config.zones.form.warehouse": "Warehouse",
|
|
124
|
+
"wms.backend.config.zones.search": "Search zones",
|
|
125
|
+
"wms.backend.config.zones.title": "Zones",
|
|
126
|
+
"wms.backend.dashboard.actions.refresh": "Refresh",
|
|
127
|
+
"wms.backend.dashboard.activity.columns.actions": "Actions",
|
|
128
|
+
"wms.backend.dashboard.activity.columns.details": "Details",
|
|
129
|
+
"wms.backend.dashboard.activity.columns.event": "Event",
|
|
130
|
+
"wms.backend.dashboard.activity.columns.location": "Location",
|
|
131
|
+
"wms.backend.dashboard.activity.columns.time": "Time",
|
|
132
|
+
"wms.backend.dashboard.activity.empty": "No recent movements yet.",
|
|
133
|
+
"wms.backend.dashboard.activity.open": "Open movement",
|
|
134
|
+
"wms.backend.dashboard.activity.reasons.cycleCount": "Cycle count",
|
|
135
|
+
"wms.backend.dashboard.activity.title": "Recent activity",
|
|
136
|
+
"wms.backend.dashboard.activity.titles.adjusted": "Adjusted {quantity}× {sku}",
|
|
137
|
+
"wms.backend.dashboard.activity.titles.allocated": "Allocated {quantity}× {sku}",
|
|
138
|
+
"wms.backend.dashboard.activity.titles.generic": "{type} {quantity}× {sku}",
|
|
139
|
+
"wms.backend.dashboard.activity.titles.moved": "Moved {quantity}× {sku}",
|
|
140
|
+
"wms.backend.dashboard.activity.titles.received": "Received {quantity}× {sku}",
|
|
141
|
+
"wms.backend.dashboard.activity.titles.reconciled": "Inventory reconciled — {sku}",
|
|
142
|
+
"wms.backend.dashboard.activity.types.adjust": "Adjust",
|
|
143
|
+
"wms.backend.dashboard.activity.types.cycle_count": "Reconciled",
|
|
144
|
+
"wms.backend.dashboard.activity.types.pack": "Allocate",
|
|
145
|
+
"wms.backend.dashboard.activity.types.pick": "Allocate",
|
|
146
|
+
"wms.backend.dashboard.activity.types.putaway": "Putaway",
|
|
147
|
+
"wms.backend.dashboard.activity.types.receipt": "Receive",
|
|
148
|
+
"wms.backend.dashboard.activity.types.return_receive": "Receive",
|
|
149
|
+
"wms.backend.dashboard.activity.types.ship": "Ship",
|
|
150
|
+
"wms.backend.dashboard.activity.types.transfer": "Move",
|
|
151
|
+
"wms.backend.dashboard.activity.viewAll": "View all movements →",
|
|
152
|
+
"wms.backend.dashboard.errors.load": "Failed to load dashboard.",
|
|
153
|
+
"wms.backend.dashboard.errors.locations": "Failed to load locations.",
|
|
154
|
+
"wms.backend.dashboard.errors.warehouses": "Failed to load warehouses.",
|
|
155
|
+
"wms.backend.dashboard.expiry.available": "{quantity} available",
|
|
156
|
+
"wms.backend.dashboard.expiry.description": "Upcoming and overdue lots with on-hand stock in the selected warehouse scope.",
|
|
157
|
+
"wms.backend.dashboard.expiry.expiringSoon.empty": "No lots expiring within the next 30 days.",
|
|
158
|
+
"wms.backend.dashboard.expiry.expiringSoon.title": "Expiring soon",
|
|
159
|
+
"wms.backend.dashboard.expiry.expiringSoon.viewAll": "View all expiring →",
|
|
160
|
+
"wms.backend.dashboard.expiry.openLot": "Open lot",
|
|
161
|
+
"wms.backend.dashboard.expiry.pastDue.empty": "No expired lots with available stock.",
|
|
162
|
+
"wms.backend.dashboard.expiry.pastDue.title": "Past due",
|
|
163
|
+
"wms.backend.dashboard.expiry.pastDue.viewAll": "View all past due →",
|
|
164
|
+
"wms.backend.dashboard.expiry.title": "Expiry watch",
|
|
165
|
+
"wms.backend.dashboard.filters.allWarehouses": "All warehouses",
|
|
166
|
+
"wms.backend.dashboard.firstRun.actions.addLocations": "Add locations",
|
|
167
|
+
"wms.backend.dashboard.firstRun.actions.createWarehouse": "Create warehouse",
|
|
168
|
+
"wms.backend.dashboard.firstRun.actions.receiveStock": "Receive first stock",
|
|
169
|
+
"wms.backend.dashboard.firstRun.noLocations.description": "Your warehouse is set up — add at least one storage location before you can receive stock.",
|
|
170
|
+
"wms.backend.dashboard.firstRun.noLocations.title": "Add storage locations",
|
|
171
|
+
"wms.backend.dashboard.firstRun.title": "Set up your warehouse",
|
|
172
|
+
"wms.backend.dashboard.kpis.agingReservations.badge": "{count} aging",
|
|
173
|
+
"wms.backend.dashboard.kpis.agingReservations.caption": "Active holds older than 7 days",
|
|
174
|
+
"wms.backend.dashboard.kpis.agingReservations.cta": "View reservations",
|
|
175
|
+
"wms.backend.dashboard.kpis.agingReservations.title": "Aging reservations",
|
|
176
|
+
"wms.backend.dashboard.kpis.expiringSoon.badge": "{count} lots",
|
|
177
|
+
"wms.backend.dashboard.kpis.expiringSoon.caption": "Lots expiring in 30 days",
|
|
178
|
+
"wms.backend.dashboard.kpis.expiringSoon.cta": "View expiry",
|
|
179
|
+
"wms.backend.dashboard.kpis.expiringSoon.title": "Expiring soon",
|
|
180
|
+
"wms.backend.dashboard.kpis.lowStock.badgeActive": "{count} active",
|
|
181
|
+
"wms.backend.dashboard.kpis.lowStock.badgeSinceYesterday": "+{count} since yesterday",
|
|
182
|
+
"wms.backend.dashboard.kpis.lowStock.badgeStable": "Stable",
|
|
183
|
+
"wms.backend.dashboard.kpis.lowStock.caption": "Below reorder point",
|
|
184
|
+
"wms.backend.dashboard.kpis.lowStock.cta": "View low stock",
|
|
185
|
+
"wms.backend.dashboard.kpis.lowStock.title": "Low stock",
|
|
186
|
+
"wms.backend.dashboard.kpis.pastDue.badge": "{count} lots",
|
|
187
|
+
"wms.backend.dashboard.kpis.pastDue.caption": "Expired lots with on-hand stock",
|
|
188
|
+
"wms.backend.dashboard.kpis.pastDue.cta": "View past due",
|
|
189
|
+
"wms.backend.dashboard.kpis.pastDue.title": "Past due",
|
|
190
|
+
"wms.backend.dashboard.kpis.reorderCritical.badge": "{count} critical",
|
|
191
|
+
"wms.backend.dashboard.kpis.reorderCritical.caption": "Below safety stock",
|
|
192
|
+
"wms.backend.dashboard.kpis.reorderCritical.cta": "View critical",
|
|
193
|
+
"wms.backend.dashboard.kpis.reorderCritical.title": "Reorder critical",
|
|
194
|
+
"wms.backend.dashboard.kpis.todaysMoves.badgeDown": "{count} vs yesterday",
|
|
195
|
+
"wms.backend.dashboard.kpis.todaysMoves.badgeUp": "+{count} vs yesterday",
|
|
196
|
+
"wms.backend.dashboard.kpis.todaysMoves.caption": "Movements posted today",
|
|
197
|
+
"wms.backend.dashboard.kpis.todaysMoves.cta": "View ledger",
|
|
198
|
+
"wms.backend.dashboard.kpis.todaysMoves.title": "Today's moves",
|
|
199
|
+
"wms.backend.dashboard.loading": "Loading dashboard…",
|
|
200
|
+
"wms.backend.dashboard.quickActions.adjust": "Adjust inventory",
|
|
201
|
+
"wms.backend.dashboard.quickActions.cycleCount": "Cycle count",
|
|
202
|
+
"wms.backend.dashboard.quickActions.description": "Open a drawer without leaving the dashboard",
|
|
203
|
+
"wms.backend.dashboard.quickActions.inventory": "Open inventory console",
|
|
204
|
+
"wms.backend.dashboard.quickActions.movements": "View movements",
|
|
205
|
+
"wms.backend.dashboard.quickActions.receive": "Receive inventory",
|
|
206
|
+
"wms.backend.dashboard.quickActions.title": "Quick actions",
|
|
207
|
+
"wms.backend.dashboard.subtitle": "Live activity for today · auto-refresh 60s · last update {time}",
|
|
208
|
+
"wms.backend.dashboard.subtitleLoading": "Live activity for today · auto-refresh 60s",
|
|
209
|
+
"wms.backend.dashboard.title": "Operational dashboard",
|
|
210
|
+
"wms.backend.dashboard.trends.allocate": "Allocate",
|
|
211
|
+
"wms.backend.dashboard.trends.empty": "No movement trends yet.",
|
|
212
|
+
"wms.backend.dashboard.trends.receive": "Receive",
|
|
213
|
+
"wms.backend.dashboard.trends.title": "Monthly trends",
|
|
214
|
+
"wms.backend.inventory.adjust.dialog.description": "Append a signed delta to the ledger",
|
|
215
|
+
"wms.backend.inventory.adjust.dialog.shortcutSave": "to save",
|
|
216
|
+
"wms.backend.inventory.adjust.dialog.submit": "Save adjustment",
|
|
217
|
+
"wms.backend.inventory.adjust.dialog.title": "Adjust inventory",
|
|
218
|
+
"wms.backend.inventory.adjust.errors.deltaZero": "Inventory delta must be non-zero.",
|
|
219
|
+
"wms.backend.inventory.adjust.errors.lot": "Failed to resolve inventory lot.",
|
|
220
|
+
"wms.backend.inventory.adjust.errors.previewBalance": "Failed to load balance preview.",
|
|
221
|
+
"wms.backend.inventory.adjust.errors.submit": "Failed to adjust inventory.",
|
|
222
|
+
"wms.backend.inventory.adjust.errors.warehouse": "Select a warehouse first.",
|
|
223
|
+
"wms.backend.inventory.adjust.flash.success": "Inventory adjusted",
|
|
224
|
+
"wms.backend.inventory.adjust.form.decrease": "Decrease quantity",
|
|
225
|
+
"wms.backend.inventory.adjust.form.delta": "Adjustment",
|
|
226
|
+
"wms.backend.inventory.adjust.form.increase": "Increase quantity",
|
|
227
|
+
"wms.backend.inventory.adjust.form.location": "Location",
|
|
228
|
+
"wms.backend.inventory.adjust.form.locationPlaceholder": "Select location",
|
|
229
|
+
"wms.backend.inventory.adjust.form.lot": "Lot",
|
|
230
|
+
"wms.backend.inventory.adjust.form.lotPlaceholder": "Select lot (optional)",
|
|
231
|
+
"wms.backend.inventory.adjust.form.notes": "Notes",
|
|
232
|
+
"wms.backend.inventory.adjust.form.notesPlaceholder": "Optional — context for auditors",
|
|
233
|
+
"wms.backend.inventory.adjust.form.reason": "Reason",
|
|
234
|
+
"wms.backend.inventory.adjust.form.reasonPlaceholder": "Select reason",
|
|
235
|
+
"wms.backend.inventory.adjust.form.serial": "Serial number",
|
|
236
|
+
"wms.backend.inventory.adjust.form.serialHelp": "Use when the variant profile tracks serials.",
|
|
237
|
+
"wms.backend.inventory.adjust.form.serialPlaceholder": "Optional — for serial-tracked variants",
|
|
238
|
+
"wms.backend.inventory.adjust.form.variant": "Variant",
|
|
239
|
+
"wms.backend.inventory.adjust.form.variantPlaceholder": "Search variant or SKU",
|
|
240
|
+
"wms.backend.inventory.adjust.form.warehouse": "Warehouse",
|
|
241
|
+
"wms.backend.inventory.adjust.form.warehousePlaceholder": "Select warehouse",
|
|
242
|
+
"wms.backend.inventory.adjust.preview.belowReorder": "Below reorder",
|
|
243
|
+
"wms.backend.inventory.adjust.preview.loading": "Refreshing balance…",
|
|
244
|
+
"wms.backend.inventory.adjust.preview.onHandLabel": "On hand",
|
|
245
|
+
"wms.backend.inventory.adjust.preview.title": "Balance preview",
|
|
246
|
+
"wms.backend.inventory.adjust.reasons.correction": "Correction",
|
|
247
|
+
"wms.backend.inventory.adjust.reasons.damaged": "Damaged",
|
|
248
|
+
"wms.backend.inventory.adjust.reasons.found": "Found stock",
|
|
249
|
+
"wms.backend.inventory.adjust.reasons.other": "Other",
|
|
250
|
+
"wms.backend.inventory.adjust.reasons.shrinkage": "Shrinkage",
|
|
251
|
+
"wms.backend.inventory.allocate.errors.submit": "Failed to allocate reservation.",
|
|
252
|
+
"wms.backend.inventory.allocate.flash.success": "Reservation allocated",
|
|
253
|
+
"wms.backend.inventory.balances.actions.move": "Move",
|
|
254
|
+
"wms.backend.inventory.balances.columns.allocated": "Allocated",
|
|
255
|
+
"wms.backend.inventory.balances.columns.available": "Available",
|
|
256
|
+
"wms.backend.inventory.balances.columns.location": "Location",
|
|
257
|
+
"wms.backend.inventory.balances.columns.lot": "Lot",
|
|
258
|
+
"wms.backend.inventory.balances.columns.reserved": "Reserved",
|
|
259
|
+
"wms.backend.inventory.balances.columns.variant": "Variant",
|
|
260
|
+
"wms.backend.inventory.balances.columns.warehouse": "Warehouse",
|
|
261
|
+
"wms.backend.inventory.balances.description": "Current on-hand, reserved, allocated, and available quantities by bucket.",
|
|
262
|
+
"wms.backend.inventory.balances.empty.description": "Balances appear after receipts, adjustments, or moves create inventory buckets.",
|
|
263
|
+
"wms.backend.inventory.balances.empty.importCsv": "Import CSV",
|
|
264
|
+
"wms.backend.inventory.balances.empty.receive": "Receive stock",
|
|
265
|
+
"wms.backend.inventory.balances.empty.title": "No balance buckets",
|
|
266
|
+
"wms.backend.inventory.balances.lotLink": "View lot",
|
|
267
|
+
"wms.backend.inventory.balances.search": "Search balances",
|
|
268
|
+
"wms.backend.inventory.balances.title": "Inventory balances",
|
|
269
|
+
"wms.backend.inventory.common.notAvailable": "—",
|
|
270
|
+
"wms.backend.inventory.console.scopeBar.allVariants": "All SKUs",
|
|
271
|
+
"wms.backend.inventory.console.scopeBar.allWarehouses": "All warehouses",
|
|
272
|
+
"wms.backend.inventory.console.scopeBar.clearAll": "Clear",
|
|
273
|
+
"wms.backend.inventory.console.scopeBar.label": "Scope",
|
|
274
|
+
"wms.backend.inventory.console.scopeBar.warehouse": "Warehouse",
|
|
275
|
+
"wms.backend.inventory.cycleCount.dialog.title": "Cycle count",
|
|
276
|
+
"wms.backend.inventory.cycleCount.errors.ambiguousLot": "Multiple lots found at this location — select a lot to continue.",
|
|
277
|
+
"wms.backend.inventory.cycleCount.errors.autoAdjustRequired": "Enable auto-adjust to commit a variance.",
|
|
278
|
+
"wms.backend.inventory.cycleCount.errors.balance": "Failed to load system on-hand.",
|
|
279
|
+
"wms.backend.inventory.cycleCount.errors.scope": "Complete setup and select a count location.",
|
|
280
|
+
"wms.backend.inventory.cycleCount.errors.scopeEstimate": "Failed to estimate count scope.",
|
|
281
|
+
"wms.backend.inventory.cycleCount.errors.submit": "Failed to post cycle count.",
|
|
282
|
+
"wms.backend.inventory.cycleCount.errors.warehouse": "Select a warehouse first.",
|
|
283
|
+
"wms.backend.inventory.cycleCount.errors.zoneWarehouse": "Selected zone does not belong to this warehouse.",
|
|
284
|
+
"wms.backend.inventory.cycleCount.flash.success": "Cycle count posted ({delta})",
|
|
285
|
+
"wms.backend.inventory.cycleCount.form.assignee": "Assignee",
|
|
286
|
+
"wms.backend.inventory.cycleCount.form.assigneeLocked": "Only the current user can be assigned without user-directory access.",
|
|
287
|
+
"wms.backend.inventory.cycleCount.form.assigneePlaceholder": "Select assignee",
|
|
288
|
+
"wms.backend.inventory.cycleCount.form.autoAdjust": "Auto-adjust on commit",
|
|
289
|
+
"wms.backend.inventory.cycleCount.form.autoAdjustHint": "Yes — writes a cycle-count movement on commit",
|
|
290
|
+
"wms.backend.inventory.cycleCount.form.autoAdjustHintOff": "No — ledger unchanged on commit",
|
|
291
|
+
"wms.backend.inventory.cycleCount.form.autoAdjustNoVariance": "No ledger write required — counts match.",
|
|
292
|
+
"wms.backend.inventory.cycleCount.form.countNotes": "Notes",
|
|
293
|
+
"wms.backend.inventory.cycleCount.form.countNotesPlaceholder": "Optional — defects, packaging notes",
|
|
294
|
+
"wms.backend.inventory.cycleCount.form.counted": "Counted",
|
|
295
|
+
"wms.backend.inventory.cycleCount.form.currentlyScanning": "Currently scanning",
|
|
296
|
+
"wms.backend.inventory.cycleCount.form.decrease": "Decrease quantity",
|
|
297
|
+
"wms.backend.inventory.cycleCount.form.decreaseExpectedSkus": "Decrease expected SKUs",
|
|
298
|
+
"wms.backend.inventory.cycleCount.form.expectedSkus": "Expected SKUs",
|
|
299
|
+
"wms.backend.inventory.cycleCount.form.expectedSkusLoading": "Estimating scope…",
|
|
300
|
+
"wms.backend.inventory.cycleCount.form.fromBin": "From bin",
|
|
301
|
+
"wms.backend.inventory.cycleCount.form.fromBinPlaceholder": "Start bin",
|
|
302
|
+
"wms.backend.inventory.cycleCount.form.increase": "Increase quantity",
|
|
303
|
+
"wms.backend.inventory.cycleCount.form.increaseExpectedSkus": "Increase expected SKUs",
|
|
304
|
+
"wms.backend.inventory.cycleCount.form.location": "Location",
|
|
305
|
+
"wms.backend.inventory.cycleCount.form.locationPlaceholder": "Select location",
|
|
306
|
+
"wms.backend.inventory.cycleCount.form.lot": "Lot",
|
|
307
|
+
"wms.backend.inventory.cycleCount.form.lotPlaceholder": "Select lot (optional)",
|
|
308
|
+
"wms.backend.inventory.cycleCount.form.reason": "Reason",
|
|
309
|
+
"wms.backend.inventory.cycleCount.form.reasonPlaceholder": "Required for variances — auditor context",
|
|
310
|
+
"wms.backend.inventory.cycleCount.form.schedule": "Schedule",
|
|
311
|
+
"wms.backend.inventory.cycleCount.form.scheduleImmediate": "Immediate start",
|
|
312
|
+
"wms.backend.inventory.cycleCount.form.schedulePlaceholder": "Pick date and time",
|
|
313
|
+
"wms.backend.inventory.cycleCount.form.setupNotes": "Notes",
|
|
314
|
+
"wms.backend.inventory.cycleCount.form.setupNotesPlaceholder": "Optional — pre-count instructions",
|
|
315
|
+
"wms.backend.inventory.cycleCount.form.toBin": "To bin",
|
|
316
|
+
"wms.backend.inventory.cycleCount.form.toBinPlaceholder": "End bin",
|
|
317
|
+
"wms.backend.inventory.cycleCount.form.variant": "Variant / SKU",
|
|
318
|
+
"wms.backend.inventory.cycleCount.form.variantPlaceholder": "Search variant or SKU",
|
|
319
|
+
"wms.backend.inventory.cycleCount.form.variantScanPlaceholder": "Select a variant to begin scanning",
|
|
320
|
+
"wms.backend.inventory.cycleCount.form.warehouse": "Warehouse",
|
|
321
|
+
"wms.backend.inventory.cycleCount.form.warehousePlaceholder": "Select warehouse",
|
|
322
|
+
"wms.backend.inventory.cycleCount.form.zone": "Zone",
|
|
323
|
+
"wms.backend.inventory.cycleCount.form.zonePlaceholder": "Select zone",
|
|
324
|
+
"wms.backend.inventory.cycleCount.form.zonePlaceholderDisabled": "Select warehouse first",
|
|
325
|
+
"wms.backend.inventory.cycleCount.form.zoneScopeHint": "{warehouse} · {expectedSkus} SKUs · {binCount} bins in scope",
|
|
326
|
+
"wms.backend.inventory.cycleCount.form.zoneSelectWarehouse": "Select a warehouse to choose a zone.",
|
|
327
|
+
"wms.backend.inventory.cycleCount.form.zoneWarehouseHint": "Functional zone within {warehouse}",
|
|
328
|
+
"wms.backend.inventory.cycleCount.review.commitSummary.movement": "{delta} net · 1 ledger write",
|
|
329
|
+
"wms.backend.inventory.cycleCount.review.commitSummary.noMovement": "No movement · ledger unchanged",
|
|
330
|
+
"wms.backend.inventory.cycleCount.review.commitSummary.ready": "Ready",
|
|
331
|
+
"wms.backend.inventory.cycleCount.review.commitSummary.title": "Commit summary",
|
|
332
|
+
"wms.backend.inventory.cycleCount.review.counted": "Counted",
|
|
333
|
+
"wms.backend.inventory.cycleCount.review.matches": "Matches",
|
|
334
|
+
"wms.backend.inventory.cycleCount.review.matchesNone": "No match",
|
|
335
|
+
"wms.backend.inventory.cycleCount.review.matchesWithinTolerance": "Within tolerance",
|
|
336
|
+
"wms.backend.inventory.cycleCount.review.noVariance": "Counts match the ledger. Posting will not create a movement.",
|
|
337
|
+
"wms.backend.inventory.cycleCount.review.progress.loading": "Refreshing balance…",
|
|
338
|
+
"wms.backend.inventory.cycleCount.review.progress.match": "Match",
|
|
339
|
+
"wms.backend.inventory.cycleCount.review.progress.summary": "System {system} · Counted {counted}",
|
|
340
|
+
"wms.backend.inventory.cycleCount.review.progress.title": "Progress",
|
|
341
|
+
"wms.backend.inventory.cycleCount.review.system": "System on-hand",
|
|
342
|
+
"wms.backend.inventory.cycleCount.review.totalCounted": "Total counted",
|
|
343
|
+
"wms.backend.inventory.cycleCount.review.totalCountedSummary": "{counted} units · {location} · {variant}",
|
|
344
|
+
"wms.backend.inventory.cycleCount.review.variance": "Adjustment delta",
|
|
345
|
+
"wms.backend.inventory.cycleCount.review.varianceDetail": "Variance",
|
|
346
|
+
"wms.backend.inventory.cycleCount.review.varianceLine": "Counted {counted} vs expected {expected} · {delta}",
|
|
347
|
+
"wms.backend.inventory.cycleCount.review.variances": "Variances",
|
|
348
|
+
"wms.backend.inventory.cycleCount.review.variancesNone": "None",
|
|
349
|
+
"wms.backend.inventory.cycleCount.steps.back": "Back",
|
|
350
|
+
"wms.backend.inventory.cycleCount.steps.counting.finish": "Finish session ({count})",
|
|
351
|
+
"wms.backend.inventory.cycleCount.steps.counting.finishComplete": "Close session",
|
|
352
|
+
"wms.backend.inventory.cycleCount.steps.counting.finishConfirm": "Confirm finish",
|
|
353
|
+
"wms.backend.inventory.cycleCount.steps.counting.finishTooltip": "{count} line(s) already committed — click to close without losing them",
|
|
354
|
+
"wms.backend.inventory.cycleCount.steps.counting.finishWarning": "{remaining} item(s) still in scope — confirm to finish early.",
|
|
355
|
+
"wms.backend.inventory.cycleCount.steps.counting.progressSkus": "{posted} / {expected} SKUs counted",
|
|
356
|
+
"wms.backend.inventory.cycleCount.steps.counting.queueComplete": "All {total} items counted — session complete",
|
|
357
|
+
"wms.backend.inventory.cycleCount.steps.counting.queueEmpty": "No items found in range — enter location manually.",
|
|
358
|
+
"wms.backend.inventory.cycleCount.steps.counting.queueError": "Failed to load scope — enter location manually.",
|
|
359
|
+
"wms.backend.inventory.cycleCount.steps.counting.queueItem": "Item {current} of {total}",
|
|
360
|
+
"wms.backend.inventory.cycleCount.steps.counting.queueLoading": "Loading count scope…",
|
|
361
|
+
"wms.backend.inventory.cycleCount.steps.counting.shortcut": "to continue",
|
|
362
|
+
"wms.backend.inventory.cycleCount.steps.counting.submit": "Review variances",
|
|
363
|
+
"wms.backend.inventory.cycleCount.steps.counting.subtitle": "Step 2 of 3 · Scan and tally items",
|
|
364
|
+
"wms.backend.inventory.cycleCount.steps.counting.subtitleWithPosted": "Step 2 of 3 · {count} line(s) posted — count next SKU",
|
|
365
|
+
"wms.backend.inventory.cycleCount.steps.review.shortcut": "to commit",
|
|
366
|
+
"wms.backend.inventory.cycleCount.steps.review.submit": "Commit & count next",
|
|
367
|
+
"wms.backend.inventory.cycleCount.steps.review.subtitle": "Step 3 of 3 · Review variances and commit",
|
|
368
|
+
"wms.backend.inventory.cycleCount.steps.setup.shortcut": "to start",
|
|
369
|
+
"wms.backend.inventory.cycleCount.steps.setup.submit": "Start counting",
|
|
370
|
+
"wms.backend.inventory.cycleCount.steps.setup.subtitle": "Step 1 of 3 · Set scope and expectations",
|
|
371
|
+
"wms.backend.inventory.errors.balances": "Failed to load balances.",
|
|
372
|
+
"wms.backend.inventory.errors.movements": "Failed to load movements.",
|
|
373
|
+
"wms.backend.inventory.errors.reservations": "Failed to load reservations.",
|
|
374
|
+
"wms.backend.inventory.import.actions.apply": "Apply import",
|
|
375
|
+
"wms.backend.inventory.import.actions.applying": "Importing…",
|
|
376
|
+
"wms.backend.inventory.import.actions.autoMap": "Auto-map",
|
|
377
|
+
"wms.backend.inventory.import.actions.back": "Back",
|
|
378
|
+
"wms.backend.inventory.import.actions.cancel": "Cancel",
|
|
379
|
+
"wms.backend.inventory.import.actions.chooseDifferent": "Choose different file",
|
|
380
|
+
"wms.backend.inventory.import.actions.chooseFile": "Choose CSV file",
|
|
381
|
+
"wms.backend.inventory.import.actions.hideDetails": "Hide details",
|
|
382
|
+
"wms.backend.inventory.import.actions.importRows": "Import {count} rows",
|
|
383
|
+
"wms.backend.inventory.import.actions.next": "Next",
|
|
384
|
+
"wms.backend.inventory.import.actions.template": "Download template",
|
|
385
|
+
"wms.backend.inventory.import.actions.validate": "Validate",
|
|
386
|
+
"wms.backend.inventory.import.actions.validating": "Validating…",
|
|
387
|
+
"wms.backend.inventory.import.actions.viewDetails": "View details →",
|
|
388
|
+
"wms.backend.inventory.import.columns.delta": "Delta",
|
|
389
|
+
"wms.backend.inventory.import.columns.issues": "Issues",
|
|
390
|
+
"wms.backend.inventory.import.columns.location": "Location",
|
|
391
|
+
"wms.backend.inventory.import.columns.row": "Row",
|
|
392
|
+
"wms.backend.inventory.import.columns.sku": "SKU",
|
|
393
|
+
"wms.backend.inventory.import.columns.status": "Status",
|
|
394
|
+
"wms.backend.inventory.import.defaultReason": "CSV import inventory receipt",
|
|
395
|
+
"wms.backend.inventory.import.defaultReasonReconcile": "CSV import opening balance",
|
|
396
|
+
"wms.backend.inventory.import.dialog.description": "Upload receipt rows, validate, then add the quantities to the WMS ledger.",
|
|
397
|
+
"wms.backend.inventory.import.dialog.title": "Import CSV",
|
|
398
|
+
"wms.backend.inventory.import.errors.apply": "Import failed.",
|
|
399
|
+
"wms.backend.inventory.import.errors.csvFileRequired": "CSV file is required.",
|
|
400
|
+
"wms.backend.inventory.import.errors.file": "Choose a CSV file first.",
|
|
401
|
+
"wms.backend.inventory.import.errors.scope": "Select organization scope before importing.",
|
|
402
|
+
"wms.backend.inventory.import.errors.validate": "Validation failed.",
|
|
403
|
+
"wms.backend.inventory.import.errors.validationFailed": "Validation failed.",
|
|
404
|
+
"wms.backend.inventory.import.flash.applied": "Import finished ({applied} applied, {skipped} skipped).",
|
|
405
|
+
"wms.backend.inventory.import.flash.appliedPartial": "Import finished with errors ({applied} applied, {skipped} skipped, {failed} failed).",
|
|
406
|
+
"wms.backend.inventory.import.flash.validated": "CSV validated — review rows before applying.",
|
|
407
|
+
"wms.backend.inventory.import.flash.validationErrors": "Fix validation errors before applying.",
|
|
408
|
+
"wms.backend.inventory.import.mapping.csvColumn": "CSV column",
|
|
409
|
+
"wms.backend.inventory.import.mapping.fields.catalogVariantId": "catalog_variant_id",
|
|
410
|
+
"wms.backend.inventory.import.mapping.fields.locationCode": "location_code",
|
|
411
|
+
"wms.backend.inventory.import.mapping.fields.locationId": "location_id",
|
|
412
|
+
"wms.backend.inventory.import.mapping.fields.lotId": "lot_id",
|
|
413
|
+
"wms.backend.inventory.import.mapping.fields.lotNumber": "lot_number",
|
|
414
|
+
"wms.backend.inventory.import.mapping.fields.quantity": "quantity",
|
|
415
|
+
"wms.backend.inventory.import.mapping.fields.serialNumber": "serial_number",
|
|
416
|
+
"wms.backend.inventory.import.mapping.fields.sku": "sku",
|
|
417
|
+
"wms.backend.inventory.import.mapping.fields.warehouseCode": "warehouse_code",
|
|
418
|
+
"wms.backend.inventory.import.mapping.fields.warehouseId": "warehouse_id",
|
|
419
|
+
"wms.backend.inventory.import.mapping.skipColumn": "— skip column",
|
|
420
|
+
"wms.backend.inventory.import.mapping.status": "Status",
|
|
421
|
+
"wms.backend.inventory.import.mapping.status.mapped": "Mapped",
|
|
422
|
+
"wms.backend.inventory.import.mapping.status.skipped": "Skipped",
|
|
423
|
+
"wms.backend.inventory.import.mapping.summary": "{mapped} of {total} columns mapped · {rows} rows detected",
|
|
424
|
+
"wms.backend.inventory.import.mapping.targetField": "Target field",
|
|
425
|
+
"wms.backend.inventory.import.review.banner.rowIssue": "Row {row}: {issue}",
|
|
426
|
+
"wms.backend.inventory.import.review.banner.title": "{count} rows will be skipped on import",
|
|
427
|
+
"wms.backend.inventory.import.review.overwriteBanner.rowDetail": "Row {row}: {location} — {current} → {quantity} ({delta})",
|
|
428
|
+
"wms.backend.inventory.import.review.overwriteBanner.title": "{count} rows will change existing stock levels",
|
|
429
|
+
"wms.backend.inventory.import.review.preview.empty": "No preview rows available.",
|
|
430
|
+
"wms.backend.inventory.import.review.preview.lot": "Lot",
|
|
431
|
+
"wms.backend.inventory.import.review.preview.qty": "Qty",
|
|
432
|
+
"wms.backend.inventory.import.review.preview.title": "Preview · first 3 rows",
|
|
433
|
+
"wms.backend.inventory.import.review.skipDuplicates": "Skip duplicates",
|
|
434
|
+
"wms.backend.inventory.import.review.skipDuplicatesHint": "Duplicate rows in the CSV file will be skipped instead of failing validation",
|
|
435
|
+
"wms.backend.inventory.import.review.stats.columns": "Columns mapped",
|
|
436
|
+
"wms.backend.inventory.import.review.stats.issues": "Validation issues",
|
|
437
|
+
"wms.backend.inventory.import.review.stats.rows": "Rows to import",
|
|
438
|
+
"wms.backend.inventory.import.review.writeLedger": "Write to ledger",
|
|
439
|
+
"wms.backend.inventory.import.review.writeLedgerHint": "Each row creates an audit entry in the WMS ledger",
|
|
440
|
+
"wms.backend.inventory.import.shortcut.continue": "continue",
|
|
441
|
+
"wms.backend.inventory.import.shortcut.import": "to import",
|
|
442
|
+
"wms.backend.inventory.import.steps.mapping.subtitle": "Step 2 of 3 · Map CSV columns to fields",
|
|
443
|
+
"wms.backend.inventory.import.steps.review.subtitle": "Step 3 of 3 · Review and import",
|
|
444
|
+
"wms.backend.inventory.import.steps.upload.subtitle": "Step 1 of 3 · Upload your file",
|
|
445
|
+
"wms.backend.inventory.import.summary": "{total} rows · {valid} valid · {errors} errors · {warnings} warnings · {skipped} skipped",
|
|
446
|
+
"wms.backend.inventory.import.upload.dropzoneEmpty": "Choose CSV file or drop here",
|
|
447
|
+
"wms.backend.inventory.import.upload.encoding": "Encoding",
|
|
448
|
+
"wms.backend.inventory.import.upload.encodingValue": "UTF-8 (auto-detected)",
|
|
449
|
+
"wms.backend.inventory.import.upload.fileMeta": "{rows} rows · {size} · detected",
|
|
450
|
+
"wms.backend.inventory.import.upload.format": "Format",
|
|
451
|
+
"wms.backend.inventory.import.upload.formatValue": "CSV · comma-separated",
|
|
452
|
+
"wms.backend.inventory.import.upload.hasHeader": "First row is column header",
|
|
453
|
+
"wms.backend.inventory.import.upload.hasHeaderOn": "On — skip first row when importing",
|
|
454
|
+
"wms.backend.inventory.import.upload.quantityHint": "The quantity column is added to whatever stock already exists at that warehouse/location — it is not a target balance.",
|
|
455
|
+
"wms.backend.inventory.import.upload.reconcileMode": "Reconcile to exact balance",
|
|
456
|
+
"wms.backend.inventory.import.upload.reconcileModeHint": "Existing stock at each location is overwritten to match the file exactly — including reducing it. Use this for a full stocktake or opening-balance import. Leave off to add quantities to existing stock instead.",
|
|
457
|
+
"wms.backend.inventory.import.upload.skuHint": "The sku column must match an existing catalog product variant in your organization. Warehouse and location codes must already exist in WMS.",
|
|
458
|
+
"wms.backend.inventory.import.validation.catalog_variant_not_found": "Catalog variant not found",
|
|
459
|
+
"wms.backend.inventory.import.validation.duplicate_of_row": "Duplicate of row {row}",
|
|
460
|
+
"wms.backend.inventory.import.validation.duplicate_row": "Duplicate row in file",
|
|
461
|
+
"wms.backend.inventory.import.validation.insufficient_available_for_negative_delta": "Insufficient available stock for negative adjustment",
|
|
462
|
+
"wms.backend.inventory.import.validation.location_not_found": "Location not found",
|
|
463
|
+
"wms.backend.inventory.import.validation.location_required": "Location is required",
|
|
464
|
+
"wms.backend.inventory.import.validation.lot_not_found": "Lot not found",
|
|
465
|
+
"wms.backend.inventory.import.validation.overwriting_existing_balance": "Will overwrite an existing balance",
|
|
466
|
+
"wms.backend.inventory.import.validation.quantity_invalid": "Quantity must be zero or greater",
|
|
467
|
+
"wms.backend.inventory.import.validation.quantity_required": "Quantity is required",
|
|
468
|
+
"wms.backend.inventory.import.validation.sku_ambiguous": "Multiple catalog variants share this SKU",
|
|
469
|
+
"wms.backend.inventory.import.validation.sku_not_found": "SKU not found in catalog",
|
|
470
|
+
"wms.backend.inventory.import.validation.sku_required": "SKU is required",
|
|
471
|
+
"wms.backend.inventory.import.validation.warehouse_not_found": "Warehouse not found",
|
|
472
|
+
"wms.backend.inventory.import.validation.warehouse_required": "Warehouse is required",
|
|
473
|
+
"wms.backend.inventory.move.dialog.description": "Transfer available stock between locations within the same warehouse.",
|
|
474
|
+
"wms.backend.inventory.move.dialog.shortcutSave": "to save",
|
|
475
|
+
"wms.backend.inventory.move.dialog.submit": "Move stock",
|
|
476
|
+
"wms.backend.inventory.move.dialog.title": "Move inventory",
|
|
477
|
+
"wms.backend.inventory.move.dialog.titlePutaway": "Put away to final bin",
|
|
478
|
+
"wms.backend.inventory.move.errors.insufficientAvailable": "Quantity exceeds available stock at the source location.",
|
|
479
|
+
"wms.backend.inventory.move.errors.previewBalance": "Failed to load available quantity.",
|
|
480
|
+
"wms.backend.inventory.move.errors.quantityPositive": "Move quantity must be greater than zero.",
|
|
481
|
+
"wms.backend.inventory.move.errors.sameLocation": "Destination must differ from the source location.",
|
|
482
|
+
"wms.backend.inventory.move.errors.submit": "Failed to move inventory.",
|
|
483
|
+
"wms.backend.inventory.move.flash.success": "Inventory moved",
|
|
484
|
+
"wms.backend.inventory.move.form.fromLocation": "From location",
|
|
485
|
+
"wms.backend.inventory.move.form.fromLocationPlaceholder": "Select source location",
|
|
486
|
+
"wms.backend.inventory.move.form.notes": "Notes",
|
|
487
|
+
"wms.backend.inventory.move.form.notesPlaceholder": "Optional — context for auditors",
|
|
488
|
+
"wms.backend.inventory.move.form.quantity": "Quantity",
|
|
489
|
+
"wms.backend.inventory.move.form.reason": "Reason",
|
|
490
|
+
"wms.backend.inventory.move.form.reasonPlaceholder": "Select reason",
|
|
491
|
+
"wms.backend.inventory.move.form.toLocation": "To location",
|
|
492
|
+
"wms.backend.inventory.move.form.toLocationPlaceholder": "Select destination location",
|
|
493
|
+
"wms.backend.inventory.move.form.variant": "Variant",
|
|
494
|
+
"wms.backend.inventory.move.form.variantPlaceholder": "Search variant or SKU",
|
|
495
|
+
"wms.backend.inventory.move.form.warehouse": "Warehouse",
|
|
496
|
+
"wms.backend.inventory.move.form.warehousePlaceholder": "Select warehouse",
|
|
497
|
+
"wms.backend.inventory.move.preview.availableLabel": "Available",
|
|
498
|
+
"wms.backend.inventory.move.preview.capacity": "{used} / {capacity} units used · {remaining} remaining",
|
|
499
|
+
"wms.backend.inventory.move.preview.capacityExceeded": "This move would exceed the destination capacity by {quantity} unit(s).",
|
|
500
|
+
"wms.backend.inventory.move.preview.capacityLoading": "Loading destination capacity…",
|
|
501
|
+
"wms.backend.inventory.move.preview.capacityUnset": "No capacity limit set for this location.",
|
|
502
|
+
"wms.backend.inventory.move.preview.destEmpty": "0 units (empty bin)",
|
|
503
|
+
"wms.backend.inventory.move.preview.destLoading": "Loading destination…",
|
|
504
|
+
"wms.backend.inventory.move.preview.destTitle": "Destination current stock",
|
|
505
|
+
"wms.backend.inventory.move.preview.destUnit": "units already here",
|
|
506
|
+
"wms.backend.inventory.move.preview.loading": "Refreshing availability…",
|
|
507
|
+
"wms.backend.inventory.move.preview.title": "Source availability",
|
|
508
|
+
"wms.backend.inventory.move.reasons.consolidation": "Consolidation",
|
|
509
|
+
"wms.backend.inventory.move.reasons.correction": "Correction",
|
|
510
|
+
"wms.backend.inventory.move.reasons.other": "Other",
|
|
511
|
+
"wms.backend.inventory.move.reasons.replenishment": "Replenishment",
|
|
512
|
+
"wms.backend.inventory.move.reasons.transfer": "Transfer",
|
|
513
|
+
"wms.backend.inventory.movements.columns.locationFrom": "From",
|
|
514
|
+
"wms.backend.inventory.movements.columns.locationTo": "To",
|
|
515
|
+
"wms.backend.inventory.movements.columns.performedAt": "Performed at",
|
|
516
|
+
"wms.backend.inventory.movements.columns.quantity": "Quantity",
|
|
517
|
+
"wms.backend.inventory.movements.columns.referenceType": "Reference type",
|
|
518
|
+
"wms.backend.inventory.movements.columns.type": "Type",
|
|
519
|
+
"wms.backend.inventory.movements.columns.variant": "Variant",
|
|
520
|
+
"wms.backend.inventory.movements.columns.warehouse": "Warehouse",
|
|
521
|
+
"wms.backend.inventory.movements.description": "Immutable movement history for receipts, transfers, adjustments, and cycle counts.",
|
|
522
|
+
"wms.backend.inventory.movements.empty.description": "Movement rows are created by receipts, reservations, moves, and reconciliation actions.",
|
|
523
|
+
"wms.backend.inventory.movements.empty.title": "No inventory movements",
|
|
524
|
+
"wms.backend.inventory.movements.search": "Search movement ledger",
|
|
525
|
+
"wms.backend.inventory.movements.title": "Inventory movement ledger",
|
|
526
|
+
"wms.backend.inventory.mutations.errors.scope": "Select an organization and sign in before posting inventory changes.",
|
|
527
|
+
"wms.backend.inventory.nav.title": "Inventory",
|
|
528
|
+
"wms.backend.inventory.operations.adjust": "Adjust inventory",
|
|
529
|
+
"wms.backend.inventory.operations.cycleCount": "Cycle count",
|
|
530
|
+
"wms.backend.inventory.operations.description": "Receive inbound stock, reserve or move stock, post adjustments, or run a cycle count.",
|
|
531
|
+
"wms.backend.inventory.operations.import": "Import CSV",
|
|
532
|
+
"wms.backend.inventory.operations.move": "Move stock",
|
|
533
|
+
"wms.backend.inventory.operations.receive": "Receive stock",
|
|
534
|
+
"wms.backend.inventory.operations.reserve": "Reserve",
|
|
535
|
+
"wms.backend.inventory.operations.title": "Inventory operations",
|
|
536
|
+
"wms.backend.inventory.receive.dialog.description": "Record inbound stock as a receipt movement",
|
|
537
|
+
"wms.backend.inventory.receive.dialog.title": "Receive inventory",
|
|
538
|
+
"wms.backend.inventory.receive.errors.lot": "Failed to resolve inventory lot.",
|
|
539
|
+
"wms.backend.inventory.receive.errors.lotRequired": "Lot number is required for this variant.",
|
|
540
|
+
"wms.backend.inventory.receive.errors.quantityPositive": "Quantity must be greater than zero.",
|
|
541
|
+
"wms.backend.inventory.receive.errors.serialRequired": "Serial number is required for this variant.",
|
|
542
|
+
"wms.backend.inventory.receive.errors.submit": "Failed to receive inventory.",
|
|
543
|
+
"wms.backend.inventory.receive.flash.success": "Inventory received",
|
|
544
|
+
"wms.backend.inventory.receive.form.cancel": "Cancel",
|
|
545
|
+
"wms.backend.inventory.receive.form.decrease": "Decrease quantity",
|
|
546
|
+
"wms.backend.inventory.receive.form.increase": "Increase quantity",
|
|
547
|
+
"wms.backend.inventory.receive.form.location": "Location",
|
|
548
|
+
"wms.backend.inventory.receive.form.locationPlaceholder": "Select location",
|
|
549
|
+
"wms.backend.inventory.receive.form.lot": "Lot",
|
|
550
|
+
"wms.backend.inventory.receive.form.lotPlaceholder": "Select or create lot (optional)",
|
|
551
|
+
"wms.backend.inventory.receive.form.lotRequiredPlaceholder": "Enter lot number",
|
|
552
|
+
"wms.backend.inventory.receive.form.notes": "Notes",
|
|
553
|
+
"wms.backend.inventory.receive.form.notesPlaceholder": "Optional notes or reference number",
|
|
554
|
+
"wms.backend.inventory.receive.form.quantity": "Quantity received",
|
|
555
|
+
"wms.backend.inventory.receive.form.referenceType": "Receipt type",
|
|
556
|
+
"wms.backend.inventory.receive.form.serial": "Serial number",
|
|
557
|
+
"wms.backend.inventory.receive.form.serialPlaceholder": "Optional — for serial-tracked variants",
|
|
558
|
+
"wms.backend.inventory.receive.form.serialRequiredPlaceholder": "Enter serial number",
|
|
559
|
+
"wms.backend.inventory.receive.form.shortcut": "to receive",
|
|
560
|
+
"wms.backend.inventory.receive.form.submit": "Receive",
|
|
561
|
+
"wms.backend.inventory.receive.form.submitting": "Receiving…",
|
|
562
|
+
"wms.backend.inventory.receive.form.variant": "Variant",
|
|
563
|
+
"wms.backend.inventory.receive.form.variantPlaceholder": "Search variant or SKU",
|
|
564
|
+
"wms.backend.inventory.receive.form.warehouse": "Warehouse",
|
|
565
|
+
"wms.backend.inventory.receive.form.warehousePlaceholder": "Select warehouse",
|
|
566
|
+
"wms.backend.inventory.receive.referenceTypes.manual": "Manual receipt",
|
|
567
|
+
"wms.backend.inventory.receive.referenceTypes.po": "Purchase order",
|
|
568
|
+
"wms.backend.inventory.receive.referenceTypes.qc": "QC release",
|
|
569
|
+
"wms.backend.inventory.receive.referenceTypes.rma": "RMA / return",
|
|
570
|
+
"wms.backend.inventory.receive.referenceTypes.so": "Sales return",
|
|
571
|
+
"wms.backend.inventory.receive.referenceTypes.transfer": "Transfer",
|
|
572
|
+
"wms.backend.inventory.referenceTypes.manual": "Manual",
|
|
573
|
+
"wms.backend.inventory.referenceTypes.po": "Purchase order",
|
|
574
|
+
"wms.backend.inventory.referenceTypes.qc": "Quality control",
|
|
575
|
+
"wms.backend.inventory.referenceTypes.rma": "RMA",
|
|
576
|
+
"wms.backend.inventory.referenceTypes.so": "Sales order",
|
|
577
|
+
"wms.backend.inventory.referenceTypes.transfer": "Transfer",
|
|
578
|
+
"wms.backend.inventory.release.dialog.description": "Return reserved quantity to available stock for this bucket.",
|
|
579
|
+
"wms.backend.inventory.release.dialog.shortcutSave": "to confirm",
|
|
580
|
+
"wms.backend.inventory.release.dialog.submit": "Release reservation",
|
|
581
|
+
"wms.backend.inventory.release.dialog.title": "Release reservation",
|
|
582
|
+
"wms.backend.inventory.release.errors.balanceIntegrityViolation": "Balance integrity error — run \"mercato wms verify-balances --repair\" to diagnose and fix drift before retrying.",
|
|
583
|
+
"wms.backend.inventory.release.errors.submit": "Failed to release reservation.",
|
|
584
|
+
"wms.backend.inventory.release.flash.success": "Reservation released",
|
|
585
|
+
"wms.backend.inventory.release.form.notes": "Notes",
|
|
586
|
+
"wms.backend.inventory.release.form.notesPlaceholder": "Optional — additional context",
|
|
587
|
+
"wms.backend.inventory.release.form.reason": "Reason",
|
|
588
|
+
"wms.backend.inventory.release.form.reasonPlaceholder": "Select reason",
|
|
589
|
+
"wms.backend.inventory.release.reasons.correction": "Correction",
|
|
590
|
+
"wms.backend.inventory.release.reasons.manual_release": "Manual release",
|
|
591
|
+
"wms.backend.inventory.release.reasons.order_cancelled": "Order cancelled",
|
|
592
|
+
"wms.backend.inventory.release.reasons.other": "Other",
|
|
593
|
+
"wms.backend.inventory.release.summary.quantity": "Quantity",
|
|
594
|
+
"wms.backend.inventory.release.summary.source": "Source",
|
|
595
|
+
"wms.backend.inventory.release.summary.variant": "Variant",
|
|
596
|
+
"wms.backend.inventory.release.summary.warehouse": "Warehouse",
|
|
597
|
+
"wms.backend.inventory.release.warning": "This action cannot be undone — the reserved quantity will be released immediately.",
|
|
598
|
+
"wms.backend.inventory.reservationStatuses.active": "Active",
|
|
599
|
+
"wms.backend.inventory.reservationStatuses.fulfilled": "Fulfilled",
|
|
600
|
+
"wms.backend.inventory.reservationStatuses.released": "Released",
|
|
601
|
+
"wms.backend.inventory.reservations.actions.allocate": "Allocate",
|
|
602
|
+
"wms.backend.inventory.reservations.actions.release": "Release",
|
|
603
|
+
"wms.backend.inventory.reservations.columns.quantity": "Quantity",
|
|
604
|
+
"wms.backend.inventory.reservations.columns.sourceId": "Source",
|
|
605
|
+
"wms.backend.inventory.reservations.columns.sourceType": "Source type",
|
|
606
|
+
"wms.backend.inventory.reservations.columns.status": "Status",
|
|
607
|
+
"wms.backend.inventory.reservations.columns.variant": "Variant",
|
|
608
|
+
"wms.backend.inventory.reservations.columns.warehouse": "Warehouse",
|
|
609
|
+
"wms.backend.inventory.reservations.description": "Active and historical reservation records created by manual API calls or sales lifecycle automation.",
|
|
610
|
+
"wms.backend.inventory.reservations.empty.description": "Reservations show stock committed to orders, transfers, or manual holds.",
|
|
611
|
+
"wms.backend.inventory.reservations.empty.title": "No reservations",
|
|
612
|
+
"wms.backend.inventory.reservations.filter.activeOnly": "Active only",
|
|
613
|
+
"wms.backend.inventory.reservations.filter.showAll": "Show all",
|
|
614
|
+
"wms.backend.inventory.reservations.search": "Search reservations",
|
|
615
|
+
"wms.backend.inventory.reservations.title": "Inventory reservations",
|
|
616
|
+
"wms.backend.inventory.reserve.cancel": "Cancel",
|
|
617
|
+
"wms.backend.inventory.reserve.description": "Commit stock from available inventory. The system allocates using the configured rotation strategy.",
|
|
618
|
+
"wms.backend.inventory.reserve.errors.failed": "Failed to reserve inventory.",
|
|
619
|
+
"wms.backend.inventory.reserve.errors.insufficientStock": "Not enough available stock to fulfil this reservation.",
|
|
620
|
+
"wms.backend.inventory.reserve.errors.lotRequired": "Select a lot for this variant.",
|
|
621
|
+
"wms.backend.inventory.reserve.errors.quantityInvalid": "Enter a positive quantity.",
|
|
622
|
+
"wms.backend.inventory.reserve.errors.serialRequired": "Enter a serial number for this variant.",
|
|
623
|
+
"wms.backend.inventory.reserve.errors.variantRequired": "Select a variant.",
|
|
624
|
+
"wms.backend.inventory.reserve.errors.warehouseRequired": "Select a warehouse.",
|
|
625
|
+
"wms.backend.inventory.reserve.fields.lot": "Lot (optional)",
|
|
626
|
+
"wms.backend.inventory.reserve.fields.lotPlaceholder": "Any lot (system selects)…",
|
|
627
|
+
"wms.backend.inventory.reserve.fields.lotRequiredPlaceholder": "Select lot…",
|
|
628
|
+
"wms.backend.inventory.reserve.fields.quantity": "Quantity",
|
|
629
|
+
"wms.backend.inventory.reserve.fields.serial": "Serial number",
|
|
630
|
+
"wms.backend.inventory.reserve.fields.serialPlaceholder": "Enter serial number…",
|
|
631
|
+
"wms.backend.inventory.reserve.fields.sourceType": "Reservation type",
|
|
632
|
+
"wms.backend.inventory.reserve.fields.variant": "Variant / SKU",
|
|
633
|
+
"wms.backend.inventory.reserve.fields.variantPlaceholder": "Search SKU or name…",
|
|
634
|
+
"wms.backend.inventory.reserve.fields.warehouse": "Warehouse",
|
|
635
|
+
"wms.backend.inventory.reserve.fields.warehousePlaceholder": "Select warehouse…",
|
|
636
|
+
"wms.backend.inventory.reserve.sourceType.manual": "Manual hold",
|
|
637
|
+
"wms.backend.inventory.reserve.sourceType.order": "Order",
|
|
638
|
+
"wms.backend.inventory.reserve.sourceType.transfer": "Transfer",
|
|
639
|
+
"wms.backend.inventory.reserve.submit": "Reserve",
|
|
640
|
+
"wms.backend.inventory.reserve.submitting": "Reserving…",
|
|
641
|
+
"wms.backend.inventory.reserve.success": "Reservation created successfully.",
|
|
642
|
+
"wms.backend.inventory.reserve.title": "Reserve inventory",
|
|
643
|
+
"wms.backend.inventory.sourceTypes.manual": "Manual",
|
|
644
|
+
"wms.backend.inventory.sourceTypes.order": "Sales order",
|
|
645
|
+
"wms.backend.inventory.sourceTypes.transfer": "Transfer",
|
|
646
|
+
"wms.backend.location.actions.adjust": "Adjust stock",
|
|
647
|
+
"wms.backend.location.actions.backToLocations": "Back to locations",
|
|
648
|
+
"wms.backend.location.activity.columns.details": "Details",
|
|
649
|
+
"wms.backend.location.activity.columns.event": "Event",
|
|
650
|
+
"wms.backend.location.activity.columns.location": "Location",
|
|
651
|
+
"wms.backend.location.activity.columns.time": "Time",
|
|
652
|
+
"wms.backend.location.activity.empty": "No recent movements for this location.",
|
|
653
|
+
"wms.backend.location.activity.title": "Recent activity",
|
|
654
|
+
"wms.backend.location.activity.types.adjust": "Adjust",
|
|
655
|
+
"wms.backend.location.activity.types.cycle_count": "Reconcile",
|
|
656
|
+
"wms.backend.location.activity.types.pack": "Allocate",
|
|
657
|
+
"wms.backend.location.activity.types.pick": "Allocate",
|
|
658
|
+
"wms.backend.location.activity.types.putaway": "Putaway",
|
|
659
|
+
"wms.backend.location.activity.types.receipt": "Receive",
|
|
660
|
+
"wms.backend.location.activity.types.return_receive": "Receive",
|
|
661
|
+
"wms.backend.location.activity.types.ship": "Ship",
|
|
662
|
+
"wms.backend.location.activity.types.transfer": "Move",
|
|
663
|
+
"wms.backend.location.activity.viewAll": "View all movements →",
|
|
664
|
+
"wms.backend.location.detail.breadcrumb": "Location",
|
|
665
|
+
"wms.backend.location.detail.pageTitle": "Location view",
|
|
666
|
+
"wms.backend.location.errors.balances": "Failed to load items in location.",
|
|
667
|
+
"wms.backend.location.errors.invalidId": "Invalid location identifier.",
|
|
668
|
+
"wms.backend.location.errors.load": "Failed to load location view.",
|
|
669
|
+
"wms.backend.location.errors.location": "Failed to load location.",
|
|
670
|
+
"wms.backend.location.errors.lots": "Failed to load lots.",
|
|
671
|
+
"wms.backend.location.errors.movements": "Failed to load recent activity.",
|
|
672
|
+
"wms.backend.location.errors.notFound": "Location not found.",
|
|
673
|
+
"wms.backend.location.header.active": "Active",
|
|
674
|
+
"wms.backend.location.header.inactive": "Inactive",
|
|
675
|
+
"wms.backend.location.header.lastCounted": "Last counted {when}",
|
|
676
|
+
"wms.backend.location.header.neverCounted": "Never counted",
|
|
677
|
+
"wms.backend.location.header.zone": "Zone {code}",
|
|
678
|
+
"wms.backend.location.items.actions.adjustSelected": "Adjust selected ({count})",
|
|
679
|
+
"wms.backend.location.items.actions.cycleCountZone": "Cycle count zone",
|
|
680
|
+
"wms.backend.location.items.actions.exportCsv": "Export CSV",
|
|
681
|
+
"wms.backend.location.items.columns.lot": "Lot",
|
|
682
|
+
"wms.backend.location.items.columns.onHand": "On hand",
|
|
683
|
+
"wms.backend.location.items.columns.reserved": "Reserved",
|
|
684
|
+
"wms.backend.location.items.columns.select": "Select",
|
|
685
|
+
"wms.backend.location.items.columns.sku": "SKU",
|
|
686
|
+
"wms.backend.location.items.columns.status": "Status",
|
|
687
|
+
"wms.backend.location.items.columns.variant": "Variant name",
|
|
688
|
+
"wms.backend.location.items.empty.description": "Try another filter or post inventory through receipts or adjustments.",
|
|
689
|
+
"wms.backend.location.items.empty.title": "No items in this view",
|
|
690
|
+
"wms.backend.location.items.filters.all": "All items",
|
|
691
|
+
"wms.backend.location.items.filters.nearExpiry": "Near expiry",
|
|
692
|
+
"wms.backend.location.items.filters.picking": "Picking",
|
|
693
|
+
"wms.backend.location.items.filters.sellable": "Sellable",
|
|
694
|
+
"wms.backend.location.items.footer.showing": "Showing {shown} of {total} items",
|
|
695
|
+
"wms.backend.location.items.footer.viewAll": "View all items →",
|
|
696
|
+
"wms.backend.location.items.status.available": "Available",
|
|
697
|
+
"wms.backend.location.items.status.expired": "Expired",
|
|
698
|
+
"wms.backend.location.items.status.lowStock": "Low stock",
|
|
699
|
+
"wms.backend.location.items.status.nearExpiry": "Near expiry",
|
|
700
|
+
"wms.backend.location.items.status.reserved": "Reserved",
|
|
701
|
+
"wms.backend.location.items.title": "Items in this location",
|
|
702
|
+
"wms.backend.location.kpis.activeLots.badge": "{count} lots",
|
|
703
|
+
"wms.backend.location.kpis.activeLots.caption": "Lots with on-hand quantity",
|
|
704
|
+
"wms.backend.location.kpis.activeLots.cta": "View items",
|
|
705
|
+
"wms.backend.location.kpis.activeLots.title": "Active lots",
|
|
706
|
+
"wms.backend.location.kpis.capacityUsed.badgeHigh": "Near limit",
|
|
707
|
+
"wms.backend.location.kpis.capacityUsed.badgeOk": "Within capacity",
|
|
708
|
+
"wms.backend.location.kpis.capacityUsed.caption": "On hand vs location capacity",
|
|
709
|
+
"wms.backend.location.kpis.capacityUsed.cta": "Edit location",
|
|
710
|
+
"wms.backend.location.kpis.capacityUsed.title": "Capacity used",
|
|
711
|
+
"wms.backend.location.kpis.lastCounted.badgeNever": "Never",
|
|
712
|
+
"wms.backend.location.kpis.lastCounted.badgeRecent": "Recent",
|
|
713
|
+
"wms.backend.location.kpis.lastCounted.badgeStale": "Due soon",
|
|
714
|
+
"wms.backend.location.kpis.lastCounted.caption": "Most recent cycle count",
|
|
715
|
+
"wms.backend.location.kpis.lastCounted.cta": "Start cycle count",
|
|
716
|
+
"wms.backend.location.kpis.lastCounted.daysAgo": "{days}d ago",
|
|
717
|
+
"wms.backend.location.kpis.lastCounted.title": "Last counted",
|
|
718
|
+
"wms.backend.location.kpis.lastCounted.today": "Today",
|
|
719
|
+
"wms.backend.location.kpis.pendingPicks.badge": "{count} units",
|
|
720
|
+
"wms.backend.location.kpis.pendingPicks.caption": "Reserved and allocated units",
|
|
721
|
+
"wms.backend.location.kpis.pendingPicks.cta": "View reservations",
|
|
722
|
+
"wms.backend.location.kpis.pendingPicks.title": "Pending picks",
|
|
723
|
+
"wms.backend.location.kpis.skusOccupied.badge": "{count} active",
|
|
724
|
+
"wms.backend.location.kpis.skusOccupied.caption": "Distinct variants with stock",
|
|
725
|
+
"wms.backend.location.kpis.skusOccupied.cta": "View items",
|
|
726
|
+
"wms.backend.location.kpis.skusOccupied.title": "SKUs occupied",
|
|
727
|
+
"wms.backend.location.loading": "Loading location view…",
|
|
728
|
+
"wms.backend.location.quickActions.adjust": "Adjust inventory",
|
|
729
|
+
"wms.backend.location.quickActions.cycleCount": "Cycle count",
|
|
730
|
+
"wms.backend.location.quickActions.description": "Run common inventory actions without leaving this location view",
|
|
731
|
+
"wms.backend.location.quickActions.move": "Move stock",
|
|
732
|
+
"wms.backend.location.quickActions.openLedger": "Open ledger",
|
|
733
|
+
"wms.backend.location.quickActions.title": "Quick actions",
|
|
734
|
+
"wms.backend.location.types.aisle": "Aisle",
|
|
735
|
+
"wms.backend.location.types.bin": "Bin",
|
|
736
|
+
"wms.backend.location.types.dock": "Dock",
|
|
737
|
+
"wms.backend.location.types.rack": "Rack",
|
|
738
|
+
"wms.backend.location.types.slot": "Slot",
|
|
739
|
+
"wms.backend.location.types.staging": "Staging",
|
|
740
|
+
"wms.backend.location.types.zone": "Zone",
|
|
741
|
+
"wms.backend.locations.nav.title": "Locations",
|
|
742
|
+
"wms.backend.lot.actions.adjust": "Adjust stock",
|
|
743
|
+
"wms.backend.lot.actions.backToLots": "Back to lots",
|
|
744
|
+
"wms.backend.lot.activity.columns.details": "Details",
|
|
745
|
+
"wms.backend.lot.activity.columns.event": "Event",
|
|
746
|
+
"wms.backend.lot.activity.columns.location": "Location",
|
|
747
|
+
"wms.backend.lot.activity.columns.time": "Time",
|
|
748
|
+
"wms.backend.lot.activity.empty": "No recent movements for this lot.",
|
|
749
|
+
"wms.backend.lot.activity.title": "Recent activity",
|
|
750
|
+
"wms.backend.lot.activity.titles.adjusted": "Adjusted {quantity}× {lot}",
|
|
751
|
+
"wms.backend.lot.activity.titles.allocated": "Allocated {quantity}× {lot}",
|
|
752
|
+
"wms.backend.lot.activity.titles.generic": "{type} {quantity}× {lot}",
|
|
753
|
+
"wms.backend.lot.activity.titles.moved": "Moved {quantity}× {lot}",
|
|
754
|
+
"wms.backend.lot.activity.titles.received": "Received {quantity}× {lot}",
|
|
755
|
+
"wms.backend.lot.activity.titles.reconciled": "Cycle count of {lot}",
|
|
756
|
+
"wms.backend.lot.activity.types.adjust": "Adjust",
|
|
757
|
+
"wms.backend.lot.activity.types.cycle_count": "Reconcile",
|
|
758
|
+
"wms.backend.lot.activity.types.pack": "Allocate",
|
|
759
|
+
"wms.backend.lot.activity.types.pick": "Allocate",
|
|
760
|
+
"wms.backend.lot.activity.types.putaway": "Putaway",
|
|
761
|
+
"wms.backend.lot.activity.types.receipt": "Receive",
|
|
762
|
+
"wms.backend.lot.activity.types.return_receive": "Receive",
|
|
763
|
+
"wms.backend.lot.activity.types.ship": "Ship",
|
|
764
|
+
"wms.backend.lot.activity.types.transfer": "Move",
|
|
765
|
+
"wms.backend.lot.activity.viewAll": "View all movements →",
|
|
766
|
+
"wms.backend.lot.changeStatus.dialog.description": "Update the quality/hold state for this lot. The change is recorded immediately.",
|
|
767
|
+
"wms.backend.lot.changeStatus.dialog.title": "Change lot status",
|
|
768
|
+
"wms.backend.lot.changeStatus.errors.submit": "Failed to update lot status.",
|
|
769
|
+
"wms.backend.lot.changeStatus.flash.success": "Lot status updated",
|
|
770
|
+
"wms.backend.lot.changeStatus.form.cancel": "Cancel",
|
|
771
|
+
"wms.backend.lot.changeStatus.form.notes": "Notes",
|
|
772
|
+
"wms.backend.lot.changeStatus.form.notesPlaceholder": "Optional reason for the status change",
|
|
773
|
+
"wms.backend.lot.changeStatus.form.shortcut": "to save",
|
|
774
|
+
"wms.backend.lot.changeStatus.form.status": "New status",
|
|
775
|
+
"wms.backend.lot.changeStatus.form.submit": "Update status",
|
|
776
|
+
"wms.backend.lot.changeStatus.form.submitting": "Saving…",
|
|
777
|
+
"wms.backend.lot.detail.breadcrumb": "Lot",
|
|
778
|
+
"wms.backend.lot.detail.pageTitle": "Lot detail",
|
|
779
|
+
"wms.backend.lot.distribution.actions.adjustSelected": "Adjust selected ({count})",
|
|
780
|
+
"wms.backend.lot.distribution.actions.cycleCountZone": "Cycle count zone",
|
|
781
|
+
"wms.backend.lot.distribution.actions.exportCsv": "Export CSV",
|
|
782
|
+
"wms.backend.lot.distribution.columns.lastMove": "Last move",
|
|
783
|
+
"wms.backend.lot.distribution.columns.location": "Location",
|
|
784
|
+
"wms.backend.lot.distribution.columns.onHand": "On hand",
|
|
785
|
+
"wms.backend.lot.distribution.columns.reserved": "Reserved",
|
|
786
|
+
"wms.backend.lot.distribution.columns.select": "Select",
|
|
787
|
+
"wms.backend.lot.distribution.columns.status": "Status",
|
|
788
|
+
"wms.backend.lot.distribution.columns.warehouse": "Warehouse",
|
|
789
|
+
"wms.backend.lot.distribution.empty.description": "Try another filter or post inventory through receipts or adjustments.",
|
|
790
|
+
"wms.backend.lot.distribution.empty.title": "No locations in this view",
|
|
791
|
+
"wms.backend.lot.distribution.filters.all": "All locations",
|
|
792
|
+
"wms.backend.lot.distribution.filters.nearExpiry": "Near expiry",
|
|
793
|
+
"wms.backend.lot.distribution.filters.picking": "Picking",
|
|
794
|
+
"wms.backend.lot.distribution.filters.sellable": "Sellable",
|
|
795
|
+
"wms.backend.lot.distribution.footer.openLedger": "Open ledger for this lot →",
|
|
796
|
+
"wms.backend.lot.distribution.footer.showing": "Showing {shown} of {total} locations",
|
|
797
|
+
"wms.backend.lot.distribution.lastMove.daysAgo": "{days} days ago",
|
|
798
|
+
"wms.backend.lot.distribution.lastMove.today": "{time} today",
|
|
799
|
+
"wms.backend.lot.distribution.lastMove.yesterday": "Yesterday",
|
|
800
|
+
"wms.backend.lot.distribution.status.available": "Available",
|
|
801
|
+
"wms.backend.lot.distribution.status.expired": "Expired",
|
|
802
|
+
"wms.backend.lot.distribution.status.lowStock": "Low stock",
|
|
803
|
+
"wms.backend.lot.distribution.status.nearExpiry": "Near expiry",
|
|
804
|
+
"wms.backend.lot.distribution.status.reserved": "Reserved",
|
|
805
|
+
"wms.backend.lot.distribution.title": "Where this lot lives",
|
|
806
|
+
"wms.backend.lot.errors.balances": "Failed to load lot locations.",
|
|
807
|
+
"wms.backend.lot.errors.invalidId": "Invalid lot identifier.",
|
|
808
|
+
"wms.backend.lot.errors.load": "Failed to load lot view.",
|
|
809
|
+
"wms.backend.lot.errors.lot": "Failed to load lot.",
|
|
810
|
+
"wms.backend.lot.errors.movements": "Failed to load recent activity.",
|
|
811
|
+
"wms.backend.lot.errors.notFound": "Lot not found.",
|
|
812
|
+
"wms.backend.lot.errors.profile": "Failed to load inventory profile.",
|
|
813
|
+
"wms.backend.lot.errors.variant": "Failed to load SKU.",
|
|
814
|
+
"wms.backend.lot.errors.warehouses": "Failed to load warehouses.",
|
|
815
|
+
"wms.backend.lot.filters.allWarehouses": "All warehouses",
|
|
816
|
+
"wms.backend.lot.header.daysRemaining": "{days} days remaining",
|
|
817
|
+
"wms.backend.lot.header.expires": "Exp {date}",
|
|
818
|
+
"wms.backend.lot.header.received": "Received {date}",
|
|
819
|
+
"wms.backend.lot.kpis.daysToExpiry.badgeOk": "Within window",
|
|
820
|
+
"wms.backend.lot.kpis.daysToExpiry.badgeSoon": "Expiring soon",
|
|
821
|
+
"wms.backend.lot.kpis.daysToExpiry.caption": "Until expiration date",
|
|
822
|
+
"wms.backend.lot.kpis.daysToExpiry.cta": "View SKU profile",
|
|
823
|
+
"wms.backend.lot.kpis.daysToExpiry.title": "Days to expiry",
|
|
824
|
+
"wms.backend.lot.kpis.lotAge.badgeAged": "Aged stock",
|
|
825
|
+
"wms.backend.lot.kpis.lotAge.badgeFresh": "Fresh lot",
|
|
826
|
+
"wms.backend.lot.kpis.lotAge.caption": "Since lot was created",
|
|
827
|
+
"wms.backend.lot.kpis.lotAge.cta": "View movements",
|
|
828
|
+
"wms.backend.lot.kpis.lotAge.title": "Lot age",
|
|
829
|
+
"wms.backend.lot.kpis.lotAge.value": "{days}d",
|
|
830
|
+
"wms.backend.lot.kpis.onHand.badge": "{count} units",
|
|
831
|
+
"wms.backend.lot.kpis.onHand.caption": "Physical quantity for this lot",
|
|
832
|
+
"wms.backend.lot.kpis.onHand.cta": "View locations",
|
|
833
|
+
"wms.backend.lot.kpis.onHand.title": "Total on hand",
|
|
834
|
+
"wms.backend.lot.kpis.qualityStatus.caption": "Lot hold and QC state",
|
|
835
|
+
"wms.backend.lot.kpis.qualityStatus.cta": "Change status",
|
|
836
|
+
"wms.backend.lot.kpis.qualityStatus.notesCaption": "Note: {notes}",
|
|
837
|
+
"wms.backend.lot.kpis.qualityStatus.title": "Quality status",
|
|
838
|
+
"wms.backend.lot.kpis.reserved.badge": "{count} units held",
|
|
839
|
+
"wms.backend.lot.kpis.reserved.caption": "Committed from this lot",
|
|
840
|
+
"wms.backend.lot.kpis.reserved.cta": "View reservations",
|
|
841
|
+
"wms.backend.lot.kpis.reserved.title": "Reserved",
|
|
842
|
+
"wms.backend.lot.loading": "Loading lot view…",
|
|
843
|
+
"wms.backend.lot.quickActions.adjust": "Adjust inventory",
|
|
844
|
+
"wms.backend.lot.quickActions.cycleCount": "Cycle count",
|
|
845
|
+
"wms.backend.lot.quickActions.description": "Run common inventory actions without leaving this lot view",
|
|
846
|
+
"wms.backend.lot.quickActions.move": "Move stock",
|
|
847
|
+
"wms.backend.lot.quickActions.openLedger": "Open ledger",
|
|
848
|
+
"wms.backend.lot.quickActions.title": "Quick actions",
|
|
849
|
+
"wms.backend.lot.status.available": "Available",
|
|
850
|
+
"wms.backend.lot.status.expired": "Expired",
|
|
851
|
+
"wms.backend.lot.status.hold": "On hold",
|
|
852
|
+
"wms.backend.lot.status.nearExpiry": "Near expiry",
|
|
853
|
+
"wms.backend.lot.status.quarantine": "Quarantine",
|
|
854
|
+
"wms.backend.lots.actions.changeStatus": "Change status",
|
|
855
|
+
"wms.backend.lots.actions.move": "Move",
|
|
856
|
+
"wms.backend.lots.columns.expiresAt": "Expires",
|
|
857
|
+
"wms.backend.lots.columns.lotNumber": "Lot number",
|
|
858
|
+
"wms.backend.lots.columns.sku": "SKU",
|
|
859
|
+
"wms.backend.lots.columns.status": "Status",
|
|
860
|
+
"wms.backend.lots.description.all": "Browse lot and batch records with expiry context.",
|
|
861
|
+
"wms.backend.lots.description.expiringSoon": "Lots expiring within the next 30 days in the selected warehouse scope.",
|
|
862
|
+
"wms.backend.lots.description.pastDue": "Lots past their expiry date with on-hand stock in the selected warehouse scope.",
|
|
863
|
+
"wms.backend.lots.empty.description": "Adjust filters or create lots through inventory operations.",
|
|
864
|
+
"wms.backend.lots.empty.importCsv": "Import CSV",
|
|
865
|
+
"wms.backend.lots.empty.receive": "Receive stock",
|
|
866
|
+
"wms.backend.lots.empty.title": "No lots found",
|
|
867
|
+
"wms.backend.lots.errors.load": "Failed to load lots.",
|
|
868
|
+
"wms.backend.lots.loading": "Loading lots…",
|
|
869
|
+
"wms.backend.lots.nav.title": "Lots",
|
|
870
|
+
"wms.backend.lots.search": "Search lots",
|
|
871
|
+
"wms.backend.lots.title.all": "Inventory lots",
|
|
872
|
+
"wms.backend.lots.title.expiringSoon": "Lots expiring soon",
|
|
873
|
+
"wms.backend.lots.title.pastDue": "Past-due lots",
|
|
874
|
+
"wms.backend.movements.nav.title": "Movements",
|
|
875
|
+
"wms.backend.nav.title": "WMS",
|
|
876
|
+
"wms.backend.reservations.nav.title": "Reservations",
|
|
877
|
+
"wms.backend.sku.actions.adjust": "Adjust stock",
|
|
878
|
+
"wms.backend.sku.actions.backToInventory": "Back to inventory",
|
|
879
|
+
"wms.backend.sku.activity.columns.details": "Details",
|
|
880
|
+
"wms.backend.sku.activity.columns.event": "Event",
|
|
881
|
+
"wms.backend.sku.activity.columns.location": "Location",
|
|
882
|
+
"wms.backend.sku.activity.columns.time": "Time",
|
|
883
|
+
"wms.backend.sku.activity.empty": "No recent movements for this SKU.",
|
|
884
|
+
"wms.backend.sku.activity.title": "Recent activity",
|
|
885
|
+
"wms.backend.sku.activity.types.adjust": "Adjust",
|
|
886
|
+
"wms.backend.sku.activity.types.cycle_count": "Reconcile",
|
|
887
|
+
"wms.backend.sku.activity.types.pack": "Allocate",
|
|
888
|
+
"wms.backend.sku.activity.types.pick": "Allocate",
|
|
889
|
+
"wms.backend.sku.activity.types.putaway": "Putaway",
|
|
890
|
+
"wms.backend.sku.activity.types.receipt": "Receive",
|
|
891
|
+
"wms.backend.sku.activity.types.return_receive": "Receive",
|
|
892
|
+
"wms.backend.sku.activity.types.ship": "Ship",
|
|
893
|
+
"wms.backend.sku.activity.types.transfer": "Move",
|
|
894
|
+
"wms.backend.sku.activity.viewAll": "View all movements →",
|
|
895
|
+
"wms.backend.sku.detail.breadcrumb": "SKU",
|
|
896
|
+
"wms.backend.sku.detail.pageTitle": "SKU detail",
|
|
897
|
+
"wms.backend.sku.distribution.actions.adjustSelected": "Adjust selected ({count})",
|
|
898
|
+
"wms.backend.sku.distribution.actions.cycleCountZone": "Cycle count zone",
|
|
899
|
+
"wms.backend.sku.distribution.actions.exportCsv": "Export CSV",
|
|
900
|
+
"wms.backend.sku.distribution.columns.location": "Location",
|
|
901
|
+
"wms.backend.sku.distribution.columns.lot": "Lot",
|
|
902
|
+
"wms.backend.sku.distribution.columns.onHand": "On hand",
|
|
903
|
+
"wms.backend.sku.distribution.columns.reserved": "Reserved",
|
|
904
|
+
"wms.backend.sku.distribution.columns.select": "Select",
|
|
905
|
+
"wms.backend.sku.distribution.columns.status": "Status",
|
|
906
|
+
"wms.backend.sku.distribution.columns.warehouse": "Warehouse",
|
|
907
|
+
"wms.backend.sku.distribution.empty.description": "Try another filter or post inventory through receipts or adjustments.",
|
|
908
|
+
"wms.backend.sku.distribution.empty.title": "No locations in this view",
|
|
909
|
+
"wms.backend.sku.distribution.filters.all": "All bins",
|
|
910
|
+
"wms.backend.sku.distribution.filters.nearExpiry": "Near expiry",
|
|
911
|
+
"wms.backend.sku.distribution.filters.picking": "Picking",
|
|
912
|
+
"wms.backend.sku.distribution.filters.sellable": "Sellable",
|
|
913
|
+
"wms.backend.sku.distribution.footer.showing": "Showing {shown} of {total} locations",
|
|
914
|
+
"wms.backend.sku.distribution.footer.viewAll": "View all locations →",
|
|
915
|
+
"wms.backend.sku.distribution.status.available": "Available",
|
|
916
|
+
"wms.backend.sku.distribution.status.expired": "Expired",
|
|
917
|
+
"wms.backend.sku.distribution.status.lowStock": "Low stock",
|
|
918
|
+
"wms.backend.sku.distribution.status.nearExpiry": "Near expiry",
|
|
919
|
+
"wms.backend.sku.distribution.status.reserved": "Reserved",
|
|
920
|
+
"wms.backend.sku.distribution.title": "Stock distribution",
|
|
921
|
+
"wms.backend.sku.errors.balances": "Failed to load stock distribution.",
|
|
922
|
+
"wms.backend.sku.errors.invalidId": "Invalid SKU identifier.",
|
|
923
|
+
"wms.backend.sku.errors.load": "Failed to load SKU view.",
|
|
924
|
+
"wms.backend.sku.errors.lots": "Failed to load lots.",
|
|
925
|
+
"wms.backend.sku.errors.movements": "Failed to load recent activity.",
|
|
926
|
+
"wms.backend.sku.errors.notFound": "SKU not found.",
|
|
927
|
+
"wms.backend.sku.errors.profile": "Failed to load inventory profile.",
|
|
928
|
+
"wms.backend.sku.errors.variant": "Failed to load SKU.",
|
|
929
|
+
"wms.backend.sku.errors.warehouses": "Failed to load warehouses.",
|
|
930
|
+
"wms.backend.sku.filters.allWarehouses": "All warehouses",
|
|
931
|
+
"wms.backend.sku.header.active": "Active",
|
|
932
|
+
"wms.backend.sku.header.inactive": "Inactive",
|
|
933
|
+
"wms.backend.sku.header.since": "SKU since {date}",
|
|
934
|
+
"wms.backend.sku.kpis.available.badge": "Sellable",
|
|
935
|
+
"wms.backend.sku.kpis.available.badgeEmpty": "None",
|
|
936
|
+
"wms.backend.sku.kpis.available.caption": "Ready to allocate",
|
|
937
|
+
"wms.backend.sku.kpis.available.cta": "Adjust stock",
|
|
938
|
+
"wms.backend.sku.kpis.available.title": "Available",
|
|
939
|
+
"wms.backend.sku.kpis.daysOfSupply.badgeShort": "Short runway",
|
|
940
|
+
"wms.backend.sku.kpis.daysOfSupply.caption": "Based on last {days} days outbound",
|
|
941
|
+
"wms.backend.sku.kpis.daysOfSupply.cta": "View movements",
|
|
942
|
+
"wms.backend.sku.kpis.daysOfSupply.title": "Days of supply",
|
|
943
|
+
"wms.backend.sku.kpis.onHand.badgeLow": "Below reorder",
|
|
944
|
+
"wms.backend.sku.kpis.onHand.caption": "Total physical quantity",
|
|
945
|
+
"wms.backend.sku.kpis.onHand.cta": "View distribution",
|
|
946
|
+
"wms.backend.sku.kpis.onHand.title": "On hand",
|
|
947
|
+
"wms.backend.sku.kpis.reorderPoint.badgeSafety": "Safety {count}",
|
|
948
|
+
"wms.backend.sku.kpis.reorderPoint.caption": "From inventory profile",
|
|
949
|
+
"wms.backend.sku.kpis.reorderPoint.cta": "Edit profile",
|
|
950
|
+
"wms.backend.sku.kpis.reorderPoint.title": "Reorder point",
|
|
951
|
+
"wms.backend.sku.kpis.reserved.badge": "{count} units held",
|
|
952
|
+
"wms.backend.sku.kpis.reserved.caption": "Committed to orders",
|
|
953
|
+
"wms.backend.sku.kpis.reserved.cta": "View reservations",
|
|
954
|
+
"wms.backend.sku.kpis.reserved.title": "Reserved",
|
|
955
|
+
"wms.backend.sku.loading": "Loading SKU view…",
|
|
956
|
+
"wms.backend.sku.quickActions.adjust": "Adjust inventory",
|
|
957
|
+
"wms.backend.sku.quickActions.cycleCount": "Cycle count",
|
|
958
|
+
"wms.backend.sku.quickActions.description": "Run common inventory actions without leaving this SKU view",
|
|
959
|
+
"wms.backend.sku.quickActions.move": "Move stock",
|
|
960
|
+
"wms.backend.sku.quickActions.openLedger": "Open ledger",
|
|
961
|
+
"wms.backend.sku.quickActions.receive": "Receive stock",
|
|
962
|
+
"wms.backend.sku.quickActions.title": "Quick actions",
|
|
963
|
+
"wms.backend.warehouses.nav.title": "Warehouses",
|
|
964
|
+
"wms.backend.zones.nav.title": "Zones",
|
|
965
|
+
"wms.common.active": "Active",
|
|
966
|
+
"wms.common.inactive": "Inactive",
|
|
967
|
+
"wms.errors.forbidden": "Forbidden",
|
|
968
|
+
"wms.errors.forbidden.adjustInventory": "You don't have permission to adjust or move inventory.",
|
|
969
|
+
"wms.errors.forbidden.cycleCount": "You don't have permission to run cycle counts.",
|
|
970
|
+
"wms.errors.forbidden.import": "You don't have permission to import inventory.",
|
|
971
|
+
"wms.errors.forbidden.manageInventory": "You don't have permission to manage inventory profiles.",
|
|
972
|
+
"wms.errors.forbidden.manageLocations": "You don't have permission to manage warehouse locations.",
|
|
973
|
+
"wms.errors.forbidden.manageReservations": "You don't have permission to manage inventory reservations.",
|
|
974
|
+
"wms.errors.forbidden.manageWarehouses": "You don't have permission to manage warehouses.",
|
|
975
|
+
"wms.errors.forbidden.manageZones": "You don't have permission to manage warehouse zones.",
|
|
976
|
+
"wms.errors.forbidden.receiveInventory": "You don't have permission to receive inbound inventory.",
|
|
977
|
+
"wms.errors.internalServerError": "Internal server error",
|
|
978
|
+
"wms.errors.unauthorized": "Unauthorized",
|
|
979
|
+
"wms.nav.group": "WMS",
|
|
980
|
+
"wms.notifications.lowStock.body": "Low stock alert — available: {availableQuantity}, reorder point: {reorderPoint}, safety stock: {safetyStock}",
|
|
981
|
+
"wms.notifications.lowStock.renderer.available": "Available",
|
|
982
|
+
"wms.notifications.lowStock.renderer.belowReorderPoint": "Below reorder point",
|
|
983
|
+
"wms.notifications.lowStock.renderer.belowSafetyStock": "Below safety stock",
|
|
984
|
+
"wms.notifications.lowStock.renderer.reorderPoint": "Reorder",
|
|
985
|
+
"wms.notifications.lowStock.renderer.viewInventory": "View Inventory",
|
|
986
|
+
"wms.notifications.lowStock.renderer.viewSku": "View SKU",
|
|
987
|
+
"wms.notifications.lowStock.title": "Low Stock Alert",
|
|
988
|
+
"wms.notifications.reservationShortfall.body": "Order {orderNumber} could not be fully reserved — {shortfallSku} short by {shortfallQuantity} ({shortfallCount} line(s)).",
|
|
989
|
+
"wms.notifications.reservationShortfall.renderer.lines": "Lines with shortfall",
|
|
990
|
+
"wms.notifications.reservationShortfall.renderer.order": "Order",
|
|
991
|
+
"wms.notifications.reservationShortfall.renderer.shortQty": "Short {quantity}",
|
|
992
|
+
"wms.notifications.reservationShortfall.renderer.sku": "SKU",
|
|
993
|
+
"wms.notifications.reservationShortfall.renderer.viewInventory": "View inventory",
|
|
994
|
+
"wms.notifications.reservationShortfall.renderer.viewOrder": "View order",
|
|
995
|
+
"wms.notifications.reservationShortfall.renderer.viewReservations": "View Reservations",
|
|
996
|
+
"wms.notifications.reservationShortfall.title": "Reservation Shortfall",
|
|
997
|
+
"wms.search.badge.inventoryProfile": "Inventory profile",
|
|
998
|
+
"wms.search.badge.location": "Location",
|
|
999
|
+
"wms.search.badge.lot": "Inventory lot",
|
|
1000
|
+
"wms.search.badge.warehouse": "Warehouse",
|
|
1001
|
+
"wms.search.profile.productScoped": "Product-scoped",
|
|
1002
|
+
"wms.search.profile.variantScoped": "Variant-scoped",
|
|
1003
|
+
"wms.validation.warehouse.inactivePrimary": "Inactive warehouses cannot be marked as primary.",
|
|
1004
|
+
"wms.validation.warehouse.primaryConflict": "Another warehouse was just set as primary for this organization. Please retry.",
|
|
1005
|
+
"wms.widgets.catalog.inventoryProfile.defaultStrategy": "Rotation strategy",
|
|
1006
|
+
"wms.widgets.catalog.inventoryProfile.defaultUom": "Default UOM",
|
|
1007
|
+
"wms.widgets.catalog.inventoryProfile.errors.defaultUomRequired": "Provide a default UOM for the WMS inventory profile.",
|
|
1008
|
+
"wms.widgets.catalog.inventoryProfile.errors.fefoRequired": "FEFO is required when expiration tracking is enabled.",
|
|
1009
|
+
"wms.widgets.catalog.inventoryProfile.errors.nonNegative": "Use a non-negative quantity.",
|
|
1010
|
+
"wms.widgets.catalog.inventoryProfile.errors.strategyRequired": "Select a WMS rotation strategy.",
|
|
1011
|
+
"wms.widgets.catalog.inventoryProfile.groupDescription": "Configure WMS-owned tracking rules and replenishment thresholds for this catalog record.",
|
|
1012
|
+
"wms.widgets.catalog.inventoryProfile.groupLabel": "Inventory profile",
|
|
1013
|
+
"wms.widgets.catalog.inventoryProfile.manageInventory": "Manage inventory with WMS",
|
|
1014
|
+
"wms.widgets.catalog.inventoryProfile.reorderPoint": "Reorder point",
|
|
1015
|
+
"wms.widgets.catalog.inventoryProfile.safetyStock": "Safety stock",
|
|
1016
|
+
"wms.widgets.catalog.inventoryProfile.strategy.fefo": "FEFO",
|
|
1017
|
+
"wms.widgets.catalog.inventoryProfile.strategy.fifo": "FIFO",
|
|
1018
|
+
"wms.widgets.catalog.inventoryProfile.strategy.lifo": "LIFO",
|
|
1019
|
+
"wms.widgets.catalog.inventoryProfile.trackExpiration": "Track expiration",
|
|
1020
|
+
"wms.widgets.catalog.inventoryProfile.trackLot": "Track lots",
|
|
1021
|
+
"wms.widgets.catalog.inventoryProfile.trackSerial": "Track serials",
|
|
1022
|
+
"wms.widgets.sales.orderItems.stockColumn.available": "avail.",
|
|
1023
|
+
"wms.widgets.sales.orderItems.stockColumn.header": "Warehouse Stock",
|
|
1024
|
+
"wms.widgets.sales.orderItems.stockColumn.loading": "…",
|
|
1025
|
+
"wms.widgets.sales.orderItems.stockColumn.noData": "—",
|
|
1026
|
+
"wms.widgets.sales.orderItems.stockColumn.reserved": "reserved",
|
|
1027
|
+
"wms.widgets.sales.stockContext.actions.inventory": "Open inventory console",
|
|
1028
|
+
"wms.widgets.sales.stockContext.actions.rerunReservation": "Re-run reservation",
|
|
1029
|
+
"wms.widgets.sales.stockContext.actions.reservations": "Open reservations",
|
|
1030
|
+
"wms.widgets.sales.stockContext.assignError": "Could not update warehouse assignment.",
|
|
1031
|
+
"wms.widgets.sales.stockContext.assignSuccess": "Warehouse assignment saved.",
|
|
1032
|
+
"wms.widgets.sales.stockContext.assignedWarehouse": "Assigned warehouse",
|
|
1033
|
+
"wms.widgets.sales.stockContext.available": "Available",
|
|
1034
|
+
"wms.widgets.sales.stockContext.description": "Live reservation and availability summary for this sales order.",
|
|
1035
|
+
"wms.widgets.sales.stockContext.empty": "No WMS stock summary is available for this order yet.",
|
|
1036
|
+
"wms.widgets.sales.stockContext.explicitAssignmentHint": "Explicit assignment overrides reservation-derived warehouse context.",
|
|
1037
|
+
"wms.widgets.sales.stockContext.linesTitle": "Variant availability",
|
|
1038
|
+
"wms.widgets.sales.stockContext.releaseBtn": "Release",
|
|
1039
|
+
"wms.widgets.sales.stockContext.rerunError": "Could not re-run reservation.",
|
|
1040
|
+
"wms.widgets.sales.stockContext.rerunSuccess": "Reservation re-run triggered. Stock context will refresh shortly.",
|
|
1041
|
+
"wms.widgets.sales.stockContext.reservationCount": "Reservation records",
|
|
1042
|
+
"wms.widgets.sales.stockContext.reservationsTitle": "Active reservations",
|
|
1043
|
+
"wms.widgets.sales.stockContext.reserved": "Reserved",
|
|
1044
|
+
"wms.widgets.sales.stockContext.status.fully_reserved": "Fully reserved",
|
|
1045
|
+
"wms.widgets.sales.stockContext.status.partially_reserved": "Partially reserved",
|
|
1046
|
+
"wms.widgets.sales.stockContext.status.unreserved": "Unreserved",
|
|
1047
|
+
"wms.widgets.sales.stockContext.title": "WMS stock context",
|
|
1048
|
+
"wms.widgets.sales.stockContext.unassignSuccess": "Warehouse assignment cleared.",
|
|
1049
|
+
"wms.widgets.sales.stockContext.unassigned": "Not assigned",
|
|
1050
|
+
"wms.widgets.sales.stockContext.warehousePlaceholder": "Select a warehouse"
|
|
1051
|
+
}
|