{
"nav": {
"home": "Home",
"bookings": "Bookings",
"patients": "Patients",
"wallet": "Wallet",
"profile": "Profile",
"bank": "Bank account",
"coverage": "Coverage",
"services": "Services",
"dashboard": "Dashboard",
"requests": "Requests",
"verification": "Verification",
"visits": "Visits",
"earnings": "Earnings",
"admin": "Admin",
"overview": "Overview",
"users": "Users",
"notifications": "Notifications",
"support": "Support",
"login": "Login",
"logout": "Logout",
"payouts": "Payouts",
"reviews": "Reviews",
"config": "Configuration",
"holidays": "Holidays",
"alerts": "Alerts",
"audit": "Audit log",
"partners": "Partner centers",
"roles": "Roles",
"tickets": "Tickets",
"partner_home": "Center",
"partner_nurses": "Sponsored nurses",
"partner_bookings": "Bookings",
"partner_settlement": "Settlement",
"search": "Search",
"checkout": "Checkout",
"addresses": "Addresses",
"more": "More",
"group_today": "Today",
"group_profession": "My profession",
"group_finance": "Finance",
"group_support": "Support",
"group_trust": "Trust",
"group_system": "System"
},
"common": {
"dark_mode": "Dark mode",
"light_mode": "Light mode",
"direction_ltr": "Switch to LTR",
"direction_rtl": "Switch to RTL",
"coming_soon": "Coming soon",
"loading": "Loading…",
"retry": "Retry",
"add": "Add",
"cancel": "Cancel",
"save": "Save",
"saving": "Saving…",
"back": "Back",
"close": "Close",
"optional": "Optional",
"currency_toman": "Toman",
"brand": "Balinyaar",
"brand_tagline": "Home care you can trust",
"open_sidebar": "Open menu",
"switch_locale": "Switch to {locale}"
},
"shell": {
"customer_app": "Family app",
"nurse_app": "Nurse view",
"admin_console": "Admin console",
"placeholder_body": "This area will be built in a later phase.",
"partner_console": "Partner portal",
"switch_to_nurse": "Nurse view",
"switch_to_customer": "Family app"
},
"home": {
"greeting_named": "Hi, {name}",
"greeting_plain": "Hi there",
"subtitle": "Manage care for the people you love.",
"search_placeholder": "Search a service or nurse…",
"search_action": "Search",
"categories_title": "Services",
"categories_error": "Couldn't load services.",
"categories_empty": "No services have been set up yet.",
"nudge_patient_title": "Complete the patient record",
"nudge_patient_body": "Add conditions, medications and routine so nurses arrive prepared.",
"nudge_patient_cta": "Open patients",
"nudge_profile_title": "Complete your profile",
"nudge_profile_body": "Add an emergency contact to speed up bookings.",
"nudge_profile_cta": "Go to profile",
"patients_error": "Couldn't load your patients."
},
"onboarding": {
"step_relation": "Who for",
"step_patient": "Patient",
"relation_title": "Who are you arranging care for?",
"relation_subtitle": "This helps us tailor the right care. You can add more people later.",
"relation_parent": "Parent",
"relation_spouse": "Spouse",
"relation_child": "Child",
"relation_self": "Myself",
"patient_title": "Register the patient",
"patient_subtitle": "The person receiving care — not necessarily the account holder.",
"name_label": "Full name",
"name_required": "Enter the patient's name",
"age_label": "Age",
"age_invalid": "Enter a valid age",
"gender_label": "Gender",
"gender_male": "Male",
"gender_female": "Female",
"gender_required": "Patient gender is required",
"conditions_label": "Conditions",
"conditions_hint": "Optional — select any that apply.",
"condition_elderly": "Elderly",
"condition_post_surgery": "Post-surgery",
"condition_diabetes": "Diabetes",
"condition_mobility": "Limited mobility",
"condition_dementia": "Dementia",
"continue": "Continue",
"save_continue": "Save and continue",
"saved": "Patient saved"
},
"patients": {
"title": "Patients",
"subtitle": "The people you arrange care for.",
"add": "Add patient",
"add_title": "Add patient",
"edit_title": "Edit patient",
"edit": "Edit",
"archive": "Archive",
"empty_title": "No patients yet",
"empty_body": "Add your first patient to get started.",
"archive_title": "Archive patient?",
"archive_body": "This patient is removed from your list, but past booking records are kept.",
"archive_confirm": "Archive",
"archived": "Patient archived",
"age_years": "{age} yrs",
"conditions_none": "No recorded conditions",
"unavailable": "This patient isn't available to you.",
"open_record": "Open {name}'s record",
"load_error": "Couldn't load your patients."
},
"profile": {
"title": "Profile",
"subtitle": "Your details and emergency contact.",
"first_name": "First name",
"last_name": "Last name",
"language": "Preferred language",
"language_fa": "Persian",
"language_en": "English",
"emergency_section": "Emergency contact",
"emergency_hint": "Who we call in an emergency.",
"emergency_name": "Emergency contact name",
"emergency_phone": "Emergency contact phone",
"emergency_phone_invalid": "Enter a valid mobile number",
"save": "Save",
"saved": "Profile saved",
"completion_done": "Your profile is complete.",
"completion_todo": "Complete your profile to speed up bookings.",
"load_error": "Couldn't load your profile.",
"app_language": "App language",
"sign_out": "Sign out"
},
"nurseProfile": {
"title": "Nurse profile",
"subtitle": "What families see when they find you.",
"photo": "Profile photo",
"photo_hint": "A clear photo of your face.",
"upload": "Upload photo",
"uploading": "Uploading…",
"bio": "About me",
"bio_hint": "A short intro — experience, focus, approach.",
"years": "Years of experience",
"years_invalid": "Enter a number between 0 and 80",
"save": "Save profile",
"saved": "Profile saved",
"unverified_title": "Your profile isn't active yet",
"unverified_body": "Complete identity verification to appear to families and receive bookings.",
"unverified_cta": "Complete verification",
"deferred_services": "Manage your services & prices in the Services section; available days come in a later step.",
"save_error": "Couldn't save your profile. Please try again.",
"avatar_upload_error": "Couldn't upload your photo. Please try again."
},
"bank": {
"title": "Bank account",
"subtitle": "Where your earnings are paid out.",
"iban_label": "IBAN (Sheba)",
"iban_hint": "Starts with IR followed by 24 digits.",
"iban_invalid": "Enter a valid IBAN (IR + 24 digits)",
"holder_label": "Account holder name",
"holder_hint": "Must be exactly your own name.",
"holder_required": "Enter the account holder name",
"submit": "Submit account",
"submitting": "Submitting…",
"added": "Account submitted — ownership inquiry started",
"add_error": "This account couldn't be added. Check the IBAN and try again.",
"status_pending_chip": "Checking",
"status_pending_title": "Verifying account ownership",
"status_pending_body": "The Sheba ownership inquiry is running; this can take a moment.",
"status_verified_chip": "Verified",
"status_verified_title": "Account verified",
"status_verified_body": "This account is ready to receive your payouts.",
"status_mismatch_chip": "Ownership mismatch",
"status_mismatch_title": "The account must be in your own name",
"status_mismatch_body": "This account's holder doesn't match your identity. Please enter the IBAN of an account in your own name.",
"reenter": "Enter another account",
"make_primary": "Make primary",
"primary_set": "Primary account updated",
"iban_masked_label": "IBAN",
"primary": "Primary",
"empty_title": "No bank account yet",
"empty_body": "Add a bank account in your own name to receive payouts."
},
"geo": {
"province": "Province",
"city": "City",
"district": "District",
"whole_city": "Whole city",
"city_needs_province": "Choose a province first",
"district_needs_city": "Choose a city first",
"district_optional": "Optional",
"no_districts": "This city has no districts — whole city"
},
"address": {
"title": "Addresses",
"subtitle": "Where nurses will visit.",
"add": "Add address",
"add_title": "Add address",
"edit_title": "Edit address",
"edit": "Edit",
"delete": "Delete",
"empty_title": "No addresses yet",
"empty_body": "Add your first address so nurses know where to go.",
"primary": "Primary",
"set_primary": "Set as primary",
"primary_set": "Primary address updated",
"delete_title": "Delete address?",
"delete_body": "This address is removed from your list.",
"delete_confirm": "Delete",
"deleted": "Address deleted",
"saved": "Address saved",
"save_error": "This address couldn't be saved. Please try again.",
"unavailable": "This address isn't available to you.",
"title_label": "Address label",
"title_placeholder": "e.g. Home, Work",
"title_required": "Enter a label for this address",
"line_label": "Street address",
"line_hint": "Building, street, unit — the detail a nurse needs to find the door.",
"line_required": "Enter the street address",
"city_required": "Select a city",
"set_primary_toggle": "Set as primary address",
"map_hint": "Tap or drag the marker to the patient's exact location.",
"map_required": "Drop a pin on the map",
"map_lat": "Lat",
"map_lng": "Lng",
"manage_title": "Your addresses",
"manage_body": "Manage the places nurses visit.",
"manage_cta": "Manage addresses"
},
"coverage": {
"title": "Coverage areas",
"subtitle": "The cities and districts you'll travel to.",
"areas_heading": "Your areas",
"add_title": "Add a coverage area",
"scope_label": "Coverage",
"scope_whole_city": "Whole city",
"scope_districts": "Specific districts",
"add": "Add area",
"adding": "Adding…",
"whole_city_chip": "Whole city",
"empty_title": "No coverage areas yet",
"empty_warning": "You won't appear in search until you add at least one coverage area.",
"duplicate": "You already cover this area.",
"city_required": "Select a city",
"district_required": "Select a district, or switch to whole city.",
"added": "Coverage area added",
"add_error": "This area couldn't be added. Please try again.",
"remove_title": "Remove coverage area?",
"remove_body": "You'll no longer be matched for visits in this area.",
"remove_confirm": "Remove",
"removed": "Coverage area removed"
},
"catalog": {
"unit_per_hour": "hourly",
"unit_per_session": "per session",
"unit_per_half_day": "per half-day",
"unit_per_day": "daily",
"unit_per_24h": "24-hour (live-in)",
"count_per_hour": "hours",
"count_per_session": "sessions",
"count_per_half_day": "half-days",
"count_per_day": "days",
"count_per_24h": "days (24h)",
"estimate_label": "Estimated total",
"estimate_for": "for {count} {unit}"
},
"services": {
"title": "Services & prices",
"subtitle": "The services you offer and what each costs.",
"add": "Add service",
"empty_title": "No services yet",
"empty_body": "Add at least one active, priced service so families can find and book you.",
"active_chip": "Active",
"inactive_chip": "Deactivated",
"inactive_hint": "This service is deactivated and can't be booked.",
"edit": "Edit",
"deactivate": "Deactivate",
"activate": "Reactivate",
"deactivate_title": "Deactivate this service?",
"deactivate_body": "It becomes unbookable and drops out of search. You can reactivate it anytime — it is never deleted.",
"deactivate_confirm": "Deactivate",
"deactivated_toast": "Service deactivated",
"activated_toast": "Service reactivated",
"toggle_error": "That couldn't be done. Please try again.",
"builder_add_title": "Add a new service",
"builder_edit_title": "Edit service",
"step_category": "Category",
"step_options": "Options",
"step_price": "Price",
"category_title": "Choose the service category",
"category_subtitle": "Every service belongs to one category.",
"categories_error": "Couldn't load categories. Please try again.",
"category_locked": "The category can't be changed after a service is created.",
"options_title": "Set the service options",
"options_subtitle": "Pick one option for each required item.",
"options_none": "This category has no options to configure.",
"required_badge": "Required",
"optional_badge": "Optional",
"options_incomplete": "Answer every required item to continue.",
"price_title": "Set the price and unit",
"price_label": "Price (Toman)",
"price_hint": "Enter the price in Toman.",
"price_required": "Enter a valid price greater than zero.",
"unit_label": "Price unit",
"duration_label": "Duration / count",
"duration_hint": "Optional — add a duration to preview the estimated total.",
"rate_note": "This is the base rate per unit, not the full total.",
"display_name_label": "Display name",
"display_name_hint": "Auto-generated from your options — you can edit it.",
"duplicate_warning": "You already have a service with these exact details. Change an option or the category.",
"summary_options": "Options",
"summary_none": "No options",
"next": "Next",
"submit_create": "Add service",
"submit_save": "Save changes",
"create_error": "The service couldn't be saved. Check your inputs and try again.",
"created_toast": "Service added",
"saved_toast": "Changes saved",
"list_error": "Couldn't load your services.",
"options_error": "Couldn't load this category's options."
},
"search": {
"title": "Find a nurse",
"subtitle": "Only verified, background-checked nurses appear here.",
"section_category": "Care category",
"section_location": "City",
"section_gender": "Caregiver gender",
"section_date": "Date",
"section_price": "Price range (optional)",
"gender_female": "Woman",
"gender_male": "Man",
"gender_any": "No preference",
"gender_hint": "For personal and bodily care, many families prefer a same-gender caregiver. Your choice is carried into the booking request.",
"date_hint": "We pass your preferred date to the nurse — it does not remove nurses from the results.",
"price_hint": "Leave blank to see every price.",
"price_min": "From",
"price_max": "To",
"toman": "Toman",
"categories_error": "Couldn't load categories.",
"cta_choose_category_city": "Choose a category and city",
"cta_loading": "Counting nurses…",
"cta_view_results": "View {count, plural, =0 {no nurses} one {# nurse} other {# nurses}}",
"results_loading_title": "Searching…",
"results_count": "{count, plural, =0 {No nurses} one {# nurse} other {# nurses}}",
"sort_label": "Sort",
"sort_rating": "Rating",
"results_error": "Something went wrong loading results.",
"retry": "Try again",
"load_more": "Load more",
"empty_title": "No nurses match your filters",
"empty_suggest_gender": "Try removing the gender filter.",
"empty_suggest_district": "Clear the district to search the whole city.",
"empty_suggest_city": "Try a nearby city like Mashhad, Isfahan, or Shiraz.",
"empty_cta": "Adjust filters",
"unnamed_nurse": "Nurse",
"reviews_count": "({count, plural, =0 {no reviews} one {# review} other {# reviews}})",
"distance_km": "{km} km",
"price_from": "from",
"profile_not_found_title": "Nurse unavailable",
"profile_not_found_body": "This nurse is no longer available.",
"profile_not_found_cta": "Back to search",
"profile_error_title": "Couldn't load profile",
"profile_error_body": "Something went wrong loading this nurse.",
"badge_ino": "Nursing Council",
"years_experience": "{years} years' experience",
"specialty_elderly": "Elderly care",
"specialty_icu": "Critical care",
"specialty_pediatric": "Pediatric care",
"specialty_post_surgery": "Post-surgery care",
"specialty_wound_care": "Wound care",
"services_empty": "No services listed yet.",
"request_booking": "Request booking",
"tab_services": "Services",
"tab_reviews": "Reviews"
},
"booking": {
"gender_female": "Woman",
"gender_male": "Man",
"gender_any": "No preference",
"unnamed_nurse": "Nurse",
"summary_patient": "Patient",
"summary_service": "Service",
"summary_address": "Address",
"summary_when": "Time",
"request_title": "Booking request",
"form_subtitle": "Send a request to this nurse. No payment is taken yet — the nurse reviews it first.",
"missing_nurse_title": "No nurse selected",
"missing_nurse_body": "Choose a nurse from search, then send a request.",
"missing_nurse_cta": "Find a nurse",
"patient_label": "Patient (care recipient)",
"patient_placeholder": "Select a patient",
"patient_empty": "You haven't added a patient yet.",
"patient_add_cta": "Add a patient",
"service_label": "Service type",
"service_placeholder": "Select a service",
"service_empty": "This nurse has no bookable service.",
"address_label": "Address",
"address_placeholder": "Select an address",
"address_empty": "You haven't added an address yet.",
"address_add_cta": "Add an address",
"address_whole_city": "Whole city",
"date_label": "Date",
"time_start_label": "From",
"time_end_label": "To",
"gender_label": "Caregiver gender",
"gender_hint": "For personal/bodily care, a same-gender caregiver matters. Your choice is sent with the request.",
"notes_label": "Notes for the nurse",
"notes_placeholder": "What the nurse sees before accepting…",
"notes_hint": "This is the only thing the nurse sees before accepting. The full care record is added after confirmation.",
"notes_counter": "{count}/{max}",
"submit": "Send request",
"submitting": "Sending…",
"error_patient_required": "Choose a patient.",
"error_service_required": "Choose a service.",
"error_address_required": "Choose an address.",
"error_gender_required": "Choose the caregiver gender.",
"error_date_required": "Choose a date.",
"error_time_required": "Choose a start and end time.",
"error_time_range": "The end time must be after the start time.",
"error_past_date": "Choose a future date and time.",
"error_notes_long": "Notes are too long.",
"error_gender_mismatch": "The chosen gender doesn't match this nurse.",
"error_not_bookable": "This service can't be booked right now.",
"error_tenancy": "That patient or address wasn't found.",
"error_generic": "Couldn't send the request. Please try again.",
"awaiting_title": "Request sent to the nurse",
"awaiting_subtitle": "Awaiting the nurse's response",
"step_submitted": "Request submitted",
"step_awaiting": "Awaiting nurse approval",
"step_payment": "Payment & final confirmation",
"response_countdown_label": "Nurse response window",
"response_elapsed": "Awaiting server confirmation…",
"accepted_badge": "The nurse accepted",
"accepted_body": "Pay within the window below to confirm the booking.",
"payment_countdown_label": "Payment window",
"payment_elapsed": "The payment window has closed",
"continue_payment": "Continue to payment ←",
"cancel_request": "Cancel request",
"cancelling": "Cancelling…",
"cancel_confirm_title": "Cancel this request?",
"cancel_confirm_body": "The nurse will no longer see it. You can request another nurse anytime.",
"cancel_confirm_yes": "Yes, cancel",
"rejected_title": "The nurse declined the request",
"rejected_reason_label": "Nurse's reason",
"expired_title": "The nurse didn't respond in time",
"payment_expired_title": "The payment window has closed",
"cancelled_title": "Request cancelled",
"converted_title": "Your booking is confirmed",
"converted_cta": "View booking",
"terminal_rerequest": "Request another nurse",
"not_found_title": "Request not found",
"not_found_body": "This request may have been removed.",
"error_title": "Something went wrong",
"error_body": "We couldn't load this request.",
"retry": "Try again",
"inbox_title": "Incoming requests",
"inbox_subtitle": "Families requesting your care. You see only their notes until you accept.",
"inbox_empty": "You have no new requests.",
"inbox_notes_label": "Family's notes",
"required_gender_chip": "Caregiver: {gender}",
"open_detail": "View",
"detail_title": "Request detail",
"location_label": "Location",
"disclosure_note": "Before accepting you see only the family's notes. The full address and care record appear after you accept.",
"accept": "Accept request",
"accepting": "Accepting…",
"reject": "Decline",
"reject_dialog_title": "Decline request",
"reject_reason_label": "Reason",
"reject_reason_placeholder": "A short reason the family will see…",
"reject_submit": "Submit decline",
"rejecting": "Declining…",
"reason_required": "A reason is required.",
"reason_too_long": "The reason is too long.",
"action_stale": "This request can no longer be actioned.",
"accepted_toast": "Request accepted.",
"rejected_toast": "Request declined.",
"cancelled_toast": "Request cancelled.",
"status_pending_nurse_response": "Awaiting nurse response",
"status_accepted_awaiting_payment": "Accepted — awaiting payment",
"status_converted": "Booked",
"status_rejected_by_nurse": "Declined by nurse",
"status_expired_no_response": "No response in time",
"status_payment_deadline_expired": "Payment window lapsed",
"status_cancelled_by_customer": "Cancelled",
"bd_title": "Booking",
"bd_ref": "Booking #{id}",
"bd_not_found_title": "Booking not found",
"bd_not_found_body": "This booking doesn't exist or isn't yours.",
"bd_my_bookings": "My bookings",
"timeline_title": "Progress",
"bstatus_pending_payment": "Pending payment",
"bstatus_confirmed": "Confirmed",
"bstatus_in_progress": "In progress",
"bstatus_completed": "Completed",
"bstatus_disputed": "Under review",
"bstatus_closed": "Closed",
"bstatus_cancelled": "Cancelled",
"confirmed_note": "Your booking is confirmed. The visits below are scheduled.",
"in_progress_note": "A visit is currently underway.",
"completed_note": "All visits are complete.",
"dispute_window_note": "Payment is released to the nurse after the review window closes on {date}.",
"cancelled_note": "This booking was cancelled.",
"disputed_note": "This booking is under review by our support team.",
"sessions_title": "Visit schedule",
"session_index": "Visit {n}",
"session_count": "{count, plural, =0 {no visits} one {# visit} other {# visits}}",
"sstatus_scheduled": "Scheduled",
"sstatus_in_progress": "In progress",
"sstatus_completed": "Completed",
"sstatus_missed": "Missed",
"sstatus_cancelled": "Cancelled",
"session_elapsed": "On site {duration}",
"session_payout": "Visit payout",
"money_title": "Payment summary",
"money_gross": "Service cost",
"money_commission": "Balinyaar fee",
"money_payout": "Nurse payout",
"money_nurse_earning": "Your earning",
"evv_today_title": "Today's visit",
"evv_visits_title": "Today's visits",
"evv_visits_subtitle": "Clock in and out of each visit with EVV.",
"evv_no_visits": "No visits scheduled for today.",
"evv_check_in": "Check in (EVV)",
"evv_check_out": "Check out (EVV)",
"evv_checking_in": "Checking in…",
"evv_checking_out": "Checking out…",
"evv_acquiring_location": "Getting your location…",
"evv_banner_in_range": "Checked in {time} · location confirmed (EVV)",
"evv_banner_out_of_range": "Checked in {time} · location out of range (under review)",
"evv_banner_no_gps": "Checked in {time} · location not captured",
"evv_checked_out_at": "Checked out {time}",
"evv_gps_denied_note": "Location permission was denied — you can still record the visit; it's flagged for review.",
"evv_no_open_check_in": "There's no open check-in to close.",
"evv_not_startable": "This visit can't be started yet.",
"evv_checked_in_toast": "Check-in recorded.",
"evv_checked_out_toast": "Check-out recorded.",
"evv_check_in_error": "Couldn't record the check-in. Please try again.",
"evv_check_out_error": "Couldn't record the check-out. Please try again.",
"evv_nurse_view": "Nurse view",
"view_booking": "View booking",
"care_title": "Care instructions",
"care_subtitle": "Shared with you as the assigned nurse after confirmation.",
"care_conditions": "Conditions",
"care_medications": "Medications",
"care_allergies": "Allergies",
"care_instructions_label": "Special instructions",
"care_emergency": "Emergency contact",
"care_none": "Not recorded",
"care_empty": "No care instructions were recorded for this booking.",
"care_error": "Couldn't load the care instructions.",
"care_locked_title": "Care details",
"care_locked_body": "The full care record is visible only to your assigned nurse and support.",
"list_title": "My bookings",
"list_subtitle": "Your confirmed engagements.",
"list_empty_title": "No bookings yet",
"list_empty_body": "Once a nurse accepts and you pay, your booking appears here.",
"list_error": "Couldn't load your bookings.",
"list_total": "Total",
"inbox_error": "Couldn't load your requests."
},
"payment": {
"title_checkout": "Confirm & pay",
"row_service_cost": "Service cost",
"row_service_cost_with_count": "Service cost ({count, plural, one {# visit} other {# visits}})",
"row_commission": "Balinyaar fee",
"row_vat": "VAT",
"row_total": "Total",
"escrow_notice": "The amount is held in escrow with Balinyaar and released after the visit ends",
"cta_pay": "Continue to payment →",
"bnpl_option": "Or pay in installments",
"state_initiating": "Starting payment…",
"state_redirecting": "Redirecting to the payment gateway…",
"state_pending_title": "Confirming your payment…",
"state_pending_hint": "The gateway is confirming your payment; this usually takes a few moments.",
"check_again": "Check again",
"state_failed_title": "Payment failed",
"state_failed_hint": "Nothing was charged. You can try again.",
"retry_payment": "Try again",
"back_to_request": "Back to the request",
"already_paid_title": "This request is already paid",
"already_paid_body": "Your booking has been confirmed.",
"window_expired_title": "The payment window has closed",
"window_expired_body": "To continue, submit a new request.",
"not_payable_title": "This request can no longer be paid",
"initiate_failed": "The payment could not be started.",
"confirm_title": "Payment successful",
"confirm_subtitle": "Your booking is confirmed and the nurse has been notified.",
"view_booking": "View booking",
"download_invoice": "Download invoice",
"total_paid_label": "Amount paid",
"invoice_title": "Invoice",
"invoice_number_label": "Invoice number",
"invoice_issued_at": "Issued on",
"invoice_vat_on_commission": "VAT (on the Balinyaar fee)",
"invoice_not_issued_title": "The invoice has not been issued yet",
"invoice_not_issued_body": "The invoice for this booking will appear here once issued.",
"print_invoice": "Print invoice",
"moadian_label": "Moadian (e-invoicing) status",
"moadian_pending": "Awaiting registration",
"moadian_submitted": "Submitted",
"moadian_registered": "Registered",
"moadian_failed": "Failed",
"pstatus_pending": "Awaiting confirmation",
"pstatus_succeeded": "Paid",
"pstatus_failed": "Failed",
"gateway_title": "Test payment gateway",
"gateway_hint": "This page stands in for the real gateway in development.",
"gateway_reference_label": "Reference",
"gateway_pay_success": "Pay successfully",
"gateway_pay_fail": "Simulate a failed payment",
"error_title": "Something went wrong",
"error_body": "We couldn't load the payment summary.",
"invalid_link_body": "This payment link is not valid.",
"issuer_platform": "Balinyaar"
},
"auth": {
"customer_title": "Sign in to Balinyaar",
"customer_subtitle": "Sign in with your mobile number",
"nurse_title": "Nurse sign in",
"nurse_subtitle": "For nurses with a Nursing Council licence",
"phone_label": "Mobile number",
"phone_invalid": "Enter a valid Iranian mobile number",
"request_code": "Get verification code",
"nurse_switch": "Are you a nurse? Nurse sign in →",
"customer_switch": "Are you a family? Family sign in →",
"rate_limited": "Too many attempts — please try again shortly",
"otp_title": "Enter the verification code",
"otp_sent_to": "Code sent to {phone}",
"otp_verify_customer": "Verify and continue",
"otp_verify_nurse": "Verify and sign in",
"otp_invalid": "The code is incorrect or has expired",
"otp_locked": "Too many attempts. Request a new code to continue.",
"resend_in": "Resend code in {time}",
"resend": "Resend code",
"change_number": "Change number",
"routing_title": "Signing you in…",
"select_role_title": "Welcome to Balinyaar",
"select_role_subtitle": "Choose how you'll use Balinyaar to get started",
"role_customer": "Family",
"role_customer_desc": "Book nurses and home care",
"role_nurse": "Nurse",
"role_nurse_desc": "Offer nursing services",
"continue": "Continue",
"guard_denied": "You don't have access to that area.",
"account_error_title": "Couldn't load your account",
"account_error_body": "We couldn't reach Balinyaar to load your account. Check your connection and try again.",
"account_error_retry": "Try again"
},
"verification": {
"title": "Verification",
"subtitle": "Complete these steps to activate your profile and start receiving bookings.",
"retry": "Try again",
"load_error": "Couldn't load your verification status.",
"start_title": "Start verification",
"start_body": "Trust is the whole of Balinyaar. Completing these steps lets families choose you with confidence.",
"start_cta": "Start verification",
"starting": "Preparing…",
"progress_title": "Verification progress",
"progress_count": "{passed} of {total}",
"blocking_summary": "Your profile isn't visible or bookable until every step is complete.",
"continue": "Continue",
"continue_step": "Continue step {n}",
"approved_title": "Verification complete",
"approved_body": "Everything checks out. You can now publish your profile and services.",
"approved_cta": "Publish services",
"step_mobile_verified": "Mobile number",
"step_mobile_verified_desc": "Verified when you signed in.",
"step_identity_kyc": "Identity (civil registry)",
"step_identity_kyc_desc": "Automatic civil-registry check from your national ID + a liveness selfie.",
"step_shahkar_match": "Shahkar match",
"step_shahkar_match_desc": "Automatic check that your mobile number matches your national ID.",
"step_moh_competency_license": "Competency license (MoH)",
"step_moh_competency_license_desc": "Upload the document; reviewed manually by our team.",
"step_ino_membership": "Nursing-council membership",
"step_ino_membership_desc": "Upload your nursing-council card; reviewed manually.",
"step_criminal_record": "Criminal-record clearance",
"step_criminal_record_desc": "Upload the certificate; reviewed manually. Has an expiry date.",
"step_bank_account_verification": "Bank-account verification",
"step_bank_account_verification_desc": "Automatic IBAN-ownership check against your national ID.",
"status_passed": "Verified",
"status_in_review": "Under review",
"status_pending": "Pending",
"status_failed": "Rejected",
"status_expired": "Expired",
"status_next": "Next",
"auto_query_note": "Automatic check — no document upload needed.",
"row_go": "Complete this step",
"row_fix": "Fix and resubmit",
"reason_shared_sim": "This SIM doesn't appear to be registered in your name. Please try again with a SIM registered to you.",
"reason_kyc_no_match": "Your identity details didn't match the civil registry.",
"reason_national_id_mismatch": "The national ID didn't match.",
"reason_blurry_scan": "The document image wasn't clear. Please upload a sharper copy.",
"journey_identity": "Identity",
"journey_credentials": "Credentials",
"journey_review": "Review",
"identity_title": "Verify identity",
"identity_subtitle": "Your national ID, a photo of your ID card, and a liveness selfie.",
"national_id_label": "National ID",
"national_id_hint": "Enter your 10-digit national ID.",
"national_id_invalid": "Enter a valid national ID.",
"card_label": "National-ID card image",
"card_hint": "Photograph your ID card in good light, clearly readable.",
"card_recommended": "Uploading the ID card image is recommended.",
"selfie_label": "Liveness selfie",
"selfie_hint": "Take a selfie for face verification.",
"auto_registry_note": "An automatic civil-registry check is performed.",
"error_national_id_mismatch": "The national ID didn't match the civil registry. Please check and try again.",
"error_shared_sim": "This SIM doesn't appear to be registered in your name. Please try again with a SIM registered to you.",
"error_shahkar_mismatch": "The mobile-to-national-ID match failed. Please check and try again.",
"identity_submit": "Submit & verify",
"identity_submitting": "Verifying…",
"identity_submitted": "Identity submitted — verification started",
"back_to_checklist": "Back to checklist",
"credentials_title": "Professional credentials",
"credentials_subtitle": "Your documents are reviewed by our team after upload.",
"credentials_needs_start": "Start verification from the status checklist first.",
"ino_number_label": "Nursing-council number",
"ino_number_hint": "Enter your nursing-council membership number.",
"ino_number_required": "Enter your nursing-council number.",
"doc_uploaded": "Document uploaded",
"education_label": "Education certificate",
"education_hint": "Optional — an image of your latest qualification.",
"specialties_label": "Specialties",
"specialties_hint": "Choose or add your areas of specialty.",
"specialty_elderly": "Elderly care",
"specialty_icu": "ICU",
"specialty_pediatric": "Pediatric",
"specialty_post_surgery": "Post-surgery",
"specialty_wound_care": "Wound care",
"specialty_add_placeholder": "Another specialty",
"specialty_add": "Add",
"registry_details_label": "Credential details (optional)",
"issuing_authority_label": "Issuing authority",
"issued_at_label": "Issue date",
"expires_at_label": "Expiry date",
"manual_review_note": "These documents are reviewed manually by our team — not an instant approval.",
"credentials_submit": "Submit credentials",
"credentials_submitting": "Submitting…",
"credentials_submitted": "Credentials submitted — under review",
"credentials_error": "Couldn't submit your credentials. Check the inputs and try again.",
"review_title": "Under review",
"review_body": "Your documents were submitted and are being reviewed by our team.",
"review_eta": "This usually takes 24–48 hours.",
"review_approved_title": "Verification complete",
"review_approved_body": "Every step is verified. You can now publish your profile.",
"review_summary_title": "Status summary",
"review_view_status": "View status",
"badge_verified": "Verified",
"badge_unverified": "Not verified",
"badge_expired": "Expired",
"publish_ready_title": "Ready to publish",
"publish_ready_body": "Your verification is complete. Your services are visible and bookable.",
"publish_blocked_title": "Complete verification to publish",
"publish_blocked_body": "Until verification is complete, your services won't appear in search and can't be booked.",
"publish_cta": "Publish profile",
"publish_complete_verification": "Complete verification",
"publish_done": "Your profile has been published",
"mock_admin_title": "Simulate admin review (demo)",
"mock_admin_approve": "Approve all steps",
"mock_admin_reject": "Reject a document",
"upload_choose": "Choose file",
"upload_capture": "Take photo",
"upload_size_hint": "JPG, PNG or PDF — up to {size} MB.",
"upload_uploading": "Uploading…",
"upload_success": "Uploaded",
"upload_change": "Change",
"upload_error": "Upload failed.",
"upload_bad_type": "That file type isn't allowed. Use JPG, PNG or PDF.",
"upload_too_large": "The file must be smaller than {size} MB.",
"upload_retry": "Try again",
"upload_rejected": "This document was rejected",
"upload_reupload": "Upload again"
},
"refunds": {
"cancel_title": "Cancel booking",
"step_review": "Review",
"step_confirm": "Confirm",
"policy_free_24h": "Free cancellation",
"policy_partial_under_24h": "Partial refund",
"policy_customer_no_show": "No refund",
"lead_gt_24h": "More than 24 hours before the visit",
"lead_lt_24h": "Less than 24 hours before the visit",
"lead_started": "The visit has already started",
"refund_percent": "{percent}% refunded",
"fee_percent": "Cancellation fee: {percent}%",
"row_refund": "Refund to you",
"row_fee": "Cancellation fee",
"row_refundable_total": "Amount for the remaining service",
"sessions_title": "Sessions",
"session_refundable": "Refundable",
"reason_un_started": "Not started",
"reason_completed": "Completed",
"reason_in_progress": "In progress",
"reason_missed": "Missed",
"reason_cancelled": "Cancelled",
"admin_approval_explainer": "Your cancellation request is submitted and the refund is reviewed and processed by our team — you never issue the refund yourself.",
"reason_field_label": "Reason for cancelling",
"reason_cat_changed_mind": "Changed my mind",
"reason_cat_schedule_conflict": "Schedule conflict",
"reason_cat_found_other_care": "Found other care",
"reason_cat_other": "Other",
"reason_notes_label": "Notes (optional)",
"acknowledge_label": "I understand the refund and fee shown above.",
"continue_cta": "Continue",
"confirm_title": "Confirm cancellation",
"confirm_restate": "You'll be refunded and a cancellation fee of applies.",
"confirm_cta": "Confirm cancellation",
"submitting": "Submitting…",
"not_cancellable_title": "This booking can't be cancelled",
"not_cancellable_body": "There are no remaining sessions to cancel. If it was already cancelled, follow the refund status.",
"view_refund_status": "View refund status",
"back_to_booking": "Back to booking",
"error_title": "Something went wrong",
"error_body": "We couldn't load the cancellation details.",
"err_not_cancellable": "This booking can no longer be cancelled.",
"err_nothing_refundable": "There's nothing refundable to cancel.",
"err_generic": "The cancellation could not be completed. Please try again.",
"status_title": "Refund status",
"status_subtitle": "Follow your refund below.",
"no_refund_title": "No refund for this booking",
"no_refund_body": "This booking hasn't been cancelled, so there's no refund to track.",
"step_submitted": "Submitted",
"step_on_its_way": "On its way",
"step_completed": "Completed",
"rstatus_submitted": "Submitted",
"rstatus_on_its_way": "On its way",
"rstatus_completed": "Completed",
"rstatus_failed": "Needs attention",
"total_refunded_label": "Refund amount",
"reference_label": "Reference",
"fee_split_title": "Refund breakdown",
"row_platform_fee_refunded": "Balinyaar fee refunded",
"row_nurse_payout_refunded": "Service cost refunded",
"failed_title": "Your refund needs attention",
"failed_body": "Something interrupted this refund. Please contact support and our team will resolve it — you don't need to do anything else.",
"eta_card_title": "Refunded to your card",
"eta_card_body": "The amount is returned to the bank card you paid with.",
"eta_bnpl_title": "Returning through your installment provider",
"eta_bnpl_body": "Unpaid installments are cancelled and credited back to your installment wallet; any installment you already paid is returned to your bank account.",
"eta_manual_title": "Manual bank transfer",
"eta_manual_body": "The amount is transferred to your bank account by our team.",
"eta_business_days": "About 7–10 business days",
"eta_expected_label": "estimated by {date}",
"cancel_booking_cta": "Cancel booking",
"refund_section_title": "Refund"
},
"bnpl": {
"title": "Installment payment",
"ownership_note": "The provider pays Balinyaar the full amount at once and bears 100% of the customer's default risk; installment repayment is between you and the provider.",
"payable_amount": "Payable amount",
"total_amount": "Total amount",
"monthly": "Monthly",
"continue": "Continue",
"error_title": "Something went wrong",
"error_body": "We couldn't load the installment options. Please try again.",
"provider_digipay": "Digipay",
"provider_snapppay": "SnappPay",
"provider_balinyaar": "Balinyaar Installments",
"provider_tara": "Tara",
"provider_torobpay": "TorobPay",
"provider_tagline_digipay": "3 to 12 installments",
"provider_tagline_snapppay": "4 interest-free installments",
"provider_tagline_balinyaar": "In-house plan",
"provider_tagline_tara": "Installment plan",
"provider_tagline_torobpay": "Installment plan",
"method_title": "Payment method",
"method_card": "Pay in full (bank card)",
"method_card_hint": "One-time payment, instant booking confirmation",
"installments_heading": "Pay in installments",
"continue_with": "Continue with {provider}",
"no_providers_title": "Installments unavailable",
"no_providers_body": "Installment payment isn't available for this booking right now. You can pay by card.",
"plan_title": "{provider} installment plan",
"plan_term_months": "{months, number} months",
"plan_installments": "{count, number} installments",
"plan_interest_free": "Interest-free",
"plan_fee": "{percent, number}% fee",
"down_payment": "Down payment",
"down_payment_percent": "{percent, number}% down payment",
"no_plans_title": "No plans available",
"no_plans_body": "This provider has no installment plans for this booking.",
"back_to_providers": "Choose another provider",
"eligibility_title": "Credit eligibility",
"national_id_label": "National ID",
"national_id_placeholder": "10-digit national ID",
"national_id_invalid": "National ID must be 10 digits.",
"mobile_label": "Mobile number",
"consent_label": "I agree to a credit and eligibility inquiry by {provider}.",
"check_eligibility": "Check eligibility",
"approved_title": "You're approved",
"credit_ceiling_label": "Available credit ceiling",
"approve_continue": "Confirm & continue",
"declined_not_eligible_title": "Not approved",
"declined_not_eligible_body": "Unfortunately the provider didn't approve the required credit.",
"declined_ceiling_title": "Credit ceiling exceeded",
"declined_ceiling_body": "This booking's total exceeds your available credit.",
"pay_with_card": "Pay with card",
"eligibility_error": "The inquiry failed. Try again, or pay by card.",
"schedule_title": "Repayment schedule",
"today": "Today",
"installment_n": "Installment {n, number}",
"contract_note": "The installment agreement is between you and {provider}; Balinyaar is paid the full booking amount up-front.",
"contract_consent": "I have read and accept the installment terms and contract.",
"pay_down_payment": "Confirm & pay down payment",
"redirecting": "Redirecting to {provider}…",
"handoff_title": "Redirecting to the provider",
"handoff_body": "Complete the installment agreement with {provider} to confirm your booking.",
"handoff_pay_success": "Pay down payment (demo)",
"handoff_pay_fail": "Cancel",
"settling_title": "Confirming your installment plan",
"settling_body": "The provider is settling your order. This won't take long.",
"settle_failed_title": "Installment payment didn't complete",
"settle_failed_body": "The provider didn't complete the transaction. You can retry or pay by card.",
"retry_installments": "Retry installments",
"check_again": "Check again",
"wallet_title": "Wallet & installments",
"outstanding_balance": "Outstanding installment balance",
"next_installment": "Next installment",
"early_pay": "Pay early",
"due_dates": "Due dates",
"status_paid": "Paid",
"status_due_soon": "Due soon",
"status_upcoming": "Upcoming",
"status_overdue": "Overdue",
"provider_owned_note": "Your installment status is recorded and managed by {provider}, not Balinyaar.",
"wallet_empty_title": "No active installment plan",
"wallet_empty_body": "If you pay for a booking in installments, your installment status will appear here.",
"wallet_error_title": "Installment status unavailable",
"wallet_error_body": "We couldn't reach the provider's installment status. Please try again.",
"paid_via_installments": "Paid in installments via {provider}",
"step_provider": "Provider",
"step_plan": "Plan",
"step_eligibility": "Eligibility",
"step_schedule": "Schedule"
},
"payouts": {
"title": "Earnings",
"subtitle": "What you've earned, and when it arrives.",
"balance_net_label": "Payable balance",
"balance_net_hint": "Amounts you've earned that are on their way to your account.",
"balance_owed_label": "Owed back to Balinyaar",
"balance_owed_hint": "Past clawbacks exceed your current earnings. This is deducted from your future payouts — nothing is charged to you directly.",
"balance_error": "Couldn't load your balance.",
"bucket_pending": "Pending",
"bucket_eligible": "Eligible",
"bucket_paid": "Paid (lifetime)",
"bucket_clawback": "Clawback outstanding",
"explainer_title": "How payouts work",
"explainer_point_1": "You're paid in weekly batches to your verified primary account.",
"explainer_point_2": "An amount becomes eligible only after the visit is verified (check-out) and the 72-hour dispute window closes.",
"explainer_point_3": "You receive the same amount whether the family paid by card or in installments — the installment provider's fee is never deducted from you.",
"tab_all": "All",
"tab_pending": "Pending",
"tab_eligible": "Eligible",
"tab_paid": "Paid",
"tab_clawback_applied": "Clawed back",
"estate_pending": "Pending",
"estate_eligible": "Eligible",
"estate_paid": "Paid",
"estate_clawback_applied": "Clawed back",
"booking_ref": "Booking #{id}",
"view_booking": "View booking",
"view_payout": "View payout",
"view_payout_detail": "View details",
"amount_gross": "Service price",
"amount_commission": "Balinyaar commission",
"amount_your_payout": "Your payout",
"clawback_explainer": "This booking was refunded after you were paid, so the amount was netted out:",
"clawback_original": "Originally earned",
"clawback_amount": "Clawed back",
"clawback_net": "Net",
"pending_affordance": "In escrow · dispute window open",
"dispute_window_label": "Time to eligible",
"dispute_window_elapsed": "Dispute window closed",
"eligible_affordance": "Cleared · awaiting the next weekly batch",
"paid_on": "Paid on {date}",
"transfer_reference_label": "Transfer reference",
"list_error": "Couldn't load your earnings.",
"list_empty_title": "No earnings yet",
"list_empty_body": "Completed and verified visits will appear here.",
"retry": "Retry",
"page_prev": "Previous",
"page_next": "Next",
"page_indicator": "Page {page} of {total}",
"back_to_earnings": "Earnings",
"history_title": "Payout history",
"history_subtitle": "Every transfer to your account.",
"history_error": "Couldn't load your payout history.",
"history_empty_title": "No payouts yet",
"history_empty_body": "Your weekly transfers will appear here once the first batch runs.",
"payout_net_amount": "Amount transferred",
"period_label": "Period",
"paid_at_label": "Paid on",
"masked_iban_label": "Account",
"pstatus_pending": "Pending",
"pstatus_submitted": "In transfer",
"pstatus_paid": "Paid",
"pstatus_failed": "Failed",
"failure_title": "This transfer failed",
"failure_reason_label": "Reason",
"failure_hint": "Our team will retry it — you don't need to do anything. Check your bank details are correct in your bank settings.",
"back_to_history": "Payout history",
"detail_title": "Payout detail",
"detail_batch": "Weekly batch",
"detail_not_found": "Payout not found.",
"bstatus_draft": "Draft",
"bstatus_processing": "Processing",
"bstatus_partially_failed": "Partially failed",
"bstatus_completed": "Completed",
"bstatus_failed": "Failed",
"processed_on_label": "Processed on",
"detail_money_title": "Amount breakdown",
"gross_earnings_label": "Gross earnings",
"clawback_applied_label": "Clawback applied",
"net_amount_label": "Net amount",
"amount_transferred_label": "Transferred",
"detail_bookings_title": "Bookings covered",
"detail_bookings_hint": "This transfer paid for these visits."
},
"reviews": {
"title": "Leave a review",
"subtitle": "Share your experience to help other families.",
"for_nurse": "About {name}",
"rating_label": "Your rating",
"body_label": "Comments (optional)",
"body_placeholder": "How was the care? Anything worth sharing…",
"tags_label": "What stood out",
"submit": "Submit review",
"submitting": "Submitting…",
"my_review_title": "Your review",
"under_review_body": "Your review has been submitted and will be published after moderation.",
"status_pending_moderation": "Under review",
"status_published": "Published",
"status_hidden": "Hidden",
"status_rejected": "Rejected",
"not_eligible_title": "Review not available",
"reason_not_completed": "You can only review a completed visit.",
"reason_already_reviewed": "You have already reviewed this booking.",
"reason_not_owner": "You don't have access to this booking.",
"reason_not_found": "Booking not found.",
"error_submit": "Couldn't submit your review. Please try again.",
"tag_punctual": "Punctual",
"tag_professional": "Professional",
"tag_clean": "Clean",
"tag_kind": "Kind",
"tag_communicative": "Good communication",
"cta_leave": "Leave a review",
"cta_under_review": "Your review is under review",
"cta_view_review": "View your review",
"count": "{count, plural, =0 {No reviews} one {# review} other {# reviews}}",
"author_masked": "Balinyaar user",
"reviews_empty": "No reviews yet.",
"load_error": "Couldn't load reviews.",
"retry": "Retry",
"load_more": "Show more",
"loading": "Loading…"
},
"records": {
"ownership_banner": "This record belongs to the family and is maintained by them.",
"tab_medications": "Medications",
"tab_routine": "Routine",
"tab_history": "History",
"tab_tasks": "Tasks",
"access_denied_title": "No access",
"access_denied_body": "You don't have access to this record.",
"not_found_title": "Patient not found",
"not_found_body": "This patient could not be found.",
"back_to_patients": "Back to patients",
"load_error": "Couldn't load the record.",
"saved": "Record updated",
"save_error": "Couldn't save your changes. Please try again.",
"edit": "Edit",
"add_item": "Add",
"remove": "Remove",
"medications_empty": "No medications recorded.",
"routine_empty": "No routine recorded.",
"history_empty": "No notes recorded.",
"tasks_empty": "No tasks recorded.",
"med_name": "Medication",
"med_dosage": "Dosage",
"med_frequency": "Frequency",
"med_timing": "Timing / notes",
"routine_label": "Routine",
"routine_time": "Time of day",
"routine_note": "Note",
"task_label": "Task",
"task_done": "Done",
"author_fallback": "Nurse",
"prev": "Previous",
"next": "Next",
"page_of": "{page} of {total}",
"notes_title": "Visit note",
"tasks_checklist_title": "Today's tasks",
"note_label": "Note",
"note_placeholder": "Describe today's visit…",
"note_submit": "Save note",
"note_saved": "Note saved",
"note_error": "Couldn't save the note. Please try again.",
"note_required": "Please write a note.",
"continuity_title": "Patient history"
},
"tickets": {
"title": "My Tickets",
"contact_support": "Contact support",
"empty_title": "No conversations yet",
"empty_body": "Open a ticket to coordinate or get support.",
"error_body": "Couldn't load your tickets.",
"retry": "Retry",
"category_support": "Support",
"category_coordination": "Visit coordination",
"category_refund": "Refund",
"category_emergency": "Emergency",
"status_open": "Open",
"status_closed": "Closed",
"linked_booking": "Booking #{id}",
"linked_refund": "Refund #{id}",
"ref_code_label": "Reference code",
"new_ticket_title": "New ticket",
"category_label": "Category",
"subject_label": "Subject",
"message_label": "Message",
"submit": "Send",
"submitting": "Sending…",
"cancel": "Cancel",
"close": "Close",
"open_failed": "Couldn't open the ticket. Please try again.",
"created_title": "Ticket created",
"created_body": "Your ticket was created. You can follow the conversation.",
"view_thread": "View conversation",
"back_to_tickets": "Back to tickets",
"thread_error": "Couldn't load the conversation.",
"thread_empty_title": "No messages yet",
"thread_empty_body": "No messages yet — start coordinating.",
"closed_notice": "This conversation is closed.",
"sending": "Sending…",
"send": "Send message",
"send_failed": "Message not sent. Please try again.",
"composer_placeholder": "Write your message…",
"author_customer": "Family",
"author_nurse": "Nurse",
"author_support": "Support",
"author_system": "System",
"emergency_title": "Emergencies",
"emergency_body": "For emergencies, call the emergency contact first, then open a ticket.",
"emergency_call": "Call {name}",
"emergency_call_generic": "Emergency call",
"emergency_open_ticket": "Open a support ticket",
"open_from_booking": "Get support / Open ticket"
},
"notifications": {
"title": "Notifications",
"empty_title": "You're all caught up",
"empty_body": "You have no unread notifications.",
"error_body": "Couldn't load your notifications.",
"retry": "Retry",
"mark_all_read": "Mark all read",
"load_more": "Load more",
"bell_aria": "{count, number} unread notifications"
},
"admin": {
"overview_title": "Backoffice",
"overview_subtitle": "Operate the marketplace — verify, refund, pay out, moderate, configure.",
"filter_all": "All",
"filter_label": "Filter",
"apply": "Apply",
"clear": "Clear",
"cancel": "Cancel",
"confirm": "Confirm",
"save": "Save",
"saving": "Saving…",
"saved": "Saved",
"retry": "Retry",
"loading": "Loading…",
"error_generic": "Something went wrong. Please try again.",
"back": "Back",
"close": "Close",
"view": "View",
"open": "Open",
"none": "—",
"reason_label": "Reason",
"reason_required": "A reason is required.",
"note_label": "Note",
"actor": "Actor",
"timestamp": "Time",
"showing_range": "Showing {from}–{to} of {total}",
"page_indicator": "Page {page}",
"prev_page": "Previous",
"next_page": "Next",
"search_placeholder": "Search…",
"refresh": "Refresh",
"no_permission": "You don’t have access to this console.",
"role_gate_hint": "This action is limited to certain admin roles.",
"masked_iban_label": "IBAN",
"ver_title": "Verification queue",
"ver_subtitle": "Nurses awaiting document review.",
"ver_empty": "Queue clear — nothing to review.",
"ver_col_nurse": "Nurse",
"ver_col_step": "Step",
"ver_col_status": "Status",
"ver_col_submitted": "Submitted",
"ver_progress": "{done} of {total}",
"ver_next_step": "Next: {step}",
"ver_open_case": "Review",
"ver_case_title": "Verification case",
"ver_identity_name": "Identity on file",
"ver_steps_title": "Steps",
"ver_documents_title": "Documents",
"ver_credentials_title": "Credentials",
"ver_no_documents": "No documents for this step.",
"ver_automated_badge": "Automated check",
"ver_pass": "Pass",
"ver_reject": "Reject",
"ver_pass_step": "Pass step",
"ver_reject_step": "Reject step",
"ver_reject_reason_ph": "Why is this step rejected?",
"ver_credential_title": "Record credential",
"ver_credential_number": "Credential number",
"ver_holder_name": "Holder name",
"ver_holder_hint": "Must match the verified identity name, or the credential is rejected.",
"ver_issuing_authority": "Issuing authority",
"ver_issued_at": "Issued at",
"ver_expires_at": "Expires at",
"ver_expiry_required": "An expiry date is required for this credential.",
"ver_expiring_warning": "Expiring credential",
"ver_approve": "Approve verification",
"ver_reject_all": "Reject verification",
"ver_approve_hint": "Enabled only when every required step has passed.",
"ver_approve_confirm": "Approve this nurse? The server flips their verified status; this cannot be undone here.",
"ver_reject_confirm": "Reject this verification with the reason above?",
"ver_decided": "Decision recorded.",
"doc_loading": "Loading document…",
"doc_expired": "This secure link expired.",
"doc_reload": "Re-request link",
"doc_error": "Couldn’t load the document.",
"doc_open_new": "Open in a new tab",
"doc_file_meta": "{name} · {size}",
"payout_title": "Payout batches",
"payout_subtitle": "Weekly nurse payouts — preview, run, reconcile.",
"payout_empty": "No payout batches yet.",
"payout_col_period": "Period",
"payout_col_count": "Payouts",
"payout_col_total": "Total",
"payout_col_status": "Status",
"payout_col_processing": "Processing date",
"payout_holiday_shift": "Shifted off a bank holiday",
"payout_preview": "Preview next batch",
"payout_preview_title": "Eligibility preview",
"payout_period_start": "Period start",
"payout_period_end": "Period end",
"payout_eligible_nurses": "Eligible nurses",
"payout_col_gross": "Gross earnings",
"payout_col_clawback": "Clawback netted",
"payout_col_net": "Net",
"payout_no_iban": "No verified IBAN — will be skipped",
"payout_eligibility_note": "Only completed bookings past their dispute window appear here — computed server-side.",
"payout_run": "Run batch",
"payout_run_confirm_title": "Run this payout batch?",
"payout_run_confirm_body": "Money moves to nurses. This is protected by an idempotency key — a double-click can’t pay a booking twice.",
"payout_running": "Submitting to the bank rail…",
"payout_skipped": "Skipped nurses",
"payout_batch_title": "Batch #{id}",
"payout_rows_title": "Payouts in this batch",
"payout_row_nurse": "Nurse",
"payout_row_net": "Net",
"payout_row_status": "Status",
"payout_row_ref": "Transfer ref",
"payout_failure_reason": "Failure: {reason}",
"payout_retry": "Retry payout",
"payout_retry_confirm": "Retry this failed payout? (Idempotency-protected.)",
"payout_record_ref": "Record transfer reference",
"payout_record_ref_ph": "Bank transfer reference",
"payout_ref_saved": "Transfer reference recorded.",
"payout_decomp": "{gross} gross − {clawback} clawback = {net} net",
"payout_ran": "Batch submitted — now processing.",
"refund_title": "Refund",
"refund_open": "Open refund panel",
"refund_linked_booking": "Booking #{id}",
"refund_preview_title": "Refund preview",
"refund_percentage": "Refund rate",
"refund_row_fee": "Platform commission refunded",
"refund_row_payout": "Nurse payout refunded",
"refund_row_total": "Total refund",
"refund_channel": "Channel",
"refund_channel_hint": "How the money is returned — chosen by the server.",
"refund_eta": "Estimated to the customer: {date}",
"refund_eta_bnpl": "BNPL reverts take ~7–10 business days.",
"refund_clawback_notice": "The nurse was already paid — a clawback will be created automatically.",
"refund_initiate": "Initiate refund",
"refund_approve": "Approve",
"refund_reject": "Reject",
"refund_confirm": "Initiate this refund on booking #{id}?",
"refund_provider_failed": "The provider revert failed.",
"refund_done": "Refund processed.",
"refund_reason_category": "Reason",
"refund_notes_ph": "Notes (optional)",
"mod_title": "Review moderation",
"mod_subtitle": "Publish, hide, or reject submitted reviews.",
"mod_empty": "Nothing to moderate.",
"mod_low_rating": "Low rating",
"mod_col_rating": "Rating",
"mod_col_review": "Review",
"mod_col_context": "Nurse / booking",
"mod_publish": "Publish",
"mod_hide": "Hide",
"mod_reject": "Reject",
"mod_confirm_publish": "Publish this review? It becomes public and re-computes the nurse’s rating.",
"mod_confirm_hide": "Hide this review with the reason above?",
"mod_confirm_reject": "Reject this review with the reason above?",
"mod_done": "Review updated.",
"mod_nurse": "Nurse #{id}",
"mod_booking": "Booking #{id}",
"cfg_title": "Platform configuration",
"cfg_subtitle": "Typed, audited settings that drive fees, deadlines, and scheduling.",
"cfg_col_key": "Key",
"cfg_col_value": "Value",
"cfg_col_type": "Type",
"cfg_col_updated": "Last updated",
"cfg_edit": "Edit",
"cfg_updated_by": "by {actor}",
"cfg_range_error": "A rate must be between 0 and 1.",
"cfg_int_error": "This must be a whole number.",
"cfg_json_error": "Invalid JSON.",
"cfg_empty_error": "A value is required.",
"cfg_save_confirm_title": "Save this configuration change?",
"cfg_save_confirm_body": "This change is audited and takes effect immediately. It does NOT retroactively change already-computed bookings or ledger entries.",
"cfg_saved": "Configuration saved.",
"cfg_history": "Change history",
"cfg_history_title": "History — {key}",
"cfg_history_change": "{old} → {new}",
"cfg_history_empty": "No changes recorded yet.",
"cfg_group_fees": "Fees & VAT",
"cfg_group_deadlines": "Deadlines & windows",
"cfg_group_evv": "EVV",
"cfg_group_bnpl": "BNPL",
"cfg_group_cancellation": "Cancellation tiers",
"cfg_group_other": "Other",
"hol_title": "Holiday calendar",
"hol_subtitle": "Bank-closed days shift payout scheduling. The server computes the shift.",
"hol_empty": "No holidays in this range.",
"hol_col_date": "Date",
"hol_col_name": "Name",
"hol_col_type": "Type",
"hol_col_bank": "Bank closed",
"hol_add": "Add holiday",
"hol_edit": "Edit holiday",
"hol_name_fa": "Name (Persian)",
"hol_bank_hint": "When on, payouts falling on this day shift to the next business day.",
"hol_saved": "Holiday saved.",
"hol_year": "Year",
"alert_title": "Support alerts",
"alert_subtitle": "Internal triage — never shown to customers or nurses.",
"alert_empty": "No open alerts.",
"alert_col_type": "Type",
"alert_col_entity": "Linked to",
"alert_col_owner": "Owner",
"alert_col_status": "Status",
"alert_col_created": "Raised",
"alert_assign_me": "Assign to me",
"alert_assign": "Assign",
"alert_resolve": "Resolve",
"alert_resolve_title": "Resolve alert",
"alert_resolve_note_ph": "How was this resolved?",
"alert_assigned": "Alert assigned.",
"alert_resolved": "Alert resolved.",
"alert_link_booking": "Booking #{id}",
"alert_link_review": "Review #{id}",
"alert_link_entity": "{type} #{id}",
"alert_unassigned": "Unassigned",
"audit_title": "Audit log",
"audit_subtitle": "Append-only record of every admin state change. Read-only.",
"audit_empty": "No audit entries for this filter.",
"audit_col_entity": "Entity",
"audit_col_action": "Action",
"audit_col_actor": "Actor",
"audit_col_time": "Time",
"audit_entity_type_ph": "Entity type (e.g. PlatformConfig)",
"audit_entity_id_ph": "Entity id",
"audit_from": "From",
"audit_to": "To",
"audit_diff_title": "Changed fields",
"audit_diff_field": "Field",
"audit_diff_old": "Old",
"audit_diff_new": "New",
"audit_no_diff": "No field-level diff recorded.",
"audit_redacted": "",
"ticket_title": "Ticket queue",
"ticket_subtitle": "Every ticket across the platform. Internal notes are staff-only.",
"ticket_empty": "No tickets match this filter.",
"ticket_col_ref": "Reference",
"ticket_col_subject": "Subject",
"ticket_col_category": "Category",
"ticket_col_status": "Status",
"ticket_col_booking": "Booking",
"ticket_search_ref_ph": "Search by reference code",
"ticket_thread_title": "Ticket {ref}",
"ticket_internal_badge": "Internal note",
"ticket_public_reply": "Reply",
"ticket_internal_note": "Internal note",
"ticket_composer_public_ph": "Reply to the participants…",
"ticket_composer_internal_ph": "Add a staff-only internal note…",
"ticket_send": "Send",
"ticket_sent": "Message sent.",
"ticket_participants": "Participants",
"ticket_linked_refund": "Refund #{id}",
"partner_title": "Partner centers",
"partner_subtitle": "Licensed centers that sponsor nurses and may be merchant-of-record.",
"partner_empty": "No partner centers yet.",
"partner_col_name": "Name",
"partner_col_mor": "Merchant of record",
"partner_col_nurses": "Nurses",
"partner_col_state": "State",
"partner_create": "Create center",
"partner_edit": "Edit center",
"partner_detail_title": "Center detail",
"partner_name": "Center name",
"partner_legal_type": "Legal entity type",
"partner_permit": "پروانه تأسیس",
"partner_permit_en": "MoH establishment permit",
"partner_tech_director": "مسئول فنی",
"partner_tech_director_license": "Technical director license",
"partner_enamad": "نماد اعتماد الکترونیکی",
"partner_iban": "Settlement IBAN",
"partner_iban_write_hint": "Enter the full IBAN to set it; it is stored masked and only the last 4 digits are shown afterward.",
"partner_commission": "Commission rate",
"partner_is_mor": "Merchant of record",
"partner_is_mor_hint": "When on, this center issues invoices and is the settlement target.",
"partner_admin_user": "Center admin user id",
"partner_verify": "Verify & activate",
"partner_verify_confirm": "Record licensing approval and activate this center?",
"partner_activate": "Activate",
"partner_suspend": "Suspend",
"partner_saved": "Center saved.",
"partner_verified_toast": "Center verified and activated.",
"partner_roster_title": "Sponsored nurses",
"partner_assign_nurse": "Assign nurse",
"partner_assign_nurse_ph": "Nurse profile id",
"partner_unlink_nurse": "Remove",
"partner_nurse_assigned": "Nurse assignment updated.",
"role_title": "Roles & access",
"role_subtitle": "Grant or revoke admin roles. (Awaiting backend role endpoints.)",
"role_deferred": "This console is served by a client-side placeholder until the RBAC endpoints ship.",
"role_col_user": "User",
"role_col_role": "Role",
"role_col_granted": "Granted",
"role_grant": "Grant role",
"role_revoke": "Revoke",
"role_grant_confirm": "Grant {role} to user #{id}?",
"role_revoke_confirm": "Revoke {role} from user #{id}?",
"role_updated": "Role updated.",
"agg_not_started": "Not started",
"agg_pending": "Pending",
"agg_in_review": "In review",
"agg_approved": "Approved",
"agg_rejected": "Rejected",
"agg_suspended": "Suspended",
"step_not_started": "Not started",
"step_pending": "Pending",
"step_in_review": "In review",
"step_passed": "Passed",
"step_failed": "Failed",
"step_expired": "Expired",
"step_identity_kyc": "Identity (KYC)",
"step_shahkar_match": "Shahkar match",
"step_moh_competency_license": "MoH competency license",
"step_ino_membership": "INO membership",
"step_criminal_record": "Criminal record",
"step_bank_account_verification": "Bank account check",
"batch_status_draft": "Draft",
"batch_status_processing": "Processing",
"batch_status_partially_failed": "Partially failed",
"batch_status_completed": "Completed",
"batch_status_failed": "Failed",
"pstatus_pending": "Pending",
"pstatus_submitted": "Submitted",
"pstatus_paid": "Paid",
"pstatus_failed": "Failed",
"channel_psp_card": "Card (PSP)",
"channel_bnpl_revert": "BNPL revert",
"channel_manual": "Manual bank",
"rstatus_requested": "Requested",
"rstatus_approved": "Approved",
"rstatus_processing": "Processing",
"rstatus_succeeded": "Succeeded",
"rstatus_failed": "Failed",
"rstatus_rejected": "Rejected",
"mstatus_pending_moderation": "Pending",
"mstatus_published": "Published",
"mstatus_hidden": "Hidden",
"mstatus_rejected": "Rejected",
"dtype_string": "Text",
"dtype_int": "Integer",
"dtype_decimal": "Decimal",
"dtype_bool": "Boolean",
"dtype_json": "JSON",
"htype_official": "Official",
"htype_religious": "Religious",
"htype_national": "National",
"atype_low_rating": "Low rating",
"atype_evv_no_show": "No-show",
"atype_evv_location_mismatch": "EVV location mismatch",
"atype_verification_expired": "Verification expired",
"atype_shared_sim": "Shared SIM",
"atype_payment_anomaly": "Payment anomaly",
"atype_fraud_signal": "Fraud signal",
"atype_nurse_clawback": "Nurse clawback",
"atype_emergency": "Emergency",
"astatus_open": "Open",
"astatus_assigned": "Assigned",
"astatus_resolved": "Resolved",
"sev_low": "Low",
"sev_medium": "Medium",
"sev_high": "High",
"tstatus_open": "Open",
"tstatus_closed": "Closed",
"tcat_coordination": "Coordination",
"tcat_support": "Support",
"tcat_refund": "Refund",
"tcat_emergency": "Emergency",
"role_super_admin": "Super admin",
"role_admin": "Admin",
"role_support": "Support",
"role_finance": "Finance",
"role_moderation": "Moderation",
"center_state_draft": "Draft",
"center_state_pending_verification": "Pending verification",
"center_state_verified": "Verified",
"center_state_suspended": "Suspended",
"yes": "Yes",
"no": "No"
},
"partner": {
"home_title": "Your center",
"home_subtitle": "Onboarding, sponsored nurses, and settlement at a glance.",
"state_banner_draft": "Your center is a draft — complete onboarding to go live.",
"state_banner_pending": "Your center is pending verification.",
"state_banner_suspended": "Your center is suspended. Contact Balinyaar.",
"license_title": "License details",
"permit": "پروانه تأسیس",
"tech_director": "مسئول فنی",
"enamad": "نماد اعتماد الکترونیکی",
"legal_type": "Legal entity type",
"is_mor_yes": "Merchant of record",
"is_mor_no": "Settlement runs through Balinyaar",
"access_denied": "You don’t have access to a partner center.",
"nurses_title": "Sponsored nurses",
"nurses_empty": "No nurses sponsored yet.",
"nurses_col_name": "Nurse",
"nurses_col_verified": "Verification",
"bookings_title": "Sponsored bookings",
"bookings_empty": "No bookings under this center yet.",
"bookings_col_id": "Booking",
"bookings_col_patient": "Patient",
"bookings_col_date": "Date",
"bookings_col_status": "Status",
"settlement_title": "Settlement & invoices",
"settlement_not_mor": "This center is not merchant-of-record — settlement runs through Balinyaar, and no commission invoices are issued here.",
"settlement_empty": "No invoices yet.",
"settlement_col_booking": "Booking",
"settlement_col_gross": "Gross",
"settlement_col_total": "Total",
"settlement_moadian": "سامانه مودیان",
"settlement_moadian_ref": "Moadian reference",
"settlement_moadian_pending": "Not yet submitted to سامانه مودیان",
"invoice_row_gross": "Gross service fee",
"invoice_row_commission": "Platform commission",
"invoice_row_bnpl_commission": "BNPL commission",
"invoice_row_vat": "VAT (on commission)",
"invoice_row_total": "Invoice total",
"invoice_download": "Download PDF",
"invoice_pdf_error": "Couldn’t open the invoice PDF.",
"invoice_number": "Invoice #{number}",
"settlement_iban": "Settlement IBAN"
},
"routeChrome": {
"error_title": "Something went wrong",
"error_body": "An unexpected error occurred. You can try again, or head back home.",
"error_retry": "Try again",
"not_found_title": "Page not found",
"not_found_body": "The page you are looking for does not exist or has moved.",
"go_home": "Go home"
}
}