{ "hero": { "eyebrow": "Salon Booking Platform", "title": "Find, compare, and book top salons near you.", "subtitle": "Search by city or service, compare pricing, and lock in your slot in seconds.", "searchPlaceholder": "Search by salon or service" }, "results": { "title": "Salons", "loading": "Loading salons...", "error": "Unable to load salons. Start the backend API to see results.", "empty": "No salons found." }, "card": { "noDescription": "No description yet.", "phoneUnavailable": "Phone unavailable", "viewDetails": "View details & book" }, "nav":{"home":"Home","book":"Book","pay":"Pay","profile":"Profile","bookings":"My bookings","login":"Sign in","logout":"Sign out"},"book":{"title":"Book a Service","placeholder":"Booking flow coming soon.","cta":"Book now","selectSalon":"Select a salon from the home page to book.","service":"Service","staff":"Staff","date":"Date","time":"Time","notes":"Notes","notesPlaceholder":"Optional notes","selectService":"Select service","selectStaff":"Select staff","submit":"Confirm booking","submitting":"Booking...","errors":{"fillAll":"Please fill all required fields.","invalidTime":"Invalid date or time.","generic":"Booking failed."}},"salon":{"services":"Services","staff":"Staff","unknownStaff":"Staff {{id}}"},"profile":{"title":"Profile","placeholder":"Profile and bookings coming soon.","myBookings":"My bookings","noContact":"No contact info"},"bookings":{"title":"My bookings","subtitle":"Your upcoming and past appointments.","empty":"No bookings yet.","pay":"Pay now"},"paymentReturn":{"title":"Payment status","success":"Payment successful","successMessage":"Your payment was completed. You will receive a confirmation by SMS or WhatsApp.","checkStatus":"Check your email or the salon for payment status.","reference":"Reference: {{id}}","viewBookings":"View my bookings"},"auth":{"title":"Sign in","subtitle":"Enter your phone number to receive a verification code.","phone":"Phone number","channel":"Send via","sms":"SMS","whatsapp":"WhatsApp","sendCode":"Send code","sending":"Sending...","verifyTitle":"Enter code","verifySubtitle":"We sent a code to {{phone}}","code":"Verification code","verify":"Verify","verifying":"Verifying...","back":"Change number","errors":{"generic":"Something went wrong.","retryAfter":"Please wait {{seconds}} seconds before trying again."}},"locale": { "label": "Language", "arabic": "العربية", "english": "English" }, "common": { "loading": "Loading..." }, "payment": { "title": "Payment (Beta)", "subtitle": "Send a Moyasar payment for an existing booking.", "badge": "Payments", "bookingId": "Booking ID", "accessToken": "Access token", "accessTokenPlaceholder": "Paste JWT access token", "sourceType": "Source type", "sourceValue": "Source value", "sourceValuePlaceholder": "Mobile number or token", "callbackUrl": "Callback URL", "payNow": "Pay now", "processing": "Processing...", "idempotency": "Idempotency key", "sources": { "stcpay": "stc pay (mobile)", "token": "tokenized payment", "applepay": "Apple Pay" }, "errors": { "bookingRequired": "Booking ID is required.", "mobileRequired": "Mobile number is required for stc pay.", "tokenRequired": "Token is required for token payments.", "generic": "Payment request failed." } } }