export const ar = { common: { cancel: "إلغاء", continue: "متابعة", back: "رجوع", retry: "حاول مجددًا", loading: "جارٍ التحميل…", saving: "جارٍ الحفظ…", error: "خطأ", save: "حفظ", or: "أو", browseHome: "الصفحة الرئيسية", backHome: "العودة للرئيسية", openSettings: "فتح الإعدادات", yourLocation: "موقعك", }, onboarding: { skip: "تخطٍّ", next: "التالي", getStarted: "ابدأ الآن", slide1: { title: "رحلتك المثالية على بُعد نقرة واحدة!", desc: "تبدأ رحلتك مع وصّيل. اعثر على رحلتك المثالية بكل سهولة.", }, slide2: { title: "أفضل سيارة بين يديك مع وصّيل", desc: "اكتشف سهولة العثور على رحلتك المثالية مع وصّيل", }, slide3: { title: "رحلتك بطريقتك. لننطلق!", desc: "أدخل وجهتك، وارتَح، ودعنا نتولّى الباقي.", }, }, auth: { signIn: { welcome: "أهلاً 👋", email: "البريد الإلكتروني", emailPlaceholder: "karim@email.com", password: "كلمة المرور", passwordPlaceholder: "••••••••", keepSignedIn: "إبقائي مسجّلاً", signingIn: "جارٍ تسجيل الدخول…", signInBtn: "تسجيل الدخول", signInGoogle: "تسجيل الدخول عبر Google", forgotPassword: "نسيت كلمة المرور؟", noAccount: "ليس لديك حساب؟ ", signUpLink: "إنشاء حساب", carAlt: "سيارة", reset: { title: "إعادة تعيين كلمة المرور", requestBody: "أدخل بريدك الإلكتروني وسنرسل لك رمز إعادة تعيين مكوّن من 6 أرقام.", emailPlaceholder: "karim@email.com", sending: "جارٍ الإرسال…", sendCode: "إرسال الرمز", newPassTitle: "أدخل كلمة المرور الجديدة", resetBody: "أرسلنا رمز إعادة التعيين إلى {email}", devBanner: "إرسال البريد غير مُفعّل على هذا الخادم. رمز إعادة التعيين هو ", newPassLabel: "كلمة المرور الجديدة", newPasswordPlaceholder: "••••••••", resetting: "جارٍ إعادة التعيين…", resetBtn: "إعادة تعيين كلمة المرور", }, alertMissingTitle: "معلومات ناقصة", alertMissingBody: "أدخل بريدك الإلكتروني وكلمة المرور.", alertErrorTitle: "خطأ", alertErrorFallback: "تعذّر تسجيل الدخول. حاول مرة أخرى.", errEmail: "أدخل بريدك الإلكتروني.", errCode: "أدخل الرمز المكوّن من 6 أرقام.", errPassword: "يجب أن تكون كلمة المرور 8 أحرف على الأقل.", errReset: "تعذّر إعادة تعيين كلمة المرور. حاول مرة أخرى.", }, signUp: { createAccount: "أنشئ حسابك", howUse: "كيف ستستخدم وصّيل؟", riderTitle: "أحتاج رحلة", riderDesc: "احجز رحلات وصل إلى وجهتك", driverTitle: "أريد القيادة", driverDesc: "قدّم رحلات واكسب المال بسيارتك", carAlt: "سيارة", name: "الاسم", namePlaceholder: "كريم حداد", email: "البريد الإلكتروني", emailPlaceholder: "karim@email.com", phoneOptional: "الهاتف (اختياري)", phonePlaceholder: "70 123 456", password: "كلمة المرور", passwordPlaceholder: "••••••••", signUpBtn: "إنشاء حساب", signUpGoogle: "التسجيل عبر Google", haveAccount: "هل لديك حساب بالفعل؟ ", signInLink: "تسجيل الدخول", verify: { title: "التحقق", body: "أرسلنا رمز تحقق إلى {email}", devBanner: "إرسال البريد غير مُفعّل على هذا الخادم. رمز التحقق هو ", verifying: "جارٍ التحقق…", verifyBtn: "تحقق من البريد", checkAlt: "تحقق", }, verified: { title: "تم التحقق", body: "تم التحقق من حسابك بنجاح.", }, alertMissingTitle: "معلومات ناقصة", alertMissingBody: "يرجى ملء الاسم والبريد الإلكتروني وكلمة المرور.", alertPhoneTitle: "رقم هاتف غير صالح", alertPhoneBody: "أدخل رقمًا لبنانيًا صالحًا، مثلاً 70 123 456.", alertErrorTitle: "خطأ", alertErrorFallback: "تعذّر إنشاء حسابك.", errCode: "أدخل الرمز المكوّن من 6 أرقام.", errVerify: "فشل التحقق. حاول مرة أخرى.", }, role: { title: "كيف ستستخدم وصّيل؟", subtitle: "يمكنك تغيير ذلك لاحقًا بالتواصل مع الدعم.", riderTitle: "أنا راكب", riderDesc: "احجز رحلات وتنقّل في لبنان", driverTitle: "أنا سائق", driverDesc: "قدّم رحلات واكسب المال", alertErrorTitle: "خطأ", alertErrorBody: "تعذّر حفظ اختيارك. حاول مرة أخرى.", }, }, home: { welcome: "أهلاً {name} 👋", logoutAlt: "تسجيل الخروج", currentLocation: "موقعك الحالي", findingLocation: "جارٍ العثور على موقعك…", whatNeed: "بماذا تحتاج؟", recentRides: "الرحلات الأخيرة", noRecent: "لا توجد رحلات حديثة.", noRecentAlt: "لا توجد رحلات حديثة", }, rides: { allRides: "كل الرحلات", noRecent: "لا توجد رحلات حديثة.", noRecentAlt: "لا توجد رحلات حديثة", }, tabs: { home: "الرئيسية", rides: "الرحلات", chat: "الدردشة", profile: "الملف", settings: "الإعدادات", }, chat: { title: "الدردشة", messageAlt: "رسالة", noMessages: "لا توجد رسائل بعد", startConversation: "ابدأ محادثة مع أصدقائك وعائلتك", }, profile: { title: "ملفي الشخصي", avatarAlt: "صورتك الشخصية", firstName: "الاسم الأول", firstNamePlaceholder: "اسمك الأول", lastName: "اسم العائلة", lastNamePlaceholder: "اسم عائلتك", email: "البريد الإلكتروني", emailPlaceholder: "بريدك الإلكتروني", }, findRide: { title: "الرحلة", from: "من", to: "إلى", findNow: "ابحث الآن", }, confirmRide: { title: "طلب رحلة", yourTrip: "رحلتك", pickup: "نقطة الصعود", destination: "الوجهة", tripTime: "زمن الرحلة {time}", paymentMethod: "طريقة الدفع", cash: "💵 نقدًا", card: "💳 بطاقة", fareDisplay: "${fare}", lbpEstimate: "≈ {lbp}", noDrivers: "لا يوجد سائقو {service} متصلون الآن", findingDrivers: "جارٍ البحث عن سائقين قريبين…", nearestDriver: "أقرب سائق ≈ {eta} دقيقة", requesting: "جارٍ الطلب…", noDriversOnline: "لا يوجد سائقون متصلون", requestCash: "اطلب رحلة · ادفع نقدًا للسائق", requestCard: "اطلب رحلة · ادفع بالبطاقة", alertMissingRouteTitle: "المسار ناقص", alertMissingRouteBody: "يرجى تحديد نقطة الصعود والوجهة أولاً.", alertNoEstimateTitle: "لا يوجد تقدير", alertNoEstimateBody: "تعذّر تقدير الأجرة. حاول مرة أخرى.", alertErrorTitle: "خطأ", alertErrorFallback: "حدث خطأ أثناء حجز رحلتك. حاول مرة أخرى.", alertPayCardTitle: "الدفع بالبطاقة", alertPayCardBody: "سيتم خصم ${fare} من بطاقتك.", }, bookRide: { status: { requested: "جارٍ البحث عن سائقك…", accepted: "تم تعيين سائق — في طريقه إليك", enRoute: "أنت في الرحلة", completed: "وصلت!", cancelled: "تم إلغاء الرحلة", }, rideNotFound: "الرحلة غير موجودة.", couldNotLoad: "تعذّر تحميل هذه الرحلة.", backHome: "العودة للرئيسية", matchingDriver: "نطابقك مع أقرب سائق {service}.", ratingFallback: "—", paymentCash: "💵 نقدًا للسائق", paymentCard: "💳 مدفوع بالبطاقة", fare: "الأجرة: ${fare}", tripTime: "زمن الرحلة {time}", rideCancelled: "تم إلغاء هذه الرحلة.", cancelRide: "إلغاء الرحلة", cancelling: "جارٍ الإلغاء…", alertErrorTitle: "خطأ", alertErrorBody: "تعذّر إلغاء هذه الرحلة. حاول مرة أخرى.", }, driver: { home: { signOutAlt: "تسجيل الخروج", driverMode: "وضع السائق", online: "● متصل — يتلقّى طلبات الرحلات", goOnline: "○ اتصل لتقديم الرحلات", todaysEarnings: "أرباح اليوم", completedToday: "المكتملة اليوم", incomingRequests: "الطلبات الواردة", incomingRequestsOffline: "الطلبات الواردة (غير متصل)", waitingRequests: "بانتظار طلبات الرحلات…", goOnlineStart: "اتصل لبدء القيادة.", welcome: "أهلاً {name}", welcomeFallback: "سائق", setupIntro: "أكمل ملف السائق لبدء تلقّي طلبات الرحلات.", whatDrive: "ماذا ستقود؟", carModel: "موديل السيارة", carModelPlaceholder: "مثال: Toyota Camry", carSeats: "عدد المقاعد", carSeatsPlaceholder: "4", saving: "جارٍ الحفظ…", startDriving: "ابدأ القيادة", alertSeatsTitle: "عدد مقاعد غير صالح", alertSeatsBody: "يجب أن يكون عدد المقاعد عددًا صحيحًا بين 1 و8.", alertErrorTitle: "خطأ", alertCreateBody: "تعذّر إنشاء ملف السائق. حاول مرة أخرى.", alertToggleBody: "تعذّر تغيير حالتك. حاول مرة أخرى.", noRequestsAlt: "لا توجد رحلات حديثة", }, offerCard: { newRequest: "طلب جديد · {service}", cash: "💵 نقدًا", card: "💳 بطاقة", fromAlt: "من", toAlt: "إلى", tripTime: "زمن الرحلة", fare: "الأجرة", decline: "رفض", accept: "قبول", }, activeRide: { headToPickup: "اتجه إلى نقطة الصعود", tripInProgress: "الرحلة جارية", rider: "{name}", fromAlt: "من", toAlt: "إلى", fare: "الأجرة", startTrip: "ابدأ الرحلة", completeTrip: "أنهِ الرحلة", alertErrorTitle: "خطأ", alertAcceptBody: "تعذّر قبول هذه الرحلة. ربما حُجزت أو انتهت صلاحيتها.", alertDeclineBody: "تعذّر رفض هذه الرحلة. حاول مرة أخرى.", alertUpdateBody: "تعذّر تحديث الرحلة. حاول مرة أخرى.", }, }, services: { car: { label: "سيارة", tagline: "رحلة يومية، حتى 4 مقاعد." }, moto: { label: "موتور", tagline: "تجنّب الزحام — راكب واحد، بدون أمتعة." }, courier: { label: "توصيل طرود", tagline: "أرسل طردًا عبر المدينة دون ركوب.", }, chauffeur: { label: "سائق خاص", tagline: "يأتيك سائق ويقود سيارتك أنت." }, }, pois: { nearbyTitle: "اقتراحات قريبة", mall: "مركز تسوّق", hospital: "مستشفى", pharmacy: "صيدلية", restaurant: "مطعم", searching: "جارٍ البحث…", noneNearby: "لا يوجد قريب", kmAway: "{km} كم", routeAway: "{km} كم · {min} دقيقة", nearbyPlace: "مكان قريب", }, units: { min: { zero: "0 دقيقة", one: "{n} دقيقة", other: "{n} دقائق" }, h: "{n} س", m: "{n} د", hoursMinutes: "{h}س {m}د", seats: { zero: "{n} مقاعد", one: "مقعد", other: "{n} مقاعد" }, lbpSuffix: " ل.ل.", }, months: { jan: "يناير", feb: "فبراير", mar: "مارس", apr: "أبريل", may: "مايو", jun: "يونيو", jul: "يوليو", aug: "أغسطس", sep: "سبتمبر", oct: "أكتوبر", nov: "نوفمبر", dec: "ديسمبر", }, components: { oauth: { or: "أو", googleLogoAlt: "شعار Google", alertFailTitle: "فشل تسجيل الدخول عبر Google", alertFailNoToken: "لم يُعَد أي رمز. حاول مرة أخرى.", alertFailFallback: "حاول مرة أخرى.", }, otp: { code: "الرمز", codePlaceholder: "123456", pasteCode: "لصق الرمز من Gmail", }, googleTextInput: { searchAlt: "بحث", placeholder: "إلى أين تريد الذهاب؟", }, inputField: { labelIconAlt: "أيقونة {label}", }, locationNotice: { denied: { title: "الوصول إلى الموقع مُيقَف", body: "يحتاج وصّيل إلى موقعك لإظهار السائقين القريبين وتحديد نقطة الصعود.", action: "فتح الإعدادات", }, servicesOff: { title: "خدمات الموقع مُيقَفة", body: "فعّل الموقع على جهازك ثم حاول مجددًا.", action: "حاول مجددًا", }, unavailable: { title: "تعذّر العثور على موقعك", body: "انتقل إلى مكان بإشارة أوضح، أو حدّد نقطة الصعود يدويًا.", action: "حاول مجددًا", }, }, map: { destination: "الوجهة", webUnavailable: "الخريطة غير متاحة على الويب.\nافتح التطبيق على أندرويد أو iOS للتجربة الكاملة.", }, rideCard: { mapAlt: "خريطة", originAlt: "المصدر", destinationAlt: "الوجهة", dateTime: "التاريخ والوقت", driver: "السائق", carSeats: "المقاعد", fare: "الأجرة", paymentStatus: "حالة الدفع", paymentCash: "نقدًا · ادفع للسائق", paymentPaid: "مدفوع بالبطاقة", paymentOther: "{status}", }, rideLayout: { goBack: "رجوع", backArrowAlt: "سهم الرجوع", }, payment: { paymentMethod: "طريقة الدفع", cash: "💵 نقدًا", card: "💳 بطاقة", processing: "جارٍ المعالجة...", bookCash: "احجز رحلة · ادفع نقدًا للسائق", confirmCard: "تأكيد والدفع بالبطاقة", checkAlt: "تحقق", rideBooked: "تم حجز الرحلة!", successBody: "شكرًا لحجزك.\n تم تسجيل حجزك.\n", cashInstruction: "يرجى تجهيز {lbp}.", backHome: "العودة للرئيسية", alertPayCardTitle: "الدفع بالبطاقة", alertPayCardBody: "سيتم خصم ${amount} من بطاقتك.", alertErrorTitle: "خطأ", alertErrorBody: "حدث خطأ أثناء حجز رحلتك. حاول مرة أخرى.", alertPaymentNotCompletedTitle: "لم يكتمل الدفع", alertPaymentNotCompletedBody: "أُلغي الدفع أو تعذّر التحقق منه. حاول مرة أخرى.", alertProcessingTitle: "خطأ", alertProcessingBody: "حدث خطأ أثناء معالجة الدفع. حاول مرة أخرى.", }, driverCard: { avatarAlt: "صورة السائق", starAlt: "نجمة", dollarAlt: "دولار", carAlt: "سيارة", seats: "{n} مقاعد", }, }, settings: { title: "الإعدادات", maps: { title: "الخرائط والتنقّل", description: "يستخدم وصّيل موقعك لإظهار السائقين القريبين والتنقّل إلى نقطة الصعود.", statusGranted: "مُتاح", statusDenied: "غير مسموح", statusBlocked: "محظور", statusUnknown: "جارٍ التحقق…", openSettings: "فتح الإعدادات", }, appearance: { title: "المظهر", description: "اختر شكل وصّيل.", light: "فاتح", dark: "داكن", system: "النظام", }, safety: { title: "الأمان", call112: "اتصل بـ 112 — الطوارئ", call112Description: "اتصل برقم الطوارئ في لبنان للشرطة أو الإسعاف أو الإطفاء.", callFailedTitle: "تعذّر إجراء المكالمة", callFailedBody: "لا يوجد هاتف على هذا الجهاز. اتصل بـ 112 يدويًا.", proactive: { title: "الأمان الاستباقي", body: "شارك حالة رحلتك وموقعك المباشر مع جهات موثوقة، وامتحن بثقة مع وجود المساعدة على بُعد نقرة.", }, verification: { title: "التحقق من الركاب", body: "يتحقق الركاب والسائقون من أرقام هواتفهم وهويتهم، فتعرف دائمًا مع من تركب.", }, privacy: { title: "حماية خصوصيتك", body: "يبقى رقم هاتفك وبياناتك مخفية في الدردشة. الرسائل ظاهرة فقط بينك وبين سائقك لهذه الرحلة.", }, }, language: { title: "اللغة", description: "لغة التطبيق.", en: "English", ar: "العربية", fr: "Français", rtlRestartTitle: "إعادة التشغيل للعربية", rtlRestartBody: "سيُطبَّق التخطيط العربي بالكامل في المرة القادمة التي تفتح فيها التطبيق.", }, keepAwake: { title: "عدم قفل الشاشة", description: "إبقاء الشاشة مضاءة أثناء فتح التطبيق.", }, overlay: { title: "العرض فوق التطبيقات الأخرى", description: "مطلوب لتظهر تنبيهات الرحلات فوق التطبيقات الأخرى.", allow: "السماح بالعرض فوق التطبيقات الأخرى", openedHint: "تم فتح إعدادات النظام", notAndroid: "متاح على أندرويد فقط.", }, }, };