1649 lines
77 KiB
JSON
1649 lines
77 KiB
JSON
{
|
||
"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",
|
||
"welcome_title": "Welcome — who's this care for?",
|
||
"welcome_subtitle": "A couple of quick steps and you're ready to book a nurse.",
|
||
"welcome_cta": "Let's start"
|
||
},
|
||
"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",
|
||
"role_add_later_note": "You can add the other role from your profile anytime.",
|
||
"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",
|
||
"trust_verified_nurses": "Licensed, identity-verified nurses",
|
||
"trust_escrow_payment": "Your payment stays in escrow until the visit is confirmed",
|
||
"trust_support": "Support at every step of care",
|
||
"consent_line": "By continuing, you agree to our <terms>Terms of Service</terms> and <privacy>Privacy Policy</privacy>."
|
||
},
|
||
"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 <refund></refund> and a cancellation fee of <fee></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 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": "<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"
|
||
},
|
||
"legal": {
|
||
"terms_title": "Terms of Service",
|
||
"privacy_title": "Privacy Policy",
|
||
"draft_banner": "This is placeholder legal copy — it has not yet been reviewed by counsel and must not be relied on before launch.",
|
||
"terms_intro": "These draft terms describe how Balinyaar connects families with independent, verified home-nursing professionals. By creating an account you agree to the terms below.",
|
||
"terms_sections": [
|
||
{ "title": "The service", "body": "Balinyaar is a marketplace: it does not employ nurses. Independent nurses and nursing-company staff list their own services; families search, book, and pay through the platform." },
|
||
{ "title": "Bookings and payment", "body": "You pay the full booking price through Balinyaar by card. The amount is held in an internal escrow ledger and is only released to the nurse, weekly, after your visit is confirmed and the dispute window closes." },
|
||
{ "title": "Cancellations and refunds", "body": "Cancelling a confirmed booking may incur a fee depending on how close to the visit you cancel, shown to you before you confirm. Approved refunds are returned to your original payment method or provider." },
|
||
{ "title": "Nurse verification", "body": "Every nurse on Balinyaar passes an identity check, a professional-competency license check, and other required verification steps before they can be booked. We show what has been verified on their profile." },
|
||
{ "title": "Your responsibilities", "body": "Provide accurate information about the person receiving care, communicate through the app's ticket system for anything related to a booking, and treat nurses respectfully." },
|
||
{ "title": "Liability", "body": "Balinyaar facilitates bookings between families and independent professionals; it is not itself a healthcare provider. Disputes are handled through our support ticket system." },
|
||
{ "title": "Changes to these terms", "body": "We may update these terms as the service evolves. Material changes will be announced in the app before they take effect." },
|
||
{ "title": "Contact", "body": "Questions about these terms can be sent through the support ticket system in the app." }
|
||
],
|
||
"privacy_intro": "This draft policy explains what personal data Balinyaar collects to run the service, and how it is used.",
|
||
"privacy_sections": [
|
||
{ "title": "Information we collect", "body": "Your mobile number for login; for nurses, national ID and license details for verification; patient care information you or your nurse enter; approximate visit location for check-in/check-out; and payment metadata from our payment provider." },
|
||
{ "title": "How we use it", "body": "To create and manage bookings, verify nurse identity and credentials, process payments and weekly nurse payouts, and provide support." },
|
||
{ "title": "Who we share it with", "body": "Licensed payment providers, identity-verification vendors, and our licensed home-nursing partner center receive only the information each needs to do their part — never more." },
|
||
{ "title": "Data security", "body": "Sensitive fields such as national ID numbers and clinical notes are encrypted. Access to patient care records is limited to the family and the assigned nurse." },
|
||
{ "title": "Your rights", "body": "You can review and update most of your information from your profile, and can reach support to ask about, correct, or request deletion of your data." },
|
||
{ "title": "Changes to this policy", "body": "We may update this policy as the service evolves. Material changes will be announced in the app before they take effect." },
|
||
{ "title": "Contact", "body": "Questions about this policy can be sent through the support ticket system in the app." }
|
||
]
|
||
}
|
||
}
|