diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 370fa16..375a07e 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -222,6 +222,8 @@ PODS: - record_darwin (1.0.0): - Flutter - FlutterMacOS + - share (0.0.1): + - Flutter - sqflite (0.0.3): - Flutter - FMDB (>= 2.7.5) @@ -302,6 +304,7 @@ DEPENDENCIES: - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - record_darwin (from `.symlinks/plugins/record_darwin/ios`) + - share (from `.symlinks/plugins/share/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - stripe_ios (from `.symlinks/plugins/stripe_ios/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) @@ -403,6 +406,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/permission_handler_apple/ios" record_darwin: :path: ".symlinks/plugins/record_darwin/ios" + share: + :path: ".symlinks/plugins/share/ios" sqflite: :path: ".symlinks/plugins/sqflite/ios" stripe_ios: @@ -472,6 +477,7 @@ SPEC CHECKSUMS: permission_handler_apple: 036b856153a2b1f61f21030ff725f3e6fece2b78 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 record_darwin: 1f6619f2abac4d1ca91d3eeab038c980d76f1517 + share: 0b2c3e82132f5888bccca3351c504d0003b3b410 sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a Stripe: e046335ab6e3f25d39f1a55bd98620a85269cffa stripe_ios: 37dd66ec680264019be16c5f47333f381164e6a6 diff --git a/lib/controller/auth/login_controller.dart b/lib/controller/auth/login_controller.dart index 018150b..8fdaea2 100644 --- a/lib/controller/auth/login_controller.dart +++ b/lib/controller/auth/login_controller.dart @@ -95,7 +95,7 @@ class LoginController extends GetxController { if (jsonDecoeded.isNotEmpty) { if (jsonDecoeded['status'] == 'success') { print(jsonDecoeded['data'][0]['verified']); - if (jsonDecoeded['data'][0]['verified'] == '1') { + if (jsonDecoeded['data'][0]['verified'] == 1) { box.write(BoxName.passengerID, jsonDecoeded['data'][0]['id']); box.write(BoxName.email, jsonDecoeded['data'][0]['email']); box.write( diff --git a/lib/controller/functions/audio_record1.dart b/lib/controller/functions/audio_record1.dart new file mode 100644 index 0000000..d955078 --- /dev/null +++ b/lib/controller/functions/audio_record1.dart @@ -0,0 +1,119 @@ +import 'dart:io'; + +import 'package:SEFER/controller/home/map_passenger_controller.dart'; +// import 'package:flutter_sound/flutter_sound.dart'; +import 'package:path_provider/path_provider.dart'; + +import 'package:get/get.dart'; +import 'package:just_audio/just_audio.dart'; +import 'package:record/record.dart'; + +class AudioRecorderController extends GetxController { + AudioPlayer audioPlayer = AudioPlayer(); + AudioRecorder recorder = AudioRecorder(); + + bool isRecording = false; + String filePath = ''; + String? selectedFilePath; + double currentPosition = 0; + double totalDuration = 0; + String? selectedFile; + + Future startRecording() async { + final bool isPermissionGranted = await recorder.hasPermission(); + if (!isPermissionGranted) { + // RecordingPermissionException('l'); + print('sss'); + return; + } + + final directory = await getApplicationDocumentsDirectory(); + // Generate a unique file name using the current timestamp + String fileName = + '${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day}_${Get.find().rideId}.m4a'; + filePath = '${directory.path}/$fileName'; + + // Define the configuration for the recording + const config = RecordConfig( + // Specify the format, encoder, sample rate, etc., as needed + encoder: AudioEncoder.aacLc, // For example, using AAC codec + sampleRate: 44100, // Sample rate + bitRate: 128000, // Bit rate + ); + + // Start recording to file with the specified configuration + await recorder.start(config, path: filePath); + + isRecording = true; + update(); + } + + Future stopRecording() async { + final path = await recorder.stop(); + print(path); + isRecording = false; + update(); + } + + Future playRecording() async { + if (filePath != null) { + await audioPlayer.setFilePath(filePath!); + totalDuration = audioPlayer.duration?.inSeconds.toDouble() ?? 0; + audioPlayer.play(); + + audioPlayer.positionStream.listen((position) { + currentPosition = position.inSeconds.toDouble(); + }); + selectedFilePath = filePath; + update(); + } + } + + Future> getRecordedFiles() async { + final directory = await getApplicationDocumentsDirectory(); + final files = await directory.list().toList(); + return files + .map((file) => file.path) + .where((path) => path.endsWith('.m4a')) + .toList(); + } + + Future playRecordedFile(String filePath) async { + await audioPlayer.setFilePath(filePath); + totalDuration = audioPlayer.duration?.inSeconds.toDouble() ?? 0; + audioPlayer.play(); + + audioPlayer.positionStream.listen((position) { + currentPosition = position.inSeconds.toDouble(); + }); + update(); + } + + Future deleteRecordedFile(String filePath) async { + final file = File(filePath); + if (await file.exists()) { + await file.delete(); + print('File deleted: $filePath'); + await getRecordedFiles(); + } else { + print('File not found: $filePath'); + } + } + + Future deleteAllRecordedFiles() async { + final directory = await getApplicationDocumentsDirectory(); + final files = await directory.list().toList(); + for (final file in files) { + if (file.path.endsWith('.m4a')) { + await deleteRecordedFile(file.path); + } + } + } + + @override + void onClose() { + audioPlayer.dispose(); + recorder.dispose(); + super.onClose(); + } +} diff --git a/lib/controller/functions/audio_recorder_controller.dart b/lib/controller/functions/audio_recorder_controller.dart deleted file mode 100644 index 1192a67..0000000 --- a/lib/controller/functions/audio_recorder_controller.dart +++ /dev/null @@ -1,160 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:flutter_sound/flutter_sound.dart'; -import 'package:get/get.dart'; -import 'package:permission_handler/permission_handler.dart'; - -import '../home/map_passenger_controller.dart'; - -class AudioController extends GetxController { - final recorder = FlutterSoundRecorder(); - bool isRecording = false; - - @override - void onInit() { - super.onInit(); - initRecorder(); - } - - Future initRecorder() async { - final status = await Permission.microphone.request(); - if (status != PermissionStatus.granted) { - if (status.isPermanentlyDenied) { - // Handle permission permanently denied - showPermissionDeniedDialog(); - } else if (status.isDenied) { - // Handle permission denied - showPermissionDeniedSnackbar(); - } else if (status.isRestricted) { - // Handle permission restricted - // showPermissionDeniedSnackbar(); - } - return; - } - await recorder.openRecorder(); - recorder.setSubscriptionDuration(const Duration(minutes: 50)); - } - - Future startRecording() async { - if (!recorder.isStopped) { - await recorder.startRecorder(); - } - isRecording = true; - update(); - } - - Future stopRecording() async { - final filePath = await recorder.stopRecorder(); - final audioFile = File(filePath!); - print('Recorded file path: $audioFile'); - // Now you can send this file to the server - isRecording = false; - update(); - } - - @override - void onClose() { - recorder.stopRecorder(); - super.onClose(); - } - - void showPermissionDeniedDialog() { - showDialog( - context: Get.context!, - builder: (context) => AlertDialog( - title: const Text('Microphone Permission'), - content: - const Text('Microphone permission is required to record audio.'), - actions: [ - TextButton( - onPressed: () { - Navigator.of(context).pop(); - openAppSettings(); - }, - child: const Text('Open Settings'), - ), - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - ), - ); - } - - void showPermissionDeniedSnackbar() { - Get.snackbar( - 'Microphone Permission', - 'Microphone permission is required to record audio.', - snackPosition: SnackPosition.BOTTOM, - duration: const Duration(seconds: 5), - mainButton: TextButton( - onPressed: () { - openAppSettings(); - }, - child: const Text( - 'Open Settings', - style: TextStyle(color: Colors.white), - ), - ), - ); - } -} -// import 'package:flutter/material.dart'; -// import 'package:flutter_sound/public/flutter_sound_recorder.dart'; -// import 'package:get/get.dart'; -// // import 'package:flutter_sound/flutter_sound.dart'; -// import 'package:permission_handler/permission_handler.dart'; -// -// class AudioController extends GetxController { -// final flutterSoundHelper = FlutterSoundHelper(); -// -// bool isRecording = false; -// -// Future startRecording() async { -// if (!await flutterSoundHelper.hasPermissions()) { -// await flutterSoundHelper.requestPermissions(); -// } -// -// if (!await flutterSoundHelper.hasPermissions()) { -// return; -// } -// -// await flutterSoundHelper.startRecorder(); -// isRecording = true; -// } -// -// Future stopRecording() async { -// if (!isRecording) { -// return; -// } -// -// await flutterSoundHelper.stopRecorder(); -// isRecording = false; -// } -// } -// -// class FlutterSoundHelper { -// final flutterSound = FlutterSoundRecorder(); -// -// Future hasPermissions() async { -// return await Permission.microphone.isGranted; -// } -// -// Future requestPermissions() async { -// await Permission.microphone.request(); -// } -// -// Future startRecorder() async { -// await flutterSound.openRecorder(); -// await flutterSound.startRecorder(toFile: 'audio.wav'); -// } -// -// Future stopRecorder() async { -// await flutterSound.stopRecorder(); -// await flutterSound.closeRecorder(); -// } -// } diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index a0ad144..9806294 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -4,545 +4,541 @@ class MyTranslation extends Translations { @override Map> get keys => { "ar": { - "Choose Language": "اختر اللغة", - "Login": "تسجيل الدخول", - 'Pay with Wallet': 'ادفع باستخدام المحفظة', - 'Invalid MPIN': 'رمز PIN غير صحيح', - 'Invalid OTP': 'كود التحقق خاطئ', - "Enter your email address": "أدخل عنوان بريدك الإلكتروني", - "Please enter Your Email.": "يرجى إدخال بريدك الإلكتروني.", - "Enter your phone number": "أدخل رقم هاتفك", - "Please enter your phone number.": "يرجى إدخال رقم هاتفك.", - "Please enter Your Password.": "يرجى إدخال كلمة المرور.", - "Submit": "إرسال", - "if you dont have account": "إذا لم يكن لديك حساب", - "Register": "تسجيل", + "Choose Language": "اخْتَر اللُّغَة", + "Login": "تَسْجِيل الدُّخُول", + "Pay with Wallet": 'ادْفَع بِاسْتِخْدَام المَحْفَظَة', + "Invalid MPIN": 'رَمْز PIN غَيْر صَحِيح', + "Invalid OTP": 'كود التَّحَقُّق خَاطِئ', + "Enter your email address": + "أدْخِل عُنْوَان بَرِيدِكَ الإلِكْتْرُونِي", + "Please enter Your Email.": + "يَرْجَى إِدْخَال بَرِيدِكَ الإلِكْتْرُونِي.", + "Enter your phone number": "أدْخِل رَقْم هَاتِفِكَ", + "Please enter your phone number.": + "يَرْجَى إِدْخَال رَقْم هَاتِفِكَ.", + "Please enter Your Password.": "يَرْجَى إِدْخَال كَلِمَة المُرُور.", + "Submit": "إرْسَال", + "if you dont have account": "إِذَا لَمْ يَكُن لَدَيْكَ حِسَاب", + "Register": "تَسْجِيل", "Accept Ride's Terms & Review Privacy Notice": - "قبول شروط الاستخدام ومراجعة إشعار الخصوصية", + "قَبُول شُرُوط الاسْتِخْدَام وَمُرَاجَعَة إِشْعَار الخُصُوصِيَّة", "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": - "من خلال اختيار 'أوافق' أدناه، قمت بمراجعة وقبول شروط الاستخدام وأقر بإشعار الخصوصية. أنا على الأقل 18 عامًا.", - "I Agree": "أوافق", - "First name": "الاسم الأول", - "Enter your first name": "أدخل اسمك الأول", - "Please enter your first name.": "يرجى إدخال اسمك الأول.", - "Last name": "اسم العائلة", - "Enter your last name": "أدخل اسمك الأخير", - "Please enter your last name.": "يرجى إدخال اسمك الأخير.", - "City": "المدينة", - "Please enter your City.": "يرجى إدخال اسم مدينتك.", - "Male": "ذكر", - "Female": "أنثى", - "Verify Email": "تحقق من البريد الإلكتروني", + "مِنْ خِلَال اخْتِيَار 'أُوَافِق' أَدْنَاهُ، قُمْتُ بِمُرَاجَعَة وَقَبُول شُرُوط الاسْتِخْدَام وَأُقِرُّ بِإِشْعَار الخُصُوصِيَّة. أَنَا عَلَى الأَقَل 18 عَامًا.", + "I Agree": "أُوَافِق", + "First name": "الاسْم الأَوَّل", + "Enter your first name": "أدْخِل اسْمَكَ الأَوَّل", + "Please enter your first name.": "يَرْجَى إِدْخَال اسْمِكَ الأَوَّل.", + "Last name": "اسْم العَائِلَة", + "Enter your last name": "أدْخِل اسْمَكَ الأَخِير", + "Please enter your last name.": "يَرْجَى إِدْخَال اسْمِكَ الأَخِير.", + "City": "المَدِينَة", + "Please enter your City.": "يَرْجَى إِدْخَال اسْم مَدِينَتِكَ.", + "Male": "ذَكَر", + "Female": "أُنْثَى", + "Verify Email": "تَحَقَّق مِنْ البَرِيد الإلِكْتْرُونِي", "We sent 5 digit to your Email provided": - "لقد أرسلنا رمزًا مؤلفًا من 5 أرقام إلى بريدك الإلكتروني المُدخَل", - "5 digit": "5 أرقام", - "Send Verification Code": "إرسال رمز التحقق", - "Your Ride Duration is ": "مدة رحلتك ", - "You will be thier in": "ستكون هناك في", - "You trip distance is": "مسافة الرحلة", - "Fee is": "الرسوم", - "From : ": "من: ", - "To : ": "إلى: ", - "Add Promo": "إضافة برومو", - "Confirm Selection": "تأكيد الاختيار", - "distance is": "المسافة", - "duration is": "المدة", - "I don't need a ride anymore": "لست بحاجة إلى رحلة بعد الآن", - "I was just trying the application": "كنت فقط أجرب التطبيق", - "No driver accepted my request": "لم يقبل أي سائق طلبي", + "لَقَدْ أَرْسَلْنَا رَمْزًا مُؤَلَّفًا مِنْ 5 أَرْقَام إِلَى بَرِيدِكَ الإلِكْتْرُونِي المُدْخَل", + "5 digit": "5 أَرْقَام", + "Send Verification Code": "إرْسَال رَمْز التَّحَقُّق", + "Your Ride Duration is ": "مُدَّة رِحْلَتِكَ ", + "You will be thier in": "سَتَكُون هُنَاكَ فِي", + "You trip distance is": "مَسَافَة الرِّحْلَة", + "Fee is": "الرُّسُوم", + "From : ": "مِنْ: ", + "To : ": "إِلَى: ", + "Add Promo": "إضَافَة بَرُومُو", + "Confirm Selection": "تَأْكِيد الاخْتِيَار", + "distance is": "المَسَافَة", + "duration is": "المُدَّة", + "I don't need a ride anymore": + "لَسْتُ بِحَاجَة إِلَى رِحْلَة بَعْد الآن", + "I was just trying the application": + "كُنْتُ فَقَط أُجَرِّب التَّطْبِيق", + "No driver accepted my request": "لَمْ يَقْبَل أَيُّ سَائِق طَلَبِي", "I added the wrong pick-up/drop-off location": - "أضفت موقع الالتقاط/التسليم الخاطئ", - "I don't have a reason": "ليس لدي سبب", - "Other": "آخر", + "أَضَفْتُ مَوْقِع الالْتِقَاط/التَّسْلِيم الخَاطِئ", + "I don't have a reason": "لَيْسَ لَدَيَّ سَبَب", + "Other": "آخَر", "Can we know why you want to cancel Ride ?": - "هل يمكننا معرفة سبب رغبتك في إلغاء الرحلة؟", - "Cancel Ride": "إلغاء الرحلة", - "Add Payment Method": "إضافة طريقة الدفع", - "Your Wallet balance is ": "رصيد المحفظة الخاص بك ", - "Ride Wallet": "محفظة الرحلة", - "Payment Method": "طريقة الدفع", - "Type here Place": "اكتب هنا المكان", - "Are You sure to ride to": "هل أنت متأكد من رغبتك في الذهاب إلى", - "Confirm": "تأكيد", - "Back": "رجوع", - "You are Delete": "أنت على وشك الحذف", - "Deleted": "تم الحذف", - "You Dont Have Any places yet !": "ليس لديك أي أماكن بعد!", - "Favorite Places": "الأماكن المفضلة", - "From : Current Location": "من: الموقع الحالي", - "Where to": "إلى أين", - "Notifications": "الإشعارات", - "Profile": "الملف الشخصي", - "Home": "الصفحة الرئيسية", - "My Cared": "المهتم به", - "Add Card": "إضافة بطاقة", - "Add Credit Card": "إضافة بطاقة ائتمان", - "Please enter the cardholder name": "يرجى إدخال اسم حامل البطاقة", - "Please enter the expiry date": "يرجى إدخال تاريخ انتهاء الصلاحية", - "Please enter the CVV code": "يرجى إدخال رمز CVV", - "Go To Favorite Places": "الانتقال إلى الأماكن المفضلة", - "Go to this Target": "الانتقال إلى هذا الهدف", - "My Profile": "ملفي الشخصي", - "Sign Out": "تسجيل الخروج", - "Home Page": "الصفحة الرئيسية", + "هَل يُمْكِنُنَا مَعْرِفَة سَبَب رَغْبَتِكَ فِي إلْغَاء الرِّحْلَة؟", + "Cancel Ride": "إلْغَاء الرِّحْلَة", + "Add Payment Method": "إضَافَة طَرِيقَة الدَّفْع", + "Your Wallet balance is ": "رَصِيد المَحْفَظَة الخَاصَّة بِكَ ", + "Ride Wallet": "مَحْفَظَة الرِّحْلَة", + "Payment Method": "طَرِيقَة الدَّفْع", + "Type here Place": "اكْتُبْ هُنَا المَكَان", + "Are You sure to ride to": + "هَل أَنْتَ مُتَأَكِّد مِنْ رَغْبَتِكَ فِي الذَّهَاب إِلَى", + "Confirm": "تَأْكِيد", + "Back": "رَجُوع", + "You are Delete": "أَنْتَ عَلَى وَشْك الحَذْف", + "Deleted": "تَمَّ الحَذْف", + "You Dont Have Any places yet !": + "لَيْسَ لَدَيْكَ أَيُّ أَمَاكِن بَعْد!", + "Favorite Places": "الأَمَاكِن المُفَضَّلَة", + "From : Current Location": "مِنْ: المَوْقِع الحَالِي", + "Where to": "إِلَى أَيْن", + "Notifications": "الإشْعَارَات", + "Profile": "الملف الشَّخْصِي", + "Home": "الصَّفْحَة الرَّئِيسِيَّة", + "My Cared": "المُهْتَمَّ بِهِ", + "Add Card": "إضَافَة بَطَاقَة", + "Add Credit Card": "إضَافَة بَطَاقَة ائْتِمَان", + "Please enter the cardholder name": + "يَرْجَى إِدْخَال اسْم حَامِل البَطَاقَة", + "Please enter the expiry date": + "يَرْجَى إِدْخَال تَارِيخ انْتِهَاء الصَّلَاحِيَّة", + "Please enter the CVV code": "يَرْجَى إِدْخَال رَمْز CVV", + "Go To Favorite Places": "الانْتِقَال إِلَى الأَمَاكِن المُفَضَّلَة", + "Go to this Target": "الانْتِقَال إِلَى هَذَا الهَدَف", + "My Profile": "مَلَفِي الشَّخْصِي", + "Sign Out": "تَسْجِيل الخُرُوج", + "Home Page": "الصَّفْحَة الرَّئِيسِيَّة", "Are you want to go to this site": - "هل ترغب في الانتقال إلى هذا الموقع", - "MyLocation": "موقعي", - "my location": "موقعي", - "Target": "هدف", - "By selecting \"I Agree\" below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": - "بتحديد \"أوافق\" أدناه ، فإنني أوافق على مراجعة وقبول شروط الاستخدام وإقرار إشعار الخصوصية. أنا على الأقل 18 عامًا من العمر.", - "Update": "تحديث", - "You Should choose rate figure": "يجب عليك اختيار تقييم", - "Login Captin": "تسجيل دخول الكابتن", - "Register Captin": "تسجيل كابتن جديد", - "Send Verfication Code": "أرسل رمز التحقق", + "هَل تَرْغَب فِي الانْتِقَال إِلَى هَذَا المَوْقِع", + "MyLocation": "مَوْقِعِي", + "my location": "مَوْقِعِي", + "Target": "هَدَف", + "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": + "بِتَحْدِيد 'أُوَافِق' أَدْنَاهُ ، فَإِنَّنِي أُوَافِق عَلَى مُرَاجَعَة وَقَبُول شُرُوط الاسْتِخْدَام وَإِقْرَار إِشْعَار الخُصُوصِيَّة. أَنَا عَلَى الأَقَل 18 عَامًا مِنْ العُمْر.", + "Update": "تَحْدِيث", + "You Should choose rate figure": "يَجِب عَلَيْكَ اخْتِيَار تَقْيِيم", + "Login Captin": "تَسْجِيل دُخُول الكَابْتِن", + "Register Captin": "تَسْجِيل كَابْتِن جَدِيد", + "Send Verfication Code": "أَرْسِل رَمْز التَّحَقُّق", "KM": "كم", - "End Ride": "إنهاء الرحلة", - "Minute": "دقيقة", - "Go to passenger Location now": "اذهب إلى موقع الراكب الآن", - "Duration of the Ride is ": "مدة الرحلة هي", - "Distance of the Ride is ": "المسافة للرحلة هي", - "Name of the Passenger is ": "اسم الراكب هو", - "Hello this is Captain": "مرحبا هذا هو الكابتن", - "Start the Ride": "بدء الرحلة", + "End Ride": "إنْهَاء الرِّحْلَة", + "Minute": "دَقِيقَة", + "Go to passenger Location now": "اذْهَب إِلَى مَوْقِع الرَّاكِب الآن", + "Duration of the Ride is ": "مُدَّة الرِّحْلَة هِيَ ", + "Distance of the Ride is ": "المَسَافَة لِلرِّحْلَة هِيَ", + "Name of the Passenger is ": "اسْم الرَّاكِب هُوَ", + "Hello this is Captain": "مَرْحَبًا هَذَا هُوَ الكَابْتِن", + "Start the Ride": "بَدْء الرِّحْلَة", "Please Wait If passenger want To Cancel!": - "الرجاء الانتظار إذا أراد الراكب الإلغاء!", - "Total Duration:": "المدة الإجمالية:", - "Active Duration:": "المدة الفعالة:", - "Waiting for Captin ...": "الانتظار للكابتن ...", - "Age is ": "العمر هو", - "Rating is ": "التقييم هو", - " to arrive you.": "للوصول إليك.", - "Order History": "سجل الطلبات", - "My Wallet": "محفظتي", - "Tariff": "تعرفة", - "Settings": "الإعدادات", - "Feed Back": "اقتراحات", - "Promos": "العروض الترويجية", + "الرَّجَاء الانْتِظَار إِذَا أَرَادَ الرَّاكِب الإلْغَاء!", + "Total Duration:": "المُدَّة الإِجْمَالِيَّة:", + "Active Duration:": "المُدَّة الفَعَّالَة:", + "Waiting for Captin ...": "الانْتِظَار لِلْكَابْتِن ...", + "Age is ": "العُمْر هُوَ", + "Rating is ": "التَّقْيِيم هُوَ", + " to arrive you.": "لِلْوُصُول إِلَيْك.", + "Order History": "سِجِّل الطَّلَبَات", + "My Wallet": "مَحْفَظَتِي", + "Tariff": "تَعْرِيفَة", + "Settings": "الإِعْدَادَات", + "Feed Back": "اقْتِرَاحَات", + "Promos": "العُرُوض التَّرْوِيجِيَّة", "Please enter a valid 16-digit card number": - "الرجاء إدخال رقم بطاقة صالح مكون من 16 رقمًا", - "Add Phone": "إضافة هاتف", - "Please enter a phone number": "الرجاء إدخال رقم هاتف", + "الرَّجَاء إِدْخَال رَقْم بَطَاقَة صَالِح مُكَوَّن مِنْ 16 رَقَمًا", + "Add Phone": "إضَافَة هَاتِف", + "Please enter a phone number": "الرَّجَاء إِدْخَال رَقْم هَاتِف", "You dont Add Emergency Phone Yet!": - "لم تقم بإضافة رقم هاتف طوارئ بعد!", - "You will arrive to your destination after ": "ستصل إلى وجهتك بعد", - "You can cancel Ride now": "يمكنك إلغاء الرحلة الآن", + "لَمْ تَقُمْ بِإِضَافَة رَقْم هَاتِف طَوَارِئ بَعْد!", + "You will arrive to your destination after ": + "سَتَصِل إِلَى وَجْهَتِك بَعْد", + "You can cancel Ride now": "يُمْكِنُك إِلْغَاء الرِّحْلَة الآن", "You Can cancel Ride After Captain did not come in the time": - "يمكنك إلغاء الرحلة بعد أن لا يأتي الكابتن في الوقت المحدد", + "يُمْكِنُك إِلْغَاء الرِّحْلَة بَعْد أَنْ لَا يَأْتِي الكَابْتِن فِي الْوَقْت الْمُحَدَّد", "If you in Car Now. Press Start The Ride": - "إذا كنت في السيارة الآن. اضغط على بدء الرحلة", - "You Dont Have Any amount in": "ليس لديك أي مبلغ في", - "Wallet!": "المحفظة!", - "You Have": "لديك", - "Save Credit Card": "حفظ بطاقة الائتمان", - "Show Promos": "إظهار العروض الترويجية", - "10 and get 4% discount": "10 واحصل على خصم 4%", - "20 and get 6% discount": "20 واحصل على خصم 6%", - "40 and get 8% discount": "40 واحصل على خصم 8%", - "100 and get 11% discount": "100 واحصل على خصم 11%", - "Pay with Your PayPal": "ادفع باستخدام PayPal", - "You will choose one of above !": "سوف تختار واحدة من أعلاه!", - "Cancel": "إلغاء", - "Delete My Account": "حذف حسابي", - "Edit Profile": "تعديل الملف الشخصي", - "Name": "الاسم", - "Gender": "الجنس", - "Update Gender": "تحديث الجنس", - "Education": "التعليم", - "Update Education": "تحديث التعليم", - "Employment Type": "نوع التوظيف", - "Marital Status": "الحالة الاجتماعية", - "SOS Phone": "هاتف الطوارئ", - "High School Diploma": "شهادة الثانوية العامة", - "Associate Degree": "درجة الزمالة", - "Bachelor\'s Degree": "بكالوريوس", - "Master\'s Degree": "ماجستير", - "Doctoral Degree": "دكتوراه", - "Promos For today": "العروض الترويجية لليوم", + "إِذَا كُنْتَ فِي السَّيَّارَة الآن. اضْغَطْ عَلَى بَدْء الرِّحْلَة", + "You Dont Have Any amount in": "لَيْسَ لَدَيْكَ أَيُّ مَبْلَغ فِي", + "Wallet!": "الْمَحْفَظَة!", + "You Have": "لَدَيْك", + "Save Credit Card": "حِفْظ بَطَاقَة الائْتِمَان", + "Show Promos": "إِظْهَار الْعُرُوض التَّرْوِيجِيَّة", + "10 and get 4% discount": "10 وَاحْصُل عَلَى خَصْم 4%", + "20 and get 6% discount": "20 وَاحْصُل عَلَى خَصْم 6%", + "40 and get 8% discount": "40 وَاحْصُل عَلَى خَصْم 8%", + "100 and get 11% discount": "100 وَاحْصُل عَلَى خَصْم 11%", + "Pay with Your PayPal": "ادْفَعْ بِاسْتِخْدَام PayPal", + "You will choose one of above !": + "سَوْف تَخْتَار وَاحِدَة مِنْ أَعْلَاه!", + "Cancel": "إِلْغَاء", + "Delete My Account": "حَذْف حِسَابِي", + "Edit Profile": "تَعْدِيل الْمِلَف الشَّخْصِي", + "Name": "الاسْم", + "Gender": "الْجِنْس", + "Update Gender": "تَحْدِيث الْجِنْس", + "Education": "التَّعْلِيم", + "Update Education": "تَحْدِيث التَّعْلِيم", + "Employment Type": "نَوْع التَّوْظِيف", + "Marital Status": "الْحَالَة الاجْتِمَاعِيَّة", + "SOS Phone": "هَاتِف الطَّوَارِئ", + "High School Diploma": "شَهَادَة الثَّانَوِيَّة الْعَامَّة", + "Associate Degree": "دَرَجَة الزَّمَالَة", + "Bachelor's Degree": "بَكَالُورِيُوس", + "Master's Degree": "مَاجِسْتِير", + "Doctoral Degree": "دُكْتُورَاه", + "Promos For today": "الْعُرُوض التَّرْوِيجِيَّة لِلْيَوْم", "Copy this Promo to use it in your Ride!": - "انسخ هذا العرض لاستخدامه في رحلتك!", - "To change some Settings": "لتغيير بعض الإعدادات", - "To change Language the App": "لتغيير لغة التطبيق", - "Order Request Page": "صفحة طلب الطلب", - "Rouats of Trip": "طرق الرحلة", - "Passenger Name is ": "اسم الراكب هو ", - "Total From Passenger is ": "المبلغ الإجمالي من الراكب هو ", - "Duration To Passenger is ": "المدة إلى الراكب هي ", - "Distance To Passenger is ": "المسافة إلى الراكب هي ", - "Total For You is ": "المبلغ الإجمالي لك هو ", - "Distance is ": "المسافة هي ", - " KM": " كيلومتر", - "Duration of Trip is ": "مدة الرحلة هي ", - " Minutes": " دقائق", - "Apply Order": "قبول الطلب", - "Refuse Order": "رفض الطلب", - "Rate Captain": "تقييم الكابتن", - "Enter your Note": "أدخل ملاحظتك", - "Type something...": "اكتب شيئا ما...", - "Submit rating": "إرسال التقييم", - "Rate Passenger": "تقييم الراكب", - "Ride Summary": "ملخص الرحلة", - "welcome_message": "مرحبا بك في سفر!", + "انْسَخْ هَذَا الْعَرْض لِاسْتِخْدَامِهِ فِي رِحْلَتِك!", + "To change some Settings": "لِتَغْيِير بَعْض الإِعْدَادَات", + "To change Language the App": "لِتَغْيِير لُغَة التَّطْبِيق", + "Order Request Page": "صَفْحَة طَلَب الطَّلَب", + "Rouats of Trip": "طُرُق الرِّحْلَة", + "Passenger Name is ": "اسْم الرَّاكِب هُوَ ", + "Total From Passenger is ": + "الْمَبْلَغ الإِجْمَالِي مِنَ الرَّاكِب هُوَ ", + "Duration To Passenger is ": "الْمُدَّة إِلَى الرَّاكِب هِيَ ", + "Distance To Passenger is ": "الْمَسَافَة إِلَى الرَّاكِب هِيَ ", + "Total For You is ": "الْمَبْلَغ الإِجْمَالِي لَك هُوَ ", + "Distance is ": "الْمَسَافَة هِيَ ", + " KM": " كِيلُومِتْر", + "Duration of Trip is ": "مُدَّة الرِّحْلَة هِيَ ", + " Minutes": " دَقَائِق", + "Apply Order": "قَبُول الطَّلَب", + "Refuse Order": "رَفْض الطَّلَب", + "Rate Captain": "تَقْيِيم الْكَابْتِن", + "Enter your Note": "أَدْخِل مُلَاحَظَتَك", + "Type something...": "اكْتُبْ شَيْئًا مَا...", + "Submit rating": "إِرْسَال التَّقْيِيم", + "Rate Passenger": "تَقْيِيم الرَّاكِب", + "Ride Summary": "مُلَخَّص الرِّحْلَة", + "welcome_message": "مَرْحَبًا بِك فِي سَفَر!", "app_description": - "سفر هو تطبيق تطبيقات مشاركة الركوب الآمن والموثوق ويمكن الوصول إليه.", - "get_to_destination": "اذهب إلى وجهتك بسرعة وسهولة.", - "get_a_ride": "مع سفر، يمكنك الحصول على رحلة إلى وجهتك في دقائق.", - "safe_and_comfortable": "استمتع برحلة آمنة ومريحة.", + "سَفَر هُوَ تَطْبِيق تَطْبِيقَات مُشَارَكَة الرُّكُوب الآمِن وَالْمَوْثُوق وَيُمْكِن الْوُصُول إِلَيْهِ.", + "get_to_destination": "اذْهَبْ إِلَى وَجْهَتِك بِسُرْعَة وَسُهُولَة.", + "get_a_ride": + "مَع سَفَر، يُمْكِنُك الْحُصُول عَلَى رِحْلَة إِلَى وَجْهَتِك فِي دَقَائِق.", + "safe_and_comfortable": "اسْتَمْتِعْ بِرِحْلَة آمِنَة وَمُرِيحَة.", "committed_to_safety": - "تلتزم سفر بالسلامة، ويتم فحص جميع قباطننا بعناية وفحص خلفيتهم.", - "Driver Applied the Ride for You": "طلب السائق الرحلة لك", - "Show latest promo": "اظهر آخر عرض ترويجي", - "Cancel Trip": "إلغاء الرحلة", - "Passenger Cancel Trip": "الراكب ألغى الرحلة", + "تَلْتَزِم سَفَر بِالسَّلَامَة، وَيَتِمُّ فَحْص جَمِيع قَبَاطِنِنَا بِعِنَايَة وَفَحْص خَلْفِيَّتِهِم.", + "Driver Applied the Ride for You": "طَلَبَ السَّائِق الرِّحْلَة لَك", + "Show latest promo": "أَظْهِر آخِر عَرْض تَرْوِيجِي", + "Cancel Trip": "إِلْغَاء الرِّحْلَة", + "Passenger Cancel Trip": "الرَّاكِب أَلْغَى الرِّحْلَة", "Please stay on the picked point.": - "الرجاء البقاء في النقطة المحددة.", - "Trip is Begin": "بدء الرحلة", - "Hi ,I will go now": "مرحبا، سأذهب الآن", - "Passenger come to you": "الراكب في طريقه اليك", - "Hi ,I Arrive your site": "مرحبا، وصلت مكانك", - "Driver Finish Trip": "السائق انهى الرحلة", - "you will pay to Driver": "ستدفع للسائق", - "Driver Cancel Your Trip": "السائق ألغى رحلتك", + "الرَّجَاء الْبَقَاء فِي النُّقْطَة الْمُحَدَّدَة.", + "Trip is Begin": "بَدَأَت الرِّحْلَة", + "Hi ,I will go now": "مَرْحَبًا، سَأَذْهَب الآن", + "Passenger come to you": "الرَّاكِب فِي طَرِيقِهِ إِلَيْك", + "Hi ,I Arrive your site": "مَرْحَبًا، وَصَلْت مَكَانَك", + "Driver Finish Trip": "السَّائِق أَنْهَى الرِّحْلَة", + "you will pay to Driver": "سَتَدْفَع لِلسَّائِق", + "Driver Cancel Your Trip": "السَّائِق أَلْغَى رِحْلَتَك", "you will pay to Driver you will be pay the cost of driver time look to your SEFER Wallet": - "ستدفع للسائق تكلفة وقته تفقد محفظتك في سفر", - "I will go now": "سأذهب الآن", - "You Have Tips": "لديك زيادة مال", - " tips\nTotal is": "زيادة مال\nالمجموع هو", - "No,I want": "لا، أريد", - "Your fee is ": "أجرك هو", + "سَتَدْفَع لِلسَّائِق تَكْلِفَة وَقْتِهِ تَفَقَّدْ مَحْفَظَتَك فِي سَفَر", + "I will go now": "سَأَذْهَب الآن", + "You Have Tips": "لَدَيْك زِيَادَة مَال", + " tips\nTotal is": "زِيَادَة مَال\nالْمَجْمُوع هُوَ", + "No,I want": "لَا، أُرِيد", + "Your fee is ": "أَجْرُك هُوَ", "Do you want to pay Tips for this Driver": - "هل تريد دفع أكراميه لهذا السائق؟", - "Tip is ": " مبلغ الاكراميه هو", - "Tip is": " مبلغ الاكراميه هو", - "Camera Access Denied.": "تم رفض الوصول إلى الكاميرا.", - "Open Settings": "افتح الإعدادات", - "GPS Required Allow !.": "تمكن الـ GPS مطلوب!", - "Your Account is Deleted": "تم حذف حسابك", - "Are you sure to delete your account?": "هل أنت متأكد من حذف حسابك؟", + "هَل تُرِيد دَفْع أُكْرَامِيَّة لِهَذَا السَّائِق؟", + "Tip is ": " مَبْلَغ الأُكْرَامِيَّة هُوَ", + "Tip is": " مَبْلَغ الأُكْرَامِيَّة هُوَ", + "Camera Access Denied.": "تَمَّ رَفْض الْوُصُول إِلَى الْكَامِيرَا.", + "Open Settings": "افْتَحْ الإِعْدَادَات", + "GPS Required Allow !.": "تَمْكِين الـ GPS مَطْلُوب!", + "Your Account is Deleted": "تَمَّ حَذْف حِسَابِك", + "Are you sure to delete your account?": + "هَل أَنْت مُتَأَكِّد مِن حَذْف حِسَابِك؟", "Your data will be erased after 2 weeks\nAnd you will can't return to use app after 1 month ": - "سيتم مسح بياناتك بعد أسبوعين\nولن تستطيع استخدام التطبيق مرة أخرى بعد شهر", - "Enter Your First Name": "أدخل اسمك الأول", - "Are you Sure to LogOut?": "هل أنت متأكد من تسجيل الخروج؟", - "Email Wrong": "البريد الإلكتروني خاطئ", - "Email you inserted is Wrong.": "البريد الإلكتروني الذي أدخلته خطأ.", - "You have finished all times ": "لقد استنفذت كل المحاولات ", + "سَيَتِمُّ مَسْح بِيَانَاتِك بَعْد أُسْبُوعَيْن\nوَلَن تَسْتَطِيع اسْتِخْدَام التَّطْبِيق مَرَّة أُخْرَى بَعْد شَهْر", + "Enter Your First Name": "أَدْخِل اسْمَك الأَوَّل", + "Are you Sure to LogOut?": + "هَل أَنْت مُتَأَكِّد مِن تَسْجِيل الْخُرُوج؟", + "Email Wrong": "الْبَرِيد الإِلَكْتْرُونِي خَاطِئ", + "Email you inserted is Wrong.": + "الْبَرِيد الإِلَكْتْرُونِي الَّذِي أَدْخَلْتَه خَطَأ.", + "You have finished all times ": + "لَقَد اسْتَنْفَذْت كُلَّ الْمُحَاوَلَات ", "if you want help you can email us here": - "إذا كنت تريد المساعدة يمكنك إرسال بريد إلكتروني إلينا هنا", - "Thanks": "شكرا", - "Email Us": "ارسل لنا بريد الكتروني", + "إِذَا كُنْت تُرِيد الْمُسَاعَدَة يُمْكِنُك إِرْسَال بَرِيد إِلَكْتْرُونِي إِلَيْنَا هُنَا", + "Thanks": "شُكْرًا", + "Email Us": "أَرْسِل لَنَا بَرِيد إِلَكْتْرُونِي", "I cant register in your app in face detection ": - "لا أستطيع التسجيل في تطبيقكم بسبب الكشف عن الوجه", - "Hi": "مرحبا", - "No face detected": "لم يتم الكشف عن أي وجه", - "Image detecting result is ": "نتيجة الكشف عن الصورة هي", - "from 3 times Take Attention": "من 3 محاولات انتبه", + "لَا أَسْتَطِيع التَّسْجِيل فِي تَطْبِيقِكُم بِسَبَب الْكَشْف عَن الْوَجْه", + "Hi": "مَرْحَبَا", + "No face detected": "لَمْ يَتِمَّ الْكَشْف عَن أَيِّ وَجْه", + "Image detecting result is ": "نَتِيجَة الْكَشْف عَن الصُّورَة هِيَ", + "from 3 times Take Attention": "مِن 3 مُحَاوَلَات انْتَبِه", "Be sure for take accurate images please\nYou have": - "الرجاء التأكد من التقاط صور دقيقة\nلديك", - "image verified": "الصورة موثقة", - "Next": "التالي", - "There is no help Question here": "لا توجد أسئلة هنا", - "Call End": "انتهاء المكالمة", - "You dont have Points": "ليس لديك نقاط", - "You Are Stopped For this Day !": "تم توقيفك لهذا اليوم!", - "You must be charge your Account": "يجب اعاده شحن رصيد النقاط", + "الرَّجَاء التَّأَكُّد مِن الْتِقَاط صُوَر دَقِيقَة\nلَدَيْك", + "image verified": "الصُّورَة مُوَثَّقَة", + "Next": "التَّالِي", + "There is no help Question here": "لَا تُوجَد أَسْئِلَة هُنَا", + "Call End": "انْتِهَاء الْمُكَالَمَة", + "You dont have Points": "لَيْس لَدَيْك نِقَاط", + "You Are Stopped For this Day !": + "تَمَّ تَوْقِيفُك لِهَذَا الْيَوْم!", + "You must be charge your Account": + "يَجِب إِعَادَة شَحْن رَصِيد النِّقَاط", "You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!": - "رفضت 3 رحلات هذا اليوم وهذا السبب\nلقائنا غدا!", - 'Recharge my Account': "ادفع رسوم من حسابي", - "Ok , See you Tomorrow": "حسناً، لقائنا غداً", - "You are Stopped": "تم توقيفك", - "Connected": "متصل", - "Not Connected": "غير متصل", - "Your are far from passenger location": "أنت بعيد عن مكان الراكب", + "رَفَضْت 3 رِحَلَات هَذَا الْيَوْم وَهَذَا السَّبَب\nلِقَائِنَا غَدًا!", + "Recharge my Account": "ادْفَع رُسُوم مِن حِسَابِي", + "Ok , See you Tomorrow": "حَسَنًا، لِقَائِنَا غَدًا", + "You are Stopped": "تَمَّ تَوْقِيفُك", + "Connected": "مُتَّصِل", + "Not Connected": "غَيْر مُتَّصِل", + "Your are far from passenger location": + "أَنْت بَعِيد عَن مَكَان الرَّاكِب", "go to your passenger location before\nPassenger cancel trip": - "اذهب إلى مكان الراكب قبل أن\nيلغي الراكب الرحلة", + "اذْهَب إِلَى مَكَان الرَّاكِب قَبْل أَن\nيُلْغِي الرَّاكِب الرِّحْلَة", "You will get cost of your work for this trip": - "ستحصل على تكاليف عملك لهذه الرحلة", - " in your wallet": "في محفظتك", - "you gain": "ربحت", - "Order Cancelled": "تم إلغاء الطلب", - "Order Cancelled by Passenger": "تم إلغاء الطلب من قبل الراكب", - "Success": "نجاح", - "Feedback data saved successfully": "تم حفظ بيانات التعليقات بنجاح", - "No Promo for today .": "لا يوجد عرض ترويجي اليوم.", - "Select your destination": "اختر وجهتك", - "Search for your Start point": "بحث عن نقطة الانطلاق", - "Search for waypoint": "بحث عن النقطة الة", - "Current Location": "الموقع الحالي", - "Add Location 1": "إضافة الموقع 1", - 'You must Verify email !.': "يجب التحقق من البريد الإلكتروني!", - 'Cropper': "القاصة", - 'Saved Sucssefully': "تم الحفظ بنجاح", - 'Select Date': "اختر التاريخ", - 'Birth Date': "تاريخ الميلاد", - 'Ok': "موافق", - 'the 500 points equal 30 JOD': "النقاط الـ 500 تساوي 30 دينار أردني", - 'the 500 points equal 30 JOD for you \nSo go and gain your money': - "النقاط الـ 500 تساوي 30 دينار أردني\nفاستحق فلوسك واكسب النقاط", - 'token updated': "تم تحديث الرمز", - 'Add Location 2': "إضافة الموقع 2", - 'Add Location 3': "إضافة الموقع 3", - 'Add Location 4': "إضافة الموقع 4", - 'Waiting for your location': "في انتظار موقعك", - 'Search for your destination': "بحث عن وجهتك", - 'Hi! This is': "مرحبا! هذا", - ' I am using': "أنا أستخدم", - ' to ride with': "للركوب مع", - ' as the driver.': "كسائق.", - 'is driving a ': "يقود", - ' with license plate ': "بلوحة ترخيص", - ' I am currently located at ': "أنا حاليا في", - 'Please go to Car now ': 'الرجاء التحرك الى السياره الان', - ' If you need to reach me, please contact the driver directly at': - "إذا كنت تحتاج إلى التواصل معي، يرجى التواصل مع السائق مباشرة على", - 'No Car or Driver Found in your area.': - "لم يتم العثور على سيارة أو سائق في منطقتك.", - 'Please Try anther time ': "الرجاء إعادة المحاولة", - 'There no Driver Aplly your order sorry for that ': - "لا يوجد سائق قبل طلبك، نعتذر عن ذلك", - 'Trip Cancelled': "تم إلغاء الرحلة", - 'The Driver Will be in your location soon .': - "سيكون السائق قريبا في موقعك.", - 'The distance less than 500 meter.': "المسافة أقل من 500 متر.", - 'Promo End !': "انتهاء العرض!", - 'There is no notification yet': "لا توجد إشعارات بعد", - 'Use Touch ID or Face ID to confirm payment': - "استخدم Touch ID أو Face ID لتأكيد الدفع", + "سَتَحْصُل عَلَى تَكَالِيف عَمَلِك لِهَذِهِ الرِّحْلَة", + " in your wallet": "فِي مَحْفَظَتِك", + "you gain": "رَبِحْت", + "Order Cancelled": "تَمَّ إِلْغَاء الطَّلَب", + "Order Cancelled by Passenger": + "تَمَّ إِلْغَاء الطَّلَب مِن قِبَل الرَّاكِب", + "Success": "نَجَاح", + "Feedback data saved successfully": + "تَمَّ حِفْظ بَيَانَات التَّعْلِيقَات بِنَجَاح", + "No Promo for today .": "لَا يُوجَد عَرْض تَرْوِيجِي الْيَوْم.", + "Select your destination": "اخْتَر وَجْهَتَك", + "Search for your Start point": "بَحْث عَن نُقْطَة الانْطِلَاق", + "Search for waypoint": "بَحْث عَن النُّقْطَة الآلِيَّة", + "Current Location": "الْمَوْقِع الْحَالِي", + "Add Location 1": "إِضَافَة الْمَوْقِع 1", + "You must Verify email !.": + "يَجِب التَّحَقُّق مِن الْبَرِيد الإِلَكْتْرُونِي!", + "Cropper": "الْقَاصَّة", + "Saved Sucssefully": "تَمَّ الْحِفْظ بِنَجَاح", + "Select Date": "اخْتَر التَّارِيخ", + "Birth Date": "تَارِيخ الْمِيلَاد", + "Ok": "مُوَافِق", + "the 500 points equal 30 JOD": + "النِّقَاط الـ 500 تُسَاوِي 30 دِينَار أُرْدُنِي", + "the 500 points equal 30 JOD for you \nSo go and gain your money": + "النِّقَاط الـ 500 تُسَاوِي 30 دِينَار أُرْدُنِي\nفَاسْتَحِقَّ فُلُوسَك وَاكْسِب النِّقَاط", + "token updated": "تَمَّ تَحْدِيث الرَّمْز", + "Add Location 2": "إِضَافَة الْمَوْقِع 2", + "Add Location 3": "إِضَافَة الْمَوْقِع 3", + "Add Location 4": "إِضَافَة الْمَوْقِع 4", + "Waiting for your location": "فِي انْتِظَار مَوْقِعِك", + "Search for your destination": "بَحْث عَن وَجْهَتِك", + "Hi! This is": "مَرْحَبَا! هَذَا", + " I am using": "أَنَا أَسْتَخْدِم", + " to ride with": "لِلرُّكُوب مَع", + " as the driver.": "كَسَائِق.", + "is driving a ": "يَقُود", + " with license plate ": "بِلَوْحَة تَرْخِيص", + " I am currently located at ": "أَنَا حَالِيًّا فِي", + "Please go to Car now ": + 'الرَّجَاء التَّحَرُّك إِلَى السَّيَّارَة الآن', + " If you need to reach me, please contact the driver directly at": + "إِذَا كُنْت تَحْتَاج إِلَى التَّوَاصُل مَعِي، يُرْجَى التَّوَاصُل مَع السَّائِق مُبَاشَرَةً عَلَى", + "No Car or Driver Found in your area.": + "لَمْ يَتِمَّ الْعَثُور عَلَى سَيَّارَة أَو سَائِق فِي مِنْطَقَتِك.", + "Please Try anther time ": "الرَّجَاء إِعَادَة الْمُحَاوَلَة", + "There no Driver Aplly your order sorry for that ": + "لَا يُوجَد سَائِق قَبِل طَلَبِك، نَعْتَذِر عَن ذَلِك", + "Trip Cancelled": "تَمَّ إِلْغَاء الرِّحْلَة", + "The Driver Will be in your location soon .": + "سَيَكُون السَّائِق قَرِيبًا فِي مَوْقِعِك.", + "The distance less than 500 meter.": + "الْمَسَافَة أَقَلُّ مِن 500 مِتْر.", + "Promo End !": "انْتِهَاء الْعَرَض!", + "There is no notification yet": "لَا تُوجَد إِشْعَارَات بَعْد", + "Use Touch ID or Face ID to confirm payment": + "اسْتَخْدِم Touch ID أَو Face ID لِتَأْكِيد الدَّفْع", "Contact us for any questions on your order.": - "تواصل معنا لأي استفسارات حول طلبك.", - 'Pyament Cancelled .': "تم إلغاء الدفع.", - 'type here': "اكتب هنا", - 'Scan Driver License': "استخراج رخصة القيادة", - 'Please put your licence in these border': - "الرجاء وضع رخصتك ضمن هذا الحدود", - 'Camera not initialized yet': "الكاميرا لم تُثبت بعد", - 'Take Image': "إلتقاط الصورة", - 'AI Page': "صفحة الذكاء الاصطناعي", - 'Take Picture Of ID Card': "إلتقاط صورة لبطاقة الهوية", - 'Take Picture Of Driver License Card': - "إلتقاط صورة لبطاقة رخصة القيادة", - 'We are process picture please wait ': - "نقوم بمعالجة الصورة الرجاء الإنتظار", - 'There is no data yet.': "لا توجد بيانات بعد.", - 'Name :': "الإسم:", - 'Drivers License Class: ': "فئة رخصة القيادة:", - 'Document Number: ': "رقم المستند:", - 'Address: ': "العنوان:", - 'Height: ': "الطول:", - 'Expiry Date: ': "تاريخ الإنتهاء:", - 'Date of Birth: ': "تاريخ الميلاد:", - 'You can\'t continue with us .\nYou should renew Driver license': - "لايمكنك الإستمرار معنا. يجب تجديد رخصة القيادة", - 'Detect Your Face ': "الكشف عن وجهك", - 'Go to next step\nscan Car License.': - "إذهب إلى الخطوة التالية\nاستخراج رخصة السيارة.", - 'Name in arabic': "الإسم باللغة العربية", - 'Drivers License Class': "فئة رخصة القيادة", - 'National Number': "الرقم القومي", - 'Address': "العنوان", - 'Date of Birth': "تاريخ الميلاد", - 'Age': "العمر", - 'Expiry Date': "تاريخ الإنتهاء", - 'Lets check Car license ': "دعنا نتحقق من رخصة السيارة ", - 'Color': "اللون", - 'Car Kind': "نوع السيارة", - 'Year': "السنة", - 'Car Plate': "لوحة السيارة", - 'Lets check License Back Face': "دعونا نتحقق من الوجه الخلفي للرخصة", - 'Car License Card': "بطاقة رخصة السيارة", - 'No image selected yet': "لم يتم إختيار أي صورة بعد", - 'Made :': "الصناعة:", - 'model :': "النوع:", - 'VIN :': "رقم الشاصي:", - 'year :': "السنة:", - 'ُExpire Date': 'تاريخ الانتهاء', - 'Login Driver': "تسجيل دخول السائق", - 'Password must br at least 6 character.': - "كلمة المرور يجب أن تكون على الأقل 6 أحرف.", - 'if you don\'t have account': "إذا لم يكن لديك حساب", - 'Register as Driver': "التسجيل كسائق", - 'Privacy Notice': "إخطار الخصوصية", - 'By selecting "I Agree" below, I have reviewed and agree to the Terms of Use and acknowledge the ': - "بإختياري' أوافق' أدناه، قمت بمراجعة والموافقة على شروط الإستخدام والإعتراف بـ", - '. I am at least 18 years of age.': - ". أنا بالغ عمري على الأقل 18 سنة.", - 'Log Out Page': "صفحة تسجيل الخروج", - 'Log Off': "تسجيل الخروج", - 'Register Driver': "تسجيل سائق جديد", - 'Verify Email For Driver': "التحقق من البريد الإلكتروني للسائق", - 'Admin DashBoard': "لوحة تحكم المدير", - 'Your name': "إسمك", - 'your ride is applied': 'تم قبول الطلب', - 'Your password': "كلمة المرور الخاصة بك", - 'H and': 'ساعه و', - 'LE': 'جنيه', - 'JOD': 'دينار', - 'm': 'دقيقه', - "We search nearst Driver to you": "بنبحث عن أقرب سائق ليك", + "تَوَاصَل مَعَنَا لِأَيِّ اسْتِفْسَارَات حَوْل طَلَبِك.", + "Pyament Cancelled .": "تَمَّ إِلْغَاء الدَّفْع.", + "type here": "اُكْتُب هُنَا", + "Scan Driver License": "اسْتِخْرَاج رُخْصَة الْقِيَادَة", + "Please put your licence in these border": + "الرَّجَاء وَضْع رُخْصَتِك ضِمْن هَذَا الْحُدُود", + "Camera not initialized yet": "الْكَامِيرَا لَمْ تُثَبَّت بَعْد", + "Take Image": "إِلْتَقَاط الصُّورَة", + "AI Page": "صَفْحَة الذَّكَاء الاِصْطِنَاعِي", + "Take Picture Of ID Card": "إِلْتَقَاط صُورَة لِبَطَاقَة الْهُوِّيَة", + "Take Picture Of Driver License Card": + "إِلْتَقَاط صُورَة لِبَطَاقَة رُخْصَة الْقِيَادَة", + "We are process picture please wait ": + "نَقُوم بِمَعَالَجَة الصُّورَة الرَّجَاء الإِنْتِظَار", + "There is no data yet.": "لَا تُوجَد بَيَانَات بَعْد.", + "Name :": "الاِسْم:", + "Drivers License Class: ": "فَئَة رُخْصَة الْقِيَادَة:", + "Document Number: ": "رَقْم الْمُسْتَنَد:", + "Address: ": "الْعُنْوَان:", + "Height: ": "الطُّول:", + "Expiry Date: ": "تَارِيخ الإِنْتِهَاء:", + "Date of Birth: ": "تَارِيخ الْمِيلَاد:", + "You can\'t continue with us .\nYou should renew Driver license": + "لَا يُمْكِنُك الاِسْتِمْرَار مَعَنَا. يَجِب تَجْدِيد رُخْصَة الْقِيَادَة", + "Detect Your Face ": "الْكَشْف عَن وَجْهِك", + "Go to next step\nscan Car License.": + "اِذْهَب إِلَى الْخُطْوَة الْتَّالِيَة\naاسْتِخْرَاج رُخْصَة السَّيَّارَة.", + "Name in arabic": "الاِسْم بِاللُّغَة الْعَرَبِيَّة", + "Drivers License Class": "فَئَة رُخْصَة الْقِيَادَة", + "National Number": "الرَّقْم الْقَوْمِي", + "Address": "الْعُنْوَان", + "Date of Birth": "تَارِيخ الْمِيلَاد", + "Age": "الْعُمْر", + "Expiry Date": "تَارِيخ الإِنْتِهَاء", + "Lets check Car license ": + "دَعْنَا نَتَحَقَّق مِن رُخْصَة السَّيَّارَة ", + "Color": "اللَّوْن", + "Car Kind": "نَوْع السَّيَّارَة", + "Year": "السَّنَة", + "Car Plate": "لَوْحَة السَّيَّارَة", + "Lets check License Back Face": + "دَعْنَا نَتَحَقَّق مِن الْوَجْه الْخَلْفِي لِلرُّخْصَة", + "Car License Card": "بَطَاقَة رُخْصَة السَّيَّارَة", + "No image selected yet": "لَمْ يَتِمَّ اخْتِيَار أَيُّ صُورَة بَعْد", + "Made :": "الصَّنَاعَة:", + "model :": "النَّوْع:", + "VIN :": "رَقْم الشَّاصِي:", + "year :": "السَّنَة:", + "ُExpire Date": 'تَارِيخ الانْتِهَاء', + "Login Driver": "تَسْجِيل دُخُول السَّائِق", + "Password must br at least 6 character.": + "كَلِمَة الْمُرُور يَجِب أَنْ تَكُون عَلَى الأَقَلِّ 6 أَحْرُف.", + "if you don\'t have account": "إِذَا لَمْ يَكُن لَدَيْك حِسَاب", + "Register as Driver": "التَّسْجِيل كَسَائِق", + "Privacy Notice": "إِخْطَار الْخُصُوصِيَّة", + "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the ": + "بِاخْتِيَارِي' أُوَافِق' أَدْنَاه، قُمْت بِمُرَاجَعَة وَالْمُوَافَقَة عَلَى شُرُوط الاِسْتِخْدَام وَالاِعْتِرَاف بِـ", + ". I am at least 18 years of age.": + ". أَنَا بَالِغ عُمْرِي عَلَى الأَقَلِّ 18 سَنَة.", + "Log Out Page": "صَفْحَة تَسْجِيل الْخُرُوج", + "Log Off": "تَسْجِيل الْخُرُوج", + "Register Driver": "تَسْجِيل سَائِق جَدِيد", + "Verify Email For Driver": + "التَّحَقُّق مِن الْبَرِيد الإِلَكْتْرُونِي لِلسَّائِق", + "Admin DashBoard": "لَوْحَة تَحْكُم الْمُدِير", + "Your name": "إِسْمُك", + "your ride is applied": 'تَمَّ قَبُول الطَّلَب', + "Your password": "كَلِمَة الْمُرُور الْخَاصَّة بِك", + "H and": 'سَاعَه و', + "LE": 'جُنَيْه', + "JOD": 'دِينَار', + "m": 'دَقِيقَه', + "We search nearst Driver to you": + "بَنْبَحَث عَن أَقْرَب سَائِق لَيْك", "please wait till driver accept your order": - "الرجاء الانتظار حتى يقبل السائق طلبك", + "الرَّجَاء الاِنْتِظَار حَتَّى يَقْبَل السَّائِق طَلَبِك", "No accepted orders? Try raising your trip fee to attract riders.": - "مفيش طلبات مقبولة؟ حاول رفع سعر الرحلة لجذب الركاب", - "You should select one": "يجب عليك اختيار واحد", - "The driver accept your order for": "قبل السائق طلبك بمبلغ", - "Increase Fee": "ارفع السعر", - "No, thanks": "لا شكرا", - 'The driver on your way': 'الكابتن في طريقه اليك', - 'Total price from ': 'المبلغ المطلوب من ', - 'Order Details Speed': 'طلب سريع', - 'Order Applied': "تم قبول الطلب", - 'accepted your order': 'قبل طلبك', - 'We regret to inform you that another driver has accepted this order.': - 'نأسف لإبلاغك بأن سائقًا آخر قد قبل هذا الطلب', - "The order has been accepted by another driver.": - 'الطلب اتاخد من سواق تاني.', - "Be more mindful next time to avoid dropping orders.": - "خليك أسرع المرة الجاية عشان متتخسرش سفريات تانية. ", - 'Order Details': 'تفاصيل الطلب', - "We haven't found any drivers yet. Consider increasing your trip fee to make your offer more attractive to drivers.": - "مفيش سواقين لحد دلوقتي. حاول رفع سعر الرحلة عشان تجذب سواقين أكتر.", - "Increase Your Trip Fee (Optional)": "ارفع سعر الرحلة (اختياري)", - 'title': "العنوان", - "To ensure you receive the most accurate information for your location, please select your country below. This will help tailor the app experience and content to your country.": - "لكي يتم تقديم أفضل خدمة ومحتوى متخصص لك، نطلب منك تحديد بلدك حتى نتمكن من تخصيص التطبيق بناءًا على مكان سكنك. سوف تساعدنا هذه الخطوة في ضمان حصولك على أحدث المعلومات والتحديثات المتعلقة بدولتك.", - 'If You Want be Driver \nClick Here.': - "إذا كنت تريد أن تكون سائقًا \nانقر هنا.", - 'Are you want to go this site': 'هل تريد الذهاب الى هذا المكان', - 'Enter your City': "أدخل مدينتك", - "Select Your Country": "تحديد دولتك", - 'History Page': "ارشيف الرحلات", - 'This Trip Cancelled': "تم إلغاء هذه الرحلة", - 'Trip Detail': "تفاصيل الرحلة", - 'Trip on Map Click here': "اضغط هنا لعرض الرحلة على الخريطة", - 'Order ID': "رقم الطلب", - 'Price is': "السعر هو", - 'Distance is': "المسافة هي", - 'Times of Trip': "أوقات الرحلة", - 'Time to Passenger is': "وقت التحرك هو ", - 'TimeStart is': "وقت البداية هو", - 'Time Finish is': "وقت الإنتهاء هو", - 'Passenger Name is': "إسم الراكب هو", - 'Status is': "الحالة هي", - 'Call Income': "مكالمة واردة", - 'You have call from driver': "لديك مكالمة من السائق", - 'joined': "انضم", - 'Call left': "مكالمة خارجة", - 'Wallet': "المحفظة", - 'History of Trip': "تاريخ الرحلات", - 'Helping Center': "مركز المساعدة", - 'Voice Calling': "الإتصال الصوتي", - 'Helping Page': "صفحة المساعدة", - 'If you need any help or have question this is right site to do that and your welcome': - "إذا كنت تحتاج أي مساعدة أو لديك أسئلة هذه الصفحة المكان المناسب لذلك وأهلاً بك", - 'Enter your Question here': "أدخل سؤالك هنا", - 'Question': "السؤال", - 'Your trip cost is': 'تبلغ تكلفة رحلتك', - 'you have a negative balance of': 'ولكن لديك رصيد سلبي قدره', - ' in your': 'في محفظتك', - 'Exclusive offers and discounts always with the Sefer app': - 'عروض حصرية وتخفيضات دائمة مع تطبيق سفر', - 'Please go to Car Driver': 'توجه إلى سائق السيارة', - ' wallet due to a previous trip.': 'بسبب رحلة سابقة', - 'Submit Question': "طرح السؤال", - 'Please enter your Question.': "الرجاء إدخال سؤالك.", - 'Help Details': "تفاصيل المساعدة", - 'No trip yet found': 'لم يتم حجز أي رحلة بعد ', - 'No Response yet.': "لا يوجد رد بعد.", - ' You Earn today is ': " ما حصلت عليه اليوم هو", - ' You Have in': "لديك في", - 'Total points is ': "إجمالي النقاط هو", - 'Total Connection Duration:': "إجمالي مدة الإتصال:", - ' H and': "ساعة و", - 'Passenger name : ': 'إسم الراكب', - 'Cost Of Trip IS ': 'تكلفة الرحلة', - 'Arrival time': 'وقت الوصول ', - 'arrival time to reach your point': 'الوقت المتوقع للوصول إلى وجهتك ', - 'For Speed and Delivery trips, the price is calculated dynamically. For Comfort trips, the price is based on time and distance': - 'بالنسبة لرحلات Speed والتوصيل، يتم حساب السعر بشكل ديناميكي. أما بالنسبة لرحلات الراحة، فيتم حساب السعر بناءً على الوقت والمسافة.', - 'Hello this is Driver': "مرحبا هذا السائق", - 'Is the Passenger in your Car ?': "هل الراكب في سيارتك؟", - 'Please wait for the passenger to enter the car before starting the trip.': - "لا تبدأ الرحلة إذا لم يكن الراكب في سيارتك", - 'No ,still Waiting.': "لا، مازالت في الإنتظار.", - 'I arrive you': "وصلت إليك", - 'I Arrive your site': "وصلت إلى موقعك", - 'You are not in near to passenger location': - "أنت غير قريب من موقع الراكب", - 'please go to picker location exactly': - "الرجاء الذهاب إلى موقع الراكب بالضبط", - 'You Can Cancel Trip And get Cost of Trip From': - "يمكنك إلغاء الرحلة والحصول على تكلفتها من", - 'Are you sure to cancel?': "هل أنت متأكد من الإلغاء؟", - 'Yes': 'نعم', - 'Insert Emergincy Number': "أدخل رقم الطوارئ", - 'Best choice for comfort car and flexible route and stops point': - 'أفضل اختيار لسيارة مريحة ومسار مرن ونقاط توقف', - 'Insert': "إدراج", - 'This is for delivery or a motorcycle.': - "هذا للتسليم أو الدراجة النارية", - 'This trip goes directly from your starting point to your destination for a fixed price. The driver must follow the planned route': - 'الرحلة دي من نقطة البداية لنقطة النهاية بسعر ثابت والسواق لازم يمشي بنفس الطريق.', - 'You can decline a request without any cost': - '‏يمكنك إلغاء الطلب بدون أي تكلفة', - 'Perfect for adventure seekers who want to experience something new and exciting': - 'خيار مثالي لللي عايزين يخرجوا من الروتين ويجربوا حاجات جديدة ومثيرة', - " My current location is:": "موقعي الحالي هو:", - " \nand I have a trip on": "\nولدي رحلة على", - "App \nwith Passenger ": "التطبيق\nمع الراكب ", - 'You will be pay the cost to driver or we will get it from you on next trip': + "مَفِيش طَلَبَات مَقْبُولَة؟ حَاوِل رَفْع سَعْر الرِّحْلَة لِجَذْب الرُّكَّاب", + "You should select one": "يَجِب عَلَيْك اخْتِيَار وَاحِد", + "The driver accept your order for": + "قَبِل السَّائِق طَلَبِك بِمَبْلَغ", + "Increase Fee": "ارْفَع السَّعْر", + "No, thanks": "لَا شُكْرًا", + "The driver on your way": 'الْكَابِتِن فِي طَرِيقَه إِلَيْك', + "Total price from ": 'الْمَبْلَغ الْمَطْلُوب مِن ', + "Order Details Speed": 'طَلَب سَرِيع', + "Order Applied": "تَمَّ قَبُول الطَّلَب", + "accepted your order": 'قَبِل طَلَبِك', + "We regret to inform you that another driver has accepted this order.": + 'نَأْسَف لإِبْلَاغِك بِأَنَّ سَائِقًا آَخَر قَد قَبِل هَذَا الطَّلَب', + "Selected file:": "الملفُّ المُخْتَارُ:", + "Your trip cost is": "تَبْلُغُ تَكْلِفَةُ رِحْلَتِكَ", + "this will delete all files from your device": + "حَذْفُ هذا سيُؤدِّي إلى حَذْفِ جَميعِ المَلَفَّاتِ مِنْ جِهَازِكَ", + "you have a negative balance of": + "وَلَكِنْ لَدَيْكَ رَصِيدٌ سَلْبِيٌّ قَدْرُهُ", + " in your": "فِي مَحْفَظَتِكَ", + "Exclusive offers and discounts always with the Sefer app": + "عُرُوضٌ حَصْرِيَّةٌ وَتَخْفِيضَاتٌ دَائِمَةٌ مَعَ تَطْبِيقِ سَفَرَ", + "Please go to Car Driver": "تَوَجَّهْ إِلَى سَائِقِ السَّيَّارَةِ", + " wallet due to a previous trip.": 'بِسَبَبِ رِحْلَةٍ سَابِقَةٍ', + "Submit Question": "طَرْحُ السُّؤَالِ", + "Please enter your Question.": "الرَّجَاءُ إِدْخَالُ سُؤَالِكَ.", + "Help Details": "تَفَاصِيلُ المُسَاعَدَةِ", + "No trip yet found": 'لَمْ يَتِمَّ حَجْزُ أَيِّ رِحْلَةٍ بَعْدُ ', + "No Response yet.": "لَا يُوجَدُ رَدٌّ بَعْدُ.", + " You Earn today is ": " مَا حَصَلْتَ عَلَيْهِ الْيَوْمَ هُوَ", + " You Have in": "لَدَيْكَ فِي", + "Total points is ": "إِجْمَالِيُّ النِّقَاطِ هُوَ", + "Total Connection Duration:": "إِجْمَالِيُّ مُدَّةِ الاِتِّصَالِ:", + " H and": "سَاعَةٌ وَ", + "Passenger name : ": 'اِسْمُ الرَّاكِبِ', + "Cost Of Trip IS ": 'تَكْلِفَةُ الرِّحْلَةِ', + "Arrival time": 'وَقْتُ الْوُصُولِ ', + "arrival time to reach your point": + 'الْوَقْتُ المُتَوَقَّعُ لِلْوُصُولِ إِلَى وَجْهَتِكَ ', + "For Speed and Delivery trips, the price is calculated dynamically. For Comfort trips, the price is based on time and distance": + 'بِالنِّسْبَةِ لِرِحْلَاتِ السُّرْعَةِ وَالتَّوْصِيلِ، يَتِمُّ حِسَابُ السِّعْرِ بِشَكْلٍ دِينَامِيكِيٍّ. أَمَّا بِالنِّسْبَةِ لِرِحْلَاتِ الرَّاحَةِ، فَيَتِمُّ حِسَابُ السِّعْرِ بِنَاءً عَلَى الْوَقْتِ وَالْمَسَافَةِ.', + "Hello this is Driver": "مَرْحَبًا هَذَا السَّائِقُ", + "Is the Passenger in your Car ?": "هَلِ الرَّاكِبُ فِي سَيَّارَتِكَ؟", + "Please wait for the passenger to enter the car before starting the trip.": + "لَا تَبْدَأِ الرِّحْلَةَ إِذَا لَمْ يَكُنِ الرَّاكِبُ فِي سَيَّارَتِكَ", + "No ,still Waiting.": "لَا، مَازَالَ فِي الِانْتِظَارِ.", + "I arrive you": "وَصَلْتُ إِلَيْكَ", + "I Arrive your site": "وَصَلْتُ إِلَى مَوْقِعِكَ", + "You are not in near to passenger location": + "أَنْتَ غَيْرُ قَرِيبٍ مِنْ مَوْقِعِ الرَّاكِبِ", + "please go to picker location exactly": + "الرَّجَاءُ الذَّهَابُ إِلَى مَوْقِعِ الرَّاكِبِ بِالضَّبْطِ", + "You Can Cancel Trip And get Cost of Trip From": + "يُمْكِنُكَ إِلْغَاءُ الرِّحْلَةِ وَالْحُصُولُ عَلَى تَكْلِفَتِهَا مِنْ", + "Are you sure to cancel?": + "هَلْ أَنْتَ مُتَأَكِّدٌ مِنَ الإِلْغَاءِ؟", + "Yes": 'نَعَمْ', + "Insert Emergincy Number": "أَدْخِلِ رَقْمَ الطَّوَارِئِ", + "Best choice for comfort car and flexible route and stops point": + 'أَفْضَلُ خِيَارٍ لِسَيَّارَةِ رَاحَةٍ وَمَسَارٍ مُرِنٍ وَنِقَاطِ تَوَقُّفٍ', + "Insert": "إِدْرَاجُ", + "This is for delivery or a motorcycle.": + "هَذَا لِلتَّسْلِيمِ أَوِ الدَّرَّاجَةِ النَّارِيَّةِ", + "This trip goes directly from your starting point to your destination for a fixed price. The driver must follow the planned route": + 'الرِّحْلَةُ دِي مِنْ نُقْطَةِ الْبِدَايَةِ لِنُقْطَةِ النِّهَايَةِ بِسِعْرٍ ثَابِتٍ وَالسَّوَّاقُ لَازِمٌ يَمْشِي بِنَفْسِ الطَّرِيقِ.', + "You can decline a request without any cost": + "‏يمكنك إلغاء الطلب بدون أي تكلفة", + "Perfect for adventure seekers who want to experience something new and exciting": + "خيار مثالي لللي عايزين يخرجوا من الروتين ويجربوا حاجات جديدة ومثيرة", + "My current location is:": "موقعي الحالي هو:", + "and I have a trip on": "nولدي رحلة على", + "App with Passenger": "التطبيق\nمع الراكب", + "You will be pay the cost to driver or we will get it from you on next trip": "ستدفع التكلفة للسائق أو سنحصل عليها منك في الرحلة القادمة", - 'Trip has Steps': "الرحلة تتكون من خطوات", - 'Distance from Passenger to destination is ': - "المسافة من الراكب إلى الوجهة هي ", - 'price is': '‏التكلفة', - 'This ride type does not allow changes to the destination or additional stops': - 'ده نوع الرحلات مش بيسمح بتغيير نقطة الوصول أو الوقوف الإضافي', - 'This price may be changed': 'خلي بالك السعر ممكن يتغي', - 'No SIM card, no problem! Call your driver directly through our app. We use advanced technology to ensure your privacy.': - 'حتا لو مفيش كارت SIM, متخفش! تقدر تكلم سواقك بمنتهى البساطة عن طريق التطبيق بتاعنا. احنا بنستخدم تكنولوجيا حديثة عشان نحافظ على خصوصيتك.', - 'This ride type allows changes, but the price may increase': - 'ده نوع الرحلات بيسمح بالتغيير بس السعر ممكن يزيد ', - 'message From passenger': '‏رسالة من الراكب', - 'Select one message': "‏اختر رسالة", - 'My location is correct. You can search for me using the navigation app': - 'المكان اللي أنا فيه صح، ممكن تدور عليّا من خلال تطبيق الملاحة', - 'I\'m waiting for you': 'مستنيك بفارغ الصبر', - 'Hello, I\'m at the agreed-upon location': - ' أهلاً وسهلاً، وصلت للمكان اللي اتفقنا عليه', + "Trip has Steps": "الرحلة تتكون من خطوات", + "Distance from Passenger to destination is ": + "المسافة من الراكب إلى الوجهة هي", + "price is": "‏التكلفة", + "This ride type does not allow changes to the destination or additional stops": + "ده نوع الرحلات مش بيسمح بتغيير نقطة الوصول أو الوقوف الإضافي", + "This price may be changed": "خَليْ بالَك السَّعر مُمْكِن يِتغَيَّر", + "No SIM card, no problem! Call your driver directly through our app. We use advanced technology to ensure your privacy.": + "حَتَّى لَو مَفِيش كَارت SIM, مَاتِخَافْش! تُقَدِّر تِكَلِّم سِوَاقَك بِمَنْتَهَى البَسَاطَة عَن طَرِيق التَّطْبِيق بِتَاعِنَا. احنَا بِنَسْتَخْدِم تِكْنُولُوجْيَا حَدِيثَة عَشَان نِحافِظ عَلَى خَصُوصِيَّتَك", + "This ride type allows changes, but the price may increase": + "ده نوع الرحلات بيسمح بالتغيير بس السعر ممكن يزيد", + "message From passenger": "‏رسالة من الراكب", + "Select one message": "‏اختر رسالة", + "My location is correct. You can search for me using the navigation app": + "المَكَان اللِّي أنا فِيه صَحِيح، مُمْكِن تُدَوِّر عَليَّا مِن خِلَال تَطْبِيق المُلاحَة", + "I'm waiting for you": "مُسْتَنِّيك بِفَارِغ الصَّبْر", + "Hello, I'm at the agreed-upon location": + " أَهْلاً وَسَهْلاً، وَصَلْت لِلْمَكَان اللِّي اِتَّفَقْنَا عَلَيْه", "We noticed the speed is exceeding 100 km/h. Please slow down for your safety. If you feel unsafe, you can share your trip details with a contact or call the police using the red SOS button.": - "لقد لاحظنا أن السرعة تتجاوز ١٠٠ كم/ساعة. يرجى التباطؤ من أجل سلامتك. إذا كنت تشعر بعدم الأمان، يمكنك مشاركة تفاصيل رحلتك مع جهة اتصال أو الاتصال بالشرطة باستخدام زر SOS الأحمر.", - 'Warning: Speeding detected!': "تحذير: تم رصد السرعة الزائدة!", + "لَقَد لَاحَظْنَا أَنَّ السُّرْعَة تَتَجَاوَز ١٠٠ كم/سَاعَة. يُرْجَى التَّبَاطُؤ مِن أَجْل سَلَامَتِك. إِذَا كُنْت تَشْعُر بِعَدَم الْأَمَان، يُمْكِنُك مُشَارَكَة تَفَاصِيل رِحْلَتِك مَع جِهَة اِتِّصَال أَو الاِتِّصَال بِالشُّرْطَة بِاسْتِخْدَام زَرّ SOS الْأَحْمَر", + "Warning: Speeding detected!": + "تَحْذِير: تَمَّ رَصْد السُّرْعَة الزَّائِدَة!", "Please help! Contact me as soon as possible.": - "الرجاء المساعدة! اتصل بي في أقرب وقت ممكن.", - 'Share Trip Details': "مشاركة تفاصيل الرحلة", - 'Car Plate is ': '‏رقم اللوحة', - 'the 300 points equal 300 L.E for you \nSo go and gain your money': - 'اربح 300 جنيه ! كل 300 نقطة تمنحك 300 جنيه. اذهب واستفد من نقاطك!', - 'the 300 points equal 300 L.E': + "الرَّجَاء الْمُسَاعَدَة! اِتَّصِل بِي فِي أَقْرَب وَقْت مُمْكِن", + "Share Trip Details": "مُشَارَكَة تَفَاصِيل الرِّحْلَة", + "Car Plate is ": "‏رَقْم اللَّوْحَة", + "the 300 points equal 300 L.E for you \nSo go and gain your money": + "اِرْبَح ٣٠٠ جُنَيه! كُلّ ٣٠٠ نُقْطَة تُمْنِحُك ٣٠٠ جُنَيه. اِذْهَب وَاِسْتَفِد مِن نُقَاطِك!", + "the 300 points equal 300 L.E": 'الـ 300 نقطة تساوي 30 جنيه بالنسبة لك ', - 'The payment was not approved. Please try again.': + "The payment was not approved. Please try again.": 'لم يتم الموافقة على الدفع. الرجاء المحاولة مرة أخرى.', - 'Payment Failed': 'فشل الدفع', - 'Error': 'خطأ', - 'An error occurred during the payment process.': + "Payment Failed": 'فشل الدفع', + "Error": 'خطأ', + "An error occurred during the payment process.": 'حدث خطأ أثناء عملية الدفع.', - 'The payment was approved.': 'تمت الموافقة على الدفع.', - 'Payment Successful': 'نجح الدفع', - 'No ride found yet': '‏لا يوجد طلبات متوفرة حاليا', - 'Accept Order': "‏اقبل الطلب", - 'reject your order.': "رفض طلبك.", - 'Bottom Bar Example': "مثال لشريط الأسفل", - 'Driver phone': '‏رقم السائق', - 'Statistics': "الإحصائيات", - 'Origin': "نقطة الانطلاق", - 'Destination': 'الوجهة', - 'Driver Name': 'اسم السائق', - 'Driver Car Plate': 'لوحة السيارة', - 'Available for rides': '‏مشاوير متاحة', - 'Scan Id': "مسح الهوية", - 'Camera not initilaized yet': "الكاميرا لم تُثبت بعد", - 'Scan ID MklGoogle': "مسح هوية MklGoogle", - 'Language': "اللغة", + "The payment was approved.": 'تمت الموافقة على الدفع.', + "Payment Successful": 'نجح الدفع', + "No ride found yet": '‏لا يوجد طلبات متوفرة حاليا', + "Accept Order": "‏اقبل الطلب", + "reject your order.": "رفض طلبك.", + "Bottom Bar Example": "مثال لشريط الأسفل", + "Driver phone": '‏رقم السائق', + "Statistics": "الإحصائيات", + "Origin": "نقطة الانطلاق", + "Destination": 'الوجهة', + "Driver Name": 'اسم السائق', + "Driver Car Plate": 'لوحة السيارة', + "Available for rides": '‏مشاوير متاحة', + "Scan Id": "مسح الهوية", + "Camera not initilaized yet": "الكاميرا لم تُثبت بعد", + "Scan ID MklGoogle": "مسح هوية MklGoogle", + "Language": "اللغة", "Jordan": "الأردن", "USA": "الولايات المتحدة الأمريكية", "Egypt": "مصر", @@ -551,155 +547,162 @@ class MyTranslation extends Translations { "Qatar": "قطر", "Bahrain": "البحرين", "Kuwait": "الكويت", - 'But you have a negative salary of': "لكن لديك راتب سلبي بقيمة", - 'Promo Code': "كود ترويجي", - 'Your trip distance is': "مسافة رحلتك هي", - 'Enter promo code': "أدخل كود ترويجي", - 'You have promo!': "لديك عرض ترويجي!", - 'Cost Duration': "تكلفة المدة", - 'Duration is': "المدة هي", - 'Leave': "مغادرة", - 'Join': "الانضمام", - 'You Should be select reason.': "يجب أن تختار السبب.", - ' \$': " دينار ", - 'Waiting for Driver ...': "في انتظار السائق...", - 'Latest Recent Trip': "آخر رحلة حديثة", - 'from your list': "من قائمتك", - 'Do you want to change Work location': "هل تريد تغيير موقع العمل؟", - 'Do you want to change Home location': "هل تريد تغيير موقع المنزل؟", - 'We Are Sorry That we dont have cars in your Location!': + "But you have a negative salary of": "لكن لديك راتب سلبي بقيمة", + "Promo Code": "كود ترويجي", + "Your trip distance is": "مسافة رحلتك هي", + "Enter promo code": "أدخل كود ترويجي", + "You have promo!": "لديك عرض ترويجي!", + "Cost Duration": "تكلفة المدة", + "Duration is": "المدة هي", + "Leave": "مغادرة", + "Join": "الانضمام", + "You Should be select reason.": "يجب أن تختار السبب.", + " \$": " دينار ", + "Waiting for Driver ...": "في انتظار السائق...", + "Latest Recent Trip": "آخر رحلة حديثة", + "from your list": "من قائمتك", + "Do you want to change Work location": "هل تريد تغيير موقع العمل؟", + "Do you want to change Home location": "هل تريد تغيير موقع المنزل؟", + "We Are Sorry That we dont have cars in your Location!": "نعتذر لعدم وجود سيارات في موقعك!", - 'Choose from Map': "اختر من الخريطة", - 'To Work': "إلى العمل", - 'Work Saved': "تم حفظ العمل", - 'To Home': "إلى المنزل", - 'Home Saved': "تم حفظ المنزل", + "Choose from Map": "اختر من الخريطة", + "To Work": "إلى العمل", + "Work Saved": "تم حفظ العمل", + "To Home": "إلى المنزل", + "Home Saved": "تم حفظ المنزل", "Click here point": "انقر هنا نقطة", - 'No Car in your site. Sorry!': "لا توجد سيارة في موقعك. آسف!", - 'Nearest Car for you about ': "أقرب سيارة لك حوالي ", - 'N/A': "غير متوفر", - 'From :': "من:", - 'Get Details of Trip': "الحصول على تفاصيل الرحلة", + "No Car in your site. Sorry!": "لا توجد سيارة في موقعك. آسف!", + "Nearest Car for you about ": "أقرب سيارة لك حوالي ", + "N/A": "غير متوفر", + "From :": "من:", + "Get Details of Trip": "الحصول على تفاصيل الرحلة", "If you want add stop click here": "إذا أردت إضافة وقفة انقر هنا", - 'Driver': "السائق", + "Driver": "السائق", "Where you want go ": "إلى أين تريد الذهاب ", - 'My Card': "بطاقتي", - 'Card Number': "رقم البطاقة", - 'Hi, Where to ': "مرحبا، إلى أين ", + "My Card": "بطاقتي", + 'Trips recorded': '‏الرحلات المسجلة', + 'Are you sure to delete recorded files': + '‏هل أنت متأكد من حذف الملف الصوتي', + 'Select recorded trip': "‏اختر الملف الصوتي", + "Card Number": "رقم البطاقة", + "Hi, Where to ": "مرحبا، إلى أين ", "Pick your destination from Map": "حدد وجهتك من الخريطة", - 'Add Stops': "إضافة المحطات", - 'Get Direction': "الحصول على الإرشادات", - 'Add Location': "إضافة الموقع", + "Add Stops": "إضافة المحطات", + "Get Direction": "الحصول على الإرشادات", + "Add Location": "إضافة الموقع", "Switch Rider": "تبديل الراكب", - 'You will arrive to your destination after timer end.': + "You will arrive to your destination after timer end.": "سوف تصل إلى وجهتك بعد انتهاء العداد.", - 'You can cancel trip': "يمكنك إلغاء الرحلة", - 'The driver waitting you in picked location .': + "You can cancel trip": "يمكنك إلغاء الرحلة", + "The driver waitting you in picked location .": "السائق ينتظرك في الموقع المحدد.", - '10\$ and get 3% discount': "10 دينار والحصول على خصم 3%", - '20\$ and get 4% discount': "20 دينار والحصول على خصم 4%", - '40\$ and get 6% discount': "40 دينار والحصول على خصم 6%", - '100\$ and get 9% discount': "100 دولار والحصول على خصم 9%", - 'Pay with Your': "الدفع باستخدام", - 'Pay with Credit Card': "الدفع ببطاقة ائتمان", - 'Payment History': "تاريخ المدفوعات", - 'Show Promos to Charge': "إظهار العروض للشحن", - 'Point': "نقطة", - 'Driver Wallet': "محفظة السائق", - 'Total Points is': "إجمالي النقاط هو", - 'Total Budget from trips is ': "إجمالي الميزانية من الرحلات هو ", - 'Total Amount:': "المبلغ الإجمالي:", - 'Total Budget from trips by\nCredit card is ': + "10\$ and get 3% discount": "10 دينار والحصول على خصم 3%", + "20\$ and get 4% discount": "20 دينار والحصول على خصم 4%", + "40\$ and get 6% discount": "40 دينار والحصول على خصم 6%", + "100\$ and get 9% discount": "100 دولار والحصول على خصم 9%", + "Pay with Your": "الدفع باستخدام", + "Pay with Credit Card": "الدفع ببطاقة ائتمان", + "Payment History": "تاريخ المدفوعات", + "Show Promos to Charge": "إظهار العروض للشحن", + "Point": "نقطة", + "Driver Wallet": "محفظة السائق", + "Total Points is": "إجمالي النقاط هو", + "Total Budget from trips is ": "إجمالي الميزانية من الرحلات هو ", + "Total Amount:": "المبلغ الإجمالي:", + "Total Budget from trips by\nCredit card is ": "الميزانية الإجمالية من الرحلات باستخدام\nبطاقة الائتمان هي ", - 'This amount for all trip I get from Passengers': + "This amount for all trip I get from Passengers": "هذا المبلغ الذي حصلت عليه من جميع الرحلات من الركاب", - 'Pay from my budget': "الدفع من ميزانيتي", - 'This amount for all trip I get from Passengers and Collected For me in': + "Pay from my budget": "الدفع من ميزانيتي", + "This amount for all trip I get from Passengers and Collected For me in": "هذا المبلغ الذي حصلت عليه من جميع الرحلات من الركاب وتم جمعه لي في", - 'You can buy points from your budget': "يمكنك شراء نقاط من ميزانيتك", - 'insert amount': "إدراج المبلغ", - 'You can buy Points to let you online\nby this list below': + "You can buy points from your budget": "يمكنك شراء نقاط من ميزانيتك", + "insert amount": "إدراج المبلغ", + "You can buy Points to let you online\nby this list below": "يمكنك شراء النقاط للبقاء على وضع الاتصال\nمن خلال القائمة أدناه", - 'Create Wallet to receive your money': "إنشاء محفظة لاستلام أموالك", - 'Enter your feedback here': "أدخل تعليقاتك هنا", - 'Please enter your feedback.': "الرجاء إدخال تعليقاتك.", - 'Feedback': "تعليق", - 'Submit ': "تقديم", - 'Click here to Show it in Map': "انقر هنا لعرضه على الخريطة", - 'Canceled': "تم الإلغاء", - 'Type your Email': "اكتب بريدك الإلكتروني", - 'No I want': "لا أريد", - 'Email is': "البريد الإلكتروني هو", - 'Phone Number is': "رقم الهاتف هو", - 'Date of Birth is': "تاريخ الميلاد هو", - 'Sex is ': "الجنس هو ", - 'Car Details': "تفاصيل السيارة", - 'VIN is': "رقم الشاصي هو", - 'Color is ': "اللون هو ", - 'Make is ': "الشركه الصانعه", - 'Model is': "النوع هو", - 'Year is': "السنة هي", - 'Expiration Date ': "تاريخ الانتهاء ", - 'Edit Your data': "تعديل بياناتك", - 'write vin for your car': "اكتب رقم الشاصي لسيارتك", - 'VIN': "رقم الشاصي", - 'write Color for your car': "اكتب لون سيارتك", - 'write Make for your car': "اكتب صانع سيارتك", - 'Make': "الشركه الصانعه", - 'write Model for your car': "اكتب نوع سيارتك", - 'Model': "النوع", - 'write Year for your car': "اكتب سنة الصنع", - 'Expiration Date': "تاريخ الانتهاء ", - 'write Expiration Date for your car': "اكتب تاريخ انتهاء رخصه سيارتك", - 'Tariffs': "التعرفه", - 'Minimum fare': "الحد الأدنى للأجرة", - 'Maximum fare': "الحد الأقصى للأجرة", - 'Flag-down fee': "رسوم التشغيل", - 'Including Tax': "بما في ذلك الضرائب", - 'BookingFee': "رسوم الطلب", - 'Morning': "الصباح", - 'from 07:30 till 10:30 (Thursday, Friday, Saturday, Monday)': + "Create Wallet to receive your money": "إنشاء محفظة لاستلام أموالك", + "Enter your feedback here": "أدخل تعليقاتك هنا", + "Please enter your feedback.": "الرجاء إدخال تعليقاتك.", + "Feedback": "تعليق", + "Submit ": "تقديم", + "Click here to Show it in Map": "انقر هنا لعرضه على الخريطة", + "Canceled": "تم الإلغاء", + "Type your Email": "اكتب بريدك الإلكتروني", + "No I want": "لا أريد", + "Email is": "البريد الإلكتروني هو", + "Phone Number is": "رقم الهاتف هو", + "Date of Birth is": "تاريخ الميلاد هو", + "Sex is ": "الجنس هو ", + "Car Details": "تفاصيل السيارة", + "VIN is": "رقم الشاصي هو", + "Color is ": "اللون هو ", + "Make is ": "الشركه الصانعه", + "Model is": "النوع هو", + "Year is": "السنة هي", + "Expiration Date ": "تاريخ الانتهاء ", + "Edit Your data": "تعديل بياناتك", + "write vin for your car": "اكتب رقم الشاصي لسيارتك", + "VIN": "رقم الشاصي", + "write Color for your car": "اكتب لون سيارتك", + "write Make for your car": "اكتب صانع سيارتك", + "Make": "الشركه الصانعه", + "write Model for your car": "اكتب نوع سيارتك", + "Model": "النوع", + "write Year for your car": "اكتب سنة الصنع", + "Expiration Date": "تاريخ الانتهاء ", + "write Expiration Date for your car": "اكتب تاريخ انتهاء رخصه سيارتك", + "Tariffs": "التعرفه", + "Minimum fare": "الحد الأدنى للأجرة", + "Maximum fare": "الحد الأقصى للأجرة", + "Flag-down fee": "رسوم التشغيل", + "Including Tax": "بما في ذلك الضرائب", + "BookingFee": "رسوم الطلب", + "Morning": "الصباح", + "from 07:30 till 10:30 (Thursday, Friday, Saturday, Monday)": "من 07:30 إلى 10:30 (يوم الخميس، الجمعة، السبت، الإثنين)", - 'Evening': "المساء", - 'from 12:00 till 15:00 (Thursday, Friday, Saturday, Monday)': + "Evening": "المساء", + "from 12:00 till 15:00 (Thursday, Friday, Saturday, Monday)": "من 12:00 إلى 15:00 (يوم الخميس، الجمعة، السبت، الإثنين)", - 'Night': "الليل", - 'You have in account': 'يوجد في حسابك ', - 'Select Country': 'اختر الدوله', - 'Ride Today : ': 'عدد الرحلات : ', - 'After this period\nYou can\'t cancel!': + "Night": "الليل", + "You have in account": 'يوجد في حسابك ', + "Select Country": 'اختر الدوله', + "Ride Today : ": 'عدد الرحلات : ', + "After this period\nYou can\'t cancel!": 'بعد هذه الفتره \nلا تستطيع الغاء الرحله', - 'from 23:59 till 05:30': "من 23:59 إلى 05:30", - 'Rate Driver': "تقييم السائق", - 'Total Cost is ': ' صافي الربح ', - 'Write note': 'اكتب ملاحظه', - 'Time to arrive': 'وقت الوصول', - 'Ride Summaries': "ملخصات الرحلات", - 'Total Cost': "المبلغ الاجمالي", - 'Average of Hours of': "متوسط ساعات", - ' is ON for this month': "في هذا الشهر", - 'Days': "أيام", - 'Total Hours on month': "إجمالي الساعات في الشهر", - 'Counts of Hours on days': "عدد ساعات الأيام", - 'OrderId': 'رقم الرحله', - 'created time': "وقت الرحله", - 'Speed Over': 'سرعة عالية', - 'I will slow down': 'حاضر هخفف', - 'Map Passenger': 'خارطه الراكب', + "from 23:59 till 05:30": "من 23:59 إلى 05:30", + "Rate Driver": "تقييم السائق", + "Total Cost is ": ' صافي الربح ', + "Write note": 'اكتب ملاحظه', + "Time to arrive": 'وقت الوصول', + "Ride Summaries": "ملخصات الرحلات", + "Total Cost": "المبلغ الاجمالي", + "Average of Hours of": "متوسط ساعات", + " is ON for this month": "في هذا الشهر", + "Days": "أيام", + "Total Hours on month": "إجمالي الساعات في الشهر", + "Counts of Hours on days": "عدد ساعات الأيام", + "OrderId": 'رقم الرحله', + "created time": "وقت الرحله", + "Speed Over": 'سرعة عالية', + "I will slow down": 'حاضر هخفف', + "Map Passenger": 'خارطه الراكب', "Be Slowly": "خفف شوية من السرعة", "If you want to make Google Map App run directly when you apply order": "إذا كنت تريد أن تفتح تطبيق خرائط جوجل مباشرة عند طلب الخدمة", "You can change the language of the app": "يمكنك تغيير لغة التطبيق", - 'Your Budget less than needed': 'القيمه المدخله اقل من رصيدك', - 'You can change the Country to get all features': + "Your Budget less than needed": 'القيمه المدخله اقل من رصيدك', + "You can change the Country to get all features": 'يمكنك تغيير البلد للحصول على جميع الميزات', - 'Change Country': '‏تغيير الدولة', + "Change Country": '‏تغيير الدولة', }, "tr": { - "Choose Language": "Dil Seçin", + "Choose Language": "Dili Seç", "Login": "Giriş Yap", + "Pay with Wallet": "Cüzdan ile Öde", + "Invalid MPIN": "Geçersiz MPIN", + "Invalid OTP": "Geçersiz OTP", "Enter your email address": "E-posta adresinizi girin", - "Please enter Your Email.": "Lütfen E-posta adresinizi girin.", + "Please enter Your Email.": "Lütfen e-posta adresinizi girin.", "Enter your phone number": "Telefon numaranızı girin", "Please enter your phone number.": "Lütfen telefon numaranızı girin.", "Please enter Your Password.": "Lütfen şifrenizi girin.", @@ -707,60 +710,59 @@ class MyTranslation extends Translations { "if you dont have account": "Hesabınız yoksa", "Register": "Kayıt Ol", "Accept Ride's Terms & Review Privacy Notice": - "Kullanım Koşullarını Kabul Edin ve Gizlilik Bildirimini İnceleyin", - "By selecting \"I Agree\" below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": - "\"Kabul Ediyorum\" seçeneğini seçerek, Kullanım Koşullarını inceledim ve kabul ettim, Gizlilik Bildirimi'ni onaylıyorum. En az 18 yaşındayım.", + "Hizmet Şartlarını Kabul Et ve Gizlilik Bildirimini İncele", + "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": + "Aşağıda 'Kabul Ediyorum' seçeneğini işaretleyerek, Kullanım Şartlarını okudum ve kabul ediyorum; Gizlilik Bildirimi'ni onaylıyorum. En az 18 yaşındayım.", "I Agree": "Kabul Ediyorum", - "First name": "Adınız", + "First name": "Ad", "Enter your first name": "Adınızı girin", "Please enter your first name.": "Lütfen adınızı girin.", - "Last name": "Soyadınız", + "Last name": "Soyad", "Enter your last name": "Soyadınızı girin", "Please enter your last name.": "Lütfen soyadınızı girin.", "City": "Şehir", - "Please enter your City.": "Lütfen şehir adınızı girin.", + "Please enter your City.": "Lütfen şehrinizi girin.", "Male": "Erkek", "Female": "Kadın", - "Verify Email": "E-postayı Doğrula", + "Verify Email": "E-posta Adresini Doğrula", "We sent 5 digit to your Email provided": - "E-postanıza 5 haneli bir kod gönderdik", + "Sağladığınız e-posta adresine 5 haneli bir kod gönderdik", "5 digit": "5 haneli", "Send Verification Code": "Doğrulama Kodunu Gönder", - "Your Ride Duration is ": "Seyir Süreniz ", - "You will be thier in": "Orada olacaksınız", - "You trip distance is": "Gezi mesafesi", + "Your Ride Duration is ": "Yolculuk Süreniz ", + "You will be thier in": "Oraya varacaksınız", + "You trip distance is": "Yolculuk Mesafeniz", "Fee is": "Ücret", - "From : ": "Başlangıç noktası: ", - "To : ": "Varış noktası: ", + "From : ": "Nereden: ", + "To : ": "Nereye: ", "Add Promo": "Promosyon Ekle", "Confirm Selection": "Seçimi Onayla", - "distance is": "mesafe", - "duration is": "süre", - "I don't need a ride anymore": "Artık bir sürüşe ihtiyacım yok", + "distance is": "Mesafe", + "duration is": "Süre", + "I don't need a ride anymore": "Artık bir yolculuğa ihtiyacım yok", "I was just trying the application": "Sadece uygulamayı deniyordum", "No driver accepted my request": - "Hiçbir sürücü isteğimi kabul etmedi", + "Hiçbir sürücü talebimi kabul etmedi", "I added the wrong pick-up/drop-off location": - "Yanlış kalkış/varış konumu ekledim", + "Yanlış alış/bırakış konumu ekledim", "I don't have a reason": "Bir sebebim yok", "Other": "Diğer", - "Can we know why you want to cancel Ride ?": - "Neden sürüşü iptal etmek istediğinizi öğrenebilir miyiz?", - "Cancel Ride": "Sürüşü İptal Et", + "Can we know why you want to cancel Ride?": + "Ride'ı iptal etme nedeninizi öğrenebilir miyiz?", + "Cancel Ride": "Ride'ı İptal Et", "Add Payment Method": "Ödeme Yöntemi Ekle", - "Your Wallet balance is ": "Cüzdan bakiyeniz ", - "Ride Wallet": "Sürüş Cüzdanı", + "Your Wallet balance is ": "Cüzdanınızın bakiyesi ", + "Ride Wallet": "Ride Cüzdanı", "Payment Method": "Ödeme Yöntemi", - "Type here Place": "Buraya Yer Girin", - "Are You sure to ride to": - "Şuraya gitmek istediğinizden emin misiniz", + "Type here Place": "Buraya Yer Yazın", + "Are You sure to ride to": "Buraya gitmeye emin misiniz", "Confirm": "Onayla", "Back": "Geri", - "You are Delete": "Silmektesiniz", + "You are Delete": "Silme İşlemindesiniz", "Deleted": "Silindi", - "You Dont Have Any places yet !": "Henüz hiç yeriniz yok!", + "You Don't Have Any places yet !": "Henüz hiçbir yeriniz yok!", "Favorite Places": "Favori Yerler", - "From : Current Location": "Başlangıç noktası: Mevcut Konum", + "From : Current Location": "Konumum: Mevcut Konum", "Where to": "Nereye", "Notifications": "Bildirimler", "Profile": "Profil", @@ -781,114 +783,591 @@ class MyTranslation extends Translations { "MyLocation": "Konumum", "my location": "konumum", "Target": "Hedef", - "By selecting \"I Agree\" below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": - "Aşağıdaki \"Kabul Ediyorum\" seçeneğini seçerek, Kullanım Koşullarını gözden geçirdiğimi ve kabul ettiğimi ve Gizlilik Bildirimini kabul ettiğimi beyan ederim. En az 18 yaşındayım.", + "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the Privacy Notice. I am at least 18 years of age.": + "Aşağıda 'Kabul Ediyorum' seçeneğini işaretleyerek Kullanım Şartlarını incelediğimi ve kabul ettiğimi, Gizlilik Bildirimine de onay verdiğimi kabul ediyorum. En az 18 yaşındayım.", "Update": "Güncelle", - "You Should choose rate figure": "Değerlendirme puanını seçmelisiniz", - "Login Captin": "Kaptan olarak giriş yap", - "Register Captin": "Kaptan olarak kayıt ol", - "Send Verfication Code": "Doğrulama kodunu gönder", - "KM": "Km", - "End Ride": "Yolculuğu bitir", + "You Should choose rate figure": "Değerlendirme oranını seçmelisiniz", + "Login Captin": "Kaptan Girişi", + "Register Captin": "Yeni Kaptan Kayıt", + "Send Verfication Code": "Doğrulama Kodu Gönder", + "KM": "KM", + "End Ride": "Ride'ı Bitir", "Minute": "Dakika", - "Go to passenger Location now": "Şimdi yolcunun konumuna git", - "Duration of the Ride is ": "Yolculuğun süresi ", - "Distance of the Ride is ": "Yolculuğun mesafesi ", - "Name of the Passenger is ": "Yolcu adı ", - "Hello this is Captain": "Merhaba, ben kaptan", - "Start the Ride": "Yolculuğu başlat", + "Go to passenger Location now": "Şimdi yolcu konumuna git", + "Duration of the Ride is ": "Ride süresi ", + "Distance of the Ride is ": "Ride mesafesi ", + "Name of the Passenger is ": "Yolcunun adı ", + "Hello this is Captain": "Merhaba, bu Kaptan", + "Start the Ride": "Ride'ı Başlat", "Please Wait If passenger want To Cancel!": "Yolcu iptal etmek isterse lütfen bekleyin!", - "Total Duration:": "Toplam süre:", - "Active Duration:": "Aktif süre:", - "Waiting for Captin ...": "Kaptan bekleniyor...", - "Age is ": "Yaş ", - "Rating is ": "Değerlendirme ", - " to arrive you.": "Size ulaşmak için.", - "Order History": "Sipariş geçmişi", + "Total Duration:": "Toplam Süre:", + "Active Duration:": "Aktif Süre:", + "Waiting for Captin ...": "Kaptan Bekleniyor ...", + "Age is ": "Yaş ", + "Rating is ": "Değerlendirme ", + " to arrive you.": " sizi beklemeye gelecek.", + "Order History": "Sipariş Geçmişi", "My Wallet": "Cüzdanım", "Tariff": "Tarife", "Settings": "Ayarlar", - "Feed Back": "Geri bildirim", + "Feed Back": "Geri Bildirim", "Promos": "Promosyonlar", "Please enter a valid 16-digit card number": - "Lütfen geçerli 16 haneli bir kart numarası girin", - "Add Phone": "Telefon ekle", - "Please enter a phone number": "Lütfen bir telefon numarası girin", - "You dont Add Emergency Phone Yet!": - "Henüz acil durum numarası eklemediniz!", - "You will arrive to your destination after ": - "Hedefinize varmanız için", - "You can cancel Ride now": "Yolculuğu şimdi iptal edebilirsiniz", + "Lütfen geçerli 16 haneli kart numarasını girin", + "Add Phone": "Telefon Ekle", + "Please enter a phone number": "Lütfen telefon numarası girin", + "You don't Add Emergency Phone Yet!": + "Henüz Acil Telefon Numarası eklemediniz!", + "You will arrive to your destination after ": "Hedefinize ulaşmanız ", + "You can cancel Ride now": "Ride'ı şimdi iptal edebilirsiniz", "You Can cancel Ride After Captain did not come in the time": - "Kaptan zamanında gelmezse yolculuğu iptal edebilirsiniz", + "Kaptan zamanında gelmezse Ride'ı iptal edebilirsiniz", "If you in Car Now. Press Start The Ride": - "Arabadaysanız, Yolculuğu Başlat'a basın", - "You Dont Have Any amount in": "Cüzdanınızda hiç para yok!", - "Wallet!": "Cüzdanınız!", - "You Have": "Sahipsin", - "Save Credit Card": "Kredi kartını kaydet", - "Show Promos": "Promosyonları göster", - "10 and get 4% discount": "10 yüklediğinizde %4 indirim kazanın", - "20 and get 6% discount": "20 yüklediğinizde %6 indirim kazanın", - "40 and get 8% discount": "40 yüklediğinizde %8 indirim kazanın", - "100 and get 11% discount": "100 yüklediğinizde %11 indirim kazanın", - "Pay with Your PayPal": "PayPal ile öde", + "Şu anda arabadaysanız. Ride'ı Başlat'a basın", + "You Don't Have Any amount in": "Herhangi bir bakiyeniz yok", + "Wallet!": "Cüzdan!", + "You Have": "Sahipsiniz", + "Save Credit Card": "Kredi Kartını Kaydet", + "Show Promos": "Promosyonları Göster", + "10 and get 4% discount": "10 ve %4 indirim", + "20 and get 6% discount": "20 ve %6 indirim", + "40 and get 8% discount": "40 ve %8 indirim", + "100 and get 11% discount": "100 ve %11 indirim", + "Pay with Your PayPal": "PayPal ile Öde", "You will choose one of above !": - "Yukarıdakiler arasından birini seçeceksiniz!", + "Yukarıdakilerden birini seçeceksiniz!", "Cancel": "İptal", - "Delete My Account": "Hesabımı sil", - "Edit Profile": "Profili düzenle", + "Delete My Account": "Hesabımı Sil", + "Edit Profile": "Profili Düzenle", "Name": "Ad", "Gender": "Cinsiyet", - "Update Gender": "Cinsiyeti güncelle", + "Update Gender": "Cinsiyeti Güncelle", "Education": "Eğitim", - "Update Education": "Eğitimi güncelle", - "Employment Type": "İş türü", - "Marital Status": "Medeni durum", - "SOS Phone": "Acil durum numarası", - "High School Diploma": "Lise diploması", - "Associate Degree": "Yüksek lisans", - "Bachelor\'s Degree": "Lisans", - "Master\'s Degree": "Yüksek lisans", - "Doctoral Degree": "Doktora", + "Update Education": "Eğitimi Güncelle", + "Employment Type": "İstihdam Türü", + "Marital Status": "Medeni Hal", + "SOS Phone": "Acil Durum Telefonu", + "High School Diploma": "Lise Diploması", + "Associate Degree": "Ön Lisans Derecesi", + "Bachelor's Degree": "Lisans Derecesi", + "Master's Degree": "Yüksek Lisans Derecesi", + "Doctoral Degree": "Doktora Derecesi", + "Promos For today": "Bugünün Promosyonları", "Copy this Promo to use it in your Ride!": - "Bu Promosyonu seyahatinizde kullanmak için kopyalayın!", - "To change some Settings": "Bazı ayarları değiştirmek için", - "To change Language the App": "Uygulama dilini değiştirmek için", - "Order Request Page": "Sipariş istek sayfası", - "Rouats of Trip": "Seyahat yolları", - "Passenger Name is ": "Yolcu adı ", - "Total From Passenger is ": "Yolcudan gelen toplam tutar ", - "Duration To Passenger is ": "Yolcuya olan süre ", - "Distance To Passenger is ": "Yolcuya olan mesafe ", - "Total For You is ": "Sizin için toplam tutar ", - "Distance is ": "Mesafe ", - " KM": "Km", - "Duration of Trip is ": "Seyahat süresi ", - " Minutes": "Dakika", - "Apply Order": "Siparişi uygula", - "Refuse Order": "Siparişi reddet", - "Rate Captain": "Kaptanınızı değerlendirin", - "Enter your Note": "Notunuzu girin", + "Bu Promosyonu Ride'da kullanmak için kopyalayın!", + "To change some Settings": "Bazı Ayarları Değiştirmek İçin", + "To change Language the App": "Uygulamanın Dilini Değiştirmek İçin", + "Order Request Page": "Sipariş İsteği Sayfası", + "Rouats of Trip": "Yolculuk Rotaları", + "Passenger Name is ": "Yolcu Adı ", + "Total From Passenger is ": "Yolcudan Alınan Toplam Tutar ", + "Duration To Passenger is ": "Yolcuya Varış Süresi ", + "Distance To Passenger is ": "Yolcuya Mesafe ", + "Total For You is ": "Toplam Ücretiniz ", + "Distance is ": "Mesafe ", + " KM": " KM", + "Duration of Trip is ": "Yolculuk Süresi ", + " Minutes": " Dakika", + "Apply Order": "Siparişi Uygula", + "Refuse Order": "Siparişi Reddet", + "Rate Captain": "Sürücüyü Oyla", + "Enter your Note": "Notunuzu Girin", "Type something...": "Bir şeyler yazın...", - "Submit rating": "Değerlendirmeyi gönder", - "Rate Passenger": "Yolcularınızı değerlendirin", - "Ride Summary": "Seyahat özeti", - "welcome_message": "Sefer'e hoş geldiniz!", + "Submit rating": "Değerlendirmeyi Gönder", + "Rate Passenger": "Yolcuyu Oyla", + "Ride Summary": "Yolculuk Özeti", + "welcome_message": "Seyahate hoş geldiniz!", "app_description": - "Sefer, güvenli, güvenilir ve erişilebilir bir araç paylaşım uygulamasıdır.", - "get_to_destination": - "Hedef noktanıza hızlı ve kolay bir şekilde ulaşın.", + "Sefir, güvenli ve güvenilir bir yolculuk paylaşma uygulamasıdır ve erişilebilirdir.", + "get_to_destination": "Hedefinize hızlı ve kolay bir şekilde ulaşın.", "get_a_ride": - "Sefer ile dakikalar içinde varış noktanıza bir yolculuk alabilirsiniz.", + "Sefir ile, dakikalar içinde hedefinize gidecek bir yolculuk alabilirsiniz.", "safe_and_comfortable": - "Güvenli ve konforlu bir yolculuğun tadını çıkarın.", + "Güvenli ve rahat bir yolculuk deneyimi yaşayın.", "committed_to_safety": - "Sefer, güvenliğe bağlıdır ve tüm kaptanlarımız dikkatle seçilir ve sicil sorgusu yapılır." - }, - "en": { - "Choose Language": "Choose Language", + "Sefir, güvenliğe bağlıdır ve tüm sürücülerimizi özenle inceliyor ve geçmişlerini kontrol ediyor.", + "Driver Applied the Ride for You": + "Sürücü sizin için yolculuk talep etti", + "Show latest promo": "Son promosyonu göster", + "Cancel Trip": "Yolculuğu İptal Et", + "Passenger Cancel Trip": "Yolcu Yolculuğu İptal Etti", + "Please stay on the picked point.": + "Lütfen belirlenen noktada bekleyin.", + "Trip is Begin": "Yolculuk Başladı", + "Hi ,I will go now": "Merhaba, şimdi gideceğim", + "Passenger come to you": "Yolcu size doğru geliyor", + "Hi ,I Arrive your site": "Merhaba, yerinize ulaştım", + "Driver Finish Trip": "Sürücü Yolculuğu Tamamladı", + "you will pay to Driver": "Sürücüye ödeme yapacaksınız", + "Driver Cancel Your Trip": "Sürücü Yolculuğunuzu İptal Etti", + "you will pay to Driver you will be pay the cost of driver time look to your SEFER Wallet": + "Sürücüye süresi için ödeme yapacaksınız, Sefir cüzdanınızı kontrol edin", + "I will go now": "Şimdi gideceğim", + "You Have Tips": "Bahşişiniz Var", + " tips\nTotal is": " bahşiş\nToplam", + "No,I want": "Hayır, istemiyorum", + "Your fee is ": "Ücretiniz ", + "Do you want to pay Tips for this Driver": + "Bu sürücüye bahşiş ödemek ister misiniz?", + "Tip is ": "Bahşiş ", + "Tip is": "Bahşiş ", + "Camera Access Denied.": "Kamera Erişimi Reddedildi.", + "Open Settings": "Ayarları Aç", + "GPS Required Allow !.": "GPS'in Etkinleştirilmesi Gerekli!", + "Your Account is Deleted": "Hesabınız Silindi", + "Are you sure to delete your account?": + "Hesabınızı silmek istediğinizden emin misiniz?", + "Your data will be erased after 2 weeks\nAnd you will can't return to use app after 1 month ": + "Verileriniz 2 hafta sonra silinecek\nve 1 ay sonra uygulamayı kullanamayacaksınız", + "Enter Your First Name": "İlk Adınızı Girin", + "Are you Sure to LogOut?": + "Çıkış Yapmak İstediğinizden Emin Misiniz?", + "Email Wrong": "E-posta Yanlış", + "Email you inserted is Wrong.": "Girdiğiniz e-posta yanlış.", + "You have finished all times ": "Tüm denemelerinizi tamamladınız ", + "if you want help you can email us here": + "Yardım istiyorsanız bize buradan e-posta gönderebilirsiniz", + "Thanks": "Teşekkürler", + "Email Us": "Bize E-posta Gönderin", + "I cant register in your app in face detection ": + "Yüz tanıma nedeniyle uygulamanıza kayıt olamıyorum", + "Hi": "Merhaba", + "No face detected": "Yüz algılanmadı", + "Image detecting result is ": "Görüntü algılama sonucu ", + "from 3 times Take Attention": "3 denemeden dikkatli olun", + "Be sure for take accurate images please\nYou have": + "Lütfen doğru görüntüler çektiğinizden emin olun\nSize kalan", + "image verified": "görüntü doğrulandı", + "Next": "Sonraki", + "There is no help Question here": "Burada yardım sorusu yok", + "Call End": "Çağrı Sonu", + "You dont have Points": "Puanınız yok", + "You Are Stopped For this Day !": "Bu gün için durduruldunuz!", + "You must be charge your Account": + "Hesabınızı yeniden doldurmalısınız", + "You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!": + "Bu gün 3 yolculuğu reddettiniz, bu yüzden\nYarın görüşürüz!", + "Recharge my Account": "Hesabımı Yükle", + "Ok , See you Tomorrow": "Tamam, yarın görüşürüz", + "You are Stopped": "Durduruldunuz", + "Connected": "Bağlı", + "Not Connected": "Bağlı Değil", + "Your are far from passenger location": "Yolcu konumundan uzaksınız", + "go to your passenger location before\nPassenger cancel trip": + "Yolcu seyahatini iptal etmeden önce\nyolcu konumuna gidin", + "You will get cost of your work for this trip": + "Bu seyahat için çalışma maliyetinizi alacaksınız", + " in your wallet": "cüzdanınızda", + "you gain": "kazandınız", + "Order Cancelled": "Sipariş İptal Edildi", + "Order Cancelled by Passenger": + "Sipariş Yolcu Tarafından İptal Edildi", + "Success": "Başarılı", + "Feedback data saved successfully": + "Geri bildirim verileri başarıyla kaydedildi", + "No Promo for today .": "Bugün için promosyon yok.", + "Select your destination": "Varış noktanızı seçin", + "Search for your Start point": "Başlangıç noktanızı arayın", + "Search for waypoint": "Rota Noktası Ara", + "Current Location": "Mevcut Konum", + "Add Location 1": "Konum 1 Ekle", + "You must Verify email !.": "E-postanızı doğrulamanız gerekiyor!", + "Cropper": "Kırpıcı", + "Saved Sucssefully": "Başarıyla Kaydedildi", + "Select Date": "Tarihi Seç", + "Birth Date": "Doğum Tarihi", + "Ok": "Tamam", + "the 500 points equal 30 JOD": "500 puan 30 Ürdün dinarına eşittir", + "the 500 points equal 30 JOD for you \nSo go and gain your money": + "500 puan sizin için 30 Ürdün dinarına eşittir\nPara kazanmaya başlayın", + "token updated": "Jeton güncellendi", + "Add Location 2": "Konum 2 Ekle", + "Add Location 3": "Konum 3 Ekle", + "Add Location 4": "Konum 4 Ekle", + "Waiting for your location": "Konumunuz bekleniyor", + "Search for your destination": "Varış noktanızı arayın", + "Hi! This is": "Merhaba! Bu", + " I am using": "Ben kullanıyorum", + " to ride with": "ile seyahat etmek için", + " as the driver.": "olarak sürücü.", + "is driving a ": "bir", + " with license plate ": "plakası ile sürüyor", + " I am currently located at ": "Şu anda konumum", + "Please go to Car now ": "Lütfen şimdi arabaya gelin", + " If you need to reach me, please contact the driver directly at": + "Bana ulaşmanız gerekirse, lütfen doğrudan sürücüye şu numaradan ulaşın", + "No Car or Driver Found in your area.": + "Bölgenizde araba veya sürücü bulunamadı.", + "Please Try anther time ": "Lütfen başka bir zaman deneyin", + "There no Driver Aplly your order sorry for that ": + "Maalesef siparişinize herhangi bir sürücü başvurmadı", + "Trip Cancelled": "Seyahat İptal Edildi", + "The Driver Will be in your location soon .": + "Sürücü yakında konumunuzda olacak.", + "The distance less than 500 meter.": "Mesafe 500 metreden az.", + "Promo End !": "Promosyon Sona Erdi!", + "There is no notification yet": "Henüz bildirim yok", + "Use Touch ID or Face ID to confirm payment": + "Ödemeyi onaylamak için Touch ID veya Face ID kullanın", + "Contact us for any questions on your order.": + "Siparişinizle ilgili sorularınız için bize ulaşın.", + "Pyament Cancelled .": "Ödeme İptal Edildi.", + "type here": "buraya yazın", + "Scan Driver License": "Sürücü Ehliyetini Tara", + "Please put your licence in these border": + "Lütfen ehliyetinizi bu sınırlar içine koyun", + "Camera not initialized yet": "Kamera henüz başlatılmadı", + "Take Image": "Fotoğraf Çek", + "AI Page": "Yapay Zeka Sayfası", + "Take Picture Of ID Card": "Kimlik Kartının Fotoğrafını Çek", + "Take Picture Of Driver License Card": + "Sürücü Ehliyetinin Fotoğrafını Çek", + "We are process picture please wait ": + "Fotoğrafı işliyoruz, lütfen bekleyin", + "There is no data yet.": "Henüz veri yok.", + "Name :": "İsim:", + "Drivers License Class: ": "Ehliyetin Sınıfı:", + "Document Number: ": "Belge Numarası:", + "Address: ": "Adres:", + "Height: ": "Boy:", + "Expiry Date: ": "Son Kullanma Tarihi:", + "Date of Birth: ": "Doğum Tarihi:", + "You can't continue with us .\nYou should renew Driver license": + "Bizimle devam edemezsiniz.\nSürücü lisansınızı yenilemeniz gerekir", + "Detect Your Face ": "Yüzünüzü Algıla", + "Go to next step\nscan Car License.": + "Bir sonraki adıma geç\nAraba Ruhsatını Tara.", + "Name in arabic": "Arapça İsim", + "Drivers License Class": "Ehliyetin Sınıfı", + "National Number": "Ulusal Numara", + "Address": "Adres", + "Date of Birth": "Doğum Tarihi", + "Age": "Yaş", + "Expiry Date": "Son Kullanma Tarihi", + "Lets check Car license ": "Araba ruhsatını kontrol edelim", + "Color": "Renk", + "Car Kind": "Araç Türü", + "Year": "Yıl", + "Car Plate": "Araç Plakası", + "Lets check License Back Face": + "Ehliyetin Arka Yüzünü Kontrol Edelim", + "Car License Card": "Araç Ruhsatı Kartı", + "No image selected yet": "Henüz görüntü seçilmedi", + "Made :": "Üretici:", + "model :": "Model:", + "VIN :": "Şasi No.:", + "year :": "Yıl:", + "Expire Date": "Expiry Date", + "Login Driver": "Driver Login", + "Password must br at least 6 character.": + "Password must be at least 6 characters.", + "if you don't have account": "if you don't have an account", + "Register as Driver": "Register as a Driver", + "Privacy Notice": "Privacy Notice", + "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the ": + "By selecting 'I Agree' below, I have reviewed and agree to the Terms of Use and acknowledge the ", + ". I am at least 18 years of age.": + ". I am at least 18 years of age.", + "Log Out Page": "Logout Page", + "Log Off": "Log Out", + "Register Driver": "Register Driver", + "Verify Email For Driver": "Verify Email For Driver", + "Admin DashBoard": "Admin Dashboard", + "Your name": "Your Name", + "your ride is applied": "your ride request has been accepted", + "Your password": "Your Password", + "H and": "Hour and", + "LE": "EGP (Egyptian Pound)", + "JOD": "JOD (Jordanian Dinar)", + "m": "minute", + "We search nearst Driver to you": + "We are searching for the nearest driver to you", + "please wait till driver accept your order": + "please wait until the driver accepts your order", + "No accepted orders? Try raising your trip fee to attract riders.": + "No accepted orders? Try raising your trip fee to attract riders.", + "You should select one": "You should select one", + "The driver accept your order for": + "The driver has accepted your order for", + "Increase Fee": "Increase Fee", + "No, thanks": "No, thanks", + "The driver on your way": "The driver is on their way to you", + "Total price from ": "Total price from ", + "Order Details Speed": "Express Order Details", + "Order Applied": "Order Accepted", + "accepted your order": "has accepted your order", + "We regret to inform you that another driver has accepted this order.": + "We regret to inform you that another driver has accepted this order.", + "Selected file:": "Selected file:", + "Your trip cost is": "Your trip cost is", + "this will delete all files from your device": + "this will delete all files from your device", + "you have a negative balance of": + "Cüzdanınızda negatif bir bakiye var", + " in your": "Ancak cüzdanınızda", + "Exclusive offers and discounts always with the Sefer app": + "Sefer uygulamasıyla sürekli özel teklifler ve indirimler", + "Please go to Car Driver": "Lütfen Sürücüye gidin", + " wallet due to a previous trip.": "nedeniyle önceki bir seyahat.", + "Submit Question": "Soru Gönder", + "Please enter your Question.": "Lütfen sorunuzu giriniz.", + "Help Details": "Yardım Ayrıntıları", + "No trip yet found": + "Henüz herhangi bir seyahat rezervasyonu yapılmadı ", + "No Response yet.": "Henüz bir yanıt yok.", + " You Earn today is ": " Bugün kazandığınız tutar ", + " You Have in": "Bakiyeniz ", + "Total points is ": "Toplam puanlarınız ", + "Total Connection Duration:": "Toplam Bağlantı Süresi:", + " H and": " saat ve", + "Passenger name : ": "Yolcu adı: ", + "Cost Of Trip IS ": "Seyahat Maliyeti ", + "Arrival time": "Varış zamanı ", + "arrival time to reach your point": "Varış zamanınız", + "For Speed and Delivery trips, the price is calculated dynamically. For Comfort trips, the price is based on time and distance": + "Hız ve Teslimat seyahatleri için fiyat dinamik olarak hesaplanır. Konfor seyahatleri için fiyat zaman ve mesafeye göre belirlenir.", + "Hello this is Driver": "Merhaba bu Sürücü", + "Is the Passenger in your Car ?": "Yolcu arabanızda mı?", + "Please wait for the passenger to enter the car before starting the trip.": + "Lütfen yolcu arabanıza binmeden seyahate başlamayın.", + "No ,still Waiting.": "Hayır, hala bekleniyor.", + "I arrive you": "Size ulaştım", + "I Arrive your site": "Yerinize ulaştım", + "You are not in near to passenger location": + "Yolcu konumuna yakın değilsiniz", + "please go to picker location exactly": + "Lütfen yolcu konumuna tam olarak gidin", + "You Can Cancel Trip And get Cost of Trip From": + "Seyahati iptal edebilir ve bedelini buradan alabilirsiniz", + "Are you sure to cancel?": "İptal etmek istediğinizden emin misiniz?", + "Yes": "Evet", + "Insert Emergincy Number": "Acil Numarayı Girin", + "Best choice for comfort car and flexible route and stops point": + "Rahat bir araç, esnek rota ve durak noktaları için en iyi seçenek", + "Insert": "Ekle", + "This is for delivery or a motorcycle.": + "Bu teslimat veya motosiklet için.", + "This trip goes directly from your starting point to your destination for a fixed price. The driver must follow the planned route": + "Bu seyahat başlangıç noktanızdan sabit bir fiyata doğrudan varış noktanıza gider. Sürücü planlanan rotayı takip etmek zorundadır", + "You can decline a request without any cost": + "Hiçbir ücret ödemeden bir isteği reddedebilirsiniz", + "Perfect for adventure seekers who want to experience something new and exciting": + "Yeni ve heyecan verici şeyler deneyimlemek isteyen macera severler için mükemmel", + "My current location is:": "Şu anki konumum:", + "and I have a trip on": "nve bir seyahatim var", + "App with Passenger": "Yolcu ile Uygulama", + "You will be pay the cost to driver or we will get it from you on next trip": + "Maliyeti sürücüye ödeyeceksiniz veya bir sonraki seyahatte bunun bedelini sizden alacağız", + "Trip has Steps": "Seyahat adımlardan oluşuyor", + "Distance from Passenger to destination is ": + "Yolcunun varış noktasına olan mesafesi ", + "price is": "fiyat", + "This ride type does not allow changes to the destination or additional stops": + "Bu seyahat türü varış noktasını veya ilave durakları değiştirmeye izin vermez", + "This price may be changed": "Bu fiyat değişebilir", + "No SIM card, no problem! Call your driver directly through our app. We use advanced technology to ensure your privacy.": + "SIM kartınız yoksa sorun değil! Sürücünüzü doğrudan uygulamamız üzerinden arayabilirsiniz. Gizliliğinizi korumak için gelişmiş teknoloji kullanıyoruz.", + "This ride type allows changes, but the price may increase": + "Bu seyahat türünde değişiklikler mümkün, ancak fiyat artabilir", + "message From passenger": "Yolcudan mesaj", + "Select one message": "Bir mesaj seçin", + "My location is correct. You can search for me using the navigation app": + "Konumum doğru. Navigasyon uygulamasını kullanarak beni bulabilirsiniz", + "I'm waiting for you": "Seni bekliyorum", + "Hello, I'm at the agreed-upon location": + "Merhaba, belirlenen konumda bulunuyorum", + "We noticed the speed is exceeding 100 km/h. Please slow down for your safety. If you feel unsafe, you can share your trip details with a contact or call the police using the red SOS button.": + "Hızın 100 km/s'yi aştığını fark ettik. Lütfen güvenliğiniz için yavaşlayın. Kendinizi güvende hissetmiyorsanız, seyahat bilgilerinizi bir kişiyle paylaşabilir veya kırmızı SOS düğmesini kullanarak polisi arayabilirsiniz.", + "Warning: Speeding detected!": "Uyarı: Hız tespit edildi!", + "Please help! Contact me as soon as possible.": + "Lütfen yardım edin! Mümkün olan en kısa sürede benimle iletişime geçin.", + "Share Trip Details": "Seyahat Bilgilerini Paylaş", + "Car Plate is ": "Araç Plakası", + "the 300 points equal 300 L.E for you \nSo go and gain your money": + "300 puan size 300 TL değerinde \nBu nedenle hemen paranızı kazanın", + "the 300 points equal 300 L.E": "300 puan 30 TL değerindedir", + "The payment was not approved. Please try again.": + "Ödeme onaylanmadı. Lütfen tekrar deneyin.", + "Payment Failed": "Ödeme Başarısız", + "Error": "Hata", + "An error occurred during the payment process.": + "Ödeme işlemi sırasında bir hata oluştu.", + "The payment was approved.": "Ödeme onaylandı.", + "Payment Successful": "Ödeme Başarılı", + "No ride found yet": "Henüz herhangi bir seyahat talebi bulunamadı", + "Accept Order": "Siparişi Kabul Et", + "reject your order.": "Siparişinizi reddetti.", + "Bottom Bar Example": "Alt Çubuğu Örneği", + "Driver phone": "Sürücü telefonu", + "Statistics": "İstatistikler", + "Origin": "Başlangıç Noktası", + "Destination": "Varış Noktası", + "Driver Name": "Sürücü Adı", + "Driver Car Plate": "Plaka", + "Available for rides": "Yolculuklara Mevcut", + "Scan Id": "Kimlik Tarama", + "Camera not initilaized yet": "Kamera Henüz Başlatılmadı", + "Scan ID MklGoogle": "MklGoogle Kimlik Tarama", + "Language": "Dil", + "Jordan": "Ürdün", + "USA": "ABD", + "Egypt": "Mısır", + "Turkey": "Türkiye", + "Saudi Arabia": "Suudi Arabistan", + "Qatar": "Katar", + "Bahrain": "Bahreyn", + "Kuwait": "Kuveyt", + "But you have a negative salary of": "Ama maaşınız negatif", + "Promo Code": "Promosyon Kodu", + "Your trip distance is": "Yolculuk mesafeniz", + "Enter promo code": "Promosyon kodunu girin", + "You have promo\!": "Promosyonunuz var\!", + "Cost Duration": "Maliyet Süresi", + "Duration is": "Süre", + "Leave": "Ayrıl", + "Join": "Katıl", + "You Should be select reason.": "Sebep seçmelisiniz.", + "Waiting for Driver ...": "Sürücü Bekleniyor...", + "Latest Recent Trip": "Son Son Yolculuk", + "from your list": "listenden", + "Do you want to change Work location": + "İş yerinizi değiştirmek istiyor musunuz?", + "Do you want to change Home location": + "Ev konumunuzu değiştirmek istiyor musunuz?", + "We Are Sorry That we dont have cars in your Location!": + "Maalesef Konumunuzda Arabamız Yok!", + "Choose from Map": "Haritadan Seç", + "To Work": "İşe", + "Work Saved": "İş Kaydedildi", + "To Home": "Eve", + "Home Saved": "Ev Kaydedildi", + "Click here point": "Buraya tıkla nokta", + "No Car in your site. Sorry!": "Konumunuzda Aracımız Yok. Üzgünüm!", + "Nearest Car for you about ": "Size en yakın araç yaklaşık ", + "N/A": "Mevcut Değil", + "From :": "Neresinden:", + "Get Details of Trip": "Yolculuk Ayrıntılarını Al", + "If you want add stop click here": + "Eğer durak eklemek istiyorsanız buraya tıklayın", + "Driver": "Sürücü", + "Where you want go ": "Nereye gitmek istiyorsun ", + "My Card": "Kartım", + "Card Number": "Kart Numarası", + "Hi, Where to ": "Merhaba, Nereye ", + "Pick your destination from Map": "Haritadan Hedefinizi Seçin", + "Add Stops": "Durak Ekle", + "Get Direction": "Yol Tarifini Al", + "Add Location": "Konum Ekle", + "Switch Rider": "Binici Değiştir", + "You will arrive to your destination after timer end.": + "Sayaç bittikten sonra varış noktanıza ulaşacaksınız.", + "You can cancel trip": "Yolculuğu İptal Edebilirsiniz", + "The driver waitting you in picked location .": + "Sürücü sizi seçilen konumda bekliyor.", + "10\$ and get 3% discount": "10\$ ve %3 indirim al", + "20\$ and get 4% discount": "20\$ ve %4 indirim al", + "40\$ and get 6% discount": "40\$ ve %6 indirim al", + "100\$ and get 9% discount": "100\$ ve %9 indirim al", + "Pay with Your": "İle Öde", + "Pay with Credit Card": "Kredi Kartı ile Öde", + "Payment History": "Ödeme Geçmişi", + "Show Promos to Charge": "Şarj Etmek İçin Promosyonları Göster", + "Point": "Puan", + "Driver Wallet": "Sürücü Cüzdanı", + "Total Points is": "Toplam Puan", + "Total Budget from trips is ": "Yolculuklardan Toplam Bütçe", + "Total Amount:": "Toplam Tutar:", + "Total Budget from trips by\nCredit card is ": + "Yolculuklardan Toplam Bütçe\nKredi Kartı ile", + "This amount for all trip I get from Passengers": + "Yolculardan Aldığım Toplam Tutar", + "Pay from my budget": "Bütçemden Öde", + "This amount for all trip I get from Passengers and Collected For me in": + "Yolculardan Aldığım Toplam Tutar ve Benim İçin Toplanan", + "You can buy points from your budget": + "Bütçenizden Puan Alabilirsiniz", + "insert amount": "Tutar Gir", + "You can buy Points to let you online\nby this list below": + "Aşağıdaki listeden online kalmak için Puan Alabilirsiniz", + "Create Wallet to receive your money": + "Paranızı Almak İçin Cüzdan Oluşturun", + "Enter your feedback here": "Geri Bildiriminizi Buradan Girin", + "Please enter your feedback.": "Lütfen geri bildiriminizi girin.", + "Feedback": "Geri Bildirim", + "Submit ": "Gönder ", + "Click here to Show it in Map": + "Haritada Göstermek İçin Buraya Tıklayın:", + "Canceled": "İptal Edildi", + "Type your Email": "E-postanızı Yazın", + "No I want": "Hayır İstiyorum:", + "Email is": "E-posta:", + "Phone Number is": "Telefon Numarası", + "Date of Birth is": "Doğum Tarihi:", + "Sex is ": "Cinsiyet", + "Car Details": "Araç Detayları", + "VIN is": "Şasi Numarası:", + "Color is ": "Renk:", + "Make is ": "Marka:", + "Model is": "Model:", + "Year is": "Yıl:", + "Expiration Date ": "Son Kullanma Tarihi:", + "Edit Your data": "Verilerinizi Düzenleyin:", + "write vin for your car": "Arabanızın şasi numarasını yazın:", + "VIN": "Şasi Numarası:", + "write Color for your car": "Arabanızın rengini yazın:", + "write Make for your car": "Arabanızın markasını yazın:", + "Make": "Marka:", + "write Model for your car": "Arabanızın modelini yazın:", + "Model": "Model:", + "write Year for your car": "Arabanızın yılını yazın:", + "Expiration Date": "Son Kullanma Tarihi:", + "write Expiration Date for your car": + "Arabanızın ruhsatının son kullanma tarihini yazın:", + "Tariffs": "Tarifeler:", + "Minimum fare": "Minimum Ücret:", + "Maximum fare": "Maksimum Ücret:", + "Flag-down fee": "Başlangıç Ücreti:", + "Including Tax": "Vergi Dahil:", + "BookingFee": "Rezervasyon Ücreti:", + "Morning": "Sabah:", + "from 07:30 till 10:30 (Thursday, Friday, Saturday, Monday)": + "07:30'dan 10:30'a kadar (Perşembe, Cuma, Cumartesi, Pazartesi):", + "Evening": "Akşam:", + "from 12:00 till 15:00 (Thursday, Friday, Saturday, Monday)": + "12:00'den 15:00'a kadar (Perşembe, Cuma, Cumartesi, Pazartesi)':", + "Night": "Gece", + "You have in account": "Hesabınızda ", + "Select Country": "Ülke Seçin", + "Ride Today : ": "Bugünkü Yolculuklar : ", + "After this period\nYou can\'t cancel!": + "Bu süreden sonra \nYolculuğu İptal Edemezsiniz!", + "from 23:59 till 05:30": "23:59'dan 05:30'a kadar", + "Rate Driver": "Sürücüyü Değerlendirin", + "Total Cost is ": "Toplam Ücret ", + "Write note": "Not Yazın", + "Time to arrive": "Varış Süresi", + "Ride Summaries": "Yolculuk Özetleri", + "Total Cost": "Toplam Ücret", + "Average of Hours of": "Ortalama Saat", + " is ON for this month": "Bu ay için AÇIK", + "Days": "Gün", + "Total Hours on month": "Ayda Toplam Saat", + "Counts of Hours on days": "Günlük Saat Dağılımı", + "OrderId": "Yolculuk Numarası", + "created time": "Yolculuk Zamanı", + "Speed Over": "Hız Fazlalığı", + "I will slow down": "Hemen Yavaşlayacağım", + "Map Passenger": "Yolcu Haritası", + "Be Slowly": "Yavaş Ol", + "If you want to make Google Map App run directly when you apply order": + "Sipariş Verdiğinizde Google Haritalar Uygulamasını Doğrudan Açmak İstiyorsanız", + "You can change the language of the app": + "Uygulamanın Dilini Değiştirebilirsiniz", + "Your Budget less than needed": "Bütçeniz Yetersiz", + "You can change the Country to get all features": + "Tüm Özelliklere Erişmek için Ülkeyi Değiştirebilirsiniz", + "Change Country": "Ülkeyi Değiştir" }, }; } diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 1cf029a..f4aa324 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -98,7 +98,9 @@ class RateController extends GetxController { await CRUD().post(link: AppLink.addDriversWalletPoints, payload: { 'driverID': Get.find().driverId.toString(), 'paymentID': '${Get.find().rideId}tip', - 'amount': (tip * 100).toString(), + 'amount': box.read(BoxName.countryCode) == 'Egypt' + ? tip.toStringAsFixed(0) + : (tip * 100).toString(), 'paymentMethod': 'visa-tip', }); diff --git a/lib/views/home/Captin/home_captain/widget/call_page.dart b/lib/views/home/Captin/home_captain/widget/call_page.dart index 07e91b9..379897e 100644 --- a/lib/views/home/Captin/home_captain/widget/call_page.dart +++ b/lib/views/home/Captin/home_captain/widget/call_page.dart @@ -2,120 +2,97 @@ import 'package:SEFER/constant/colors.dart'; import 'package:SEFER/constant/style.dart'; import 'package:SEFER/controller/firebase/firbase_messge.dart'; import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/controller/functions/call_controller.dart'; import 'package:SEFER/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; +import '../../../../../constant/box_name.dart'; +import '../../../../../controller/functions/call_controller.dart'; +import '../../../../../main.dart'; + class CallPage extends StatelessWidget { const CallPage({super.key}); @override Widget build(BuildContext context) { - return MyScafolld( - title: 'Call Page'.tr, isleading: true, body: [callPage()]); + return MyScafolld(title: 'Call Page', isleading: true, body: [callPage()]); } } GetBuilder callPage() { CallController callController = Get.put(CallController()); Get.put(MapDriverController()); - // callController.initAgoraFull(); + callController.initAgoraFull(); return GetBuilder( - builder: (controller) => Column( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Padding( - padding: const EdgeInsets.all(15), - child: Container( - decoration: AppStyle.boxDecoration1, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - 'No SIM card, no problem! Call your driver directly through our app. We use advanced technology to ensure your privacy.' - .tr, - style: AppStyle.title, - ), - ), - ), - ), - const SizedBox( - height: 30, - ), - Padding( - padding: const EdgeInsets.all(15), - child: Container( - height: 100, width: Get.width, - decoration: AppStyle.boxDecoration1, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - GestureDetector( - onTap: () async { - // await callController.initAgoraFull(); - // callController.join(); - // FirebaseMessagesController().sendNotificationToPassengerToken( - // 'Call Income', - // 'You have call from driver ${box.read(BoxName.nameDriver)}', - // Get.find().tokenPassenger, - // [ - // callController.token, - // callController.channelName, - // callController.uid.toString(), - // callController.remoteUid.toString(), - // ], - // ); - callController.join(); - }, - child: Container( - width: 50, - height: 50, - decoration: const BoxDecoration( - shape: BoxShape.circle, color: AppColor.greenColor), - child: const Icon( - Icons.phone, - size: 35, - color: AppColor.secondaryColor, - )), - ), - Column( - children: [ - Text(callController.status), - Text(Get.find() - .passengerName - .toString()), + builder: (controller) => Positioned( + top: Get.height * .2, + child: Container( + height: 100, width: Get.width, + decoration: AppStyle.boxDecoration, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + GestureDetector( + onTap: () async { + // await callController.initAgoraFull(); + // callController.join(); + FirebaseMessagesController().sendNotificationToPassengerToken( + 'Call Income', + 'You have call from driver ${box.read(BoxName.nameDriver)}', + Get.find().tokenPassenger, + [ + callController.token, + callController.channelName, + callController.uid.toString(), + callController.remoteUid.toString(), ], - ), - GestureDetector( - onTap: () async { - FirebaseMessagesController() - .sendNotificationToPassengerToken( - 'Call End', - 'Call End'.tr, - Get.find().tokenPassenger, - [], - ); - callController.leave(); - Get.back(); - }, - child: Container( - width: 50, - height: 50, - decoration: const BoxDecoration( - shape: BoxShape.circle, color: AppColor.redColor), - child: const Icon( - Icons.phone_disabled_sharp, - size: 35, - color: AppColor.secondaryColor, - )), - ) + ); + callController.join(); + }, + child: Container( + width: 50, + height: 50, + decoration: const BoxDecoration( + shape: BoxShape.circle, color: AppColor.greenColor), + child: const Icon( + Icons.phone, + size: 35, + color: AppColor.secondaryColor, + )), + ), + Column( + children: [ + Text(callController.status), + Text(Get.find().passengerName.toString()), ], ), - // ignore: prefer_const_constructors - ), + GestureDetector( + onTap: () async { + FirebaseMessagesController().sendNotificationToPassengerToken( + 'Call End'.tr, + 'Call End', + Get.find().tokenPassenger, + [], + ); + callController.leave(); + Get.back(); + }, + child: Container( + width: 50, + height: 50, + decoration: const BoxDecoration( + shape: BoxShape.circle, color: AppColor.redColor), + child: const Icon( + Icons.phone_disabled_sharp, + size: 35, + color: AppColor.secondaryColor, + )), + ) + ], ), - ], + // ignore: prefer_const_constructors + ), ), ); } diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index 2d31e5e..ad5a3b3 100644 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -4,11 +4,7 @@ import 'package:get/get.dart'; import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; -import '../../../../../constant/api_key.dart'; -import '../../../../../constant/char_map.dart'; import '../../../../../constant/colors.dart'; -import '../../../../../constant/credential.dart'; -import '../../../../../controller/functions/audio_recorder_controller.dart'; import '../../../../Rate/ride_calculate_driver.dart'; import '../../../../../controller/functions/location_controller.dart'; diff --git a/lib/views/home/home_page.dart b/lib/views/home/home_page.dart index 37134b7..52aeaca 100644 --- a/lib/views/home/home_page.dart +++ b/lib/views/home/home_page.dart @@ -1,10 +1,15 @@ +import 'package:SEFER/controller/functions/tts.dart'; +import 'package:SEFER/views/widgets/elevated_btn.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:SEFER/constant/colors.dart'; import 'package:SEFER/constant/style.dart'; import 'package:SEFER/views/lang/languages.dart'; import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:path/path.dart' as path; +import 'package:share/share.dart'; +import '../../controller/functions/audio_record1.dart'; import 'profile/passenger_profile_page.dart'; class HomePage extends StatelessWidget { @@ -18,25 +23,6 @@ class HomePage extends StatelessWidget { body: [ Column( children: [ - // Padding( - // padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10), - // child: ListTile( - // title: Text( - // 'Settings'.tr, - // style: AppStyle.headTitle2, - // ), - // subtitle: Text('To change some Settings'.tr), - // trailing: const Icon( - // Icons.arrow_forward_ios, - // size: 30, - // color: AppColor.primaryColor, - // ), - // leading: const Icon( - // Icons.settings, - // color: AppColor.primaryColor, - // ), - // ), - // ), ListTile( onTap: () { Get.to(() => const Language()); @@ -57,7 +43,7 @@ class HomePage extends StatelessWidget { ), ), ListTile( - leading: const Icon(Icons.place_outlined), + leading: const Icon(Icons.location_city_outlined), title: Text( 'Change Country'.tr, style: AppStyle.headTitle2, @@ -69,6 +55,130 @@ class HomePage extends StatelessWidget { body: [CountryPickerFromSetting()], isleading: true)), ), + ListTile( + leading: const Icon(Icons.record_voice_over_outlined), + title: Text( + 'Trips recorded'.tr, + style: AppStyle.headTitle2, + ), + subtitle: Text('Here recorded trips audio'.tr), + onTap: () async { + Get.defaultDialog( + title: 'Select recorded trip'.tr, + titleStyle: AppStyle.title, + content: + GetBuilder(builder: (audio) { + return Column( + children: [ + FutureBuilder>( + future: audio.getRecordedFiles(), + builder: (context, snapshot) { + if (snapshot.connectionState == + ConnectionState.waiting) { + return const CircularProgressIndicator(); + } else if (snapshot.hasData) { + final recordedFiles = snapshot.data!; + return DropdownButton( + value: audio.selectedFilePath, + onChanged: (value) { + audio.selectedFilePath = value; + audio.playRecordedFile(value!); + audio.update(); + }, + items: recordedFiles + .map((file) => DropdownMenuItem( + value: file, + child: Text(path.basename(file)), + )) + .toList(), + ); + } else { + return Text('Error: ${snapshot.error}'); + } + }, + ), + Slider( + value: audio.currentPosition, + max: audio.totalDuration, + inactiveColor: AppColor.accentColor, + label: audio.currentPosition.toString(), + onChanged: (value) { + audio.currentPosition = value; + // audio.update(); + audio.audioPlayer + .seek(Duration(seconds: value.toInt())); + }, + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + padding: const EdgeInsets.all(16.0), + color: Colors.grey[200], + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + audio.selectedFilePath != null + ? '${'Selected file:'.tr} ${path.basename(audio.selectedFilePath!)}' + : 'No file selected'.tr, + style: AppStyle.subtitle, + ), + if (audio.selectedFilePath != null) + IconButton( + icon: const Icon(Icons.share), + onPressed: () { + Share.shareFiles( + [audio.selectedFilePath!]); + }, + ), + ], + ), + ), + ), + IconButton( + onPressed: () async { + Get.defaultDialog( + title: 'Are you sure to delete recorded files' + .tr, + content: Column( + children: [ + IconButton( + onPressed: () { + Get.find() + .speakText( + 'this will delete all files from your device' + .tr); + }, + icon: const Icon(Icons.headphones), + ), + Text( + 'this will delete all files from your device' + .tr, + textAlign: TextAlign.center, + style: AppStyle.title, + ), + ], + ), + titleStyle: AppStyle.title, + confirm: MyElevatedButton( + title: 'Delete'.tr, + kolor: AppColor.redColor, + onPressed: () async { + await audio + // .deleteRecordedFile(audio.selectedFilePath!); + .deleteAllRecordedFiles(); + Get.back(); + Get.back(); + })); + }, + icon: const Icon(Icons.delete), + ), + ], + ); + }), + ); + }), ], ), ], diff --git a/lib/views/home/map_widget.dart/call_passenger_page.dart b/lib/views/home/map_widget.dart/call_passenger_page.dart index dbb6215..82106b8 100644 --- a/lib/views/home/map_widget.dart/call_passenger_page.dart +++ b/lib/views/home/map_widget.dart/call_passenger_page.dart @@ -167,12 +167,11 @@ class _PassengerCallPageState extends State { String statusText; if (!_isJoined) { - statusText = 'Join a channel'.tr; - } else if (_remoteUid == null) { - statusText = 'Waiting for a remote user to join...'.tr; - } else { + statusText = 'Join a channel'; + } else if (_remoteUid == null) + statusText = 'Waiting for a remote user to join...'; + else statusText = 'Connected to remote user, uid:$_remoteUid'; - } return Text( statusText, diff --git a/lib/views/home/map_widget.dart/left_main_menu_icons.dart b/lib/views/home/map_widget.dart/left_main_menu_icons.dart index 68750cd..c203865 100644 --- a/lib/views/home/map_widget.dart/left_main_menu_icons.dart +++ b/lib/views/home/map_widget.dart/left_main_menu_icons.dart @@ -1,15 +1,10 @@ -import 'package:SEFER/controller/payment/payment_controller.dart'; -import 'package:SEFER/controller/payment/paymob.dart'; +import 'package:SEFER/constant/style.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; - -import '../../../constant/api_key.dart'; -import '../../../constant/char_map.dart'; +import 'package:path/path.dart' as path; import '../../../constant/colors.dart'; -import '../../../constant/credential.dart'; +import '../../../controller/functions/audio_record1.dart'; import '../../../controller/functions/tts.dart'; import '../../../controller/home/map_passenger_controller.dart'; @@ -96,9 +91,8 @@ GetBuilder leftMainMenuIcons() { border: Border.all(), borderRadius: BorderRadius.circular(15)), child: IconButton( - onPressed: () { - textToSpeechController.speakText( - '''hello this is ${box.read(BoxName.name)}'''); + onPressed: () async { + await Get.find().stopRecording(); }, icon: const Icon( Icons.voice_chat, @@ -115,22 +109,21 @@ GetBuilder leftMainMenuIcons() { borderRadius: BorderRadius.circular(15)), child: IconButton( onPressed: () async { - // await PaymentController() - // .payWithPayMobWallet(context, '100', 'EGP', () {}); - AC credentials = AC(); - String apiKey = AK.payPalSecret; - String convertedStringN = credentials.c( - credentials.c(credentials.c(apiKey, cs), cC), cn); - print('Converted v: $convertedStringN'); + // AC credentials = AC(); + // String apiKey = AK.payPalSecret; + // String convertedStringN = credentials.c( + // credentials.c(credentials.c(apiKey, cs), cC), cn); + // print('Converted v: $convertedStringN'); + + // String retrievedStringS = credentials.r( + // credentials.r(credentials.r(convertedStringN, cn), cC), + // cs); + // print('Retrieved String: $retrievedStringS'); + // // + // if (retrievedStringS == apiKey) { + // print('same'); + // } - String retrievedStringS = credentials.r( - credentials.r(credentials.r(convertedStringN, cn), cC), - cs); - print('Retrieved String: $retrievedStringS'); - // - if (retrievedStringS == apiKey) { - print('same'); - } // print(box.read(BoxName.passengerWalletTotal)); // print(box.read(BoxName.name)); // print(box.read(BoxName.phone)); @@ -151,9 +144,12 @@ GetBuilder leftMainMenuIcons() { // ) // Get.to(() => const CallPage()); // print(box.read(BoxName.lang)); + await Get.find().startRecording(); }, - icon: const Icon( - Icons.call, + icon: Icon( + Get.put(AudioRecorderController()).isRecording + ? Icons.stop + : Icons.start, size: 29, ), ), diff --git a/lib/views/home/map_widget.dart/ride_begin_passenger.dart b/lib/views/home/map_widget.dart/ride_begin_passenger.dart index 507a24d..8e07e2f 100644 --- a/lib/views/home/map_widget.dart/ride_begin_passenger.dart +++ b/lib/views/home/map_widget.dart/ride_begin_passenger.dart @@ -6,11 +6,10 @@ import 'package:get/get.dart'; import 'package:SEFER/constant/box_name.dart'; import 'package:SEFER/controller/profile/profile_controller.dart'; import 'package:SEFER/main.dart'; -import 'package:get/get_rx/src/rx_typedefs/rx_typedefs.dart'; import '../../../constant/colors.dart'; import '../../../constant/style.dart'; -import '../../../controller/functions/audio_recorder_controller.dart'; +import '../../../controller/functions/audio_record1.dart'; import '../../../controller/home/map_passenger_controller.dart'; class RideBeginPassenger extends StatelessWidget { @@ -21,7 +20,8 @@ class RideBeginPassenger extends StatelessWidget { @override Widget build(BuildContext context) { ProfileController profileController = Get.put(ProfileController()); - AudioController audioController = Get.put(AudioController()); + AudioRecorderController audioController = + Get.put(AudioRecorderController()); // Get.put(MapPassengerController()); return GetBuilder(builder: (controller) { if (controller.statusRide == 'Begin' || !controller.statusRideFromStart) { diff --git a/pubspec.lock b/pubspec.lock index c0944e1..3eab4bf 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -646,30 +646,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" - flutter_sound: - dependency: "direct main" - description: - name: flutter_sound - sha256: "090a4694b11ecc744c2010621c4ffc5fe7c3079d304ea014961a72c7b72cfe6c" - url: "https://pub.dev" - source: hosted - version: "9.2.13" - flutter_sound_platform_interface: - dependency: transitive - description: - name: flutter_sound_platform_interface - sha256: "4537eaeb58a32748c42b621ad6116f7f4c6ee0a8d6ffaa501b165fe1c9df4753" - url: "https://pub.dev" - source: hosted - version: "9.2.13" - flutter_sound_web: - dependency: transitive - description: - name: flutter_sound_web - sha256: ad4ca92671a1879e1f613e900bbbdb8170b20d57d1e4e6363018fe56b055594f - url: "https://pub.dev" - source: hosted - version: "9.2.13" flutter_spinkit: dependency: transitive description: @@ -880,14 +856,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.0.1-dev" - google_identity_services_web: - dependency: transitive - description: - name: google_identity_services_web - sha256: "000b7a31e1fa17ee04b6c0553a2b2ea18f9f9352e4dcc0c9fcc785cf10f2484e" - url: "https://pub.dev" - source: hosted - version: "0.2.2" google_maps: dependency: transitive description: @@ -960,46 +928,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0" - google_sign_in: - dependency: "direct main" - description: - name: google_sign_in - sha256: "8f8b94880f2753ccb796744259da529674e49b9af2e372abf6978c590c0ebfef" - url: "https://pub.dev" - source: hosted - version: "6.1.6" - google_sign_in_android: - dependency: transitive - description: - name: google_sign_in_android - sha256: "6031f59074a337fdd81be821aba84cee3a41338c6e958499a5cd34d3e1db80ef" - url: "https://pub.dev" - source: hosted - version: "6.1.20" - google_sign_in_ios: - dependency: transitive - description: - name: google_sign_in_ios - sha256: "8edfde9698b5951f3d02632eceb39cc283865c3cff0b03216bf951089f10345b" - url: "https://pub.dev" - source: hosted - version: "5.6.3" - google_sign_in_platform_interface: - dependency: transitive - description: - name: google_sign_in_platform_interface - sha256: e10eaaa30a0cb03af12dd324fb2e630ac7e9d854d0530f7a87a4d825031f9a4a - url: "https://pub.dev" - source: hosted - version: "2.4.3" - google_sign_in_web: - dependency: transitive - description: - name: google_sign_in_web - sha256: "794f5494a945d6dd2654c52f979594ecd2558e5c82ce8272295ba371c93015e6" - url: "https://pub.dev" - source: hosted - version: "0.12.2+1" graphs: dependency: transitive description: @@ -1193,13 +1121,13 @@ packages: source: hosted version: "4.8.1" just_audio: - dependency: transitive + dependency: "direct main" description: name: just_audio - sha256: b607cd1a43bac03d85c3aaee00448ff4a589ef2a77104e3d409889ff079bf823 + sha256: b7cb6bbf3750caa924d03f432ba401ec300fd90936b3f73a9b33d58b1e96286b url: "https://pub.dev" source: hosted - version: "0.9.36" + version: "0.9.37" just_audio_platform_interface: dependency: transitive description: @@ -1312,14 +1240,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.2.0" - logger: - dependency: transitive - description: - name: logger - sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f" - url: "https://pub.dev" - source: hosted - version: "1.4.0" logging: dependency: transitive description: @@ -1664,6 +1584,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + share: + dependency: "direct main" + description: + name: share + sha256: "97e6403f564ed1051a01534c2fc919cb6e40ea55e60a18ec23cee6e0ce19f4be" + url: "https://pub.dev" + source: hosted + version: "2.0.4" shelf: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 52af3a5..e54f6bb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: google_maps_flutter: ^2.5.0 sqflite: ^2.3.0 path: ^1.8.3 - google_sign_in: ^6.1.4 + # google_sign_in: ^6.1.4 lottie: ^2.5.0 intl: ^0.18.1 google_fonts: ^ 4.0.4 @@ -57,11 +57,13 @@ dependencies: vibration: ^1.8.4 wakelock_plus: background_location: ^0.13.0 - flutter_sound: ^9.2.13 + # flutter_sound: ^9.2.13 record: ^5.0.5 dio: ^5.4.3+1 # paymob_payment: ^0.0.1+1 webview_flutter: ^4.7.0 + just_audio: ^0.9.37 + share: ^2.0.4