<?php

return [
    // Module + menu
    'medworkforce_module'   => 'Workforce',
    'workforce'             => 'Workforce',
    'duty_roster'           => 'Duty Roster',
    'shift_templates'       => 'Shift Templates',
    'swap_requests'         => 'Swap Requests',
    'credential_compliance' => 'Credential Compliance',

    // Permissions
    'perm_roster_manage'      => 'Manage duty roster & shift templates',
    'perm_roster_view'        => 'View duty roster',
    'perm_swap_approve'       => 'Approve shift-swap requests',
    'perm_credentials_view'   => 'View credential compliance',
    'perm_credentials_manage' => 'Manage credential reviews',

    // Generic
    'active'    => 'Active',
    'inactive'  => 'Inactive',
    'all'       => 'All',
    'save'      => 'Save',
    'cancel'    => 'Cancel',
    'actions'   => 'Actions',
    'none'      => 'None',
    'yes'       => 'Yes',
    'no'        => 'No',
    'status'    => 'Status',
    'name'      => 'Name',
    'department' => 'Department',
    'location'  => 'Location',
    'staff'     => 'Staff',
    'date'      => 'Date',
    'custom'    => 'Custom',
    'notes'     => 'Notes',
    'add'       => 'Add',
    'clear'     => 'Clear',

    // Shift templates
    'shift_template'      => 'Shift template',
    'template_name'       => 'Name',
    'start_time'          => 'Start',
    'end_time'            => 'End',
    'break_minutes'       => 'Break (min)',
    'night_allowance'     => 'Night allowance',
    'color'               => 'Colour',
    'add_template'        => 'Add shift template',
    'edit_template'       => 'Edit shift template',
    'template_saved'      => 'Shift template saved.',
    'template_deleted'    => 'Shift template deleted.',
    'template_in_use'     => 'This template is used by roster assignments and cannot be deleted.',
    'templates_help'      => 'Reusable shift definitions (Morning / Evening / Night / On-call) painted onto the duty roster. These extend the Essentials HR shifts — they never replace them.',
    'template_hint'       => 'e.g. Morning, Evening, Night, On-call',

    // Duty roster
    'roster_help'          => 'Weekly duty roster. Rows are staff; click a day cell to assign or edit a shift. Use "Bulk assign" to paint a template across staff and a date range.',
    'week_of'              => 'Week of :date',
    'prev_week'            => 'Previous',
    'next_week'            => 'Next',
    'this_week'            => 'This week',
    'filter'               => 'Filter',
    'apply'                => 'Apply',
    'bulk_assign'          => 'Bulk assign',
    'assign_shift'         => 'Assign shift',
    'edit_shift'           => 'Edit shift',
    'shift'                => 'Shift',
    'no_shift'             => 'No shift',
    'no_staff'             => 'No staff found for this business.',
    'roster_status_scheduled' => 'Scheduled',
    'roster_status_confirmed' => 'Confirmed',
    'roster_status_swapped'   => 'Swapped',
    'roster_status_cancelled' => 'Cancelled',
    'roster_status_no_show'   => 'No-show',
    'assignment_saved'     => 'Assignment saved.',
    'assignment_deleted'   => 'Assignment removed.',
    'remove'               => 'Remove',
    'request_swap'         => 'Request swap',
    'swap_with'            => 'Swap with',
    'reason'               => 'Reason',
    'bulk_from'            => 'From',
    'bulk_to'              => 'To',
    'skip_weekends'        => 'Skip weekends (Sat/Sun)',
    'bulk_done'            => 'Bulk assign complete — :count cell(s) processed.',
    'select_staff'        => 'Select staff',

    // Warnings (non-blocking)
    'warn_double_booked'   => 'Warning: one or more staff are already booked that day (double-booking).',
    'warn_min_rest'        => 'Warning: minimum rest between shifts may be violated.',
    'warn_template_missing' => 'The selected shift template was not found.',

    // Swaps
    'swap'                 => 'Swap',
    'swaps_help'           => 'Shift-swap requests raised from the duty roster. Approving a request moves the shift to the requested colleague.',
    'requested_by'         => 'Requested by',
    'requested_with'       => 'Swap with',
    'swap_requested'       => 'Swap request raised.',
    'swap_approved'        => 'Swap approved — the shift was reassigned.',
    'swap_rejected'        => 'Swap request rejected.',
    'approve'              => 'Approve',
    'reject'               => 'Reject',
    'decided'             => 'Decided',
    'swap_status_pending'   => 'Pending',
    'swap_status_approved'  => 'Approved',
    'swap_status_rejected'  => 'Rejected',
    'swap_status_cancelled' => 'Cancelled',

    // Compliance
    'compliance_help'      => 'Credential compliance for clinical staff. Licence status is read live from the Organization module (org_staff_licenses); review items (mandatory training, competencies) are tracked here. Nothing is duplicated.',
    'org_missing'          => 'The Organization module is not installed, so licence data is unavailable. Only review items are shown.',
    'license_status'       => 'Licence status',
    'status_valid'         => 'Valid',
    'status_expiring'      => 'Expiring (≤ :days d)',
    'status_expiring_short' => 'Expiring',
    'status_expired'       => 'Expired',
    'status_missing'       => 'No valid licence',
    'licenses'             => 'Licences',
    'reviews'              => 'Reviews',
    'reviews_pending'      => 'Reviews pending',
    'reviews_overdue'      => 'Reviews overdue',
    'add_review'           => 'Add review item',
    'review_item'          => 'Review item',
    'item_type'            => 'Type',
    'item_type_license'            => 'Licence',
    'item_type_mandatory_training' => 'Mandatory training',
    'item_type_competency'         => 'Competency',
    'item_type_other'              => 'Other',
    'title'                => 'Title',
    'due_date'             => 'Due date',
    'completed_date'       => 'Completed date',
    'review_status_pending'   => 'Pending',
    'review_status_completed' => 'Completed',
    'review_status_overdue'   => 'Overdue',
    'review_status_waived'    => 'Waived',
    'review_saved'         => 'Review item saved.',
    'review_deleted'       => 'Review item removed.',
    'expiry'               => 'Expiry',
    'verified'             => 'Verified',
    'not_verified'         => 'Not verified',
    'no_licenses'          => 'No licences on file.',
    'no_reviews'           => 'No review items.',
    'total_staff'          => 'Clinical staff',
];
