<?php

return [
    'nav' => [
        'section'     => 'Inventory',
        'levels'      => 'Available Stock',
        'movements'   => 'Stock Activity',
        'reasons'     => 'Adjustment reasons',
        'adjustments' => 'Stock adjustments',
        'low_stock'   => 'Low stock',
    ],

    'low_stock' => [
        'title'  => 'Low stock',
        'sub'    => 'Items at or below their reorder threshold. Sorted by biggest deficit first — the most urgent to restock.',
        'summary' => [
            'below' => 'Below reorder',
            'out'   => 'Out of stock',
        ],
        'list_title' => 'All low-stock items (:count)',
        'filter' => [
            'store_all' => 'All stores',
            'search'    => 'Search by product, SKU, or store…',
        ],
        'columns' => [
            'store'     => 'Store',
            'product'   => 'Product',
            'sku'       => 'SKU',
            'on_hand'   => 'On hand',
            'threshold' => 'Reorder at',
            'deficit'   => 'Deficit',
        ],
        'empty' => [
            'title' => 'Nothing\'s running low',
            'sub'   => 'Items appear here when on-hand drops to or below the reorder threshold you set on Stock levels.',
        ],
        'badges' => [
            'out'   => 'Out of stock',
            'below' => 'Below threshold',
        ],
        'actions' => [
            'export'      => 'Export',
            'export_csv'  => 'CSV',
            'export_xlsx' => 'Excel (XLSX)',
        ],
    ],

    'reasons' => [
        'title' => 'Adjustment reasons',
        'sub'   => 'The "why was stock changed" picklist shown when you post a stock adjustment.',
        'new'   => 'New reason',
        'list'  => [
            'empty' => 'No reasons yet. Add one to populate the adjustment picklist.',
            'title' => 'All reasons',
        ],
        'columns' => [
            'code'       => 'Code',
            'name'       => 'Name',
            'status'     => 'Status',
            'sort_order' => 'Sort',
            'actions'    => 'Actions',
        ],
        'fields' => [
            'code'       => 'Code',
            'code_help'  => 'Identifier used in code and exports. Lowercase, underscores allowed. Example: damaged_in_transit.',
            'name'       => 'Name',
            'sort_order' => 'Sort order',
            'is_active'  => 'Active — show in the adjustment picklist',
        ],
        'badges' => [
            'active'   => 'Active',
            'inactive' => 'Inactive',
        ],
        'editor' => [
            'empty_title' => 'Select a reason',
            'empty_sub'   => 'Pick a row to view its details, or click "New reason" to add one.',
            'edit_title'  => 'Edit reason',
            'edit_id'     => 'ID',
            'edit_updated'=> 'updated',
            'new_title'   => 'New reason',
            'new_sub'     => 'Fill in the details below.',
        ],
        'actions' => [
            'save'     => 'Save reason',
            'saving'   => 'Saving…',
            'create'   => 'Create reason',
            'creating' => 'Creating…',
            'delete'   => 'Delete',
            'discard'  => 'Discard',
            'cancel'   => 'Cancel',
        ],
        'delete' => [
            'title'   => 'Delete reason ":name"?',
            'message' => 'This removes it from future adjustments. History keeps the link.',
        ],
        'flash' => [
            'created' => 'Reason ":name" created.',
            'updated' => 'Reason ":name" updated.',
            'deleted' => 'Reason ":name" deleted.',
        ],
        'errors' => [
            'in_use'           => 'Reason ":name" is used by :count adjustment(s). Deactivate it instead.',
            'sort_order_taken' => 'Another reason already uses this sort order — pick a different number.',
        ],
    ],

    'levels' => [
        'title'  => 'Available Stock',
        'sub'    => 'On-hand quantity per store. Reorder threshold is editable inline; actual stock changes go through an adjustment.',
        'summary' => [
            'items' => 'Items',
            'units' => 'Units in stock',
            'value' => 'Stock value (cost)',
            'out'   => 'Out of stock',
        ],
        'list_title' => 'All items (:count)',
        'filter' => [
            'store_all' => 'All stores',
            'search'    => 'Search by name, SKU, or barcode…',
        ],
        'columns' => [
            'product'   => 'Product',
            'sku'       => 'SKU',
            'store'     => 'Store',
            'quantity'  => 'On hand',
            'reserved'  => 'Reserved',
            'wac'       => 'Avg cost',
            'reorder'   => 'Reorder at',
            'last_move' => 'Last change',
        ],
        'badges' => [
            'low'      => 'Low',
            'negative' => 'Below zero',
        ],
        'empty' => 'No stock recorded yet. Levels appear here after the first adjustment, purchase, or sale.',
        'actions' => [
            'export'      => 'Export',
            'export_csv'  => 'CSV',
            'export_xlsx' => 'Excel (XLSX)',
        ],
        'flash' => [
            'reorder_updated' => 'Reorder threshold updated.',
        ],
    ],

    'adjustments' => [
        'title'        => 'Stock adjustments',
        'sub'          => 'Manually move stock up or down — opening, recount, damaged, expired, lost. Posted documents land in the ledger.',
        'summary' => [
            'count'  => 'Adjustments',
            'posted' => 'Posted',
            'draft'  => 'Draft',
        ],
        'list_title'   => 'All adjustments (:count)',
        'crumb_parent' => 'Inventory',
        'new'          => 'New adjustment',
        'filter' => [
            'store_all'  => 'All stores',
            'status_all' => 'All statuses',
            'date_from'  => 'From',
            'date_to'    => 'To',
            'search'     => 'Search number…',
        ],
        'status' => [
            'draft'  => 'Draft',
            'posted' => 'Posted',
        ],
        'columns' => [
            'number'  => 'Number',
            'date'    => 'Date',
            'store'   => 'Store',
            'reason'  => 'Reason',
            'items'   => 'Items',
            'status'  => 'Status',
            'by'      => 'By',
            'actions' => 'Actions',
        ],
        'fields' => [
            'store'           => 'Store',
            'adjustment_date' => 'Date',
            'reason_code'     => 'Reason',
            'reason_code_ph'  => 'Pick a reason (optional)',
            'reason'          => 'Free-text reason',
            'reason_help'     => 'Optional. Adds detail beyond the picklist.',
            'notes'           => 'Notes',
            'notes_help'      => 'Internal notes — visible on the document only.',
        ],
        'items' => [
            'title'         => 'Line items',
            'sub'           => 'Add the products this adjustment moves. Pick a direction (In or Out) and enter the quantity — no minus signs.',
            'picker'        => 'Add product…',
            'picker_empty'  => 'Search by product name or SKU.',
            'col_product'   => 'Product',
            'col_variant'   => 'Variant',
            'col_sku'       => 'SKU',
            'col_available' => 'Available',
            'col_direction' => 'In / Out',
            'col_qty'       => 'Quantity',
            'col_cost'      => 'Unit cost',
            'col_notes'     => 'Notes',
            'col_remove'    => 'Remove',
            'col_batch'     => 'Batch',
            'batch_add'     => 'Add batch',
            'batch_clear'   => 'Clear batch',
            'batch_loading' => 'Loading…',
            'batch_none'    => 'No batches on hand for this store.',
            'batch_exp'     => 'Exp:',
            'batch_on_hand' => 'on hand',
            'batch_create_new'        => 'Create new batch',
            'batch_new_prefix'        => 'New: ',
            'batch_new_unnamed'       => 'New batch',
            'new_batch_title'         => 'New batch',
            'new_batch_cancel'        => 'Cancel',
            'batch_number_label'      => 'Batch number',
            'batch_number_placeholder'=> 'e.g. LOT-2026-001',
            'manufacture_date'        => 'Mfg. date',
            'expiry_date'             => 'Expiry date',
            'dir_in'        => 'In',
            'dir_out'       => 'Out',
            'qty_help'      => 'Always a positive number. Use the In / Out buttons to set the direction.',
            'cost_help'     => 'Optional. Used for weighted-average cost on stock-in lines.',
            'empty'         => 'No items yet. Use the search above to add a product.',
            'total_in'      => 'Total Stock In',
            'total_out'     => 'Total Stock Out',
            'total_net'     => 'Net change',
        ],
        'actions' => [
            'save_draft'   => 'Save draft',
            'update_draft' => 'Update draft',
            'post'         => 'Post adjustment',
            'discard'      => 'Discard',
            'cancel'       => 'Cancel',
            'edit'         => 'Edit',
            'delete'       => 'Delete',
            'view'         => 'View',
            'export'       => 'Export',
            'export_csv'   => 'CSV',
            'export_xlsx'  => 'Excel (XLSX)',
        ],
        'view' => [
            'header'    => 'Adjustment :number',
            'posted_at' => 'Posted :when',
            'draft_sub' => 'Not yet posted — items haven\'t hit the ledger.',
        ],
        'confirm_post' => [
            'title'   => 'Post adjustment :number?',
            'message' => 'Posting writes every line to the stock ledger and updates on-hand quantities. This cannot be undone — corrections are made via a new offsetting adjustment.',
            'confirm' => 'Post adjustment',
        ],
        'confirm_delete' => [
            'title'   => 'Delete draft :number?',
            'message' => 'This removes the draft permanently. Posted adjustments cannot be deleted.',
            'confirm' => 'Delete draft',
        ],
        'empty_state' => [
            'title' => 'No adjustments yet',
            'sub'   => 'Create one to move stock — opening counts, recounts, damages, write-offs.',
        ],
        'flash' => [
            'created'     => 'Draft :number created.',
            'updated'     => 'Draft :number updated.',
            'posted'      => 'Adjustment :number posted to the ledger.',
            'deleted'     => 'Adjustment :number deleted.',
            'post_failed' => 'Could not post: :error',
        ],
        'errors' => [
            'items_required'    => 'Add at least one line item.',
            'quantity_zero'     => 'Quantity cannot be zero.',
            'new_batch_in_only' => 'A new batch can only be created on an "In" line.',
        ],
    ],

    'transfers' => [
        'title'        => 'Stock transfers',
        'sub'          => 'Move stock between stores. Draft → Dispatch (stock leaves source) → Receive (stock arrives at destination).',
        'summary' => [
            'count'      => 'Transfers',
            'in_transit' => 'In transit',
            'received'   => 'Received',
        ],
        'list_title'   => 'All transfers (:count)',
        'crumb_parent' => 'Inventory',
        'new'          => 'New transfer',
        'filter' => [
            'from_store_all' => 'All source stores',
            'to_store_all'   => 'All destination stores',
            'status_all'     => 'All statuses',
            'date_from'      => 'From',
            'date_to'        => 'To',
            'search'         => 'Search number…',
        ],
        'status' => [
            'draft'      => 'Draft',
            'in_transit' => 'In transit',
            'received'   => 'Received',
            'cancelled'  => 'Cancelled',
        ],
        'columns' => [
            'number'        => 'Number',
            'date'          => 'Date',
            'from_store'    => 'From',
            'to_store'      => 'To',
            'items'         => 'Items',
            'status'        => 'Status',
            'by'            => 'By',
            'actions'       => 'Actions',
        ],
        'fields' => [
            'from_store'            => 'From store',
            'to_store'              => 'To store',
            'transfer_date'         => 'Transfer date',
            'expected_arrival_date' => 'Expected arrival',
            'expected_arrival_help' => 'Optional. The date the receiving store expects the goods to arrive.',
            'notes'                 => 'Notes',
            'notes_help'            => 'Internal notes — visible on the transfer document only.',
        ],
        'items' => [
            'title'       => 'Items',
            'sub'         => 'Products to transfer. Quantities are deducted from the source store when dispatched.',
            'picker'      => 'Add product…',
            'picker_empty'=> 'Search by product name or SKU.',
            'col_product' => 'Product',
            'col_qty'     => 'Quantity',
            'col_cost'    => 'Unit cost',
            'col_received'=> 'Received qty',
            'col_returned'=> 'Returned to source',
            'returned_note' => 'Quantities dispatched but not received were returned to :store.',
            'col_remove'  => 'Remove',
            'cost_help'   => 'Optional. Used for weighted-average cost calculation on stock-in.',
            'empty'           => 'No items yet. Use the search above to add a product.',
            'total_items'     => 'Total products',
            'total_qty'       => 'Total quantity',
            'checking_stock'  => 'Checking…',
            'on_hand'         => 'On hand',
            'only_available'  => 'Only',
        ],
        'receive' => [
            'title'    => 'Enter received quantities',
            'sub'      => 'Enter how much was actually received for each item. Quantities go into the destination store.',
            'qty_help' => 'Leave as-is to receive the full requested quantity.',
        ],
        'actions' => [
            'save_draft'   => 'Save draft',
            'update_draft' => 'Update draft',
            'dispatch'     => 'Dispatch',
            'receive'      => 'Mark as received',
            'cancel'       => 'Cancel transfer',
            'delete'       => 'Delete',
            'edit'         => 'Edit',
            'view'         => 'View',
            'discard'      => 'Discard',
            'export'       => 'Export',
            'export_csv'   => 'CSV',
            'export_xlsx'  => 'Excel (XLSX)',
        ],
        'view' => [
            'header'       => 'Transfer :number',
            'draft_sub'    => 'Draft — stock hasn\'t moved yet.',
            'transit_sub'  => 'In transit — stock deducted from :from, not yet received at :to.',
            'received_sub' => 'Received on :date.',
            'cancelled_sub'=> 'Cancelled.',
        ],
        'confirm_dispatch' => [
            'title'   => 'Dispatch transfer :number?',
            'message' => 'Dispatching deducts the requested quantities from :from and marks the transfer as in transit. This cannot be undone — cancel to reverse.',
            'confirm' => 'Dispatch',
        ],
        'confirm_cancel' => [
            'title'   => 'Cancel transfer :number?',
            'message_draft'   => 'This removes the draft permanently.',
            'message_transit' => 'Cancelling will reverse the stock deduction from :from. The destination store receives nothing.',
            'confirm' => 'Cancel transfer',
        ],
        'confirm_delete' => [
            'title'   => 'Delete draft :number?',
            'message' => 'This permanently deletes the draft. Posted transfers cannot be deleted.',
            'confirm' => 'Delete draft',
        ],
        'empty_state' => [
            'title' => 'No transfers yet',
            'sub'   => 'Create one to move stock between stores.',
        ],
        'flash' => [
            'created'         => 'Transfer :number created.',
            'updated'         => 'Transfer :number updated.',
            'dispatched'      => 'Transfer :number dispatched — stock deducted from source store.',
            'received'        => 'Transfer :number received — stock added to destination store.',
            'cancelled'       => 'Transfer :number cancelled.',
            'deleted'         => 'Transfer :number deleted.',
            'dispatch_failed' => 'Could not dispatch: :error',
            'receive_failed'  => 'Could not receive: :error',
            'cancel_failed'   => 'Could not cancel: :error',
        ],
        'errors' => [
            'same_store'              => 'Source and destination stores must be different.',
            'items_required'          => 'Add at least one line item.',
            'quantity_zero'           => 'Quantity must be greater than zero.',
            'insufficient_stock'      => 'Insufficient stock in source store',
            'insufficient_stock_item' => ':product — available: :available, requested: :requested',
        ],
    ],

    'movements' => [
        'title'  => 'Stock Activity',
        'sub'    => 'Track every inventory change in one place, including sales, purchases, returns, transfers, and stock adjustments with a complete read-only audit trail.',
        'summary' => [
            'count' => 'Movements',
            'in'    => 'Units in',
            'out'   => 'Units out',
        ],
        'list_title' => 'All movements (:count)',
        'filter' => [
            'store_all'    => 'All stores',
            'type_all'     => 'All types',
            'date_from'    => 'From',
            'date_to'      => 'To',
            'search'       => 'Search product…',
        ],
        'columns' => [
            'when'     => 'When',
            'product'  => 'Product',
            'store'    => 'Store',
            'type'     => 'Type',
            'delta'    => 'Qty',
            'after'    => 'After',
            'unit_cost' => 'Unit cost',
            'reference' => 'Reference',
            'by'       => 'By',
            'notes'    => 'Notes',
        ],
        'types' => [
            'opening'      => 'Opening',
            'adjustment'   => 'Adjustment',
            'sale'         => 'Sale',
            'return'       => 'Return',
            'purchase'     => 'Purchase',
            'transfer_out' => 'Transfer out',
            'transfer_in'  => 'Transfer in',
        ],
        'empty' => 'No movements yet.',
    ],
];
