complete story 3.7 with qa test

This commit is contained in:
Naser Mansour
2025-12-26 20:05:03 +02:00
parent 7af029e1af
commit 6254d54fe9
32 changed files with 2882 additions and 45 deletions
+64
View File
@@ -69,4 +69,68 @@ return [
'client' => 'العميل',
'date' => 'التاريخ',
'time' => 'الوقت',
// Consultation Management
'consultations' => 'الاستشارات',
'consultations_description' => 'إدارة جميع الاستشارات وتتبع دورة حياتها.',
'consultation_detail' => 'تفاصيل الاستشارة',
'all_consultations' => 'جميع الاستشارات',
'no_consultations' => 'لا توجد استشارات.',
'search_clients' => 'البحث باسم العميل أو البريد الإلكتروني...',
'filter_status' => 'تصفية حسب الحالة',
'filter_type' => 'تصفية حسب النوع',
'filter_payment' => 'تصفية حسب الدفع',
'all_statuses' => 'جميع الحالات',
'all_types' => 'جميع الأنواع',
'all_payments' => 'جميع المدفوعات',
'per_page' => 'لكل صفحة',
'sort_by' => 'ترتيب حسب',
'sort_direction' => 'اتجاه الترتيب',
'ascending' => 'تصاعدي',
'descending' => 'تنازلي',
// Status Actions
'mark_completed' => 'تحديد كمكتمل',
'mark_no_show' => 'تحديد كعدم حضور',
'cancel_consultation' => 'إلغاء الاستشارة',
'confirm_mark_completed' => 'هل أنت متأكد من تحديد هذه الاستشارة كمكتملة؟',
'confirm_mark_no_show' => 'هل أنت متأكد من تحديد هذا العميل كعدم حضور؟',
'confirm_cancel_consultation' => 'هل أنت متأكد من إلغاء هذه الاستشارة؟ سيتم إشعار العميل.',
// Rescheduling
'reschedule' => 'إعادة الجدولة',
'reschedule_consultation' => 'إعادة جدولة الاستشارة',
'new_date' => 'التاريخ الجديد',
'new_time' => 'الوقت الجديد',
'select_time' => 'اختر الوقت',
'no_slots_available' => 'لا توجد فترات متاحة لهذا التاريخ.',
'current_schedule' => 'الجدول الحالي',
// Payment
'payment_status' => 'حالة الدفع',
'mark_payment_received' => 'تحديد الدفع كمستلم',
'payment_pending' => 'الدفع معلق',
'payment_received' => 'الدفع مستلم',
'payment_received_at' => 'تاريخ استلام الدفع',
'confirm_mark_payment' => 'هل أنت متأكد من تحديد هذا الدفع كمستلم؟',
// Admin Notes
'admin_notes' => 'ملاحظات المسؤول',
'add_note' => 'إضافة ملاحظة',
'edit_note' => 'تعديل الملاحظة',
'delete_note' => 'حذف الملاحظة',
'note_placeholder' => 'أدخل ملاحظتك هنا...',
'no_notes' => 'لا توجد ملاحظات بعد.',
'confirm_delete_note' => 'هل أنت متأكد من حذف هذه الملاحظة؟',
'added_by' => 'أضافها',
'updated' => 'تم التحديث',
// Client History
'client_consultations' => 'استشارات العميل',
'view_client_history' => 'عرض سجل العميل',
'total_consultations' => 'إجمالي الاستشارات',
'completed_consultations' => 'المكتملة',
'cancelled_consultations' => 'الملغاة',
'no_show_consultations' => 'عدم الحضور',
'client_statistics' => 'إحصائيات العميل',
];
+1
View File
@@ -28,6 +28,7 @@ return [
'already_booked_this_day' => 'لديك حجز بالفعل في هذا اليوم.',
'slot_no_longer_available' => 'هذا الموعد لم يعد متاحًا. يرجى اختيار موعد آخر.',
'slot_taken' => 'تم حجز هذا الموعد للتو. يرجى اختيار وقت آخر.',
'slot_not_available' => 'هذا الموعد غير متاح. يرجى اختيار موعد آخر.',
// Consultations list
'my_consultations' => 'استشاراتي',
+17
View File
@@ -84,4 +84,21 @@ return [
'rejection_reason' => 'السبب:',
'booking_rejected_next_steps' => 'نرحب بتقديم طلب حجز جديد لتاريخ أو وقت مختلف.',
'booking_rejected_contact' => 'إذا كان لديك أي استفسار، لا تتردد في التواصل معنا.',
// Consultation Cancelled (client)
'consultation_cancelled_title' => 'تم إلغاء موعد استشارتك',
'consultation_cancelled_greeting' => 'عزيزي :name،',
'consultation_cancelled_body' => 'نود إعلامك بأنه تم إلغاء موعد استشارتك.',
'cancelled_booking_details' => 'تفاصيل الموعد الملغي:',
'consultation_cancelled_rebook' => 'إذا كنت ترغب في حجز استشارة جديدة، يرجى زيارة صفحة الحجز.',
'consultation_cancelled_contact' => 'إذا كان لديك أي استفسار حول هذا الإلغاء، يرجى التواصل معنا.',
// Consultation Rescheduled (client)
'consultation_rescheduled_title' => 'تم إعادة جدولة موعد استشارتك',
'consultation_rescheduled_greeting' => 'عزيزي :name،',
'consultation_rescheduled_body' => 'تم إعادة جدولة موعد استشارتك إلى تاريخ ووقت جديد.',
'old_booking_details' => 'الموعد السابق:',
'new_booking_details' => 'الموعد الجديد:',
'consultation_rescheduled_calendar' => 'تم إرفاق ملف تقويم جديد (.ics). يرجى تحديث التقويم الخاص بك.',
'consultation_rescheduled_contact' => 'إذا كان لديك أي استفسار حول هذا التغيير، يرجى التواصل معنا.',
];
+9
View File
@@ -9,4 +9,13 @@ return [
'no_show' => 'لم يحضر',
'cancelled' => 'ملغي',
],
'payment_status' => [
'pending' => 'معلق',
'received' => 'مستلم',
'na' => 'غير متاح',
],
'consultation_type' => [
'free' => 'مجانية',
'paid' => 'مدفوعة',
],
];
+18
View File
@@ -6,4 +6,22 @@ return [
'pending_bookings_warning' => 'تحذير: يوجد :count حجز(حجوزات) معلقة خلال هذا الوقت.',
'blocked_time_saved' => 'تم حفظ الوقت المحظور بنجاح.',
'blocked_time_deleted' => 'تم حذف الوقت المحظور بنجاح.',
// Consultation Management
'marked_completed' => 'تم تحديد الاستشارة كمكتملة.',
'marked_no_show' => 'تم تحديد الاستشارة كعدم حضور.',
'consultation_cancelled' => 'تم إلغاء الاستشارة.',
'consultation_rescheduled' => 'تم إعادة جدولة الاستشارة بنجاح.',
'payment_marked_received' => 'تم تحديد الدفع كمستلم.',
'note_added' => 'تمت إضافة الملاحظة بنجاح.',
'note_updated' => 'تم تحديث الملاحظة بنجاح.',
'note_deleted' => 'تم حذف الملاحظة بنجاح.',
'no_changes_made' => 'لم يتم إجراء أي تغييرات.',
// Consultation Management Errors
'invalid_status_transition' => 'لا يمكن تغيير الحالة من :from إلى :to.',
'cannot_cancel_consultation' => 'لا يمكن إلغاء هذه الاستشارة.',
'not_paid_consultation' => 'هذه ليست استشارة مدفوعة.',
'payment_already_received' => 'تم تحديد الدفع كمستلم مسبقاً.',
'client_account_not_found' => 'حساب العميل غير موجود.',
];
+64
View File
@@ -69,4 +69,68 @@ return [
'client' => 'Client',
'date' => 'Date',
'time' => 'Time',
// Consultation Management
'consultations' => 'Consultations',
'consultations_description' => 'Manage all consultations and track their lifecycle.',
'consultation_detail' => 'Consultation Detail',
'all_consultations' => 'All Consultations',
'no_consultations' => 'No consultations found.',
'search_clients' => 'Search by client name or email...',
'filter_status' => 'Filter by Status',
'filter_type' => 'Filter by Type',
'filter_payment' => 'Filter by Payment',
'all_statuses' => 'All Statuses',
'all_types' => 'All Types',
'all_payments' => 'All Payments',
'per_page' => 'Per Page',
'sort_by' => 'Sort By',
'sort_direction' => 'Sort Direction',
'ascending' => 'Ascending',
'descending' => 'Descending',
// Status Actions
'mark_completed' => 'Mark Completed',
'mark_no_show' => 'Mark No-Show',
'cancel_consultation' => 'Cancel Consultation',
'confirm_mark_completed' => 'Are you sure you want to mark this consultation as completed?',
'confirm_mark_no_show' => 'Are you sure you want to mark this client as no-show?',
'confirm_cancel_consultation' => 'Are you sure you want to cancel this consultation? The client will be notified.',
// Rescheduling
'reschedule' => 'Reschedule',
'reschedule_consultation' => 'Reschedule Consultation',
'new_date' => 'New Date',
'new_time' => 'New Time',
'select_time' => 'Select Time',
'no_slots_available' => 'No slots available for this date.',
'current_schedule' => 'Current Schedule',
// Payment
'payment_status' => 'Payment Status',
'mark_payment_received' => 'Mark Payment Received',
'payment_pending' => 'Payment Pending',
'payment_received' => 'Payment Received',
'payment_received_at' => 'Payment Received At',
'confirm_mark_payment' => 'Are you sure you want to mark this payment as received?',
// Admin Notes
'admin_notes' => 'Admin Notes',
'add_note' => 'Add Note',
'edit_note' => 'Edit Note',
'delete_note' => 'Delete Note',
'note_placeholder' => 'Enter your note here...',
'no_notes' => 'No notes yet.',
'confirm_delete_note' => 'Are you sure you want to delete this note?',
'added_by' => 'Added by',
'updated' => 'Updated',
// Client History
'client_consultations' => 'Client Consultations',
'view_client_history' => 'View Client History',
'total_consultations' => 'Total Consultations',
'completed_consultations' => 'Completed',
'cancelled_consultations' => 'Cancelled',
'no_show_consultations' => 'No-Shows',
'client_statistics' => 'Client Statistics',
];
+1
View File
@@ -28,6 +28,7 @@ return [
'already_booked_this_day' => 'You already have a booking on this day.',
'slot_no_longer_available' => 'This time slot is no longer available. Please select another.',
'slot_taken' => 'This slot was just booked. Please select another time.',
'slot_not_available' => 'This time slot is not available. Please select another.',
// Consultations list
'my_consultations' => 'My Consultations',
+17
View File
@@ -84,4 +84,21 @@ return [
'rejection_reason' => 'Reason:',
'booking_rejected_next_steps' => 'You are welcome to submit a new booking request for a different date or time.',
'booking_rejected_contact' => 'If you have any questions, please do not hesitate to contact us.',
// Consultation Cancelled (client)
'consultation_cancelled_title' => 'Your Consultation Has Been Cancelled',
'consultation_cancelled_greeting' => 'Dear :name,',
'consultation_cancelled_body' => 'We would like to inform you that your consultation appointment has been cancelled.',
'cancelled_booking_details' => 'Cancelled Appointment Details:',
'consultation_cancelled_rebook' => 'If you would like to book a new consultation, please visit our booking page.',
'consultation_cancelled_contact' => 'If you have any questions about this cancellation, please contact us.',
// Consultation Rescheduled (client)
'consultation_rescheduled_title' => 'Your Consultation Has Been Rescheduled',
'consultation_rescheduled_greeting' => 'Dear :name,',
'consultation_rescheduled_body' => 'Your consultation appointment has been rescheduled to a new date and time.',
'old_booking_details' => 'Previous Appointment:',
'new_booking_details' => 'New Appointment:',
'consultation_rescheduled_calendar' => 'A new calendar file (.ics) is attached. Please update your calendar.',
'consultation_rescheduled_contact' => 'If you have any questions about this change, please contact us.',
];
+9
View File
@@ -9,4 +9,13 @@ return [
'no_show' => 'No Show',
'cancelled' => 'Cancelled',
],
'payment_status' => [
'pending' => 'Pending',
'received' => 'Received',
'na' => 'N/A',
],
'consultation_type' => [
'free' => 'Free',
'paid' => 'Paid',
],
];
+18
View File
@@ -6,4 +6,22 @@ return [
'pending_bookings_warning' => 'Warning: :count pending booking(s) exist during this time.',
'blocked_time_saved' => 'Blocked time saved successfully.',
'blocked_time_deleted' => 'Blocked time deleted successfully.',
// Consultation Management
'marked_completed' => 'Consultation marked as completed.',
'marked_no_show' => 'Consultation marked as no-show.',
'consultation_cancelled' => 'Consultation has been cancelled.',
'consultation_rescheduled' => 'Consultation has been rescheduled successfully.',
'payment_marked_received' => 'Payment marked as received.',
'note_added' => 'Note added successfully.',
'note_updated' => 'Note updated successfully.',
'note_deleted' => 'Note deleted successfully.',
'no_changes_made' => 'No changes were made.',
// Consultation Management Errors
'invalid_status_transition' => 'Cannot change status from :from to :to.',
'cannot_cancel_consultation' => 'This consultation cannot be cancelled.',
'not_paid_consultation' => 'This is not a paid consultation.',
'payment_already_received' => 'Payment has already been marked as received.',
'client_account_not_found' => 'Client account not found.',
];