Files
baya-monorepo/client/messages/en.json
T
2026-07-10 14:48:15 +03:30

1018 lines
48 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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",
"login": "Login",
"logout": "Logout"
},
"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"
},
"shell": {
"customer_app": "Family app",
"nurse_app": "Nurse view",
"admin_console": "Admin console",
"placeholder_body": "This area will be built in a later phase."
},
"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"
},
"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."
},
"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."
},
"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."
},
"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"
},
"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_title": "Services & prices",
"services_empty": "No services listed yet.",
"latest_review_title": "Latest review",
"no_reviews": "No reviews yet.",
"request_booking": "Request booking"
},
"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"
},
"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"
},
"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 2448 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 {refund} and a cancellation fee of {fee} 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 710 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."
}
}