Stand: SMTP-Test, Admin-Mail-Tab, Notifiable-Fix, Lazy-Quill
- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er) - Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link - Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest - Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen) - Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
549
lang/ar/admin.php
Executable file
549
lang/ar/admin.php
Executable file
@@ -0,0 +1,549 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'dashboard_title' => 'لوحة تحكم الإدارة',
|
||||
'stat_users' => 'المستخدمون',
|
||||
'stat_players' => 'اللاعبون',
|
||||
'stat_upcoming' => 'المواعيد القادمة',
|
||||
'stat_invitations' => 'الدعوات المفتوحة',
|
||||
'quick_links' => 'وصول سريع',
|
||||
'new_event' => 'موعد جديد',
|
||||
'new_player' => 'لاعب جديد',
|
||||
'new_invitation' => 'دعوة جديدة',
|
||||
'new_team' => 'فريق جديد',
|
||||
'open_responses_title' => 'مواعيد بردود مفتوحة',
|
||||
'x_open' => ':count مفتوح',
|
||||
'nav_teams' => 'الفرق',
|
||||
'nav_players' => 'اللاعبون',
|
||||
'nav_users' => 'المستخدمون',
|
||||
'nav_invitations' => 'الدعوات',
|
||||
'nav_events' => 'الأحداث',
|
||||
'nav_settings' => 'الإعدادات',
|
||||
'nav_verwaltung' => 'الإدارة',
|
||||
'actions' => 'الإجراءات',
|
||||
'action' => 'إجراء',
|
||||
'please_select' => 'يرجى الاختيار',
|
||||
'back_to_list' => 'العودة إلى القائمة',
|
||||
'inactive' => 'غير نشط',
|
||||
'nr' => 'رقم',
|
||||
'photo' => 'صورة',
|
||||
'date' => 'التاريخ',
|
||||
'location' => 'الموقع',
|
||||
'all_status' => 'جميع الحالات',
|
||||
'copied' => 'تم النسخ!',
|
||||
'copy' => 'نسخ',
|
||||
'created_by' => 'بواسطة',
|
||||
'valid_until' => 'صالح حتى',
|
||||
'teams_title' => 'الفرق',
|
||||
'team_created' => 'تم إنشاء الفريق.',
|
||||
'team_updated' => 'تم تحديث الفريق.',
|
||||
'team_name' => 'اسم الفريق',
|
||||
'year_group' => 'الفئة العمرية',
|
||||
'year_group_placeholder' => 'مثلاً 2017/18',
|
||||
'active' => 'نشط',
|
||||
'team_is_active' => 'الفريق نشط',
|
||||
'create_team' => 'إنشاء فريق',
|
||||
'edit_team' => 'تعديل الفريق',
|
||||
'no_teams_yet' => 'لا توجد فرق بعد.',
|
||||
'team_notes' => 'ملاحظات',
|
||||
'team_notes_placeholder' => 'ملاحظات حول الفريق (داخلية، مرئية فقط للمسؤولين)...',
|
||||
'team_coaches' => 'المدربون',
|
||||
'no_coaches_available' => 'لا يوجد مدربون في النظام.',
|
||||
'team_players' => 'اللاعبون',
|
||||
'team_parent_reps' => 'ممثلو أولياء الأمور',
|
||||
'team_parent_reps_hint' => 'أولياء الأمور الذين لديهم دور "ممثل أولياء الأمور" ولديهم أطفال في هذا الفريق.',
|
||||
'no_parent_reps' => 'لا يوجد ممثلون لأولياء الأمور لهذا الفريق.',
|
||||
'log_team_updated' => 'تم تحديث الفريق ":name"',
|
||||
'log_player_team_changed' => 'تم نقل اللاعب :name إلى فريق آخر',
|
||||
'players_title' => 'اللاعبون',
|
||||
'player_created' => 'تم إنشاء اللاعب.',
|
||||
'player_updated' => 'تم تحديث اللاعب.',
|
||||
'first_name' => 'الاسم الأول',
|
||||
'last_name' => 'اسم العائلة',
|
||||
'birth_year' => 'سنة الميلاد',
|
||||
'jersey_number' => 'رقم القميص',
|
||||
'photo_permission' => 'إذن التصوير',
|
||||
'notes' => 'ملاحظات',
|
||||
'parent_assigned' => 'تم تعيين ولي الأمر.',
|
||||
'parent_removed' => 'تم إزالة التعيين.',
|
||||
'assign_parent' => 'تعيين ولي أمر',
|
||||
'add_parent' => 'إضافة ولي أمر',
|
||||
'select_user' => 'اختيار مستخدم',
|
||||
'assign' => 'تعيين',
|
||||
'relationship_label' => 'صلة القرابة',
|
||||
'relationship_placeholder' => 'مثال: أم، أب',
|
||||
'parents' => 'أولياء الأمور',
|
||||
'player_data' => 'البيانات الأساسية',
|
||||
'parent_assignment' => 'تعيين أولياء الأمور',
|
||||
'no_parents_yet' => 'لم يتم تعيين أولياء أمور بعد.',
|
||||
'confirm_remove_parent' => 'هل تريد إزالة التعيين فعلاً؟',
|
||||
'remove' => 'إزالة',
|
||||
'no_players_yet' => 'لا يوجد لاعبون بعد.',
|
||||
'users_title' => 'المستخدمون',
|
||||
'user_toggled' => 'تم :status المستخدم.',
|
||||
'role_updated' => 'تم تحديث الدور.',
|
||||
'cannot_deactivate_self' => 'لا يمكنك تعطيل حسابك الخاص.',
|
||||
'cannot_change_own_role' => 'لا يمكنك تغيير دورك الخاص.',
|
||||
'activated' => 'تفعيل',
|
||||
'deactivated' => 'تعطيل',
|
||||
'deactivated_label' => 'معطّل',
|
||||
'children' => 'الأطفال',
|
||||
'phone' => 'الهاتف',
|
||||
'last_login' => 'آخر تسجيل دخول',
|
||||
'never' => 'أبداً',
|
||||
'deactivate' => 'تعطيل',
|
||||
'activate' => 'تفعيل',
|
||||
'you_suffix' => '(أنت)',
|
||||
'edit' => 'تعديل',
|
||||
'edit_user' => 'تعديل المستخدم',
|
||||
'user_data' => 'بيانات المستخدم',
|
||||
'user_updated' => 'تم تحديث المستخدم.',
|
||||
'reset_password' => 'إعادة تعيين كلمة المرور',
|
||||
'reset_password_hint' => 'ينشئ كلمة مرور عشوائية جديدة. ستصبح كلمة المرور القديمة غير صالحة.',
|
||||
'reset_password_confirm' => 'إنشاء كلمة مرور عشوائية جديدة؟ ستصبح كلمة المرور القديمة غير صالحة.',
|
||||
'password_reset_success' => 'تم إنشاء كلمة مرور جديدة.',
|
||||
'new_password_label' => 'كلمة المرور الجديدة (مرئية مرة واحدة فقط):',
|
||||
'password_only_visible_now' => 'تُعرض كلمة المرور هذه الآن فقط. يرجى مشاركتها وعدم إعادة تحميل الصفحة.',
|
||||
'cannot_edit_own_role' => 'لا يمكنك تغيير دورك هنا.',
|
||||
'cannot_assign_admin_role' => 'لا يمكنك تعيين دور المدير.',
|
||||
'cannot_reset_own_password' => 'لا يمكنك إعادة تعيين كلمة المرور الخاصة بك عبر منطقة الإدارة.',
|
||||
'registered_at' => 'تاريخ التسجيل',
|
||||
'invitations_title' => 'الدعوات',
|
||||
'invitation_created' => 'تم إنشاء الدعوة. الرابط: :link',
|
||||
'invitation_deleted' => 'تم حذف الدعوة.',
|
||||
'invitation_already_used' => 'لا يمكن حذف الدعوات التي تم استخدامها.',
|
||||
'create_invitation' => 'إنشاء دعوة',
|
||||
'assign_players' => 'تعيين لاعبين',
|
||||
'email_optional' => 'البريد الإلكتروني (اختياري)',
|
||||
'email_optional_hint' => 'إذا تم تحديده، يمكن لهذا البريد الإلكتروني فقط التسجيل',
|
||||
'expires_at' => 'صالح حتى',
|
||||
'valid_for_days' => 'صالح لمدة (أيام)',
|
||||
'token' => 'الرمز',
|
||||
'status' => 'الحالة',
|
||||
'used' => 'مستخدَم',
|
||||
'expired' => 'منتهي الصلاحية',
|
||||
'pending' => 'مفتوح',
|
||||
'copy_link' => 'نسخ الرابط',
|
||||
'invite_link' => 'رابط الدعوة',
|
||||
'no_assignment' => 'بدون تعيين',
|
||||
'no_invitations_yet' => 'لم يتم إنشاء دعوات بعد.',
|
||||
'no_active_players' => 'لا يوجد لاعبون نشطون.',
|
||||
'confirm_delete_invitation' => 'هل تريد حذف الدعوة فعلاً؟',
|
||||
'created_label' => 'تم الإنشاء',
|
||||
'player_assignment_hint' => 'اختر الأطفال الذين سيتم تعيينهم تلقائياً لحساب ولي الأمر الجديد.',
|
||||
'events_title' => 'الأحداث',
|
||||
'event_created' => 'تم إنشاء الحدث.',
|
||||
'event_updated' => 'تم تحديث الحدث.',
|
||||
'event_deleted' => 'تم حذف الحدث.',
|
||||
'event_title' => 'العنوان',
|
||||
'start_at' => 'البداية',
|
||||
'date' => 'التاريخ',
|
||||
'time' => 'الوقت',
|
||||
'end_at' => 'النهاية',
|
||||
'location_name' => 'اسم الموقع',
|
||||
'address' => 'العنوان',
|
||||
'description' => 'الوصف',
|
||||
'search_address' => 'البحث عن عنوان...',
|
||||
'new_event_title' => 'حدث جديد',
|
||||
'edit_event_title' => 'تعديل الحدث',
|
||||
'no_events_yet' => 'لا توجد أحداث بعد.',
|
||||
'confirm_delete_event' => 'هل تريد حذف الحدث فعلاً؟',
|
||||
'location_address' => 'الموقع / العنوان',
|
||||
'location_name_hint' => 'اسم الموقع (مثلاً: الصالة الرياضية الشمالية)',
|
||||
'search_by_name' => 'البحث عن العنوان',
|
||||
'location_name_placeholder' => 'مثال: ملعب BVB، صالة رياضية...',
|
||||
'search_address_hint' => 'أدخل العنوان (٣ أحرف على الأقل)...',
|
||||
'description_placeholder' => 'أدخل الوصف...',
|
||||
'assignments' => 'التعيينات',
|
||||
'catering_assignment' => 'التموين',
|
||||
'timekeeper_assignment' => 'ميقاتي',
|
||||
'geocoding_error' => 'فشل البحث عن العنوان. حاول مرة أخرى.',
|
||||
'geocoding_rate_limit' => 'طلبات كثيرة جداً. انتظر لحظة.',
|
||||
'geocoding_no_results' => 'لم يتم العثور على عنوان. كن أكثر تحديداً.',
|
||||
'min_requirements' => 'الحد الأدنى من المتطلبات',
|
||||
'min_players' => 'الحد الأدنى للاعبين',
|
||||
'min_parents' => 'الحد الأدنى للأولياء',
|
||||
'min_catering' => 'الحد الأدنى للتموين',
|
||||
'min_timekeepers' => 'الحد الأدنى للميقاتيين',
|
||||
'event_defaults_title' => 'القيم الافتراضية للحد الأدنى للأحداث',
|
||||
'event_defaults_description' => 'حدد القيم الافتراضية للحد الأدنى للأحداث الجديدة حسب النوع. يمكن للمسؤولين تغييرها عند الإنشاء.',
|
||||
// إدارة المواقع
|
||||
'nav_locations' => 'المواقع',
|
||||
'locations_title' => 'إدارة المواقع',
|
||||
'location_add' => 'إضافة موقع جديد',
|
||||
'location_name_label' => 'الاسم',
|
||||
'location_save' => 'حفظ',
|
||||
'location_created' => 'تم إنشاء الموقع.',
|
||||
'location_updated' => 'تم تحديث الموقع.',
|
||||
'location_deleted' => 'تم حذف الموقع.',
|
||||
'location_confirm_delete' => 'هل تريد حقاً حذف هذا الموقع؟',
|
||||
'locations_empty' => 'لا توجد مواقع بعد.',
|
||||
'known_locations' => 'مواقع معروفة',
|
||||
'address_manual_hint' => 'أدخل العنوان يدوياً...',
|
||||
|
||||
// الإعدادات
|
||||
'settings_title' => 'الإعدادات',
|
||||
'settings_saved' => 'تم حفظ الإعدادات.',
|
||||
'settings_tab_general' => 'عام',
|
||||
'settings_tab_legal' => 'قانوني',
|
||||
'settings_tab_defaults' => 'معايير الأحداث',
|
||||
'settings_tab_categories' => 'فئات الملفات',
|
||||
|
||||
// إدارة الملفات
|
||||
'nav_files' => 'الملفات',
|
||||
'files_title' => 'إدارة الملفات',
|
||||
'upload_file' => 'رفع ملف',
|
||||
'file_uploaded' => 'تم رفع الملف.',
|
||||
'file_deleted' => 'تم حذف الملف.',
|
||||
'file_category' => 'الفئة',
|
||||
'select_category' => 'اختر الفئة',
|
||||
'no_files_yet' => 'لا توجد ملفات في هذه الفئة بعد.',
|
||||
'no_files_at_all' => 'لم يتم رفع أي ملفات بعد.',
|
||||
'file_size' => 'الحجم',
|
||||
'uploaded_by' => 'رُفع بواسطة',
|
||||
'uploaded_at' => 'تاريخ الرفع',
|
||||
'confirm_delete_file' => 'هل تريد حذف هذا الملف حقاً؟ سيتم إزالة جميع ارتباطات الأحداث.',
|
||||
'allowed_file_types' => 'أنواع الملفات المسموحة: PDF, DOCX, XLSX, صور (JPG, PNG, GIF, WEBP)',
|
||||
'max_file_size' => 'الحد الأقصى لحجم الملف: 10 ميجابايت',
|
||||
'file_categories' => 'فئات الملفات',
|
||||
'file_categories_description' => 'إدارة فئات الملفات.',
|
||||
'new_category' => 'فئة جديدة',
|
||||
'category_name' => 'اسم الفئة',
|
||||
'category_created' => 'تم إنشاء الفئة.',
|
||||
'category_updated' => 'تم تحديث الفئة.',
|
||||
'category_deleted' => 'تم حذف الفئة.',
|
||||
'category_not_empty' => 'لا يمكن حذف الفئة لأنها تحتوي على ملفات.',
|
||||
'confirm_delete_category' => 'هل تريد حذف هذه الفئة حقاً؟',
|
||||
'event_files' => 'الملفات',
|
||||
'attach_from_library' => 'إرفاق من المكتبة',
|
||||
'upload_new_file' => 'رفع ملف جديد',
|
||||
'attached_files' => 'الملفات المرفقة',
|
||||
'detach_file' => 'إزالة',
|
||||
'no_attached_files' => 'لا توجد ملفات مرفقة.',
|
||||
'profile_picture' => 'صورة الملف الشخصي',
|
||||
'upload_picture' => 'رفع صورة',
|
||||
'remove_picture' => 'إزالة الصورة',
|
||||
'picture_uploaded' => 'تم تحديث صورة الملف الشخصي.',
|
||||
'picture_removed' => 'تم إزالة صورة الملف الشخصي.',
|
||||
'max_picture_size' => 'حد أقصى 2 ميجابايت (JPG, PNG, GIF, WEBP)',
|
||||
'html_anchor_hint' => 'تلميح: أضف علامات ربط بسمة id، مثال <h3 id="cookies">',
|
||||
|
||||
// Soft-Delete
|
||||
'danger_zone' => 'منطقة الخطر',
|
||||
'delete_user' => 'حذف المستخدم',
|
||||
'delete_user_hint' => 'سيتم تعطيل المستخدم ويمكن استعادته خلال 7 أيام. ستبقى البيانات التاريخية (التعليقات، المشاركات) محفوظة.',
|
||||
'delete_player' => 'حذف اللاعب',
|
||||
'delete_player_hint' => 'سيتم إزالة اللاعب ويمكن استعادته خلال 7 أيام. ستبقى البيانات التاريخية (المشاركات، الأحداث) محفوظة.',
|
||||
'user_status_label' => 'حالة المستخدم',
|
||||
'player_status_label' => 'حالة اللاعب',
|
||||
'deactivate_user_hint' => 'لن يتمكن المستخدم من تسجيل الدخول بعد الآن.',
|
||||
'activate_user_hint' => 'سيتمكن المستخدم من تسجيل الدخول مرة أخرى.',
|
||||
'deactivate_player_hint' => 'لن يظهر اللاعب في قوائم المواعيد.',
|
||||
'activate_player_hint' => 'سيظهر اللاعب في قوائم المواعيد مرة أخرى.',
|
||||
'player_toggled' => 'اللاعب :status.',
|
||||
'log_player_toggled' => 'اللاعب :name :status',
|
||||
'confirm_delete_user' => 'هل أنت متأكد أنك تريد حذف هذا المستخدم؟ يمكن استعادته خلال 7 أيام.',
|
||||
'confirm_delete_player' => 'هل أنت متأكد أنك تريد حذف هذا اللاعب؟ يمكن استعادته خلال 7 أيام.',
|
||||
'user_deleted' => 'تم حذف المستخدم.',
|
||||
'user_restored' => 'تم استعادة المستخدم.',
|
||||
'player_deleted' => 'تم حذف اللاعب.',
|
||||
'player_restored' => 'تم استعادة اللاعب.',
|
||||
'cannot_delete_self' => 'لا يمكنك حذف نفسك.',
|
||||
'cannot_delete_main_admin' => 'لا يمكن حذف المسؤول الرئيسي.',
|
||||
'restore_expired' => 'انتهت فترة الاستعادة.',
|
||||
'trash' => 'سلة المحذوفات',
|
||||
'restore' => 'استعادة',
|
||||
'delete' => 'حذف',
|
||||
'deleted_at' => 'تاريخ الحذف',
|
||||
|
||||
// Activity Log
|
||||
'activity_log_title' => 'سجل النشاط',
|
||||
'nav_activity_log' => 'سجل النشاط',
|
||||
'log_category' => 'الفئة',
|
||||
'log_all_categories' => 'جميع الفئات',
|
||||
'log_cat_auth' => 'المصادقة',
|
||||
'log_cat_users' => 'المستخدمون',
|
||||
'log_cat_players' => 'اللاعبون',
|
||||
'log_cat_events' => 'المواعيد',
|
||||
'log_cat_files' => 'الملفات',
|
||||
'log_cat_settings' => 'الإعدادات',
|
||||
'log_cat_dsgvo' => 'حماية البيانات',
|
||||
'log_from' => 'من',
|
||||
'log_to' => 'إلى',
|
||||
'log_filter' => 'تصفية',
|
||||
'log_reset' => 'إعادة تعيين',
|
||||
'log_time' => 'الوقت',
|
||||
'log_user' => 'المستخدم',
|
||||
'log_action' => 'الإجراء',
|
||||
'log_description' => 'الوصف',
|
||||
'log_ip' => 'عنوان IP',
|
||||
'log_system' => 'النظام',
|
||||
'log_empty' => 'لا توجد سجلات.',
|
||||
'log_details' => 'تفاصيل',
|
||||
'log_field' => 'الحقل',
|
||||
'log_old_value' => 'قبل',
|
||||
'log_new_value' => 'بعد',
|
||||
|
||||
// Log descriptions
|
||||
'log_login' => ':name قام بتسجيل الدخول',
|
||||
'log_logout' => ':name قام بتسجيل الخروج',
|
||||
'log_login_failed' => 'محاولة تسجيل دخول فاشلة لـ :email',
|
||||
'log_registered' => ':name قام بالتسجيل',
|
||||
'log_user_updated' => 'تم تحديث المستخدم :name',
|
||||
'log_user_toggled' => 'المستخدم :name: تم تغيير الحالة إلى :status',
|
||||
'log_role_changed' => 'تم تغيير دور :name إلى :role',
|
||||
'log_password_reset' => 'تم إعادة تعيين كلمة مرور :name',
|
||||
'log_user_deleted' => 'تم حذف المستخدم :name',
|
||||
'log_user_restored' => 'تم استعادة المستخدم :name',
|
||||
'log_player_created' => 'تم إنشاء اللاعب :name',
|
||||
'log_player_updated' => 'تم تحديث اللاعب :name',
|
||||
'log_player_deleted' => 'تم حذف اللاعب :name',
|
||||
'log_player_restored' => 'تم استعادة اللاعب :name',
|
||||
'log_parent_assigned' => 'تم تعيين :parent كوالد لـ :player',
|
||||
'log_parent_removed' => 'تم إزالة :parent كوالد لـ :player',
|
||||
'log_event_created' => 'تم إنشاء الموعد ":title"',
|
||||
'log_event_updated' => 'تم تحديث الموعد ":title"',
|
||||
'log_event_deleted' => 'تم حذف الموعد ":title"',
|
||||
'log_participant_changed' => 'تم تغيير حالة المشاركة لـ ":event" إلى :status',
|
||||
'log_catering_changed' => 'تم تغيير حالة التموين لـ ":event" إلى :status',
|
||||
'log_timekeeper_changed' => 'تم تغيير حالة الميقاتي لـ ":event" إلى :status',
|
||||
'log_comment_created' => 'تم إضافة تعليق إلى ":event"',
|
||||
'log_comment_deleted' => 'تم حذف تعليق من ":event"',
|
||||
'log_file_uploaded' => 'تم رفع الملف ":name"',
|
||||
'log_file_deleted' => 'تم حذف الملف ":name"',
|
||||
'log_settings_updated' => 'تم تحديث الإعدادات',
|
||||
'log_invitation_created' => 'تم إنشاء دعوة لـ :email',
|
||||
|
||||
// الإحصائيات
|
||||
'nav_statistics' => 'الإحصائيات',
|
||||
'statistics_title' => 'إحصائيات المباريات',
|
||||
'total_games' => 'إجمالي المباريات',
|
||||
'wins' => 'انتصارات',
|
||||
'losses' => 'خسارات',
|
||||
'draws' => 'تعادلات',
|
||||
'win_rate' => 'نسبة الفوز',
|
||||
'chart_win_loss' => 'انتصارات / خسارات',
|
||||
'chart_player_participation' => 'مشاركة اللاعبين',
|
||||
'chart_parent_involvement' => 'مشاركة الأهالي',
|
||||
'no_games_yet' => 'لا توجد مباريات بعد.',
|
||||
'filter_from' => 'من',
|
||||
'filter_to' => 'إلى',
|
||||
'filter_apply' => 'تصفية',
|
||||
'filter_reset' => 'إعادة تعيين',
|
||||
'all_teams' => 'جميع الفرق',
|
||||
'not_applicable' => 'غ/م',
|
||||
'min_users' => 'الحد الأدنى للمستخدمين',
|
||||
'home_short' => 'د',
|
||||
'away_short' => 'خ',
|
||||
'player_ranking_title' => 'مشاركة اللاعبين',
|
||||
'player_ranking_desc' => 'نسبة مشاركة اللاعبين في :count مباراة (محلية وخارجية).',
|
||||
'games_played' => 'لعب',
|
||||
'games_assigned' => 'مُعيَّن',
|
||||
'participation_rate' => 'النسبة',
|
||||
'parent_ranking_title' => 'مشاركة أولياء الأمور',
|
||||
'parent_ranking_desc' => 'التموين (:catering فعالية) والتحكيم الزمني (:timekeeper فعالية) — جميع الفعاليات المنشورة.',
|
||||
'total_contributions' => 'الإجمالي',
|
||||
|
||||
'statistics_enabled_label' => 'تفعيل صفحة الإحصائيات',
|
||||
'statistics_enabled_hint' => 'عند التعطيل، تكون صفحة الإحصائيات مرئية فقط للمشرف.',
|
||||
// Slogan & Favicon
|
||||
'slogan_label' => 'الشعار',
|
||||
'slogan_hint' => 'يُعرض على صفحة تسجيل الدخول وفي التذييل.',
|
||||
'favicon_label' => 'أيقونة الموقع',
|
||||
'favicon_hint' => 'ICO, PNG, SVG, JPG (الحد الأقصى 512 كيلوبايت)',
|
||||
'favicon_current' => 'الأيقونة الحالية',
|
||||
'favicon_remove' => 'إزالة الأيقونة',
|
||||
'favicon_uploaded' => 'تم تحديث الأيقونة.',
|
||||
'favicon_removed' => 'تم إزالة الأيقونة.',
|
||||
|
||||
// Undo / Revert
|
||||
'log_revert' => 'تراجع',
|
||||
'log_revert_confirm' => 'هل تريد حقاً التراجع عن هذا الإجراء؟',
|
||||
'log_revert_success' => 'تم التراجع عن الإجراء بنجاح.',
|
||||
'log_revert_not_possible' => 'لا يمكن التراجع عن هذا الإجراء.',
|
||||
'log_reverted' => 'تم التراجع: ":desc"',
|
||||
'event_restored' => 'تمت استعادة الحدث.',
|
||||
'log_event_restored' => 'تمت استعادة الحدث ":title"',
|
||||
|
||||
// الرؤية
|
||||
'settings_tab_visibility' => 'الرؤية',
|
||||
'visibility_description' => 'تحكم في الوظائف المرئية لكل دور. يرى المشرفون كل شيء دائماً.',
|
||||
'visibility_feature_statistics' => 'صفحة الإحصائيات',
|
||||
'visibility_feature_catering_history' => 'سجل التموين/التوقيت',
|
||||
|
||||
// إنشاء القوائم
|
||||
'nav_list_generator' => 'إنشاء القوائم',
|
||||
'list_generator_title' => 'إنشاء قائمة',
|
||||
'list_title' => 'الموضوع',
|
||||
'list_subtitle' => 'العنوان الفرعي (اختياري)',
|
||||
'list_notes' => 'ملاحظات / وصف',
|
||||
'list_source' => 'مصدر الصفوف',
|
||||
'list_source_players' => 'اللاعبون',
|
||||
'list_source_parents' => 'أولياء الأمور',
|
||||
'list_source_freetext' => 'نص حر',
|
||||
'list_freetext_hint' => 'سطر واحد لكل إدخال',
|
||||
'list_columns' => 'الأعمدة',
|
||||
'list_custom_columns' => 'أعمدة إضافية',
|
||||
'list_add_column' => 'إضافة عمود',
|
||||
'list_column_name' => 'اسم العمود',
|
||||
'list_generate' => 'إنشاء القائمة',
|
||||
'list_result_title' => 'تم إنشاء القائمة',
|
||||
'list_print' => 'طباعة / حفظ كـ PDF',
|
||||
'list_new' => 'إنشاء قائمة جديدة',
|
||||
'list_to_library' => 'إلى مكتبة الملفات',
|
||||
'list_generated_at' => 'تم الإنشاء في',
|
||||
'list_all_teams' => 'جميع الفرق',
|
||||
'list_saved_info' => 'تم حفظ الملف ":name" تلقائياً في المكتبة تحت "عام".',
|
||||
'list_download_pdf' => 'تحميل PDF',
|
||||
'list_entries_count' => 'إدخالات',
|
||||
'log_list_generated' => 'تم إنشاء القائمة ":title"',
|
||||
'no_entries' => 'لا توجد إدخالات.',
|
||||
|
||||
// حماية البيانات GDPR
|
||||
'dsgvo_title' => 'إقرار الموافقة على حماية البيانات',
|
||||
'dsgvo_short' => 'GDPR',
|
||||
'dsgvo_consent_label' => 'تم تأكيد إقرار الموافقة',
|
||||
'dsgvo_view_document' => 'عرض المستند',
|
||||
'dsgvo_confirm' => 'تأكيد',
|
||||
'dsgvo_revoke' => 'إلغاء',
|
||||
'dsgvo_toggled' => 'تم تحديث حالة حماية البيانات.',
|
||||
'dsgvo_no_file' => 'لم يتم تحميل أي مستند بعد.',
|
||||
'dsgvo_no_document' => 'لم يقم المستخدم بتحميل إقرار موافقة بعد.',
|
||||
'dsgvo_not_confirmed' => 'لم يتم التأكيد بعد. يرجى مراجعة المستند ثم التأكيد.',
|
||||
'dsgvo_confirmed_info' => 'تم التأكيد بواسطة :name في :date',
|
||||
'dsgvo_confirmed_tooltip' => 'تم تأكيد موافقة حماية البيانات',
|
||||
'dsgvo_pending_tooltip' => 'تم تحميل المستند، التأكيد معلق',
|
||||
'dsgvo_missing_tooltip' => 'لم يتم تحميل مستند',
|
||||
'dsgvo_events_title' => 'أحداث حماية البيانات (آخر 10)',
|
||||
'dsgvo_action_dsgvo_consent_uploaded' => 'تم التحميل',
|
||||
'dsgvo_action_dsgvo_consent_confirmed' => 'تم التأكيد',
|
||||
'dsgvo_action_dsgvo_consent_revoked' => 'تم الإلغاء',
|
||||
'dsgvo_action_dsgvo_consent_removed' => 'تمت الإزالة',
|
||||
'dsgvo_action_account_self_deleted' => 'تم حذف الحساب',
|
||||
'dsgvo_action_child_auto_deactivated' => 'تم تعطيل الطفل',
|
||||
'log_dsgvo_consent_uploaded' => ':name قام بتحميل إقرار موافقة',
|
||||
'log_dsgvo_confirmed' => 'تم تأكيد إقرار موافقة :name',
|
||||
'log_dsgvo_revoked' => 'تم إلغاء تأكيد إقرار موافقة :name',
|
||||
'log_dsgvo_consent_removed' => ':name قام بإزالة إقرار الموافقة',
|
||||
'log_account_self_deleted' => ':name قام بحذف حسابه',
|
||||
'log_child_auto_deactivated' => 'تم تعطيل اللاعب :child تلقائيًا (الوالد الوحيد :parent حذف الحساب)',
|
||||
|
||||
// حماية البيانات - ويدجت الانتظار
|
||||
'dsgvo_pending_title' => 'حماية البيانات — التأكيد معلق',
|
||||
'dsgvo_pending_count' => ':count إقرار(ات) معلقة',
|
||||
'dsgvo_consent_document' => 'إقرار الموافقة على حماية البيانات',
|
||||
'dsgvo_reject' => 'رفض',
|
||||
'dsgvo_reject_confirm' => 'هل أنت متأكد أنك تريد رفض إقرار الموافقة هذا؟ سيتم حذف المستند وسيحتاج المستخدم إلى تحميله مرة أخرى.',
|
||||
'dsgvo_rejected' => 'تم رفض إقرار الموافقة.',
|
||||
'log_dsgvo_rejected' => 'تم رفض إقرار موافقة :name',
|
||||
'dsgvo_action_dsgvo_consent_rejected' => 'مرفوض',
|
||||
'dsgvo_preview_not_available' => 'المعاينة غير متاحة لهذا النوع من الملفات.',
|
||||
|
||||
// Factory Reset
|
||||
'factory_reset_title' => 'إعادة تعيين كاملة',
|
||||
'factory_reset_description' => 'يعيد تعيين التطبيق بالكامل إلى حالته الأولية. بعد إعادة التعيين، سيبدأ معالج التثبيت من جديد.',
|
||||
'factory_reset_deletes' => 'سيتم حذف ما يلي نهائياً',
|
||||
'factory_reset_item_users' => 'جميع المستخدمين (بما في ذلك المدير)',
|
||||
'factory_reset_item_data' => 'جميع الفرق واللاعبين والمواعيد والتعليقات',
|
||||
'factory_reset_item_settings' => 'جميع الإعدادات وفئات الملفات',
|
||||
'factory_reset_item_files' => 'جميع الملفات المرفوعة وصور الملفات الشخصية',
|
||||
'factory_reset_warning' => 'لا يمكن التراجع عن هذا الإجراء! سيتم إعادة تعيين التطبيق بالكامل وتشغيل معالج التثبيت.',
|
||||
'factory_reset_confirm' => 'تحذير: سيتم إعادة تعيين التطبيق بالكامل بشكل لا رجعة فيه وحذف جميع البيانات. سيبدأ معالج التثبيت من جديد. هل أنت متأكد؟',
|
||||
'factory_reset_button' => 'إعادة تعيين التطبيق بالكامل',
|
||||
|
||||
// الترخيص والدعم
|
||||
'settings_tab_license' => 'الترخيص والدعم',
|
||||
'license_title' => 'مفتاح الترخيص',
|
||||
'license_description' => 'أدخل مفتاح الترخيص للحصول على الدعم والتحديثات.',
|
||||
'license_key_label' => 'مفتاح الترخيص',
|
||||
'license_invalid' => 'مفتاح الترخيص المدخل غير صالح.',
|
||||
'registration_status' => 'حالة التسجيل',
|
||||
'registration_active' => 'مسجّل',
|
||||
'registration_inactive' => 'غير مسجّل',
|
||||
'register_now' => 'سجّل الآن',
|
||||
'registration_success' => 'تم تسجيل التثبيت بنجاح.',
|
||||
'registration_failed' => 'فشل التسجيل. يرجى المحاولة مرة أخرى لاحقاً.',
|
||||
'version_info' => 'معلومات النظام',
|
||||
'update_available' => 'تحديث متاح: الإصدار :version',
|
||||
'update_details' => 'عرض التفاصيل',
|
||||
'download_update' => 'تحميل التحديث',
|
||||
'installation_id_label' => 'معرّف التثبيت',
|
||||
'nav_support' => 'الدعم',
|
||||
'support_title' => 'تذاكر الدعم',
|
||||
'support_not_registered' => 'التثبيت غير مسجّل',
|
||||
'support_register_hint' => 'يجب تسجيل التثبيت لاستخدام الدعم. يتم إرسال البيانات التقنية فقط (اسم التطبيق، الرابط، إصدار PHP).',
|
||||
'support_new_ticket' => 'إنشاء تذكرة جديدة',
|
||||
'support_subject' => 'الموضوع',
|
||||
'support_category' => 'الفئة',
|
||||
'support_category_bug' => 'تقرير خطأ',
|
||||
'support_category_feature' => 'طلب ميزة',
|
||||
'support_category_question' => 'سؤال',
|
||||
'support_category_other' => 'أخرى',
|
||||
'support_message' => 'الرسالة',
|
||||
'support_submit' => 'إرسال التذكرة',
|
||||
'support_reply' => 'الرد',
|
||||
'support_send_reply' => 'إرسال الرد',
|
||||
'support_reply_placeholder' => 'اكتب ردك...',
|
||||
'support_ticket_created' => 'تم إنشاء التذكرة بنجاح.',
|
||||
'support_reply_sent' => 'تم إرسال الرد.',
|
||||
'support_submit_failed' => 'تعذر إنشاء التذكرة. يرجى المحاولة مرة أخرى لاحقاً.',
|
||||
'support_reply_failed' => 'تعذر إرسال الرد. يرجى المحاولة مرة أخرى لاحقاً.',
|
||||
'support_ticket_not_found' => 'التذكرة غير موجودة.',
|
||||
'support_no_tickets' => 'لا توجد تذاكر حتى الآن.',
|
||||
'support_no_messages' => 'لا توجد رسائل حتى الآن.',
|
||||
'support_ticket_id' => 'رقم التذكرة',
|
||||
'support_status' => 'الحالة',
|
||||
'support_status_open' => 'مفتوحة',
|
||||
'support_status_in_progress' => 'قيد المعالجة',
|
||||
'support_status_waiting' => 'في الانتظار',
|
||||
'support_status_closed' => 'مغلقة',
|
||||
'support_created_at' => 'تاريخ الإنشاء',
|
||||
'support_last_reply' => 'آخر رد',
|
||||
'support_back_to_list' => 'العودة إلى القائمة',
|
||||
'support_system_info_note' => 'يتم إرسال معلومات النظام تلقائياً.',
|
||||
'support_sender_support' => 'الدعم',
|
||||
'support_sender_you' => 'أنت',
|
||||
'support_ticket_closed' => 'هذه التذكرة مغلقة.',
|
||||
'installer_register_label' => 'تسجيل التثبيت',
|
||||
'installer_register_hint' => 'يتيح إشعارات التحديث والدعم. يتم إرسال البيانات التقنية فقط (اسم التطبيق، الرابط، إصدار PHP، إصدار التطبيق).',
|
||||
'installer_license_label' => 'مفتاح الترخيص (اختياري)',
|
||||
'installer_license_hint' => 'يمكن إدخاله لاحقاً في الإعدادات.',
|
||||
|
||||
// إعادة تعيين كلمة المرور (المسؤول + الخدمة الذاتية)
|
||||
'settings_tab_maintenance' => 'الصيانة',
|
||||
'factory_reset_password_label' => 'كلمة المرور الخاصة بك للتأكيد',
|
||||
'factory_reset_confirmation_label' => 'تأكيد الأمان',
|
||||
'factory_reset_confirmation_hint' => 'اكتب RESET-BESTÄTIGT لتأكيد العملية.',
|
||||
'password_reset_link_sent' => 'تم إرسال رابط إعادة تعيين كلمة المرور عبر البريد الإلكتروني.',
|
||||
'password_reset_email_label' => 'قالب بريد إعادة تعيين كلمة المرور',
|
||||
'password_reset_email_hint' => 'المتغيرات: {name} = اسم المستخدم، {link} = رابط إعادة التعيين، {app_name} = اسم التطبيق',
|
||||
'log_password_reset_requested' => 'تم طلب إعادة تعيين كلمة المرور',
|
||||
'log_password_changed_self' => ':name غيّر كلمة المرور',
|
||||
'log_dsgvo_viewed' => 'تم عرض مستند GDPR للمستخدم :name',
|
||||
|
||||
// محرر النصوص القانونية متعدد اللغات
|
||||
'legal_language_label' => 'اللغة',
|
||||
'legal_impressum_label' => 'بيان قانوني',
|
||||
'legal_datenschutz_label' => 'سياسة الخصوصية',
|
||||
'legal_password_reset_email_label' => 'بريد إعادة تعيين كلمة المرور',
|
||||
|
||||
// تبويب البريد الإلكتروني
|
||||
'settings_tab_mail' => 'البريد الإلكتروني',
|
||||
'mail_config_title' => 'إعدادات البريد الإلكتروني',
|
||||
'mail_config_hint' => 'إعدادات SMTP لإرسال رسائل البريد الإلكتروني (مثل إعادة تعيين كلمة المرور والإشعارات).',
|
||||
'mail_mailer_label' => 'طريقة الإرسال',
|
||||
'mail_log_mode' => 'بدون إرسال (سجل)',
|
||||
'mail_host_label' => 'مضيف SMTP',
|
||||
'mail_port_label' => 'المنفذ',
|
||||
'mail_username_label' => 'اسم المستخدم',
|
||||
'mail_password_label' => 'كلمة المرور',
|
||||
'mail_from_address_label' => 'عنوان المرسل',
|
||||
'mail_from_name_label' => 'اسم المرسل',
|
||||
'mail_encryption_label' => 'التشفير',
|
||||
'mail_encryption_none' => 'بدون',
|
||||
'mail_save' => 'حفظ إعدادات البريد',
|
||||
'mail_saved' => 'تم حفظ إعدادات البريد الإلكتروني.',
|
||||
'mail_test_button' => 'اختبار الاتصال',
|
||||
'mail_testing' => 'جاري اختبار الاتصال...',
|
||||
'mail_test_success' => 'اتصال SMTP ناجح!',
|
||||
];
|
||||
7
lang/ar/auth.php
Executable file
7
lang/ar/auth.php
Executable file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'failed' => 'بيانات الاعتماد هذه غير متطابقة مع سجلاتنا.',
|
||||
'password' => 'كلمة المرور المدخلة غير صحيحة.',
|
||||
'throttle' => 'محاولات تسجيل دخول كثيرة جداً. يرجى المحاولة مرة أخرى بعد :seconds ثانية.',
|
||||
];
|
||||
34
lang/ar/auth_ui.php
Executable file
34
lang/ar/auth_ui.php
Executable file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'login_title' => 'تسجيل الدخول',
|
||||
'email_label' => 'البريد الإلكتروني',
|
||||
'password_label' => 'كلمة المرور',
|
||||
'remember_me' => 'تذكرني',
|
||||
'login_button' => 'تسجيل الدخول',
|
||||
'register_title' => 'إنشاء حساب',
|
||||
'name_label' => 'الاسم',
|
||||
'children_assigned' => 'سيتم ربط حسابك بالأطفال التالية أسماؤهم:',
|
||||
'password_min' => '(٨ أحرف على الأقل)',
|
||||
'password_confirm_label' => 'تأكيد كلمة المرور',
|
||||
'create_account' => 'إنشاء الحساب',
|
||||
'already_registered' => 'لديك حساب بالفعل؟',
|
||||
'go_to_login' => 'تسجيل الدخول',
|
||||
'email_fixed_by_invitation' => 'عنوان البريد الإلكتروني محدد بواسطة الدعوة.',
|
||||
'invalid_invitation' => 'رابط الدعوة هذا غير صالح أو منتهي الصلاحية.',
|
||||
'welcome' => 'مرحباً! تم إنشاء حسابك بنجاح.',
|
||||
'forgot_password_link' => 'نسيت كلمة المرور؟',
|
||||
'forgot_password_title' => 'إعادة تعيين كلمة المرور',
|
||||
'forgot_password_description' => 'أدخل عنوان بريدك الإلكتروني وسنرسل لك رابطاً لإعادة تعيين كلمة المرور.',
|
||||
'send_reset_link' => 'إرسال الرابط',
|
||||
'back_to_login' => 'العودة لتسجيل الدخول',
|
||||
'reset_password_title' => 'تعيين كلمة مرور جديدة',
|
||||
'reset_password_button' => 'إعادة تعيين كلمة المرور',
|
||||
'new_password_label' => 'كلمة المرور الجديدة',
|
||||
'confirm_password_label' => 'تأكيد كلمة المرور',
|
||||
'login_failed' => 'بيانات الاعتماد غير صالحة.',
|
||||
'email_must_match_invitation' => 'يجب أن يتطابق عنوان البريد الإلكتروني مع الدعوة: :email',
|
||||
'cookie_notice' => 'يستخدم هذا الموقع فقط ملف تعريف ارتباط جلسة ضروري تقنياً. لا يوجد تتبع.',
|
||||
'cookie_notice_link' => 'اقرأ المزيد',
|
||||
'account_deactivated' => 'تم تعطيل حسابك. يرجى التواصل مع المسؤول.',
|
||||
];
|
||||
64
lang/ar/events.php
Executable file
64
lang/ar/events.php
Executable file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'المواعيد',
|
||||
'no_events' => 'لم يتم العثور على مواعيد.',
|
||||
'no_upcoming' => 'لا توجد مواعيد قادمة.',
|
||||
'upcoming_title' => 'المواعيد القادمة',
|
||||
'cancelled_label' => 'ملغى',
|
||||
'draft_label' => 'مسودة',
|
||||
'cancelled_banner' => 'تم إلغاء هذا الموعد.',
|
||||
'draft_banner' => 'مسودة — مرئي للمسؤولين فقط.',
|
||||
'back_to_list' => 'العودة إلى قائمة المواعيد',
|
||||
'description' => 'الوصف',
|
||||
'plan_route' => 'تخطيط المسار',
|
||||
'start_navigation' => 'بدء الملاحة',
|
||||
'participants' => 'المشاركون',
|
||||
'confirmations' => 'تأكيدات الحضور',
|
||||
'rejections' => 'الاعتذارات',
|
||||
'open_responses' => 'مفتوح',
|
||||
'participation_updated' => 'تم تحديث المشاركة.',
|
||||
'catering' => 'التموين / الطعام',
|
||||
'bring_something' => 'سأحضر شيئاً',
|
||||
'bring_nothing' => 'لن أحضر شيئاً',
|
||||
'catering_note_placeholder' => 'مثلاً: سأحضر كعكة',
|
||||
'catering_updated' => 'تم تحديث حالة التموين.',
|
||||
'no_catering_yet' => 'لا توجد تأكيدات للتموين بعد.',
|
||||
'timekeeper' => 'ميقاتي',
|
||||
'timekeeper_yes' => 'نعم، أستطيع',
|
||||
'timekeeper_no' => 'لا',
|
||||
'catering_short' => 'تموين',
|
||||
'timekeeper_short' => 'ميقاتي',
|
||||
'no_timekeeper_yet' => 'لم يتم تعيين ميقاتي بعد.',
|
||||
'timekeeper_updated' => 'تم تحديث حالة الميقاتي.',
|
||||
'comments' => 'التعليقات',
|
||||
'comment_placeholder' => 'اكتب تعليقاً...',
|
||||
'no_comments' => 'لا توجد تعليقات بعد.',
|
||||
'comment_deleted' => '[محذوف]',
|
||||
'confirm_delete_comment' => 'حذف التعليق؟',
|
||||
'comment_added' => 'تمت إضافة التعليق.',
|
||||
'comment_removed' => 'تم حذف التعليق.',
|
||||
'hello_user' => 'مرحباً، :name!',
|
||||
'upcoming_events' => 'المواعيد القادمة',
|
||||
'calendar' => 'التقويم',
|
||||
'today' => 'اليوم',
|
||||
'month_view' => 'شهر',
|
||||
'year_view' => 'سنة',
|
||||
|
||||
// الملفات
|
||||
'files' => 'الملفات',
|
||||
'download' => 'تحميل',
|
||||
'no_files' => 'لا توجد ملفات مرفقة.',
|
||||
|
||||
// الخصم والنتيجة
|
||||
'opponent' => 'الخصم',
|
||||
'score' => 'النتيجة',
|
||||
'score_home' => 'الفريق المضيف',
|
||||
'score_away' => 'الفريق الضيف',
|
||||
'vs' => 'ضد',
|
||||
|
||||
// Staff visibility
|
||||
'signed_up' => 'سجّل',
|
||||
'withdrawn' => 'انسحب',
|
||||
'deleted_label' => 'محذوف',
|
||||
];
|
||||
6
lang/ar/pagination.php
Executable file
6
lang/ar/pagination.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'previous' => '« السابق',
|
||||
'next' => 'التالي »',
|
||||
];
|
||||
14
lang/ar/passwords.php
Executable file
14
lang/ar/passwords.php
Executable file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'reset' => 'تم إعادة تعيين كلمة المرور.',
|
||||
'sent' => 'تم إرسال رابط إعادة تعيين كلمة المرور إلى بريدك الإلكتروني.',
|
||||
'throttled' => 'يرجى الانتظار قبل المحاولة مرة أخرى.',
|
||||
'token' => 'رمز إعادة تعيين كلمة المرور هذا غير صالح.',
|
||||
'user' => 'لم يتم العثور على مستخدم بهذا البريد الإلكتروني.',
|
||||
'reset_subject' => 'إعادة تعيين كلمة المرور — :app',
|
||||
'reset_greeting' => 'مرحباً :name،',
|
||||
'reset_line1' => 'لقد تلقيت هذا البريد الإلكتروني لأنه تم طلب إعادة تعيين كلمة المرور لحسابك.',
|
||||
'reset_line2' => 'ستنتهي صلاحية رابط إعادة التعيين بعد :count دقيقة.',
|
||||
'reset_line3' => 'إذا لم تطلب إعادة تعيين كلمة المرور، يمكنك تجاهل هذا البريد.',
|
||||
];
|
||||
44
lang/ar/profile.php
Executable file
44
lang/ar/profile.php
Executable file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'ملفي الشخصي',
|
||||
'name_label' => 'الاسم',
|
||||
'email_label' => 'البريد الإلكتروني',
|
||||
'email_readonly' => 'لا يمكن تغيير عنوان البريد الإلكتروني.',
|
||||
'phone_label' => 'الهاتف (المحمول)',
|
||||
'role_label' => 'الدور',
|
||||
'language_label' => 'اللغة',
|
||||
'my_children' => 'أطفالي',
|
||||
'updated' => 'تم تحديث الملف الشخصي.',
|
||||
|
||||
// صورة الملف الشخصي
|
||||
'profile_picture' => 'صورة الملف الشخصي',
|
||||
'upload_picture' => 'رفع صورة',
|
||||
'remove_picture' => 'إزالة الصورة',
|
||||
'max_picture_size' => 'حد أقصى 2 ميجابايت (JPG, PNG, GIF, WEBP)',
|
||||
|
||||
// موافقة GDPR
|
||||
'dsgvo_title' => 'إقرار الموافقة على حماية البيانات',
|
||||
'dsgvo_description' => 'قم بتحميل إقرار الموافقة الموقّع كصورة أو ملف PDF هنا. إقرار واحد يسري لكلا الوالدين معًا.',
|
||||
'dsgvo_upload' => 'تحميل الإقرار',
|
||||
'dsgvo_replace' => 'استبدال',
|
||||
'dsgvo_remove' => 'إزالة الإقرار',
|
||||
'dsgvo_file_hint' => 'PDF أو صورة (بحد أقصى 10 ميجابايت)',
|
||||
'dsgvo_uploaded' => 'تم تحميل إقرار الموافقة.',
|
||||
'dsgvo_removed' => 'تم إزالة إقرار الموافقة.',
|
||||
'dsgvo_view' => 'عرض',
|
||||
'dsgvo_confirmed' => 'مؤكّد',
|
||||
'dsgvo_pending' => 'في انتظار التأكيد من المسؤول/المدرب',
|
||||
'dsgvo_confirmed_by' => 'تم التأكيد بواسطة :name في :date',
|
||||
'dsgvo_confirm_remove' => 'هل تريد حقًا إزالة إقرار الموافقة؟ سيتم إعادة تعيين أي تأكيد موجود أيضًا.',
|
||||
|
||||
// حذف الحساب
|
||||
'danger_zone' => 'منطقة الخطر',
|
||||
'delete_account' => 'حذف الحساب',
|
||||
'delete_account_hint' => 'سيتم تعطيل ملفك الشخصي ويمكن للمسؤول استعادته خلال 7 أيام. البيانات التاريخية (التعليقات، المشاركات) ستبقى محفوظة.',
|
||||
'delete_warning_children' => 'تحذير: أنت الوالد الوحيد للأطفال التالين. سيتم تعطيلهم أيضًا:',
|
||||
'delete_confirm' => 'هل تريد حقًا حذف حسابك؟ يمكن التراجع عن هذا فقط بواسطة المسؤول.',
|
||||
'account_deleted' => 'تم حذف حسابك.',
|
||||
'cannot_delete_admin' => 'لا يمكن حذف حساب المسؤول.',
|
||||
'cannot_delete_staff' => 'لا يمكن للمدربين والمسؤولين حذف حسابهم عبر صفحة الملف الشخصي.',
|
||||
];
|
||||
109
lang/ar/ui.php
Executable file
109
lang/ar/ui.php
Executable file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'dashboard' => 'لوحة التحكم',
|
||||
'events' => 'المواعيد',
|
||||
'admin' => 'الإدارة',
|
||||
'profile' => 'الملف الشخصي',
|
||||
'logout' => 'تسجيل الخروج',
|
||||
'back_to_app' => 'العودة إلى التطبيق',
|
||||
'login' => 'تسجيل الدخول',
|
||||
'save' => 'حفظ',
|
||||
'cancel' => 'إلغاء',
|
||||
'edit' => 'تعديل',
|
||||
'delete' => 'حذف',
|
||||
'create' => 'إنشاء',
|
||||
'filter' => 'تصفية',
|
||||
'send' => 'إرسال',
|
||||
'back' => 'رجوع',
|
||||
'yes' => 'نعم',
|
||||
'no' => 'لا',
|
||||
'open' => 'مفتوح',
|
||||
'all_teams' => 'جميع الفرق',
|
||||
'all_types' => 'جميع الأنواع',
|
||||
'upcoming' => 'القادمة',
|
||||
'past' => 'السابقة',
|
||||
'period' => 'الفترة',
|
||||
'team' => 'الفريق',
|
||||
'type' => 'النوع',
|
||||
'name' => 'الاسم',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'password' => 'كلمة المرور',
|
||||
'role' => 'الدور',
|
||||
'language' => 'اللغة',
|
||||
'impressum' => 'بيانات الموقع',
|
||||
'privacy' => 'سياسة الخصوصية',
|
||||
'no_entries' => 'لا توجد إدخالات.',
|
||||
'clock' => '',
|
||||
'date_format' => 'D، d/m/Y، H:i',
|
||||
'date_format_long' => 'l، d. F Y، H:i',
|
||||
'date_format_short' => 'd/m/Y H:i',
|
||||
'date_format_date' => 'd/m/Y',
|
||||
'footer_impressum' => 'بيانات الموقع',
|
||||
'footer_privacy' => 'سياسة الخصوصية',
|
||||
'pwa_install_title' => 'تثبيت التطبيق',
|
||||
'pwa_install_text' => 'أضف التطبيق إلى شاشتك الرئيسية للوصول السريع.',
|
||||
'pwa_install_btn' => 'تثبيت',
|
||||
'pwa_ios_steps' => 'اضغط على <strong>⋯</strong> (القائمة)، ثم <strong>⬆</strong> (مشاركة) واختر «إضافة إلى الشاشة الرئيسية».',
|
||||
'error_403_title' => 'الوصول مرفوض',
|
||||
'error_403_text' => 'ليس لديك صلاحية للوصول إلى هذه الصفحة.',
|
||||
'error_404_title' => 'الصفحة غير موجودة',
|
||||
'error_404_text' => 'لم يتم العثور على الصفحة المطلوبة.',
|
||||
'error_500_title' => 'خطأ في الخادم',
|
||||
'error_500_text' => 'حدث خطأ داخلي. يرجى المحاولة مرة أخرى لاحقاً.',
|
||||
'back_to_dashboard' => 'العودة إلى لوحة التحكم',
|
||||
'enums' => [
|
||||
'event_type' => [
|
||||
'home_game' => 'مباراة على أرضنا',
|
||||
'away_game' => 'مباراة خارج الأرض',
|
||||
'training' => 'تدريب',
|
||||
'tournament' => 'بطولة',
|
||||
'meeting' => 'اجتماع',
|
||||
'other' => 'أخرى',
|
||||
],
|
||||
'event_status' => [
|
||||
'published' => 'منشور',
|
||||
'cancelled' => 'ملغى',
|
||||
'draft' => 'مسودة',
|
||||
],
|
||||
'participant_status' => [
|
||||
'yes' => 'مؤكد',
|
||||
'no' => 'معتذر',
|
||||
'unknown' => 'مفتوح',
|
||||
],
|
||||
'catering_status' => [
|
||||
'yes' => 'نعم',
|
||||
'no' => 'لا',
|
||||
'unknown' => 'مفتوح',
|
||||
],
|
||||
'user_role' => [
|
||||
'admin' => 'مدير',
|
||||
'coach' => 'مدرب',
|
||||
'parent_rep' => 'ممثل أولياء الأمور',
|
||||
'user' => 'ولي أمر',
|
||||
],
|
||||
],
|
||||
'locales' => [
|
||||
'de' => 'Deutsch',
|
||||
'en' => 'English',
|
||||
'pl' => 'Polski',
|
||||
'ru' => 'Русский',
|
||||
'ar' => 'العربية',
|
||||
'tr' => 'Türkçe',
|
||||
],
|
||||
|
||||
// شعار حماية البيانات
|
||||
'dsgvo_banner_title' => 'مطلوب إقرار الموافقة على حماية البيانات (DSGVO)',
|
||||
'dsgvo_banner_text' => 'يجب تقديم إقرار موافقة موقّع على حماية البيانات لاستخدام هذا التطبيق. يرجى تحميل الإقرار كصورة أو ملف PDF في ملفك الشخصي. لا يمكن استخدام التطبيق بالكامل إلا بعد التحميل.',
|
||||
'dsgvo_banner_action' => 'تحميل في الملف الشخصي الآن',
|
||||
'dsgvo_banner_pending_title' => 'إقرار الموافقة قيد المراجعة',
|
||||
'dsgvo_banner_pending_text' => 'تم تقديم إقرار الموافقة على حماية البيانات الخاص بك وهو قيد المراجعة. حتى يتم التأكيد من قبل المسؤول، يعمل التطبيق في وضع القراءة فقط — المشاركة والتموين والتوقيت والتعليقات مقفلة.',
|
||||
'dsgvo_restricted' => 'لم يتم تأكيد إقرار الموافقة على حماية البيانات الخاص بك بعد. يرجى الانتظار حتى الموافقة من قبل المسؤول.',
|
||||
'dsgvo_restricted_hint' => 'إقرار حماية البيانات غير مؤكد — الإجراءات مقفلة.',
|
||||
|
||||
// الملفات
|
||||
'files' => 'الملفات',
|
||||
'download' => 'تحميل',
|
||||
'all' => 'الكل',
|
||||
'close' => 'إغلاق',
|
||||
];
|
||||
130
lang/ar/validation.php
Executable file
130
lang/ar/validation.php
Executable file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'accepted' => 'يجب قبول :attribute.',
|
||||
'active_url' => ':attribute ليس عنوان URL صالحاً.',
|
||||
'after' => ':attribute يجب أن يكون تاريخاً بعد :date.',
|
||||
'after_or_equal' => ':attribute يجب أن يكون تاريخاً بعد أو يساوي :date.',
|
||||
'alpha' => ':attribute يجب أن يحتوي على أحرف فقط.',
|
||||
'alpha_dash' => ':attribute يجب أن يحتوي على أحرف وأرقام وشرطات وشرطات سفلية فقط.',
|
||||
'alpha_num' => ':attribute يجب أن يحتوي على أحرف وأرقام فقط.',
|
||||
'array' => ':attribute يجب أن يكون مصفوفة.',
|
||||
'before' => ':attribute يجب أن يكون تاريخاً قبل :date.',
|
||||
'before_or_equal' => ':attribute يجب أن يكون تاريخاً قبل أو يساوي :date.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute يجب أن يكون بين :min و :max.',
|
||||
'file' => ':attribute يجب أن يكون بين :min و :max كيلوبايت.',
|
||||
'string' => ':attribute يجب أن يكون بين :min و :max حرفاً.',
|
||||
'array' => ':attribute يجب أن يحتوي على بين :min و :max عنصراً.',
|
||||
],
|
||||
'boolean' => ':attribute يجب أن يكون صحيحاً أو خاطئاً.',
|
||||
'confirmed' => 'تأكيد :attribute غير متطابق.',
|
||||
'date' => ':attribute ليس تاريخاً صالحاً.',
|
||||
'date_equals' => ':attribute يجب أن يكون تاريخاً مساوياً لـ :date.',
|
||||
'date_format' => ':attribute لا يتوافق مع الصيغة :format.',
|
||||
'different' => ':attribute و :other يجب أن يكونا مختلفين.',
|
||||
'digits' => ':attribute يجب أن يتكون من :digits رقماً.',
|
||||
'digits_between' => ':attribute يجب أن يتكون من بين :min و :max رقماً.',
|
||||
'email' => ':attribute يجب أن يكون عنوان بريد إلكتروني صالحاً.',
|
||||
'exists' => 'القيمة المختارة لـ :attribute غير صالحة.',
|
||||
'file' => ':attribute يجب أن يكون ملفاً.',
|
||||
'filled' => ':attribute يجب أن يحتوي على قيمة.',
|
||||
'gt' => [
|
||||
'numeric' => ':attribute يجب أن يكون أكبر من :value.',
|
||||
'file' => ':attribute يجب أن يكون أكبر من :value كيلوبايت.',
|
||||
'string' => ':attribute يجب أن يحتوي على أكثر من :value حرفاً.',
|
||||
'array' => ':attribute يجب أن يحتوي على أكثر من :value عنصراً.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => ':attribute يجب أن يكون أكبر من أو يساوي :value.',
|
||||
'file' => ':attribute يجب أن يكون أكبر من أو يساوي :value كيلوبايت.',
|
||||
'string' => ':attribute يجب أن يحتوي على :value حرفاً على الأقل.',
|
||||
'array' => ':attribute يجب أن يحتوي على :value عنصراً على الأقل.',
|
||||
],
|
||||
'image' => ':attribute يجب أن يكون صورة.',
|
||||
'in' => 'القيمة المختارة لـ :attribute غير صالحة.',
|
||||
'in_array' => ':attribute غير موجود في :other.',
|
||||
'integer' => ':attribute يجب أن يكون عدداً صحيحاً.',
|
||||
'ip' => ':attribute يجب أن يكون عنوان IP صالحاً.',
|
||||
'json' => ':attribute يجب أن يكون نص JSON صالحاً.',
|
||||
'lt' => [
|
||||
'numeric' => ':attribute يجب أن يكون أقل من :value.',
|
||||
'file' => ':attribute يجب أن يكون أقل من :value كيلوبايت.',
|
||||
'string' => ':attribute يجب أن يحتوي على أقل من :value حرفاً.',
|
||||
'array' => ':attribute يجب أن يحتوي على أقل من :value عنصراً.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => ':attribute يجب أن يكون أقل من أو يساوي :value.',
|
||||
'file' => ':attribute يجب أن يكون أقل من أو يساوي :value كيلوبايت.',
|
||||
'string' => ':attribute يجب ألا يتجاوز :value حرفاً.',
|
||||
'array' => ':attribute يجب ألا يتجاوز :value عنصراً.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => ':attribute يجب ألا يكون أكبر من :max.',
|
||||
'file' => ':attribute يجب ألا يكون أكبر من :max كيلوبايت.',
|
||||
'string' => ':attribute يجب ألا يتجاوز :max حرفاً.',
|
||||
'array' => ':attribute يجب ألا يتجاوز :max عنصراً.',
|
||||
],
|
||||
'min' => [
|
||||
'numeric' => ':attribute يجب أن يكون :min على الأقل.',
|
||||
'file' => ':attribute يجب أن يكون :min كيلوبايت على الأقل.',
|
||||
'string' => ':attribute يجب أن يحتوي على :min حرفاً على الأقل.',
|
||||
'array' => ':attribute يجب أن يحتوي على :min عنصراً على الأقل.',
|
||||
],
|
||||
'not_in' => 'القيمة المختارة لـ :attribute غير صالحة.',
|
||||
'numeric' => ':attribute يجب أن يكون رقماً.',
|
||||
'present' => ':attribute يجب أن يكون موجوداً.',
|
||||
'regex' => 'صيغة :attribute غير صالحة.',
|
||||
'required' => ':attribute مطلوب.',
|
||||
'required_if' => ':attribute مطلوب عندما يكون :other هو :value.',
|
||||
'required_unless' => ':attribute مطلوب ما لم يكن :other ضمن :values.',
|
||||
'required_with' => ':attribute مطلوب عند وجود :values.',
|
||||
'required_with_all' => ':attribute مطلوب عند وجود :values.',
|
||||
'required_without' => ':attribute مطلوب عند عدم وجود :values.',
|
||||
'required_without_all' => ':attribute مطلوب عند عدم وجود أي من :values.',
|
||||
'same' => ':attribute و :other يجب أن يتطابقا.',
|
||||
'size' => [
|
||||
'numeric' => ':attribute يجب أن يكون :size.',
|
||||
'file' => ':attribute يجب أن يكون :size كيلوبايت.',
|
||||
'string' => ':attribute يجب أن يتكون من :size حرفاً.',
|
||||
'array' => ':attribute يجب أن يحتوي على :size عنصراً.',
|
||||
],
|
||||
'string' => ':attribute يجب أن يكون نصاً.',
|
||||
'timezone' => ':attribute يجب أن يكون منطقة زمنية صالحة.',
|
||||
'unique' => ':attribute مستخدم بالفعل.',
|
||||
'url' => ':attribute يجب أن يكون عنوان URL صالحاً.',
|
||||
|
||||
'password' => [
|
||||
'letters' => ':attribute يجب أن يحتوي على حرف واحد على الأقل.',
|
||||
'mixed' => ':attribute يجب أن يحتوي على حرف كبير وحرف صغير على الأقل.',
|
||||
'numbers' => ':attribute يجب أن يحتوي على رقم واحد على الأقل.',
|
||||
'symbols' => ':attribute يجب أن يحتوي على رمز واحد على الأقل.',
|
||||
'uncompromised' => ':attribute ظهر في تسريب بيانات. يرجى اختيار كلمة مرور مختلفة.',
|
||||
],
|
||||
|
||||
'attributes' => [
|
||||
'name' => 'الاسم',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'password' => 'كلمة المرور',
|
||||
'password_confirmation' => 'تأكيد كلمة المرور',
|
||||
'title' => 'العنوان',
|
||||
'body' => 'الرسالة',
|
||||
'type' => 'النوع',
|
||||
'status' => 'الحالة',
|
||||
'team_id' => 'الفريق',
|
||||
'start_date' => 'التاريخ',
|
||||
'start_time' => 'الوقت',
|
||||
'location_name' => 'الموقع',
|
||||
'address_text' => 'العنوان',
|
||||
'description_html' => 'الوصف',
|
||||
'first_name' => 'الاسم الأول',
|
||||
'last_name' => 'اسم العائلة',
|
||||
'birth_year' => 'سنة الميلاد',
|
||||
'jersey_number' => 'رقم القميص',
|
||||
'note' => 'ملاحظة',
|
||||
'season' => 'الموسم',
|
||||
'player_id' => 'اللاعب',
|
||||
'parent_id' => 'ولي الأمر',
|
||||
'relationship_label' => 'صلة القرابة',
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user