chore: أرشفة تطبيقات ولوحات تريبز التي سيحلّ محلها كود سيرو

استكمال قرار 2026-07-27 (كوميت fff76c9 أرشف الباك إند):
  apps/rider          → apps/rider-archive-cubit
  apps/driver         → apps/driver-archive-cubit
  dashboards/admin-web    → dashboards/admin-web-archive
  dashboards/service-web  → dashboards/service-web-archive

إعادة تسمية بلا تعديل محتوى. rider/driver كانا إعادة بناء Cubit مبنية على
عقد NestJS المؤرشف. admin-web و service-web نموذجان بملف HTML واحد (164 و
128 سطراً) — يحلّ محلهما siro_admin و siro_service المكتملان.

يُحمل من المؤرشف ولا يُعاد اكتشافه: عقد map-saas المثبَّت بالتجربة في
apps/rider-archive-cubit/lib/core/api/ (x-api-key ترويسة، reverse مصفوفة،
route في points) ودرس مسار FCM.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hamza-Ayed
2026-07-27 05:12:04 +03:00
co-authored by Claude Opus 5
parent fff76c949f
commit 9909d9b4c1
809 changed files with 0 additions and 0 deletions
@@ -0,0 +1,229 @@
{
"@@locale": "ar",
"appName": "Tripz",
"appTagline": "اسحب، وصل، وصل",
"phoneTitle": "أدخل رقم هاتفك للمتابعة",
"phoneLabel": "رقم الهاتف",
"phoneHint": "07XXXXXXXX",
"sendCode": "إرسال الرمز",
"otpTitle": "أدخل رمز التحقق",
"otpSentTo": "أُرسل إلى {phone}",
"@otpSentTo": {
"placeholders": {
"phone": {"type": "String"}
}
},
"otpLabel": "الرمز",
"confirm": "تأكيد",
"welcome": "مرحباً {name}",
"@welcome": {
"placeholders": {
"name": {"type": "String"}
}
},
"welcomeBack": "مرحباً بعودتك",
"whereTo": "إلى أين؟",
"setLocationOnMap": "تحديد الموقع على الخريطة",
"myTrips": "رحلاتي",
"wallet": "المحفظة",
"coupons": "الكوبونات والدعوات",
"settings": "الإعدادات",
"support": "الدعم",
"logout": "تسجيل الخروج",
"language": "اللغة",
"arabic": "العربية",
"english": "English",
"theme": "المظهر",
"lightMode": "الوضع النهاري",
"darkMode": "الوضع الليلي",
"systemMode": "تلقائي",
"errorGeneric": "حدث خطأ ما",
"retry": "أعد المحاولة",
"emptyGeneric": "لا توجد عناصر بعد",
"loading": "جارٍ التحميل...",
"cancel": "إلغاء",
"save": "حفظ",
"close": "إغلاق",
"next": "التالي",
"back": "رجوع",
"search": "بحث",
"noResults": "لا توجد نتائج",
"connectionError": "تحقق من اتصالك بالإنترنت",
"authError": "تعذّر إرسال الرمز",
"invalidOtp": "رمز غير صحيح",
"phoneEmpty": "أدخل رقم الهاتف",
"selectDestination": "اختر وجهتك",
"pickupLocation": "نقطة الانطلاق",
"dropoffLocation": "الوجهة",
"chooseOnMap": "اختر من الخريطة",
"favorites": "المفضلة",
"homePlace": "البيت",
"workPlace": "العمل",
"searchPlaces": "ابحث عن مكان...",
"recent": "الأخيرة",
"addStop": "إضافة توقف",
"removeStop": "إزالة التوقف",
"rideClasses": "فئة الرحلة",
"cash": "نقدي",
"walletPayment": "المحفظة",
"couponCode": "كود الخصم",
"scheduleRide": "جدولة رحلة",
"requestRide": "اطلب رحلة",
"searchingDriver": "جارٍ البحث عن سائق...",
"cancelSearch": "إلغاء البحث",
"driverAccepted": "قبل سائقك الرحلة",
"driverArriving": "السائق في طريقه إليك",
"driverArrived": "وصل سائقك",
"rideInProgress": "الرحلة جارية",
"rideCompleted": "انتهت الرحلة",
"rateDriver": "قيّم سائقك",
"tripFare": "أجرة الرحلة",
"waitingFee": "رسوم الانتظار",
"discount": "الخصم",
"paymentMethod": "طريقة الدفع",
"total": "المجموع",
"submitRating": "إرسال التقييم",
"skipRating": "تخطي",
"freeWaitMinutes": "دقائق انتظار مجانية",
"minutes": "دقائق",
"callDriver": "اتصل بالسائق",
"chatWithDriver": "دردشة مع السائق",
"shareTrip": "مشاركة الرحلة",
"emergencySOS": "طارئ SOS",
"plateNumber": "رقم اللوحة",
"vehicleInfo": "معلومات المركبة",
"driverRating": "تقييم السائق",
"eta": "الوصول المتوقع",
"km": "كم",
"min": "د",
"searchTimeout": "لم نجد سائقاً متاحاً حالياً. حاول مرة أخرى",
"priceEstimate": "تقدير السعر",
"perKm": "/كم",
"capacity": "{seats} مقاعد",
"@capacity": {
"placeholders": {
"seats": {"type": "int"}
}
},
"confirmPickup": "تأكيد نقطة الانطلاق",
"pickupSet": "تم تحديد نقطة الانطلاق",
"destinationSet": "تم تحديد الوجهة",
"routeSummary": "{distance} · {duration}",
"@routeSummary": {
"placeholders": {
"distance": {"type": "String"},
"duration": {"type": "String"}
}
},
"noPickupSet": "حدد نقطة انطلاقك",
"mapPinInstructions": "حرّك الخريطة لإظهار الدبوس",
"tripNoDrivers": "لم نجد سائقين بالقرب",
"tripCancelled": "تم إلغاء الرحلة",
"tripCancelledByDriver": "ألغى السائق الرحلة",
"cancelFee": "رسوم الإلغاء: {fee} {currency}",
"@cancelFee": {
"placeholders": {
"fee": {"type": "String"},
"currency": {"type": "String"}
}
},
"waitFreeMinutes": "{minutes} دقائق انتظار مجانية",
"@waitFreeMinutes": {
"placeholders": {
"minutes": {"type": "int"}
}
},
"waitingCharge": "رسوم الانتظار: {amount} {currency}",
"@waitingCharge": {
"placeholders": {
"amount": {"type": "String"},
"currency": {"type": "String"}
}
},
"driverEnRoute": "السائق في طريقه إليك",
"arrivingIn": "الوصول خلال {eta}",
"@arrivingIn": {
"placeholders": {
"eta": {"type": "String"}
}
},
"tripStarted": "بدأت الرحلة",
"tripEnd": "انتهت الرحلة",
"fareBreakdown": "تفاصيل الأجرة",
"baseFare": "الأجرة الأساسية",
"distanceFare": "المسافة",
"timeFare": "الوقت",
"surgeMultiplier": "الذروة",
"couponApplied": "تم تطبيق الكوبون",
"youPaid": "دفعت",
"payCash": "ادفع نقدي",
"rateYourTrip": "قيّم رحلتك",
"ratingComment": "أضف تعليقاً (اختياري)",
"thankYou": "شكراً على ملاحظاتك",
"tripDuration": "مدة الرحلة: {duration}",
"@tripDuration": {
"placeholders": {
"duration": {"type": "String"}
}
},
"tripDistance": "مسافة الرحلة: {distance}",
"@tripDistance": {
"placeholders": {
"distance": {"type": "String"}
}
},
"edit": "تعديل",
"resendIn": "إعادة إرسال خلال {seconds}ث",
"@resendIn": {
"placeholders": {
"seconds": {"type": "int"}
}
},
"resendCode": "إعادة إرسال الرمز",
"nameTitle": "ما اسمك؟",
"nameSubtitle": "ساعدنا في تخصيص تجربتك",
"nameHint": "اسمك",
"firstNameHint": "الاسم الأول",
"lastNameHint": "اسم العائلة",
"nameButton": "متابعة",
"reconnect": "جارٍ إعادة الاتصال...",
"tripExpired": "انتهت صلاحية الرحلة",
"loginTitle": "مرحباً بك في Tripz",
"phoneLoginSubtitle": "أدخل رقم هاتفك لتسجيل الدخول",
"sendOtpButton": "إرسال رمز التحقق",
"nameEntryTitle": "ما اسمك؟",
"homeTitle": "الرئيسية",
"destinationTitle": "الوجهة",
"routeTitle": "المسار",
"whereToHint": "إلى أين تريد الذهاب؟",
"currentLocation": "الموقع الحالي",
"savedPlaces": "الأماكن المحفوظة",
"home": "المنزل",
"work": "العمل",
"pickFromMap": "اختيار من الخريطة",
"searchHint": "ابحث عن مكان...",
"noResultsFound": "لا توجد نتائج",
"connecting": "جارٍ الاتصال...",
"tripSummary": "ملخص الرحلة",
"totalDistance": "المسافة الإجمالية",
"estimatedTime": "الوقت المقدر",
"totalFare": "الأجرة الإجمالية",
"chooseRide": "اختر نوع الرحلة",
"promoCode": "كود الترويج",
"errorTitle": "حدث خطأ",
"errorSubtitle": "يرجى المحاولة مرة أخرى",
"emptyTitle": "لا توجد بيانات",
"emptySubtitle": "لم يتم العثور على محتوى حالياً",
"signIn": "تسجيل الدخول",
"confirmPhoneNumber": "تأكيد رقم الهاتف",
"driverRatingValue": "التقييم",
"missingDataError": "بيانات مفقودة",
"onboardingTitle1": "اطلب بلمسة واحدة",
"onboardingSubtitle1": "أدخل وجهتك واحصل على سائق في ثوانٍ",
"onboardingTitle2": "تتبع رحلتك مباشرة",
"onboardingSubtitle2": "شاهد سائقك وهو يقترب في الوقت الفعلي",
"onboardingTitle3": "ادفع كما يناسبك",
"onboardingSubtitle3": "اختر الدفع نقدًا أو بالبطاقة أو عبر المحفظة",
"getStarted": "ابدأ الآن",
"skip": "تخطي"
}
@@ -0,0 +1,229 @@
{
"@@locale": "en",
"appName": "Tripz",
"appTagline": "Tap, ride, arrive",
"phoneTitle": "Enter your phone number to continue",
"phoneLabel": "Phone number",
"phoneHint": "07XXXXXXXX",
"sendCode": "Send code",
"otpTitle": "Enter verification code",
"otpSentTo": "Sent to {phone}",
"@otpSentTo": {
"placeholders": {
"phone": {"type": "String"}
}
},
"otpLabel": "Code",
"confirm": "Confirm",
"welcome": "Welcome {name}",
"@welcome": {
"placeholders": {
"name": {"type": "String"}
}
},
"welcomeBack": "Welcome back",
"whereTo": "Where to?",
"setLocationOnMap": "Set location on map",
"myTrips": "My trips",
"wallet": "Wallet",
"coupons": "Coupons & invites",
"settings": "Settings",
"support": "Support",
"logout": "Logout",
"language": "Language",
"arabic": "العربية",
"english": "English",
"theme": "Theme",
"lightMode": "Light",
"darkMode": "Dark",
"systemMode": "System",
"errorGeneric": "Something went wrong",
"retry": "Try again",
"emptyGeneric": "Nothing here yet",
"loading": "Loading...",
"cancel": "Cancel",
"save": "Save",
"close": "Close",
"next": "Next",
"back": "Back",
"search": "Search",
"noResults": "No results found",
"connectionError": "Check your internet connection",
"authError": "Failed to send code",
"invalidOtp": "Invalid code",
"phoneEmpty": "Enter your phone number",
"selectDestination": "Choose your destination",
"pickupLocation": "Pickup location",
"dropoffLocation": "Destination",
"chooseOnMap": "Choose on map",
"favorites": "Favorites",
"homePlace": "Home",
"workPlace": "Work",
"searchPlaces": "Search for a place...",
"recent": "Recent",
"addStop": "Add a stop",
"removeStop": "Remove stop",
"rideClasses": "Ride class",
"cash": "Cash",
"walletPayment": "Wallet",
"couponCode": "Coupon code",
"scheduleRide": "Schedule a ride",
"requestRide": "Request a ride",
"searchingDriver": "Looking for a driver...",
"cancelSearch": "Cancel search",
"driverAccepted": "Your driver accepted",
"driverArriving": "Driver is on the way",
"driverArrived": "Your driver has arrived",
"rideInProgress": "Ride in progress",
"rideCompleted": "Ride completed",
"rateDriver": "Rate your driver",
"tripFare": "Trip fare",
"waitingFee": "Waiting fee",
"discount": "Discount",
"paymentMethod": "Payment method",
"total": "Total",
"submitRating": "Submit rating",
"skipRating": "Skip",
"freeWaitMinutes": "Free wait minutes",
"minutes": "minutes",
"callDriver": "Call driver",
"chatWithDriver": "Chat with driver",
"shareTrip": "Share trip",
"emergencySOS": "Emergency SOS",
"plateNumber": "Plate number",
"vehicleInfo": "Vehicle info",
"driverRating": "Driver rating",
"eta": "Estimated arrival",
"km": "km",
"min": "min",
"searchTimeout": "No drivers available right now. Please try again",
"priceEstimate": "Price estimate",
"perKm": "/km",
"capacity": "{seats} seats",
"@capacity": {
"placeholders": {
"seats": {"type": "int"}
}
},
"confirmPickup": "Confirm pickup",
"pickupSet": "Pickup set",
"destinationSet": "Destination set",
"routeSummary": "{distance} · {duration}",
"@routeSummary": {
"placeholders": {
"distance": {"type": "String"},
"duration": {"type": "String"}
}
},
"noPickupSet": "Set your pickup location",
"mapPinInstructions": "Move the map to place the pin",
"tripNoDrivers": "No drivers found nearby",
"tripCancelled": "Trip cancelled",
"tripCancelledByDriver": "Driver cancelled the trip",
"cancelFee": "Cancellation fee: {fee} {currency}",
"@cancelFee": {
"placeholders": {
"fee": {"type": "String"},
"currency": {"type": "String"}
}
},
"waitFreeMinutes": "{minutes} min free wait",
"@waitFreeMinutes": {
"placeholders": {
"minutes": {"type": "int"}
}
},
"waitingCharge": "Waiting charge: {amount} {currency}",
"@waitingCharge": {
"placeholders": {
"amount": {"type": "String"},
"currency": {"type": "String"}
}
},
"driverEnRoute": "Driver is heading to you",
"arrivingIn": "Arriving in {eta}",
"@arrivingIn": {
"placeholders": {
"eta": {"type": "String"}
}
},
"tripStarted": "Ride started",
"tripEnd": "Trip ended",
"fareBreakdown": "Fare breakdown",
"baseFare": "Base fare",
"distanceFare": "Distance",
"timeFare": "Time",
"surgeMultiplier": "Surge",
"couponApplied": "Coupon applied",
"youPaid": "You paid",
"payCash": "Pay cash",
"rateYourTrip": "Rate your trip",
"ratingComment": "Add a comment (optional)",
"thankYou": "Thank you for your feedback",
"tripDuration": "Trip duration: {duration}",
"@tripDuration": {
"placeholders": {
"duration": {"type": "String"}
}
},
"tripDistance": "Trip distance: {distance}",
"@tripDistance": {
"placeholders": {
"distance": {"type": "String"}
}
},
"edit": "Edit",
"resendIn": "Resend in {seconds}s",
"@resendIn": {
"placeholders": {
"seconds": {"type": "int"}
}
},
"resendCode": "Resend code",
"nameTitle": "What's your name?",
"nameSubtitle": "Help us personalize your experience",
"nameHint": "Your name",
"firstNameHint": "First name",
"lastNameHint": "Last name",
"nameButton": "Continue",
"reconnect": "Reconnecting...",
"tripExpired": "Trip expired",
"loginTitle": "Welcome to Tripz",
"phoneLoginSubtitle": "Enter your phone number to log in",
"sendOtpButton": "Send OTP",
"nameEntryTitle": "What's your name?",
"homeTitle": "Home",
"destinationTitle": "Destination",
"routeTitle": "Route",
"whereToHint": "Where are you going?",
"currentLocation": "Current location",
"savedPlaces": "Saved places",
"home": "Home",
"work": "Work",
"pickFromMap": "Pick from map",
"searchHint": "Search for a place...",
"noResultsFound": "No results found",
"connecting": "Connecting...",
"tripSummary": "Trip summary",
"totalDistance": "Total distance",
"estimatedTime": "Estimated time",
"totalFare": "Total fare",
"chooseRide": "Choose a ride",
"promoCode": "Promo code",
"errorTitle": "Something went wrong",
"errorSubtitle": "Please try again",
"emptyTitle": "No data",
"emptySubtitle": "No content found yet",
"signIn": "Sign in",
"confirmPhoneNumber": "Confirm phone number",
"driverRatingValue": "Rating",
"missingDataError": "Missing data",
"onboardingTitle1": "Order with one tap",
"onboardingSubtitle1": "Enter your destination and get a driver in seconds",
"onboardingTitle2": "Track your trip live",
"onboardingSubtitle2": "Watch your driver approach in real-time",
"onboardingTitle3": "Pay your way",
"onboardingSubtitle3": "Choose to pay cash, card, or wallet",
"getStarted": "Get started",
"skip": "Skip"
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,537 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Arabic (`ar`).
class AppLocalizationsAr extends AppLocalizations {
AppLocalizationsAr([String locale = 'ar']) : super(locale);
@override
String get appName => 'Tripz';
@override
String get appTagline => 'اسحب، وصل، وصل';
@override
String get phoneTitle => 'أدخل رقم هاتفك للمتابعة';
@override
String get phoneLabel => 'رقم الهاتف';
@override
String get phoneHint => '07XXXXXXXX';
@override
String get sendCode => 'إرسال الرمز';
@override
String get otpTitle => 'أدخل رمز التحقق';
@override
String otpSentTo(String phone) {
return 'أُرسل إلى $phone';
}
@override
String get otpLabel => 'الرمز';
@override
String get confirm => 'تأكيد';
@override
String welcome(String name) {
return 'مرحباً $name';
}
@override
String get welcomeBack => 'مرحباً بعودتك';
@override
String get whereTo => 'إلى أين؟';
@override
String get setLocationOnMap => 'تحديد الموقع على الخريطة';
@override
String get myTrips => 'رحلاتي';
@override
String get wallet => 'المحفظة';
@override
String get coupons => 'الكوبونات والدعوات';
@override
String get settings => 'الإعدادات';
@override
String get support => 'الدعم';
@override
String get logout => 'تسجيل الخروج';
@override
String get language => 'اللغة';
@override
String get arabic => 'العربية';
@override
String get english => 'English';
@override
String get theme => 'المظهر';
@override
String get lightMode => 'الوضع النهاري';
@override
String get darkMode => 'الوضع الليلي';
@override
String get systemMode => 'تلقائي';
@override
String get errorGeneric => 'حدث خطأ ما';
@override
String get retry => 'أعد المحاولة';
@override
String get emptyGeneric => 'لا توجد عناصر بعد';
@override
String get loading => 'جارٍ التحميل...';
@override
String get cancel => 'إلغاء';
@override
String get save => 'حفظ';
@override
String get close => 'إغلاق';
@override
String get next => 'التالي';
@override
String get back => 'رجوع';
@override
String get search => 'بحث';
@override
String get noResults => 'لا توجد نتائج';
@override
String get connectionError => 'تحقق من اتصالك بالإنترنت';
@override
String get authError => 'تعذّر إرسال الرمز';
@override
String get invalidOtp => 'رمز غير صحيح';
@override
String get phoneEmpty => 'أدخل رقم الهاتف';
@override
String get selectDestination => 'اختر وجهتك';
@override
String get pickupLocation => 'نقطة الانطلاق';
@override
String get dropoffLocation => 'الوجهة';
@override
String get chooseOnMap => 'اختر من الخريطة';
@override
String get favorites => 'المفضلة';
@override
String get homePlace => 'البيت';
@override
String get workPlace => 'العمل';
@override
String get searchPlaces => 'ابحث عن مكان...';
@override
String get recent => 'الأخيرة';
@override
String get addStop => 'إضافة توقف';
@override
String get removeStop => 'إزالة التوقف';
@override
String get rideClasses => 'فئة الرحلة';
@override
String get cash => 'نقدي';
@override
String get walletPayment => 'المحفظة';
@override
String get couponCode => 'كود الخصم';
@override
String get scheduleRide => 'جدولة رحلة';
@override
String get requestRide => 'اطلب رحلة';
@override
String get searchingDriver => 'جارٍ البحث عن سائق...';
@override
String get cancelSearch => 'إلغاء البحث';
@override
String get driverAccepted => 'قبل سائقك الرحلة';
@override
String get driverArriving => 'السائق في طريقه إليك';
@override
String get driverArrived => 'وصل سائقك';
@override
String get rideInProgress => 'الرحلة جارية';
@override
String get rideCompleted => 'انتهت الرحلة';
@override
String get rateDriver => 'قيّم سائقك';
@override
String get tripFare => 'أجرة الرحلة';
@override
String get waitingFee => 'رسوم الانتظار';
@override
String get discount => 'الخصم';
@override
String get paymentMethod => 'طريقة الدفع';
@override
String get total => 'المجموع';
@override
String get submitRating => 'إرسال التقييم';
@override
String get skipRating => 'تخطي';
@override
String get freeWaitMinutes => 'دقائق انتظار مجانية';
@override
String get minutes => 'دقائق';
@override
String get callDriver => 'اتصل بالسائق';
@override
String get chatWithDriver => 'دردشة مع السائق';
@override
String get shareTrip => 'مشاركة الرحلة';
@override
String get emergencySOS => 'طارئ SOS';
@override
String get plateNumber => 'رقم اللوحة';
@override
String get vehicleInfo => 'معلومات المركبة';
@override
String get driverRating => 'تقييم السائق';
@override
String get eta => 'الوصول المتوقع';
@override
String get km => 'كم';
@override
String get min => 'د';
@override
String get searchTimeout => 'لم نجد سائقاً متاحاً حالياً. حاول مرة أخرى';
@override
String get priceEstimate => 'تقدير السعر';
@override
String get perKm => '/كم';
@override
String capacity(int seats) {
return '$seats مقاعد';
}
@override
String get confirmPickup => 'تأكيد نقطة الانطلاق';
@override
String get pickupSet => 'تم تحديد نقطة الانطلاق';
@override
String get destinationSet => 'تم تحديد الوجهة';
@override
String routeSummary(String distance, String duration) {
return '$distance · $duration';
}
@override
String get noPickupSet => 'حدد نقطة انطلاقك';
@override
String get mapPinInstructions => 'حرّك الخريطة لإظهار الدبوس';
@override
String get tripNoDrivers => 'لم نجد سائقين بالقرب';
@override
String get tripCancelled => 'تم إلغاء الرحلة';
@override
String get tripCancelledByDriver => 'ألغى السائق الرحلة';
@override
String cancelFee(String fee, String currency) {
return 'رسوم الإلغاء: $fee $currency';
}
@override
String waitFreeMinutes(int minutes) {
return '$minutes دقائق انتظار مجانية';
}
@override
String waitingCharge(String amount, String currency) {
return 'رسوم الانتظار: $amount $currency';
}
@override
String get driverEnRoute => 'السائق في طريقه إليك';
@override
String arrivingIn(String eta) {
return 'الوصول خلال $eta';
}
@override
String get tripStarted => 'بدأت الرحلة';
@override
String get tripEnd => 'انتهت الرحلة';
@override
String get fareBreakdown => 'تفاصيل الأجرة';
@override
String get baseFare => 'الأجرة الأساسية';
@override
String get distanceFare => 'المسافة';
@override
String get timeFare => 'الوقت';
@override
String get surgeMultiplier => 'الذروة';
@override
String get couponApplied => 'تم تطبيق الكوبون';
@override
String get youPaid => 'دفعت';
@override
String get payCash => 'ادفع نقدي';
@override
String get rateYourTrip => 'قيّم رحلتك';
@override
String get ratingComment => 'أضف تعليقاً (اختياري)';
@override
String get thankYou => 'شكراً على ملاحظاتك';
@override
String tripDuration(String duration) {
return 'مدة الرحلة: $duration';
}
@override
String tripDistance(String distance) {
return 'مسافة الرحلة: $distance';
}
@override
String get edit => 'تعديل';
@override
String resendIn(int seconds) {
return 'إعادة إرسال خلال $secondsث';
}
@override
String get resendCode => 'إعادة إرسال الرمز';
@override
String get nameTitle => 'ما اسمك؟';
@override
String get nameSubtitle => 'ساعدنا في تخصيص تجربتك';
@override
String get nameHint => 'اسمك';
@override
String get firstNameHint => 'الاسم الأول';
@override
String get lastNameHint => 'اسم العائلة';
@override
String get nameButton => 'متابعة';
@override
String get reconnect => 'جارٍ إعادة الاتصال...';
@override
String get tripExpired => 'انتهت صلاحية الرحلة';
@override
String get loginTitle => 'مرحباً بك في Tripz';
@override
String get phoneLoginSubtitle => 'أدخل رقم هاتفك لتسجيل الدخول';
@override
String get sendOtpButton => 'إرسال رمز التحقق';
@override
String get nameEntryTitle => 'ما اسمك؟';
@override
String get homeTitle => 'الرئيسية';
@override
String get destinationTitle => 'الوجهة';
@override
String get routeTitle => 'المسار';
@override
String get whereToHint => 'إلى أين تريد الذهاب؟';
@override
String get currentLocation => 'الموقع الحالي';
@override
String get savedPlaces => 'الأماكن المحفوظة';
@override
String get home => 'المنزل';
@override
String get work => 'العمل';
@override
String get pickFromMap => 'اختيار من الخريطة';
@override
String get searchHint => 'ابحث عن مكان...';
@override
String get noResultsFound => 'لا توجد نتائج';
@override
String get connecting => 'جارٍ الاتصال...';
@override
String get tripSummary => 'ملخص الرحلة';
@override
String get totalDistance => 'المسافة الإجمالية';
@override
String get estimatedTime => 'الوقت المقدر';
@override
String get totalFare => 'الأجرة الإجمالية';
@override
String get chooseRide => 'اختر نوع الرحلة';
@override
String get promoCode => 'كود الترويج';
@override
String get errorTitle => 'حدث خطأ';
@override
String get errorSubtitle => 'يرجى المحاولة مرة أخرى';
@override
String get emptyTitle => 'لا توجد بيانات';
@override
String get emptySubtitle => 'لم يتم العثور على محتوى حالياً';
@override
String get signIn => 'تسجيل الدخول';
@override
String get confirmPhoneNumber => 'تأكيد رقم الهاتف';
@override
String get driverRatingValue => 'التقييم';
@override
String get missingDataError => 'بيانات مفقودة';
@override
String get onboardingTitle1 => 'اطلب بلمسة واحدة';
@override
String get onboardingSubtitle1 => 'أدخل وجهتك واحصل على سائق في ثوانٍ';
@override
String get onboardingTitle2 => 'تتبع رحلتك مباشرة';
@override
String get onboardingSubtitle2 => 'شاهد سائقك وهو يقترب في الوقت الفعلي';
@override
String get onboardingTitle3 => 'ادفع كما يناسبك';
@override
String get onboardingSubtitle3 =>
'اختر الدفع نقدًا أو بالبطاقة أو عبر المحفظة';
@override
String get getStarted => 'ابدأ الآن';
@override
String get skip => 'تخطي';
}
@@ -0,0 +1,538 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String get appName => 'Tripz';
@override
String get appTagline => 'Tap, ride, arrive';
@override
String get phoneTitle => 'Enter your phone number to continue';
@override
String get phoneLabel => 'Phone number';
@override
String get phoneHint => '07XXXXXXXX';
@override
String get sendCode => 'Send code';
@override
String get otpTitle => 'Enter verification code';
@override
String otpSentTo(String phone) {
return 'Sent to $phone';
}
@override
String get otpLabel => 'Code';
@override
String get confirm => 'Confirm';
@override
String welcome(String name) {
return 'Welcome $name';
}
@override
String get welcomeBack => 'Welcome back';
@override
String get whereTo => 'Where to?';
@override
String get setLocationOnMap => 'Set location on map';
@override
String get myTrips => 'My trips';
@override
String get wallet => 'Wallet';
@override
String get coupons => 'Coupons & invites';
@override
String get settings => 'Settings';
@override
String get support => 'Support';
@override
String get logout => 'Logout';
@override
String get language => 'Language';
@override
String get arabic => 'العربية';
@override
String get english => 'English';
@override
String get theme => 'Theme';
@override
String get lightMode => 'Light';
@override
String get darkMode => 'Dark';
@override
String get systemMode => 'System';
@override
String get errorGeneric => 'Something went wrong';
@override
String get retry => 'Try again';
@override
String get emptyGeneric => 'Nothing here yet';
@override
String get loading => 'Loading...';
@override
String get cancel => 'Cancel';
@override
String get save => 'Save';
@override
String get close => 'Close';
@override
String get next => 'Next';
@override
String get back => 'Back';
@override
String get search => 'Search';
@override
String get noResults => 'No results found';
@override
String get connectionError => 'Check your internet connection';
@override
String get authError => 'Failed to send code';
@override
String get invalidOtp => 'Invalid code';
@override
String get phoneEmpty => 'Enter your phone number';
@override
String get selectDestination => 'Choose your destination';
@override
String get pickupLocation => 'Pickup location';
@override
String get dropoffLocation => 'Destination';
@override
String get chooseOnMap => 'Choose on map';
@override
String get favorites => 'Favorites';
@override
String get homePlace => 'Home';
@override
String get workPlace => 'Work';
@override
String get searchPlaces => 'Search for a place...';
@override
String get recent => 'Recent';
@override
String get addStop => 'Add a stop';
@override
String get removeStop => 'Remove stop';
@override
String get rideClasses => 'Ride class';
@override
String get cash => 'Cash';
@override
String get walletPayment => 'Wallet';
@override
String get couponCode => 'Coupon code';
@override
String get scheduleRide => 'Schedule a ride';
@override
String get requestRide => 'Request a ride';
@override
String get searchingDriver => 'Looking for a driver...';
@override
String get cancelSearch => 'Cancel search';
@override
String get driverAccepted => 'Your driver accepted';
@override
String get driverArriving => 'Driver is on the way';
@override
String get driverArrived => 'Your driver has arrived';
@override
String get rideInProgress => 'Ride in progress';
@override
String get rideCompleted => 'Ride completed';
@override
String get rateDriver => 'Rate your driver';
@override
String get tripFare => 'Trip fare';
@override
String get waitingFee => 'Waiting fee';
@override
String get discount => 'Discount';
@override
String get paymentMethod => 'Payment method';
@override
String get total => 'Total';
@override
String get submitRating => 'Submit rating';
@override
String get skipRating => 'Skip';
@override
String get freeWaitMinutes => 'Free wait minutes';
@override
String get minutes => 'minutes';
@override
String get callDriver => 'Call driver';
@override
String get chatWithDriver => 'Chat with driver';
@override
String get shareTrip => 'Share trip';
@override
String get emergencySOS => 'Emergency SOS';
@override
String get plateNumber => 'Plate number';
@override
String get vehicleInfo => 'Vehicle info';
@override
String get driverRating => 'Driver rating';
@override
String get eta => 'Estimated arrival';
@override
String get km => 'km';
@override
String get min => 'min';
@override
String get searchTimeout =>
'No drivers available right now. Please try again';
@override
String get priceEstimate => 'Price estimate';
@override
String get perKm => '/km';
@override
String capacity(int seats) {
return '$seats seats';
}
@override
String get confirmPickup => 'Confirm pickup';
@override
String get pickupSet => 'Pickup set';
@override
String get destinationSet => 'Destination set';
@override
String routeSummary(String distance, String duration) {
return '$distance · $duration';
}
@override
String get noPickupSet => 'Set your pickup location';
@override
String get mapPinInstructions => 'Move the map to place the pin';
@override
String get tripNoDrivers => 'No drivers found nearby';
@override
String get tripCancelled => 'Trip cancelled';
@override
String get tripCancelledByDriver => 'Driver cancelled the trip';
@override
String cancelFee(String fee, String currency) {
return 'Cancellation fee: $fee $currency';
}
@override
String waitFreeMinutes(int minutes) {
return '$minutes min free wait';
}
@override
String waitingCharge(String amount, String currency) {
return 'Waiting charge: $amount $currency';
}
@override
String get driverEnRoute => 'Driver is heading to you';
@override
String arrivingIn(String eta) {
return 'Arriving in $eta';
}
@override
String get tripStarted => 'Ride started';
@override
String get tripEnd => 'Trip ended';
@override
String get fareBreakdown => 'Fare breakdown';
@override
String get baseFare => 'Base fare';
@override
String get distanceFare => 'Distance';
@override
String get timeFare => 'Time';
@override
String get surgeMultiplier => 'Surge';
@override
String get couponApplied => 'Coupon applied';
@override
String get youPaid => 'You paid';
@override
String get payCash => 'Pay cash';
@override
String get rateYourTrip => 'Rate your trip';
@override
String get ratingComment => 'Add a comment (optional)';
@override
String get thankYou => 'Thank you for your feedback';
@override
String tripDuration(String duration) {
return 'Trip duration: $duration';
}
@override
String tripDistance(String distance) {
return 'Trip distance: $distance';
}
@override
String get edit => 'Edit';
@override
String resendIn(int seconds) {
return 'Resend in ${seconds}s';
}
@override
String get resendCode => 'Resend code';
@override
String get nameTitle => 'What\'s your name?';
@override
String get nameSubtitle => 'Help us personalize your experience';
@override
String get nameHint => 'Your name';
@override
String get firstNameHint => 'First name';
@override
String get lastNameHint => 'Last name';
@override
String get nameButton => 'Continue';
@override
String get reconnect => 'Reconnecting...';
@override
String get tripExpired => 'Trip expired';
@override
String get loginTitle => 'Welcome to Tripz';
@override
String get phoneLoginSubtitle => 'Enter your phone number to log in';
@override
String get sendOtpButton => 'Send OTP';
@override
String get nameEntryTitle => 'What\'s your name?';
@override
String get homeTitle => 'Home';
@override
String get destinationTitle => 'Destination';
@override
String get routeTitle => 'Route';
@override
String get whereToHint => 'Where are you going?';
@override
String get currentLocation => 'Current location';
@override
String get savedPlaces => 'Saved places';
@override
String get home => 'Home';
@override
String get work => 'Work';
@override
String get pickFromMap => 'Pick from map';
@override
String get searchHint => 'Search for a place...';
@override
String get noResultsFound => 'No results found';
@override
String get connecting => 'Connecting...';
@override
String get tripSummary => 'Trip summary';
@override
String get totalDistance => 'Total distance';
@override
String get estimatedTime => 'Estimated time';
@override
String get totalFare => 'Total fare';
@override
String get chooseRide => 'Choose a ride';
@override
String get promoCode => 'Promo code';
@override
String get errorTitle => 'Something went wrong';
@override
String get errorSubtitle => 'Please try again';
@override
String get emptyTitle => 'No data';
@override
String get emptySubtitle => 'No content found yet';
@override
String get signIn => 'Sign in';
@override
String get confirmPhoneNumber => 'Confirm phone number';
@override
String get driverRatingValue => 'Rating';
@override
String get missingDataError => 'Missing data';
@override
String get onboardingTitle1 => 'Order with one tap';
@override
String get onboardingSubtitle1 =>
'Enter your destination and get a driver in seconds';
@override
String get onboardingTitle2 => 'Track your trip live';
@override
String get onboardingSubtitle2 => 'Watch your driver approach in real-time';
@override
String get onboardingTitle3 => 'Pay your way';
@override
String get onboardingSubtitle3 => 'Choose to pay cash, card, or wallet';
@override
String get getStarted => 'Get started';
@override
String get skip => 'Skip';
}