<?php

return [
    // Module + menu
    'medbloodbank_module' => 'Blood Bank',
    'blood_bank'          => 'Blood Bank',
    'dashboard'           => 'Dashboard',
    'donors'              => 'Donors',
    'donations'           => 'Donations',
    'crossmatch'          => 'Crossmatch',
    'issues'              => 'Issues & Transfusions',

    // Permissions
    'perm_donors_manage'      => 'Manage donors',
    'perm_donations_manage'   => 'Manage donations',
    'perm_screening_result'   => 'Enter screening results',
    'perm_crossmatch_perform' => 'Perform crossmatch',
    'perm_issue_manage'       => 'Manage issuance & transfusions',

    // Generic
    'actions'   => 'Actions',
    'save'      => 'Save',
    'cancel'    => 'Cancel',
    'status'    => 'Status',
    'date'      => 'Date',
    'notes'     => 'Notes',
    'total'     => 'Total',
    'min'       => 'Min',
    'unknown'   => 'Unknown',
    'days'      => 'days',
    'saved'     => 'Saved.',
    'not_specified' => 'not specified',

    // Blood groups / products / types (shared)
    'blood_group'  => 'Blood group',
    'product'      => 'Product',
    'product_whole_blood' => 'Whole blood',
    'product_prbc'        => 'PRBC',
    'product_ffp'         => 'FFP',
    'product_platelets'   => 'Platelets',
    'product_cryo'        => 'Cryoprecipitate',
    'donation_type'           => 'Donation type',
    'donation_type_voluntary'   => 'Voluntary',
    'donation_type_replacement' => 'Replacement',
    'donation_type_autologous'  => 'Autologous',
    'donation_type_apheresis'   => 'Apheresis',

    // Dashboard
    'dashboard_help'    => 'Live blood-bank stock by group and product, with minimum-stock alerts and the expiry ladder.',
    'stock_by_group'    => 'Available stock (group × product)',
    'run_expiry_sweep'  => 'Run expiry sweep',
    'sweep_confirm'     => 'Mark all bags past their expiry date as expired?',
    'notify_low_stock'  => 'Notify low stock',
    'low_stock'         => 'Below minimum',
    'low_stock_groups'  => 'Low stock: :groups. Consider a donor recall.',
    'expiring_soon'     => 'Expiring soon (7 / 15 / 30-day ladder)',
    'nothing_expiring'  => 'No available bags expiring within the ladder window.',
    'days_left'         => 'Days left',
    'expiry_swept'      => 'Expiry sweep done — :count bag(s) marked expired.',
    'no_low_stock'      => 'No group is below its minimum.',
    'low_stock_notified' => 'Low-stock notification sent for: :groups.',

    // Donors
    'donor'            => 'Donor',
    'donors_help'      => 'Blood donors. A donor is an existing customer contact plus a donor profile (blood group, deferral, donation history).',
    'add_donor'        => 'Add donor',
    'edit_donor'       => 'Edit donor',
    'contact'          => 'Contact (customer)',
    'contact_picker_hint' => 'Search an existing customer contact — the donor IS that contact.',
    'search_contact'   => 'Search contact by name / mobile / email...',
    'type_to_search'   => 'Type to search...',
    'no_contacts'      => 'No contacts found',
    'last_donation'    => 'Last donation',
    'total_donations'  => 'Total donations',
    'deferred_until'   => 'Deferred until',
    'deferral_reason'  => 'Deferral reason',
    'eligibility'      => 'Eligibility',
    'eligible'         => 'Eligible',
    'ineligible'       => 'Ineligible',
    'donor_saved'      => 'Donor saved.',
    'donor_deleted'    => 'Donor deleted.',
    'donor_exists'     => 'This contact is already registered as a donor.',
    'donor_in_use'     => 'This donor has donations on record and cannot be deleted.',
    'donor_not_found'  => 'Donor not found.',
    // eligibility messages (service)
    'donor_deferred'   => 'Donor is deferred until :date (:reason).',
    'donor_too_recent' => 'Donor last donated less than :days days ago — next eligible on :date.',
    'permanent_defer_note' => 'Permanently deferred on :date after reactive screening (bag :bag).',
    'reactive_screening'   => 'Reactive infectious-disease screening',

    // Donations
    'donations_help'     => 'Collected blood bags. New bags auto-enter quarantine pending screening; screening clears them to available.',
    'record_donation'    => 'Record donation',
    'donation_entry_help' => 'Record a collection. Donor eligibility (deferral + 90-day interval) is checked before the bag is saved.',
    'collection'         => 'Collection',
    'bag_no'             => 'Bag no',
    'volume_ml'          => 'Volume (ml)',
    'collected'          => 'Collected',
    'collected_at'       => 'Collected at',
    'quarantine_note'    => 'The bag is auto-quarantined on entry and becomes available only after all four screening markers are negative.',
    'donation_saved'     => 'Donation :bag saved and quarantined pending screening.',
    'bag_no_taken'       => 'That bag number is already in use.',

    // Screening
    'screening'            => 'Screening',
    'screening_pending'    => 'Pending',
    'screening_passed'     => 'Passed',
    'screening_failed'     => 'Failed',
    'enter_screening'      => 'Enter screening',
    'save_screening'       => 'Save screening',
    'screening_help'       => 'Record the four mandatory infectious-disease markers. All negative clears the bag; any reactive discards it and permanently defers the donor.',
    'marker_hiv'           => 'HIV',
    'marker_hbv'           => 'Hepatitis B (HBV)',
    'marker_hcv'           => 'Hepatitis C (HCV)',
    'marker_syphilis'      => 'Syphilis',
    'screen_negative'      => 'Negative',
    'screen_reactive'      => 'Reactive',
    'screen_pending'       => 'Pending',
    'reactive_warning'     => 'Any reactive result discards the bag and permanently defers the donor.',
    'screening_passed_msg'  => 'All markers negative — bag is now available.',
    'screening_failed_msg'  => 'Reactive marker — bag discarded and donor permanently deferred.',
    'screening_pending_saved' => 'Screening saved — bag stays quarantined until all markers are resolved.',
    'screening_locked'      => 'This bag can no longer be screened.',

    // Bag lifecycle statuses
    'bag_status_collected'   => 'Collected',
    'bag_status_quarantined' => 'Quarantined',
    'bag_status_available'   => 'Available',
    'bag_status_reserved'    => 'Reserved',
    'bag_status_issued'      => 'Issued',
    'bag_status_transfused'  => 'Transfused',
    'bag_status_expired'     => 'Expired',
    'bag_status_discarded'   => 'Discarded',

    // Crossmatch
    'crossmatch_help'      => 'Crossmatch a recipient against an available bag. An incompatible result blocks issuance. Bag suggestions use the ABO/Rh matrix + FIFO (earliest expiry first).',
    'new_crossmatch'       => 'New crossmatch',
    'recent_crossmatches'  => 'Recent crossmatches',
    'recipient'            => 'Recipient (patient)',
    'search_patient'       => 'Search patient by name / mobile...',
    'patient_blood_group'  => 'Recipient blood group',
    'suggest_bags'         => 'Suggest compatible bags',
    'suggest_first'        => 'Suggest bags first...',
    'pick_group_first'     => 'Pick the recipient blood group first.',
    'compatible_groups'    => 'Compatible donor groups',
    'no_compatible_bags'   => 'No compatible available bags',
    'bag'                  => 'Bag',
    'donor_group'          => 'Donor group',
    'antibody_screen'      => 'Antibody screen',
    'ab_negative'          => 'Negative',
    'ab_positive'          => 'Positive',
    'method'               => 'Method',
    'method_gel'           => 'Gel',
    'method_tube'          => 'Tube',
    'method_electronic'    => 'Electronic',
    'result'               => 'Result',
    'result_compatible'    => 'Compatible',
    'result_incompatible'  => 'Incompatible',
    'save_crossmatch'      => 'Save crossmatch',
    'crossmatch_saved'     => 'Crossmatch saved.',
    'crossmatch_not_found' => 'Crossmatch not found.',
    'crossmatch_not_compatible' => 'Only a compatible crossmatch may be issued.',
    'bag_not_found'        => 'Bag not found.',
    'bag_not_issuable'     => 'This bag is no longer available for issue (expired, already issued or discarded).',

    // Issues / transfusions
    'issues_help'          => 'Issue crossmatched bags, run the transfusion and record any adverse reaction (which raises a critical patient alert).',
    'ready_to_issue'       => 'Ready to issue (compatible crossmatches)',
    'nothing_to_issue'     => 'No compatible crossmatches awaiting issue.',
    'transfusions'         => 'Issued & transfused',
    'issue_to'             => 'Issue to',
    'issue_bag'            => 'Issue bag',
    'issued_at'            => 'Issued at',
    'issued_to_or'         => 'Operating room',
    'issued_to_ward'       => 'Ward',
    'issued_to_er'         => 'ER',
    'issued_to_other'      => 'Other',
    'bag_issued'           => 'Bag issued.',
    'start_transfusion'    => 'Start',
    'transfusion_started'  => 'Transfusion started.',
    'cannot_start'         => 'This issue cannot be started.',
    'complete'             => 'Complete',
    'complete_transfusion' => 'Complete transfusion',
    'complete_help'        => 'Mark the transfusion complete. Tick the box below only if the recipient had an adverse reaction.',
    'mark_completed'       => 'Mark completed',
    'cannot_complete'      => 'This issue cannot be completed.',
    'transfusion_completed' => 'Transfusion completed.',
    'completed_with_reaction' => 'Transfusion completed — reaction recorded and a critical alert raised.',
    'issue_status_issued'      => 'Issued',
    'issue_status_transfusing' => 'Transfusing',
    'issue_status_completed'   => 'Completed',
    'issue_status_returned'    => 'Returned',

    // Reaction workflow
    'reaction'             => 'Reaction',
    'reaction_occurred'    => 'A transfusion reaction occurred',
    'reaction_type'        => 'Reaction type',
    'reaction_type_required' => 'A reaction type is required when a reaction is recorded.',
    'reaction_type_febrile'   => 'Febrile non-hemolytic',
    'reaction_type_allergic'  => 'Allergic',
    'reaction_type_hemolytic' => 'Hemolytic',
    'reaction_type_taco'      => 'TACO (circulatory overload)',
    'reaction_type_trali'     => 'TRALI',
    'reaction_type_other'     => 'Other',
    'reaction_severity'    => 'Severity',
    'reaction_severity_mild'             => 'Mild',
    'reaction_severity_moderate'         => 'Moderate',
    'reaction_severity_severe'           => 'Severe',
    'reaction_severity_life_threatening' => 'Life-threatening',
    'reaction_management'  => 'Management',
    'reaction_alert_warning' => 'Recording a reaction raises a CRITICAL patient-safety alert.',
    'reaction_alert_title'   => 'Transfusion reaction: :type',
    'reaction_alert_details' => 'Severity: :severity. Management: :management',
];
