Feature-Toggles, Administration, wiederkehrende Events und Event-Serien
- Administration & Rollenmanagement: Neuer Admin-Bereich mit Feature-Toggles und Sichtbarkeitseinstellungen pro Rolle (11 Toggles, 24 Visibility-Settings) - AdministrationController mit eigenem Settings-Tab, aus SettingsController extrahiert - Feature-Toggle-Guards in Controllers (Invitation, File, ListGenerator, Comment) und Views (events/show, events/edit, events/create) - Setting::isFeatureEnabled() und isFeatureVisibleFor() Hilfsmethoden - Wiederkehrende Trainings: Täglich/Wöchentlich/2-Wöchentlich mit Ende per Datum oder Anzahl (max. 52), Vorschau im Formular - Event-Serien: Verknüpfung über event_series_id (UUID), Modal-Dialog beim Speichern und Löschen mit Optionen "nur dieses" / "alle folgenden" - Löschen-Button direkt in der Event-Bearbeitung mit Serien-Dialog - DemoDataSeeder: 4 Trainings als Serie mit gemeinsamer event_series_id - Übersetzungen in allen 6 Sprachen (de, en, pl, ru, ar, tr) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -627,4 +627,57 @@ return [
|
||||
|
||||
// الرؤية
|
||||
'visibility_feature_finances' => 'المالية',
|
||||
|
||||
// Administration
|
||||
'nav_administration' => 'الإدارة',
|
||||
'admin_title' => 'الإدارة',
|
||||
'admin_tab_features' => 'إدارة الأدوار',
|
||||
'admin_tab_mail' => 'البريد الإلكتروني',
|
||||
'admin_tab_license' => 'الترخيص والدعم',
|
||||
'admin_tab_maintenance' => 'الصيانة',
|
||||
'admin_tab_activity' => 'سجل النشاط',
|
||||
'features_description' => 'تفعيل أو تعطيل الميزات بشكل عام والتحكم في الرؤية لكل دور. الوظائف الأساسية (الأحداث، الفرق، اللاعبون، المستخدمون) نشطة دائمًا.',
|
||||
'feature_enabled' => 'مفعّل',
|
||||
'feature_disabled' => 'معطّل',
|
||||
'feature_statistics' => 'الإحصائيات',
|
||||
'feature_finances' => 'المالية',
|
||||
'feature_catering' => 'التموين',
|
||||
'feature_timekeepers' => 'ضبط الوقت',
|
||||
'feature_carpools' => 'مشاركة السيارات',
|
||||
'feature_comments' => 'التعليقات',
|
||||
'feature_files' => 'الملفات',
|
||||
'feature_faqs' => 'الأسئلة الشائعة',
|
||||
'feature_list_generator' => 'مولد القوائم',
|
||||
'feature_invitations' => 'الدعوات',
|
||||
'feature_player_stats' => 'إحصائيات اللاعبين',
|
||||
'features_saved' => 'تم حفظ إدارة الأدوار.',
|
||||
'activity_recent' => 'الأنشطة الأخيرة',
|
||||
|
||||
// التكرار
|
||||
'recurrence' => 'التكرار',
|
||||
'recurrence_none' => 'بدون تكرار',
|
||||
'recurrence_daily' => 'يومياً',
|
||||
'recurrence_weekly' => 'أسبوعياً',
|
||||
'recurrence_biweekly' => 'كل أسبوعين',
|
||||
'recurrence_end_type' => 'نهاية التكرار',
|
||||
'recurrence_end_date' => 'حتى تاريخ',
|
||||
'recurrence_end_count' => 'عدد التكرارات',
|
||||
'recurrence_count_label' => 'العدد (بدون الحدث الأول)',
|
||||
'recurrence_preview' => 'سيتم إنشاء :count أحداث إضافية',
|
||||
'recurrence_max_warning' => 'الحد الأقصى :max حدث',
|
||||
'recurrence_created' => 'تم إنشاء :count أحداث تدريبية.',
|
||||
|
||||
// سلسلة الأحداث
|
||||
'save_following' => 'تحديث جميع الأحداث التالية',
|
||||
'series_hint' => 'هذا الحدث جزء من سلسلة. هناك :count أحداث قادمة أخرى.',
|
||||
'save_series_title' => 'حفظ التغييرات',
|
||||
'save_series_description' => 'هذا الحدث جزء من سلسلة تحتوي على :count مواعيد قادمة أخرى. هل تريد تطبيق التغييرات على الأحداث التالية أيضًا؟',
|
||||
'save_only_this' => 'حفظ هذا الحدث فقط',
|
||||
'save_this_and_following' => 'تحديث هذا وجميع الأحداث التالية',
|
||||
'delete_series_title' => 'حذف سلسلة الأحداث',
|
||||
'delete_series_description' => 'هذا الحدث ينتمي إلى سلسلة متكررة. ماذا تريد حذفه؟',
|
||||
'delete_only_this' => 'حذف هذا الحدث فقط',
|
||||
'delete_this_and_following' => 'حذف هذا وجميع الأحداث التالية',
|
||||
'series_events_deleted' => 'تم حذف :count أحداث.',
|
||||
'series_events_updated' => 'تم تحديث هذا الحدث و :count أحداث تالية.',
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user