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' => 'صلة القرابة',
|
||||
],
|
||||
];
|
||||
585
lang/de/admin.php
Executable file
585
lang/de/admin.php
Executable file
@@ -0,0 +1,585 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// Dashboard
|
||||
'dashboard_title' => 'Admin-Dashboard',
|
||||
'stat_users' => 'Benutzer',
|
||||
'stat_players' => 'Spieler',
|
||||
'stat_upcoming' => 'Anstehende Termine',
|
||||
'stat_invitations' => 'Offene Einladungen',
|
||||
'quick_links' => 'Schnellzugriff',
|
||||
'new_event' => 'Neuer Termin',
|
||||
'new_player' => 'Neuer Spieler',
|
||||
'new_invitation' => 'Neue Einladung',
|
||||
'new_team' => 'Neues Team',
|
||||
'open_responses_title' => 'Termine mit offenen Rückmeldungen',
|
||||
'x_open' => ':count offen',
|
||||
|
||||
// Navigation
|
||||
'nav_teams' => 'Teams',
|
||||
'nav_players' => 'Spieler',
|
||||
'nav_users' => 'Benutzer',
|
||||
'nav_invitations' => 'Einladungen',
|
||||
'nav_events' => 'Events',
|
||||
'nav_settings' => 'Einstellungen',
|
||||
'nav_verwaltung' => 'Verwaltung',
|
||||
|
||||
// Allgemein
|
||||
'actions' => 'Aktionen',
|
||||
'action' => 'Aktion',
|
||||
'please_select' => 'Bitte wählen',
|
||||
'back_to_list' => 'Zurück zur Liste',
|
||||
'inactive' => 'Inaktiv',
|
||||
'nr' => 'Nr.',
|
||||
'photo' => 'Foto',
|
||||
'date' => 'Datum',
|
||||
'location' => 'Ort',
|
||||
'all_status' => 'Alle Status',
|
||||
'copied' => 'Kopiert!',
|
||||
'copy' => 'Kopieren',
|
||||
'created_by' => 'von',
|
||||
'valid_until' => 'gültig bis',
|
||||
|
||||
// Teams
|
||||
'teams_title' => 'Teams',
|
||||
'team_created' => 'Team wurde erstellt.',
|
||||
'team_updated' => 'Team wurde aktualisiert.',
|
||||
'team_name' => 'Teamname',
|
||||
'year_group' => 'Jahrgang',
|
||||
'year_group_placeholder' => 'z.B. 2017/18',
|
||||
'active' => 'Aktiv',
|
||||
'team_is_active' => 'Team ist aktiv',
|
||||
'create_team' => 'Team erstellen',
|
||||
'edit_team' => 'Team bearbeiten',
|
||||
'no_teams_yet' => 'Noch keine Teams vorhanden.',
|
||||
'team_notes' => 'Notizen',
|
||||
'team_notes_placeholder' => 'Notizen zum Team (intern, nur für Admins sichtbar)...',
|
||||
'team_coaches' => 'Trainer',
|
||||
'no_coaches_available' => 'Keine Trainer im System vorhanden.',
|
||||
'team_players' => 'Spieler',
|
||||
'team_parent_reps' => 'Elternvertretung',
|
||||
'team_parent_reps_hint' => 'Eltern mit der Rolle "Elternvertretung", die Kinder in diesem Team haben.',
|
||||
'no_parent_reps' => 'Keine Elternvertretung für dieses Team.',
|
||||
'log_team_updated' => 'Team ":name" wurde aktualisiert',
|
||||
'log_player_team_changed' => 'Spieler :name wurde in ein anderes Team verschoben',
|
||||
|
||||
// Players
|
||||
'players_title' => 'Spieler',
|
||||
'player_created' => 'Spieler wurde erstellt.',
|
||||
'player_updated' => 'Spieler wurde aktualisiert.',
|
||||
'first_name' => 'Vorname',
|
||||
'last_name' => 'Nachname',
|
||||
'birth_year' => 'Geburtsjahr',
|
||||
'jersey_number' => 'Trikotnummer',
|
||||
'photo_permission' => 'Fotoerlaubnis',
|
||||
'notes' => 'Notizen',
|
||||
'parent_assigned' => 'Elternteil wurde zugeordnet.',
|
||||
'parent_removed' => 'Zuordnung wurde entfernt.',
|
||||
'assign_parent' => 'Elternteil zuordnen',
|
||||
'add_parent' => 'Elternteil hinzufügen',
|
||||
'select_user' => 'Benutzer wählen',
|
||||
'assign' => 'Zuordnen',
|
||||
'relationship_label' => 'Beziehung',
|
||||
'relationship_placeholder' => 'z.B. Mutter, Vater',
|
||||
'parents' => 'Eltern',
|
||||
'player_data' => 'Stammdaten',
|
||||
'parent_assignment' => 'Eltern-Zuordnung',
|
||||
'no_parents_yet' => 'Noch keine Eltern zugeordnet.',
|
||||
'confirm_remove_parent' => 'Zuordnung wirklich entfernen?',
|
||||
'remove' => 'Entfernen',
|
||||
'no_players_yet' => 'Noch keine Spieler vorhanden.',
|
||||
|
||||
// Users
|
||||
'users_title' => 'Benutzer',
|
||||
'user_toggled' => 'Benutzer wurde :status.',
|
||||
'role_updated' => 'Rolle wurde aktualisiert.',
|
||||
'cannot_deactivate_self' => 'Du kannst deinen eigenen Account nicht deaktivieren.',
|
||||
'cannot_change_own_role' => 'Du kannst deine eigene Rolle nicht ändern.',
|
||||
'activated' => 'aktiviert',
|
||||
'deactivated' => 'deaktiviert',
|
||||
'deactivated_label' => 'Deaktiviert',
|
||||
'children' => 'Kinder',
|
||||
'phone' => 'Erreichbarkeit',
|
||||
'last_login' => 'Letzter Login',
|
||||
'never' => 'Nie',
|
||||
'deactivate' => 'Deaktivieren',
|
||||
'activate' => 'Aktivieren',
|
||||
'you_suffix' => '(du)',
|
||||
'edit' => 'Bearbeiten',
|
||||
'edit_user' => 'Benutzer bearbeiten',
|
||||
'user_data' => 'Benutzerdaten',
|
||||
'user_updated' => 'Benutzer wurde aktualisiert.',
|
||||
'reset_password' => 'Passwort zurücksetzen',
|
||||
'reset_password_hint' => 'Sendet dem Benutzer einen Link zum Zurücksetzen des Passworts per E-Mail.',
|
||||
'reset_password_confirm' => 'Dem Benutzer einen Passwort-Reset-Link per E-Mail senden?',
|
||||
'password_reset_success' => 'Neues Passwort wurde generiert.',
|
||||
'new_password_label' => 'Neues Passwort (einmalig sichtbar):',
|
||||
'password_only_visible_now' => 'Dieses Passwort wird nur jetzt angezeigt. Bitte weitergeben und Seite nicht neu laden.',
|
||||
'cannot_edit_own_role' => 'Du kannst deine eigene Rolle nicht hier ändern.',
|
||||
'cannot_assign_admin_role' => 'Du kannst die Admin-Rolle nicht vergeben.',
|
||||
'cannot_reset_own_password' => 'Du kannst dein eigenes Passwort nicht über den Admin-Bereich zurücksetzen.',
|
||||
'registered_at' => 'Registriert am',
|
||||
|
||||
// Invitations
|
||||
'invitations_title' => 'Einladungen',
|
||||
'invitation_created' => 'Einladung erstellt. Link: :link',
|
||||
'invitation_deleted' => 'Einladung wurde gelöscht.',
|
||||
'invitation_already_used' => 'Bereits eingelöste Einladungen können nicht gelöscht werden.',
|
||||
'create_invitation' => 'Einladung erstellen',
|
||||
'assign_players' => 'Spieler zuordnen',
|
||||
'email_optional' => 'E-Mail-Adresse (optional)',
|
||||
'email_optional_hint' => 'Wenn gesetzt, kann nur diese E-Mail sich registrieren',
|
||||
'expires_at' => 'Gültig bis',
|
||||
'valid_for_days' => 'Gültig für (Tage)',
|
||||
'token' => 'Token',
|
||||
'status' => 'Status',
|
||||
'used' => 'Eingelöst',
|
||||
'expired' => 'Abgelaufen',
|
||||
'pending' => 'Offen',
|
||||
'copy_link' => 'Link kopieren',
|
||||
'invite_link' => 'Einladungslink',
|
||||
'no_assignment' => 'Keine Zuordnung',
|
||||
'no_invitations_yet' => 'Noch keine Einladungen erstellt.',
|
||||
'no_active_players' => 'Keine aktiven Spieler vorhanden.',
|
||||
'confirm_delete_invitation' => 'Einladung wirklich löschen?',
|
||||
'created_label' => 'Erstellt',
|
||||
'player_assignment_hint' => 'Wähle die Kinder aus, die dem neuen Eltern-Account automatisch zugeordnet werden sollen.',
|
||||
|
||||
// Events
|
||||
'events_title' => 'Events',
|
||||
'event_created' => 'Event wurde erstellt.',
|
||||
'event_updated' => 'Event wurde aktualisiert.',
|
||||
'event_deleted' => 'Event wurde gelöscht.',
|
||||
'event_title' => 'Titel',
|
||||
'start_at' => 'Start',
|
||||
'date' => 'Datum',
|
||||
'time' => 'Uhrzeit',
|
||||
'end_at' => 'Ende',
|
||||
'location_name' => 'Ortsname',
|
||||
'address' => 'Adresse',
|
||||
'description' => 'Beschreibung',
|
||||
'search_address' => 'Adresse suchen...',
|
||||
'new_event_title' => 'Neues Event',
|
||||
'edit_event_title' => 'Event bearbeiten',
|
||||
'no_events_yet' => 'Noch keine Events vorhanden.',
|
||||
'confirm_delete_event' => 'Event wirklich löschen?',
|
||||
'location_address' => 'Ort / Adresse',
|
||||
'location_name_hint' => 'Ortsname (z.B. Sporthalle Nord)',
|
||||
'search_by_name' => 'Adresse suchen',
|
||||
'location_name_placeholder' => 'z.B. BVB Stadion, Sporthalle West...',
|
||||
'search_address_hint' => 'Adresse eingeben (min. 3 Zeichen)...',
|
||||
'description_placeholder' => 'Beschreibung eingeben...',
|
||||
'assignments' => 'Zuweisungen',
|
||||
'catering_assignment' => 'Catering',
|
||||
'timekeeper_assignment' => 'Zeitnehmer',
|
||||
'geocoding_error' => 'Adresssuche fehlgeschlagen. Bitte erneut versuchen.',
|
||||
'geocoding_rate_limit' => 'Zu viele Anfragen. Bitte kurz warten.',
|
||||
'geocoding_no_results' => 'Keine Adresse gefunden. Bitte genauer eingeben.',
|
||||
|
||||
// Mindestanforderungen
|
||||
'min_requirements' => 'Mindestanforderungen',
|
||||
'min_players' => 'Min. Spieler',
|
||||
'min_parents' => 'Min. Eltern',
|
||||
'min_catering' => 'Min. Catering',
|
||||
'min_timekeepers' => 'Min. Zeitnehmer',
|
||||
'event_defaults_title' => 'Standard-Mindestwerte für Events',
|
||||
'event_defaults_description' => 'Lege Standard-Mindestwerte für neue Events pro Typ fest. Admins können diese beim Erstellen überschreiben.',
|
||||
|
||||
// Orte-Verwaltung
|
||||
'nav_locations' => 'Orte',
|
||||
'locations_title' => 'Orte verwalten',
|
||||
'location_add' => 'Neuen Ort anlegen',
|
||||
'location_name_label' => 'Name',
|
||||
'location_save' => 'Speichern',
|
||||
'location_created' => 'Ort wurde angelegt.',
|
||||
'location_updated' => 'Ort wurde aktualisiert.',
|
||||
'location_deleted' => 'Ort wurde gelöscht.',
|
||||
'location_confirm_delete' => 'Ort wirklich löschen?',
|
||||
'locations_empty' => 'Noch keine Orte vorhanden.',
|
||||
'known_locations' => 'Bekannte Orte',
|
||||
'address_manual_hint' => 'Adresse manuell eingeben...',
|
||||
|
||||
// Settings
|
||||
'settings_title' => 'Einstellungen',
|
||||
'settings_saved' => 'Einstellungen gespeichert.',
|
||||
'settings_tab_general' => 'Allgemein',
|
||||
'settings_tab_legal' => 'Rechtliches',
|
||||
'settings_tab_defaults' => 'Event-Standards',
|
||||
'settings_tab_categories' => 'Dateikategorien',
|
||||
'settings_tab_maintenance' => 'Wartung',
|
||||
|
||||
// Demo-Daten löschen
|
||||
'demo_data_delete_title' => 'Beispieldaten löschen',
|
||||
'demo_data_delete_description' => 'Entferne alle Beispieldaten, die bei der Installation angelegt wurden. Die App wird auf den Zustand direkt nach der Installation zurückgesetzt.',
|
||||
'demo_data_delete_warning' => 'Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden! Alle Benutzer (außer dem Administrator), Teams, Spieler, Termine, Kommentare, Dateien und Aktivitätsprotokolle werden unwiderruflich gelöscht.',
|
||||
'demo_data_delete_button' => 'Alle Beispieldaten löschen',
|
||||
'demo_data_delete_confirm' => 'Bist du sicher, dass du ALLE Beispieldaten unwiderruflich löschen möchtest?',
|
||||
'demo_data_deleted' => 'Alle Beispieldaten wurden erfolgreich gelöscht.',
|
||||
'demo_data_deletes' => 'Wird gelöscht:',
|
||||
'demo_data_keeps' => 'Bleibt erhalten:',
|
||||
'demo_data_except_admin' => 'außer Administrator',
|
||||
'demo_data_keeps_admin' => 'Dein Administrator-Konto',
|
||||
|
||||
// Dateiverwaltung
|
||||
'nav_files' => 'Dateien',
|
||||
'files_title' => 'Dateiverwaltung',
|
||||
'upload_file' => 'Datei hochladen',
|
||||
'file_uploaded' => 'Datei wurde hochgeladen.',
|
||||
'file_deleted' => 'Datei wurde gelöscht.',
|
||||
'file_category' => 'Kategorie',
|
||||
'select_category' => 'Kategorie wählen',
|
||||
'no_files_yet' => 'Noch keine Dateien in dieser Kategorie.',
|
||||
'no_files_at_all' => 'Noch keine Dateien hochgeladen.',
|
||||
'file_size' => 'Größe',
|
||||
'uploaded_by' => 'Hochgeladen von',
|
||||
'uploaded_at' => 'Hochgeladen am',
|
||||
'confirm_delete_file' => 'Datei wirklich löschen? Alle Event-Verknüpfungen werden entfernt.',
|
||||
'allowed_file_types' => 'Erlaubte Dateitypen: PDF, DOCX, XLSX, Bilder (JPG, PNG, GIF, WEBP)',
|
||||
'max_file_size' => 'Maximale Dateigröße: 10 MB',
|
||||
'file_categories' => 'Dateikategorien',
|
||||
'file_categories_description' => 'Verwalte die Kategorien für die Dateiverwaltung.',
|
||||
'new_category' => 'Neue Kategorie',
|
||||
'category_name' => 'Kategoriename',
|
||||
'category_created' => 'Kategorie wurde erstellt.',
|
||||
'category_updated' => 'Kategorie wurde aktualisiert.',
|
||||
'category_deleted' => 'Kategorie wurde gelöscht.',
|
||||
'category_not_empty' => 'Kategorie kann nicht gelöscht werden, da sie noch Dateien enthält.',
|
||||
'confirm_delete_category' => 'Kategorie wirklich löschen?',
|
||||
'event_files' => 'Dateien',
|
||||
'attach_from_library' => 'Aus Bibliothek anhängen',
|
||||
'upload_new_file' => 'Neue Datei hochladen',
|
||||
'attached_files' => 'Angehängte Dateien',
|
||||
'detach_file' => 'Entfernen',
|
||||
'no_attached_files' => 'Keine Dateien angehängt.',
|
||||
'profile_picture' => 'Profilbild',
|
||||
'upload_picture' => 'Bild hochladen',
|
||||
'remove_picture' => 'Bild entfernen',
|
||||
'picture_uploaded' => 'Profilbild wurde aktualisiert.',
|
||||
'picture_removed' => 'Profilbild wurde entfernt.',
|
||||
'max_picture_size' => 'Max. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
'html_anchor_hint' => 'Tipp: Sprungmarken setzen mit id-Attribut, z. B. <h3 id="cookies">',
|
||||
|
||||
// Soft-Delete
|
||||
'danger_zone' => 'Gefahrenzone',
|
||||
'delete_user' => 'Benutzer löschen',
|
||||
'delete_user_hint' => 'Der Benutzer wird deaktiviert und kann 7 Tage lang wiederhergestellt werden. Historische Daten (Kommentare, Teilnahmen) bleiben erhalten.',
|
||||
'delete_player' => 'Spieler löschen',
|
||||
'delete_player_hint' => 'Der Spieler wird entfernt und kann 7 Tage lang wiederhergestellt werden. Historische Daten (Teilnahmen, Events) bleiben erhalten.',
|
||||
'user_status_label' => 'Benutzerstatus',
|
||||
'player_status_label' => 'Spielerstatus',
|
||||
'deactivate_user_hint' => 'Der Benutzer kann sich nicht mehr einloggen.',
|
||||
'activate_user_hint' => 'Der Benutzer kann sich wieder einloggen.',
|
||||
'deactivate_player_hint' => 'Der Spieler wird nicht mehr in Terminlisten angezeigt.',
|
||||
'activate_player_hint' => 'Der Spieler wird wieder in Terminlisten angezeigt.',
|
||||
'player_toggled' => 'Spieler :status.',
|
||||
'log_player_toggled' => 'Spieler :name :status',
|
||||
'confirm_delete_user' => 'Möchtest du diesen Benutzer wirklich löschen? Er kann 7 Tage lang wiederhergestellt werden.',
|
||||
'confirm_delete_player' => 'Möchtest du diesen Spieler wirklich löschen? Er kann 7 Tage lang wiederhergestellt werden.',
|
||||
'user_deleted' => 'Benutzer wurde gelöscht.',
|
||||
'user_restored' => 'Benutzer wurde wiederhergestellt.',
|
||||
'player_deleted' => 'Spieler wurde gelöscht.',
|
||||
'player_restored' => 'Spieler wurde wiederhergestellt.',
|
||||
'cannot_delete_self' => 'Du kannst dich nicht selbst löschen.',
|
||||
'cannot_delete_main_admin' => 'Der Haupt-Admin kann nicht gelöscht werden.',
|
||||
'restore_expired' => 'Die Wiederherstellungsfrist ist abgelaufen.',
|
||||
'trash' => 'Papierkorb',
|
||||
'restore' => 'Wiederherstellen',
|
||||
'delete' => 'Löschen',
|
||||
'deleted_at' => 'Gelöscht am',
|
||||
|
||||
// Activity Log
|
||||
'activity_log_title' => 'Aktivitätslog',
|
||||
'nav_activity_log' => 'Aktivitätslog',
|
||||
'log_category' => 'Kategorie',
|
||||
'log_all_categories' => 'Alle Kategorien',
|
||||
'log_cat_auth' => 'Authentifizierung',
|
||||
'log_cat_users' => 'Benutzer',
|
||||
'log_cat_players' => 'Spieler',
|
||||
'log_cat_events' => 'Termine',
|
||||
'log_cat_files' => 'Dateien',
|
||||
'log_cat_settings' => 'Einstellungen',
|
||||
'log_cat_dsgvo' => 'DSGVO',
|
||||
'log_from' => 'Von',
|
||||
'log_to' => 'Bis',
|
||||
'log_filter' => 'Filtern',
|
||||
'log_reset' => 'Zurücksetzen',
|
||||
'log_time' => 'Zeitpunkt',
|
||||
'log_user' => 'Benutzer',
|
||||
'log_action' => 'Aktion',
|
||||
'log_description' => 'Beschreibung',
|
||||
'log_ip' => 'IP-Adresse',
|
||||
'log_system' => 'System',
|
||||
'log_empty' => 'Keine Einträge vorhanden.',
|
||||
'log_details' => 'Details',
|
||||
'log_field' => 'Feld',
|
||||
'log_old_value' => 'Vorher',
|
||||
'log_new_value' => 'Nachher',
|
||||
|
||||
// Log descriptions
|
||||
'log_login' => ':name hat sich angemeldet',
|
||||
'log_logout' => ':name hat sich abgemeldet',
|
||||
'log_login_failed' => 'Fehlgeschlagener Login-Versuch für :email',
|
||||
'log_registered' => ':name hat sich registriert',
|
||||
'log_user_updated' => 'Benutzer :name wurde aktualisiert',
|
||||
'log_user_toggled' => 'Benutzer :name: Status geändert auf :status',
|
||||
'log_role_changed' => 'Rolle von :name geändert auf :role',
|
||||
'log_password_reset' => 'Passwort von :name wurde zurückgesetzt',
|
||||
'log_user_deleted' => 'Benutzer :name wurde gelöscht',
|
||||
'log_user_restored' => 'Benutzer :name wurde wiederhergestellt',
|
||||
'log_player_created' => 'Spieler :name wurde erstellt',
|
||||
'log_player_updated' => 'Spieler :name wurde aktualisiert',
|
||||
'log_player_deleted' => 'Spieler :name wurde gelöscht',
|
||||
'log_player_restored' => 'Spieler :name wurde wiederhergestellt',
|
||||
'log_parent_assigned' => ':parent wurde :player als Elternteil zugeordnet',
|
||||
'log_parent_removed' => ':parent wurde als Elternteil von :player entfernt',
|
||||
'log_event_created' => 'Termin ":title" wurde erstellt',
|
||||
'log_event_updated' => 'Termin ":title" wurde aktualisiert',
|
||||
'log_event_deleted' => 'Termin ":title" wurde gelöscht',
|
||||
'log_participant_changed' => 'Teilnahme-Status für ":event" geändert auf :status',
|
||||
'log_catering_changed' => 'Catering-Status für ":event" geändert auf :status',
|
||||
'log_timekeeper_changed' => 'Zeitnehmer-Status für ":event" geändert auf :status',
|
||||
'log_comment_created' => 'Kommentar zu ":event" hinzugefügt',
|
||||
'log_comment_deleted' => 'Kommentar zu ":event" gelöscht',
|
||||
'log_file_uploaded' => 'Datei ":name" hochgeladen',
|
||||
'log_file_deleted' => 'Datei ":name" gelöscht',
|
||||
'log_settings_updated' => 'Einstellungen wurden aktualisiert',
|
||||
'log_invitation_created' => 'Einladung erstellt für :email',
|
||||
|
||||
// Statistik
|
||||
'nav_statistics' => 'Statistik',
|
||||
'statistics_title' => 'Spiel-Statistik',
|
||||
'total_games' => 'Spiele gesamt',
|
||||
'wins' => 'Siege',
|
||||
'losses' => 'Niederlagen',
|
||||
'draws' => 'Unentschieden',
|
||||
'win_rate' => 'Siegquote',
|
||||
'chart_win_loss' => 'Siege / Niederlagen',
|
||||
'chart_player_participation' => 'Spieler-Teilnahme',
|
||||
'chart_parent_involvement' => 'Eltern-Engagement',
|
||||
'no_games_yet' => 'Noch keine Spiele vorhanden.',
|
||||
'filter_from' => 'Von',
|
||||
'filter_to' => 'Bis',
|
||||
'filter_apply' => 'Filtern',
|
||||
'filter_reset' => 'Zurücksetzen',
|
||||
'all_teams' => 'Alle Teams',
|
||||
'not_applicable' => 'N/A',
|
||||
'min_users' => 'Min. Benutzer',
|
||||
'home_short' => 'H',
|
||||
'away_short' => 'A',
|
||||
'player_ranking_title' => 'Spieler-Teilnahme',
|
||||
'player_ranking_desc' => 'Teilnahmequote der Spieler an :count Spielen (Heim- und Auswärtsspiele).',
|
||||
'games_played' => 'Gespielt',
|
||||
'games_assigned' => 'Aufgestellt',
|
||||
'participation_rate' => 'Quote',
|
||||
'parent_ranking_title' => 'Eltern-Engagement',
|
||||
'parent_ranking_desc' => 'Catering (:catering Events) und Zeitnehmer (:timekeeper Events) — alle publizierten Termine.',
|
||||
'total_contributions' => 'Gesamt',
|
||||
|
||||
// Statistik-Sichtbarkeit
|
||||
'statistics_enabled_label' => 'Statistik-Seite aktivieren',
|
||||
'statistics_enabled_hint' => 'Wenn deaktiviert, ist die Statistik-Seite nur für den Administrator sichtbar.',
|
||||
|
||||
// Slogan & Favicon
|
||||
'slogan_label' => 'Slogan',
|
||||
'slogan_hint' => 'Wird auf der Login-Seite und im Footer angezeigt.',
|
||||
'favicon_label' => 'Favicon',
|
||||
'favicon_hint' => 'ICO, PNG, SVG, JPG (max. 512 KB)',
|
||||
'favicon_current' => 'Aktuelles Favicon',
|
||||
'favicon_remove' => 'Favicon entfernen',
|
||||
'favicon_uploaded' => 'Favicon wurde aktualisiert.',
|
||||
'favicon_removed' => 'Favicon wurde entfernt.',
|
||||
|
||||
// Undo / Revert
|
||||
'log_revert' => 'Rückgängig',
|
||||
'log_revert_confirm' => 'Möchtest du diese Aktion wirklich rückgängig machen?',
|
||||
'log_revert_success' => 'Aktion wurde erfolgreich rückgängig gemacht.',
|
||||
'log_revert_not_possible' => 'Diese Aktion kann nicht rückgängig gemacht werden.',
|
||||
'log_reverted' => 'Rückgängig gemacht: ":desc"',
|
||||
'event_restored' => 'Event wurde wiederhergestellt.',
|
||||
'log_event_restored' => 'Event ":title" wurde wiederhergestellt',
|
||||
|
||||
// Sichtbarkeit
|
||||
'settings_tab_visibility' => 'Sichtbarkeit',
|
||||
'visibility_description' => 'Steuere, welche Funktionen für welche Rollen sichtbar sind. Administratoren sehen immer alles.',
|
||||
'visibility_feature_statistics' => 'Statistik-Seite',
|
||||
'visibility_feature_catering_history' => 'Catering/Zeitnehmer-Verlauf',
|
||||
|
||||
// Listenerstellung
|
||||
'nav_list_generator' => 'Listenerstellung',
|
||||
'list_generator_title' => 'Liste erstellen',
|
||||
'list_title' => 'Betreff',
|
||||
'list_subtitle' => 'Untertitel (optional)',
|
||||
'list_notes' => 'Notizen / Beschreibung',
|
||||
'list_source' => 'Zeilen-Quelle',
|
||||
'list_source_players' => 'Spieler',
|
||||
'list_source_parents' => 'Eltern',
|
||||
'list_source_freetext' => 'Freitext',
|
||||
'list_freetext_hint' => 'Eine Zeile pro Eintrag',
|
||||
'list_columns' => 'Spalten',
|
||||
'list_custom_columns' => 'Zusätzliche Spalten',
|
||||
'list_add_column' => 'Spalte hinzufügen',
|
||||
'list_column_name' => 'Spaltenname',
|
||||
'list_generate' => 'Liste erstellen',
|
||||
'list_result_title' => 'Liste erstellt',
|
||||
'list_print' => 'Drucken / Als PDF speichern',
|
||||
'list_new' => 'Neue Liste erstellen',
|
||||
'list_to_library' => 'Zur Datei-Bibliothek',
|
||||
'list_generated_at' => 'Erstellt am',
|
||||
'list_all_teams' => 'Alle Teams',
|
||||
'list_saved_info' => 'Datei ":name" wurde automatisch in der Bibliothek unter "Allgemein" gespeichert.',
|
||||
'list_download_pdf' => 'PDF herunterladen',
|
||||
'list_entries_count' => 'Einträge',
|
||||
'log_list_generated' => 'Liste ":title" wurde erstellt',
|
||||
'no_entries' => 'Keine Einträge vorhanden.',
|
||||
|
||||
// DSGVO
|
||||
'dsgvo_title' => 'DSGVO-Einverständniserklärung',
|
||||
'dsgvo_short' => 'DSGVO',
|
||||
'dsgvo_consent_label' => 'Einverständniserklärung bestätigt',
|
||||
'dsgvo_view_document' => 'Dokument ansehen',
|
||||
'dsgvo_confirm' => 'Bestätigen',
|
||||
'dsgvo_revoke' => 'Widerrufen',
|
||||
'dsgvo_toggled' => 'DSGVO-Status wurde aktualisiert.',
|
||||
'dsgvo_no_file' => 'Es wurde noch kein Dokument hochgeladen.',
|
||||
'dsgvo_no_document' => 'Der Benutzer hat noch keine Einverständniserklärung hochgeladen.',
|
||||
'dsgvo_not_confirmed' => 'Noch nicht bestätigt. Bitte Dokument prüfen und dann bestätigen.',
|
||||
'dsgvo_confirmed_info' => 'Bestätigt von :name am :date',
|
||||
'dsgvo_confirmed_tooltip' => 'DSGVO-Einverständnis bestätigt',
|
||||
'dsgvo_pending_tooltip' => 'Dokument hochgeladen, Bestätigung ausstehend',
|
||||
'dsgvo_missing_tooltip' => 'Kein Dokument hochgeladen',
|
||||
'dsgvo_events_title' => 'DSGVO-Ereignisse (letzte 10)',
|
||||
|
||||
// DSGVO Action-Labels
|
||||
'dsgvo_action_dsgvo_consent_uploaded' => 'Hochgeladen',
|
||||
'dsgvo_action_dsgvo_consent_confirmed' => 'Bestätigt',
|
||||
'dsgvo_action_dsgvo_consent_revoked' => 'Widerrufen',
|
||||
'dsgvo_action_dsgvo_consent_removed' => 'Entfernt',
|
||||
'dsgvo_action_account_self_deleted' => 'Account gelöscht',
|
||||
'dsgvo_action_child_auto_deactivated' => 'Kind deaktiviert',
|
||||
|
||||
// DSGVO Log-Beschreibungen
|
||||
'log_dsgvo_consent_uploaded' => ':name hat eine Einverständniserklärung hochgeladen',
|
||||
'log_dsgvo_confirmed' => 'Einverständniserklärung von :name wurde bestätigt',
|
||||
'log_dsgvo_revoked' => 'Bestätigung der Einverständniserklärung von :name wurde widerrufen',
|
||||
'log_dsgvo_consent_removed' => ':name hat die Einverständniserklärung entfernt',
|
||||
'log_account_self_deleted' => ':name hat den eigenen Account gelöscht',
|
||||
'log_child_auto_deactivated' => 'Spieler :child wurde automatisch deaktiviert (einziger Elternteil :parent hat Account gelöscht)',
|
||||
|
||||
// DSGVO Pending Widget
|
||||
'dsgvo_pending_title' => 'DSGVO — Bestätigung ausstehend',
|
||||
'dsgvo_pending_count' => ':count Erklärung(en) ausstehend',
|
||||
'dsgvo_consent_document' => 'DSGVO-Einverständniserklärung',
|
||||
'dsgvo_reject' => 'Ablehnen',
|
||||
'dsgvo_reject_confirm' => 'Bist du sicher, dass du diese Einverständniserklärung ablehnen möchtest? Das Dokument wird gelöscht und der Benutzer muss es erneut hochladen.',
|
||||
'dsgvo_rejected' => 'Einverständniserklärung wurde abgelehnt.',
|
||||
'log_dsgvo_rejected' => 'Einverständniserklärung von :name wurde abgelehnt',
|
||||
'dsgvo_action_dsgvo_consent_rejected' => 'Abgelehnt',
|
||||
'dsgvo_preview_not_available' => 'Vorschau für diesen Dateityp nicht verfügbar.',
|
||||
|
||||
// Factory Reset
|
||||
'factory_reset_title' => 'Kompletter Reset',
|
||||
'factory_reset_description' => 'Setzt die gesamte WebApp auf den Ausgangszustand zurück. Nach dem Reset wird der Installations-Assistent erneut gestartet.',
|
||||
'factory_reset_deletes' => 'Folgendes wird unwiderruflich gelöscht',
|
||||
'factory_reset_item_users' => 'Alle Benutzer (inkl. Administrator)',
|
||||
'factory_reset_item_data' => 'Alle Teams, Spieler, Termine, Kommentare',
|
||||
'factory_reset_item_settings' => 'Alle Einstellungen und Dateikategorien',
|
||||
'factory_reset_item_files' => 'Alle hochgeladenen Dateien und Profilbilder',
|
||||
'factory_reset_warning' => 'Dieser Vorgang kann NICHT rückgängig gemacht werden! Die App wird vollständig zurückgesetzt und der Installations-Assistent gestartet.',
|
||||
'factory_reset_confirm' => 'ACHTUNG: Die gesamte WebApp wird unwiderruflich zurückgesetzt und alle Daten gelöscht. Der Installations-Assistent wird erneut gestartet. Bist du sicher?',
|
||||
'factory_reset_button' => 'WebApp komplett zurücksetzen',
|
||||
|
||||
// Lizenz & Support
|
||||
'settings_tab_license' => 'Lizenz & Support',
|
||||
'license_title' => 'Lizenzschlüssel',
|
||||
'license_description' => 'Geben Sie Ihren Lizenzschlüssel ein, um Support und Updates zu erhalten.',
|
||||
'license_key_label' => 'Lizenzschlüssel',
|
||||
'license_invalid' => 'Der eingegebene Lizenzschlüssel ist ungültig.',
|
||||
'registration_status' => 'Registrierungsstatus',
|
||||
'registration_active' => 'Registriert',
|
||||
'registration_inactive' => 'Nicht registriert',
|
||||
'register_now' => 'Jetzt registrieren',
|
||||
'registration_success' => 'Installation erfolgreich registriert.',
|
||||
'registration_failed' => 'Registrierung fehlgeschlagen. Bitte versuchen Sie es später erneut.',
|
||||
'version_info' => 'Systeminformationen',
|
||||
'update_available' => 'Update verfügbar: Version :version',
|
||||
'update_details' => 'Details anzeigen',
|
||||
'download_update' => 'Update herunterladen',
|
||||
'installation_id_label' => 'Installations-ID',
|
||||
'nav_support' => 'Support',
|
||||
'support_title' => 'Support-Tickets',
|
||||
'support_not_registered' => 'Installation nicht registriert',
|
||||
'support_register_hint' => 'Um den Support zu nutzen, muss die Installation registriert sein. Es werden nur technische Daten (App-Name, URL, PHP-Version) übermittelt.',
|
||||
'support_new_ticket' => 'Neues Ticket erstellen',
|
||||
'support_subject' => 'Betreff',
|
||||
'support_category' => 'Kategorie',
|
||||
'support_category_bug' => 'Fehlerbericht',
|
||||
'support_category_feature' => 'Feature-Wunsch',
|
||||
'support_category_question' => 'Frage',
|
||||
'support_category_other' => 'Sonstiges',
|
||||
'support_message' => 'Nachricht',
|
||||
'support_submit' => 'Ticket senden',
|
||||
'support_reply' => 'Antworten',
|
||||
'support_send_reply' => 'Antwort senden',
|
||||
'support_reply_placeholder' => 'Schreiben Sie Ihre Antwort...',
|
||||
'support_ticket_created' => 'Ticket wurde erfolgreich erstellt.',
|
||||
'support_reply_sent' => 'Antwort wurde gesendet.',
|
||||
'support_submit_failed' => 'Ticket konnte nicht erstellt werden. Bitte versuchen Sie es später erneut.',
|
||||
'support_reply_failed' => 'Antwort konnte nicht gesendet werden. Bitte versuchen Sie es später erneut.',
|
||||
'support_ticket_not_found' => 'Ticket nicht gefunden.',
|
||||
'support_no_tickets' => 'Noch keine Tickets vorhanden.',
|
||||
'support_no_messages' => 'Noch keine Nachrichten.',
|
||||
'support_ticket_id' => 'Ticket-Nr.',
|
||||
'support_status' => 'Status',
|
||||
'support_status_open' => 'Offen',
|
||||
'support_status_in_progress' => 'In Bearbeitung',
|
||||
'support_status_waiting' => 'Wartend',
|
||||
'support_status_closed' => 'Geschlossen',
|
||||
'support_created_at' => 'Erstellt',
|
||||
'support_last_reply' => 'Letzte Antwort',
|
||||
'support_back_to_list' => 'Zurück zur Übersicht',
|
||||
'support_system_info_note' => 'Systeminformationen werden automatisch mitgesendet.',
|
||||
'support_sender_support' => 'Support',
|
||||
'support_sender_you' => 'Sie',
|
||||
'support_ticket_closed' => 'Dieses Ticket ist geschlossen.',
|
||||
'installer_register_label' => 'Installation registrieren',
|
||||
'installer_register_hint' => 'Ermöglicht Update-Benachrichtigungen und Support. Es werden nur technische Daten übermittelt (App-Name, URL, PHP-Version, App-Version).',
|
||||
'installer_license_label' => 'Lizenzschlüssel (optional)',
|
||||
'installer_license_hint' => 'Kann auch später in den Einstellungen eingetragen werden.',
|
||||
|
||||
// Password Reset (Admin + Self-Service)
|
||||
'factory_reset_password_label' => 'Dein Passwort zur Bestätigung',
|
||||
'factory_reset_confirmation_label' => 'Sicherheitsbestätigung',
|
||||
'factory_reset_confirmation_hint' => 'Tippe RESET-BESTÄTIGT ein, um den Vorgang zu bestätigen.',
|
||||
'password_reset_link_sent' => 'Ein Link zum Zurücksetzen des Passworts wurde per E-Mail gesendet.',
|
||||
'password_reset_email_label' => 'Passwort-Reset E-Mail-Vorlage',
|
||||
'password_reset_email_hint' => 'Platzhalter: {name} = Benutzername, {link} = Reset-Link, {app_name} = App-Name',
|
||||
'log_password_reset_requested' => 'Passwort-Zurücksetzen angefordert',
|
||||
'log_password_changed_self' => ':name hat das Passwort geändert',
|
||||
'log_dsgvo_viewed' => 'DSGVO-Dokument von :name angesehen',
|
||||
|
||||
// Multi-Language Legal Editor
|
||||
'legal_language_label' => 'Sprache',
|
||||
'legal_impressum_label' => 'Impressum',
|
||||
'legal_datenschutz_label' => 'Datenschutzerklärung',
|
||||
'legal_password_reset_email_label' => 'Passwort-Reset E-Mail',
|
||||
|
||||
// E-Mail Tab
|
||||
'settings_tab_mail' => 'E-Mail',
|
||||
'mail_config_title' => 'E-Mail-Konfiguration',
|
||||
'mail_config_hint' => 'SMTP-Einstellungen fuer den E-Mail-Versand (z.B. Passwort-Reset, Benachrichtigungen).',
|
||||
'mail_mailer_label' => 'Versandmethode',
|
||||
'mail_log_mode' => 'Kein Versand (Log)',
|
||||
'mail_host_label' => 'SMTP-Host',
|
||||
'mail_port_label' => 'Port',
|
||||
'mail_username_label' => 'Benutzername',
|
||||
'mail_password_label' => 'Passwort',
|
||||
'mail_from_address_label' => 'Absender-Adresse',
|
||||
'mail_from_name_label' => 'Absender-Name',
|
||||
'mail_encryption_label' => 'Verschluesselung',
|
||||
'mail_encryption_none' => 'Keine',
|
||||
'mail_save' => 'Mail-Einstellungen speichern',
|
||||
'mail_saved' => 'Mail-Einstellungen wurden gespeichert.',
|
||||
'mail_test_button' => 'Verbindung testen',
|
||||
'mail_testing' => 'Teste Verbindung...',
|
||||
'mail_test_success' => 'SMTP-Verbindung erfolgreich!',
|
||||
];
|
||||
7
lang/de/auth.php
Executable file
7
lang/de/auth.php
Executable file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'failed' => 'Diese Anmeldedaten stimmen nicht mit unseren Aufzeichnungen überein.',
|
||||
'password' => 'Das angegebene Passwort ist falsch.',
|
||||
'throttle' => 'Zu viele Anmeldeversuche. Bitte versuche es in :seconds Sekunden erneut.',
|
||||
];
|
||||
43
lang/de/auth_ui.php
Executable file
43
lang/de/auth_ui.php
Executable file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// Login
|
||||
'login_title' => 'Anmelden',
|
||||
'email_label' => 'E-Mail',
|
||||
'password_label' => 'Passwort',
|
||||
'remember_me' => 'Angemeldet bleiben',
|
||||
'login_button' => 'Anmelden',
|
||||
|
||||
// Register
|
||||
'register_title' => 'Registrieren',
|
||||
'name_label' => 'Name',
|
||||
'children_assigned' => 'Dein Account wird folgenden Kindern zugeordnet:',
|
||||
'password_min' => '(min. 8 Zeichen)',
|
||||
'password_confirm_label' => 'Passwort bestätigen',
|
||||
'create_account' => 'Account erstellen',
|
||||
'already_registered' => 'Bereits registriert?',
|
||||
'go_to_login' => 'Zum Login',
|
||||
'email_fixed_by_invitation' => 'Die E-Mail-Adresse ist durch die Einladung festgelegt.',
|
||||
'invalid_invitation' => 'Dieser Einladungslink ist ungültig oder abgelaufen.',
|
||||
'welcome' => 'Willkommen! Dein Account wurde erstellt.',
|
||||
|
||||
// Forgot / Reset Password
|
||||
'forgot_password_link' => 'Passwort vergessen?',
|
||||
'forgot_password_title' => 'Passwort zurücksetzen',
|
||||
'forgot_password_description' => 'Gib deine E-Mail-Adresse ein und wir senden dir einen Link zum Zurücksetzen deines Passworts.',
|
||||
'send_reset_link' => 'Link senden',
|
||||
'back_to_login' => 'Zurück zum Login',
|
||||
'reset_password_title' => 'Neues Passwort setzen',
|
||||
'reset_password_button' => 'Passwort zurücksetzen',
|
||||
'new_password_label' => 'Neues Passwort',
|
||||
'confirm_password_label' => 'Passwort bestätigen',
|
||||
|
||||
// Security
|
||||
'login_failed' => 'Die Anmeldedaten sind ungültig.',
|
||||
'email_must_match_invitation' => 'Die E-Mail-Adresse muss mit der Einladung übereinstimmen: :email',
|
||||
|
||||
// Cookie notice
|
||||
'cookie_notice' => 'Diese Seite nutzt nur ein technisch notwendiges Session-Cookie. Kein Tracking.',
|
||||
'cookie_notice_link' => 'Mehr erfahren',
|
||||
'account_deactivated' => 'Dein Account wurde deaktiviert. Bitte wende dich an den Administrator.',
|
||||
];
|
||||
78
lang/de/events.php
Executable file
78
lang/de/events.php
Executable file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Termine',
|
||||
'no_events' => 'Keine Termine gefunden.',
|
||||
'no_upcoming' => 'Keine anstehenden Termine.',
|
||||
'upcoming_title' => 'Nächste Termine',
|
||||
'cancelled_label' => 'Abgesagt',
|
||||
'draft_label' => 'Entwurf',
|
||||
'cancelled_banner' => 'Dieser Termin wurde abgesagt.',
|
||||
'draft_banner' => 'Entwurf — nur für Admins sichtbar.',
|
||||
'back_to_list' => 'Zurück zur Terminliste',
|
||||
|
||||
// Detail-Seite
|
||||
'description' => 'Beschreibung',
|
||||
'plan_route' => 'Route planen',
|
||||
'start_navigation' => 'Navigation starten',
|
||||
|
||||
// Teilnehmer
|
||||
'participants' => 'Teilnehmer',
|
||||
'confirmations' => 'Zusagen',
|
||||
'rejections' => 'Absagen',
|
||||
'open_responses' => 'Offen',
|
||||
'participation_updated' => 'Teilnahme aktualisiert.',
|
||||
|
||||
// Catering
|
||||
'catering' => 'Catering / Verpflegung',
|
||||
'bring_something' => 'Bringe etwas mit',
|
||||
'bring_nothing' => 'Bringe nichts mit',
|
||||
'catering_note_placeholder' => 'z.B. Bringe Kuchen mit',
|
||||
'no_catering_yet' => 'Noch keine Zusagen für Verpflegung.',
|
||||
'catering_updated' => 'Catering-Status aktualisiert.',
|
||||
|
||||
// Zeitnehmer
|
||||
'timekeeper' => 'Zeitnehmer',
|
||||
'timekeeper_yes' => 'Ja, ich kann',
|
||||
'timekeeper_no' => 'Nein',
|
||||
'catering_short' => 'Catering',
|
||||
'timekeeper_short' => 'Zeitnehmer',
|
||||
'no_timekeeper_yet' => 'Noch kein Zeitnehmer eingetragen.',
|
||||
'timekeeper_updated' => 'Zeitnehmer-Status aktualisiert.',
|
||||
|
||||
// Kommentare
|
||||
'comments' => 'Kommentare',
|
||||
'comment_placeholder' => 'Kommentar schreiben...',
|
||||
'no_comments' => 'Noch keine Kommentare.',
|
||||
'comment_deleted' => '[Gelöscht]',
|
||||
'confirm_delete_comment' => 'Kommentar löschen?',
|
||||
'comment_added' => 'Kommentar hinzugefügt.',
|
||||
'comment_removed' => 'Kommentar gelöscht.',
|
||||
|
||||
// Dashboard
|
||||
'hello_user' => 'Hallo, :name!',
|
||||
'upcoming_events' => 'Nächste Termine',
|
||||
|
||||
// Kalender
|
||||
'calendar' => 'Kalender',
|
||||
'today' => 'Heute',
|
||||
'month_view' => 'Monat',
|
||||
'year_view' => 'Jahr',
|
||||
|
||||
// Dateien
|
||||
'files' => 'Dateien',
|
||||
'download' => 'Herunterladen',
|
||||
'no_files' => 'Keine Dateien angehängt.',
|
||||
|
||||
// Gegner & Ergebnis
|
||||
'opponent' => 'Gegner',
|
||||
'score' => 'Ergebnis',
|
||||
'score_home' => 'Heim',
|
||||
'score_away' => 'Gast',
|
||||
'vs' => 'vs.',
|
||||
|
||||
// Staff-Sichtbarkeit
|
||||
'signed_up' => 'zugesagt',
|
||||
'withdrawn' => 'abgemeldet',
|
||||
'deleted_label' => 'gelöscht',
|
||||
];
|
||||
6
lang/de/pagination.php
Executable file
6
lang/de/pagination.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'previous' => '« Zurück',
|
||||
'next' => 'Weiter »',
|
||||
];
|
||||
14
lang/de/passwords.php
Executable file
14
lang/de/passwords.php
Executable file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'reset' => 'Dein Passwort wurde zurückgesetzt.',
|
||||
'sent' => 'Wir haben dir einen Link zum Zurücksetzen des Passworts gesendet.',
|
||||
'throttled' => 'Bitte warte, bevor du es erneut versuchst.',
|
||||
'token' => 'Dieses Token zum Zurücksetzen des Passworts ist ungültig.',
|
||||
'user' => 'Es konnte kein Benutzer mit dieser E-Mail-Adresse gefunden werden.',
|
||||
'reset_subject' => 'Passwort zurücksetzen — :app',
|
||||
'reset_greeting' => 'Hallo :name,',
|
||||
'reset_line1' => 'Du erhältst diese E-Mail, weil eine Anfrage zum Zurücksetzen deines Passworts gestellt wurde.',
|
||||
'reset_line2' => 'Dieser Link zum Zurücksetzen ist :count Minuten gültig.',
|
||||
'reset_line3' => 'Falls du kein Zurücksetzen angefordert hast, kannst du diese E-Mail ignorieren.',
|
||||
];
|
||||
44
lang/de/profile.php
Executable file
44
lang/de/profile.php
Executable file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Mein Profil',
|
||||
'name_label' => 'Name',
|
||||
'email_label' => 'E-Mail',
|
||||
'email_readonly' => 'Die E-Mail-Adresse kann nicht geändert werden.',
|
||||
'phone_label' => 'Erreichbarkeit (Mobilnummer)',
|
||||
'role_label' => 'Rolle',
|
||||
'language_label' => 'Sprache',
|
||||
'my_children' => 'Meine Kinder',
|
||||
'updated' => 'Profil aktualisiert.',
|
||||
|
||||
// Profilbild
|
||||
'profile_picture' => 'Profilbild',
|
||||
'upload_picture' => 'Bild hochladen',
|
||||
'remove_picture' => 'Bild entfernen',
|
||||
'max_picture_size' => 'Max. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
|
||||
// DSGVO-Einverständniserklärung
|
||||
'dsgvo_title' => 'DSGVO-Einverständniserklärung',
|
||||
'dsgvo_description' => 'Lade hier die unterschriebene Einverständniserklärung als Foto oder PDF hoch. Eine Erklärung gilt für beide Elternteile gemeinsam.',
|
||||
'dsgvo_upload' => 'Erklärung hochladen',
|
||||
'dsgvo_replace' => 'Ersetzen',
|
||||
'dsgvo_remove' => 'Erklärung entfernen',
|
||||
'dsgvo_file_hint' => 'PDF oder Bild (max. 10 MB)',
|
||||
'dsgvo_uploaded' => 'Einverständniserklärung wurde hochgeladen.',
|
||||
'dsgvo_removed' => 'Einverständniserklärung wurde entfernt.',
|
||||
'dsgvo_view' => 'Ansehen',
|
||||
'dsgvo_confirmed' => 'Bestätigt',
|
||||
'dsgvo_pending' => 'Warte auf Bestätigung durch Admin/Trainer',
|
||||
'dsgvo_confirmed_by' => 'Bestätigt von :name am :date',
|
||||
'dsgvo_confirm_remove' => 'Einverständniserklärung wirklich entfernen? Eine vorhandene Bestätigung wird ebenfalls zurückgesetzt.',
|
||||
|
||||
// Account löschen
|
||||
'danger_zone' => 'Gefahrenzone',
|
||||
'delete_account' => 'Account löschen',
|
||||
'delete_account_hint' => 'Dein Profil wird deaktiviert und kann 7 Tage lang vom Administrator wiederhergestellt werden. Historische Daten (Kommentare, Teilnahmen) bleiben erhalten.',
|
||||
'delete_warning_children' => 'Achtung: Du bist der einzige Elternteil für folgende Kinder. Diese werden ebenfalls deaktiviert:',
|
||||
'delete_confirm' => 'Möchtest du deinen Account wirklich löschen? Dieser Vorgang kann nur vom Administrator rückgängig gemacht werden.',
|
||||
'account_deleted' => 'Dein Account wurde gelöscht.',
|
||||
'cannot_delete_admin' => 'Der Administrator-Account kann nicht gelöscht werden.',
|
||||
'cannot_delete_staff' => 'Trainer und Admins können ihren Account nicht über die Profilseite löschen.',
|
||||
];
|
||||
126
lang/de/ui.php
Executable file
126
lang/de/ui.php
Executable file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// Navigation
|
||||
'dashboard' => 'Dashboard',
|
||||
'events' => 'Termine',
|
||||
'admin' => 'Admin',
|
||||
'profile' => 'Profil',
|
||||
'logout' => 'Abmelden',
|
||||
'back_to_app' => 'Zur App',
|
||||
'login' => 'Anmelden',
|
||||
|
||||
// Allgemeine Buttons
|
||||
'save' => 'Speichern',
|
||||
'cancel' => 'Abbrechen',
|
||||
'edit' => 'Bearbeiten',
|
||||
'delete' => 'Löschen',
|
||||
'create' => 'Erstellen',
|
||||
'filter' => 'Filtern',
|
||||
'send' => 'Senden',
|
||||
'back' => 'Zurück',
|
||||
'yes' => 'Ja',
|
||||
'no' => 'Nein',
|
||||
'open' => 'Offen',
|
||||
|
||||
// Allgemeine Labels
|
||||
'all_teams' => 'Alle Teams',
|
||||
'all_types' => 'Alle Typen',
|
||||
'upcoming' => 'Kommende',
|
||||
'past' => 'Vergangene',
|
||||
'period' => 'Zeitraum',
|
||||
'team' => 'Team',
|
||||
'type' => 'Typ',
|
||||
'name' => 'Name',
|
||||
'email' => 'E-Mail',
|
||||
'password' => 'Passwort',
|
||||
'role' => 'Rolle',
|
||||
'language' => 'Sprache',
|
||||
'impressum' => 'Impressum',
|
||||
'privacy' => 'Datenschutz',
|
||||
'no_entries' => 'Keine Einträge vorhanden.',
|
||||
'clock' => 'Uhr',
|
||||
|
||||
// Datumsformat
|
||||
'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
|
||||
'footer_impressum' => 'Impressum',
|
||||
'footer_privacy' => 'Datenschutz',
|
||||
|
||||
// PWA
|
||||
'pwa_install_title' => 'App installieren',
|
||||
'pwa_install_text' => 'Füge die App zum Startbildschirm hinzu für schnelleren Zugriff.',
|
||||
'pwa_install_btn' => 'Installieren',
|
||||
'pwa_ios_steps' => 'Tippe auf <strong>⋯</strong> (Menü), dann auf <strong>⬆</strong> (Teilen) und wähle „Zum Home-Bildschirm".',
|
||||
|
||||
// Fehlerseiten
|
||||
'error_403_title' => 'Zugriff verweigert',
|
||||
'error_403_text' => 'Du hast keine Berechtigung, diese Seite aufzurufen.',
|
||||
'error_404_title' => 'Seite nicht gefunden',
|
||||
'error_404_text' => 'Die angeforderte Seite konnte nicht gefunden werden.',
|
||||
'error_500_title' => 'Serverfehler',
|
||||
'error_500_text' => 'Es ist ein interner Fehler aufgetreten. Bitte versuche es später erneut.',
|
||||
'back_to_dashboard' => 'Zum Dashboard',
|
||||
|
||||
// Enums
|
||||
'enums' => [
|
||||
'event_type' => [
|
||||
'home_game' => 'Heimspiel',
|
||||
'away_game' => 'Auswärtsspiel',
|
||||
'training' => 'Training',
|
||||
'tournament' => 'Turnier',
|
||||
'meeting' => 'Besprechung',
|
||||
'other' => 'Sonstiges',
|
||||
],
|
||||
'event_status' => [
|
||||
'published' => 'Veröffentlicht',
|
||||
'cancelled' => 'Abgesagt',
|
||||
'draft' => 'Entwurf',
|
||||
],
|
||||
'participant_status' => [
|
||||
'yes' => 'Zugesagt',
|
||||
'no' => 'Abgesagt',
|
||||
'unknown' => 'Offen',
|
||||
],
|
||||
'catering_status' => [
|
||||
'yes' => 'Ja',
|
||||
'no' => 'Nein',
|
||||
'unknown' => 'Offen',
|
||||
],
|
||||
'user_role' => [
|
||||
'admin' => 'Administrator',
|
||||
'coach' => 'Trainer',
|
||||
'parent_rep' => 'Elternvertretung',
|
||||
'user' => 'Elternteil',
|
||||
],
|
||||
],
|
||||
|
||||
// Sprachen
|
||||
'locales' => [
|
||||
'de' => 'Deutsch',
|
||||
'en' => 'English',
|
||||
'pl' => 'Polski',
|
||||
'ru' => 'Русский',
|
||||
'ar' => 'العربية',
|
||||
'tr' => 'Türkçe',
|
||||
],
|
||||
|
||||
// DSGVO-Banner
|
||||
'dsgvo_banner_title' => 'DSGVO-Einverständniserklärung erforderlich',
|
||||
'dsgvo_banner_text' => 'Für die Nutzung dieser App ist eine unterschriebene DSGVO-Einverständniserklärung erforderlich. Bitte lade die Erklärung als Foto oder PDF in deinem Profil hoch. Erst danach kann die App vollständig genutzt werden.',
|
||||
'dsgvo_banner_action' => 'Jetzt im Profil hochladen',
|
||||
'dsgvo_banner_pending_title' => 'Einverständniserklärung wird geprüft',
|
||||
'dsgvo_banner_pending_text' => 'Deine DSGVO-Einverständniserklärung wurde eingereicht und wird geprüft. Bis zur Bestätigung durch einen Administrator ist die App im Lesemodus — Teilnahme, Catering, Zeitnehmer und Kommentare sind gesperrt.',
|
||||
'dsgvo_restricted' => 'Deine DSGVO-Einverständniserklärung wurde noch nicht bestätigt. Bitte warte auf die Freigabe durch einen Administrator.',
|
||||
'dsgvo_restricted_hint' => 'DSGVO-Einverständniserklärung noch nicht bestätigt — Aktionen gesperrt.',
|
||||
|
||||
// Dateien
|
||||
'files' => 'Dateien',
|
||||
'download' => 'Herunterladen',
|
||||
'all' => 'Alle',
|
||||
'close' => 'Schließen',
|
||||
];
|
||||
130
lang/de/validation.php
Executable file
130
lang/de/validation.php
Executable file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'accepted' => ':attribute muss akzeptiert werden.',
|
||||
'active_url' => ':attribute ist keine gültige URL.',
|
||||
'after' => ':attribute muss ein Datum nach :date sein.',
|
||||
'after_or_equal' => ':attribute muss ein Datum nach oder gleich :date sein.',
|
||||
'alpha' => ':attribute darf nur Buchstaben enthalten.',
|
||||
'alpha_dash' => ':attribute darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten.',
|
||||
'alpha_num' => ':attribute darf nur Buchstaben und Zahlen enthalten.',
|
||||
'array' => ':attribute muss ein Array sein.',
|
||||
'before' => ':attribute muss ein Datum vor :date sein.',
|
||||
'before_or_equal' => ':attribute muss ein Datum vor oder gleich :date sein.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute muss zwischen :min und :max liegen.',
|
||||
'file' => ':attribute muss zwischen :min und :max Kilobytes groß sein.',
|
||||
'string' => ':attribute muss zwischen :min und :max Zeichen lang sein.',
|
||||
'array' => ':attribute muss zwischen :min und :max Elemente haben.',
|
||||
],
|
||||
'boolean' => ':attribute muss wahr oder falsch sein.',
|
||||
'confirmed' => ':attribute Bestätigung stimmt nicht überein.',
|
||||
'date' => ':attribute ist kein gültiges Datum.',
|
||||
'date_equals' => ':attribute muss ein Datum gleich :date sein.',
|
||||
'date_format' => ':attribute entspricht nicht dem Format :format.',
|
||||
'different' => ':attribute und :other müssen sich unterscheiden.',
|
||||
'digits' => ':attribute muss :digits Stellen haben.',
|
||||
'digits_between' => ':attribute muss zwischen :min und :max Stellen haben.',
|
||||
'email' => ':attribute muss eine gültige E-Mail-Adresse sein.',
|
||||
'exists' => 'Der gewählte Wert für :attribute ist ungültig.',
|
||||
'file' => ':attribute muss eine Datei sein.',
|
||||
'filled' => ':attribute muss einen Wert haben.',
|
||||
'gt' => [
|
||||
'numeric' => ':attribute muss größer als :value sein.',
|
||||
'file' => ':attribute muss größer als :value Kilobytes sein.',
|
||||
'string' => ':attribute muss mehr als :value Zeichen haben.',
|
||||
'array' => ':attribute muss mehr als :value Elemente haben.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => ':attribute muss größer oder gleich :value sein.',
|
||||
'file' => ':attribute muss größer oder gleich :value Kilobytes sein.',
|
||||
'string' => ':attribute muss mindestens :value Zeichen haben.',
|
||||
'array' => ':attribute muss mindestens :value Elemente haben.',
|
||||
],
|
||||
'image' => ':attribute muss ein Bild sein.',
|
||||
'in' => 'Der gewählte Wert für :attribute ist ungültig.',
|
||||
'in_array' => ':attribute kommt nicht in :other vor.',
|
||||
'integer' => ':attribute muss eine ganze Zahl sein.',
|
||||
'ip' => ':attribute muss eine gültige IP-Adresse sein.',
|
||||
'json' => ':attribute muss ein gültiger JSON-String sein.',
|
||||
'lt' => [
|
||||
'numeric' => ':attribute muss kleiner als :value sein.',
|
||||
'file' => ':attribute muss kleiner als :value Kilobytes sein.',
|
||||
'string' => ':attribute muss weniger als :value Zeichen haben.',
|
||||
'array' => ':attribute muss weniger als :value Elemente haben.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => ':attribute muss kleiner oder gleich :value sein.',
|
||||
'file' => ':attribute muss kleiner oder gleich :value Kilobytes sein.',
|
||||
'string' => ':attribute darf höchstens :value Zeichen haben.',
|
||||
'array' => ':attribute darf höchstens :value Elemente haben.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => ':attribute darf nicht größer als :max sein.',
|
||||
'file' => ':attribute darf nicht größer als :max Kilobytes sein.',
|
||||
'string' => ':attribute darf nicht mehr als :max Zeichen haben.',
|
||||
'array' => ':attribute darf nicht mehr als :max Elemente haben.',
|
||||
],
|
||||
'min' => [
|
||||
'numeric' => ':attribute muss mindestens :min sein.',
|
||||
'file' => ':attribute muss mindestens :min Kilobytes groß sein.',
|
||||
'string' => ':attribute muss mindestens :min Zeichen haben.',
|
||||
'array' => ':attribute muss mindestens :min Elemente haben.',
|
||||
],
|
||||
'not_in' => 'Der gewählte Wert für :attribute ist ungültig.',
|
||||
'numeric' => ':attribute muss eine Zahl sein.',
|
||||
'present' => ':attribute muss vorhanden sein.',
|
||||
'regex' => ':attribute hat ein ungültiges Format.',
|
||||
'required' => ':attribute ist erforderlich.',
|
||||
'required_if' => ':attribute ist erforderlich, wenn :other :value ist.',
|
||||
'required_unless' => ':attribute ist erforderlich, es sei denn :other ist :values.',
|
||||
'required_with' => ':attribute ist erforderlich, wenn :values vorhanden ist.',
|
||||
'required_with_all' => ':attribute ist erforderlich, wenn :values vorhanden sind.',
|
||||
'required_without' => ':attribute ist erforderlich, wenn :values nicht vorhanden ist.',
|
||||
'required_without_all' => ':attribute ist erforderlich, wenn keiner der Werte :values vorhanden ist.',
|
||||
'same' => ':attribute und :other müssen übereinstimmen.',
|
||||
'size' => [
|
||||
'numeric' => ':attribute muss :size sein.',
|
||||
'file' => ':attribute muss :size Kilobytes groß sein.',
|
||||
'string' => ':attribute muss :size Zeichen lang sein.',
|
||||
'array' => ':attribute muss :size Elemente enthalten.',
|
||||
],
|
||||
'string' => ':attribute muss ein String sein.',
|
||||
'timezone' => ':attribute muss eine gültige Zeitzone sein.',
|
||||
'unique' => ':attribute ist bereits vergeben.',
|
||||
'url' => ':attribute muss eine gültige URL sein.',
|
||||
|
||||
'password' => [
|
||||
'letters' => ':attribute muss mindestens einen Buchstaben enthalten.',
|
||||
'mixed' => ':attribute muss mindestens einen Groß- und einen Kleinbuchstaben enthalten.',
|
||||
'numbers' => ':attribute muss mindestens eine Zahl enthalten.',
|
||||
'symbols' => ':attribute muss mindestens ein Sonderzeichen enthalten.',
|
||||
'uncompromised' => ':attribute wurde in einem Datenleck gefunden. Bitte ein anderes Passwort wählen.',
|
||||
],
|
||||
|
||||
'attributes' => [
|
||||
'name' => 'Name',
|
||||
'email' => 'E-Mail',
|
||||
'password' => 'Passwort',
|
||||
'password_confirmation' => 'Passwort-Bestätigung',
|
||||
'title' => 'Titel',
|
||||
'body' => 'Nachricht',
|
||||
'type' => 'Typ',
|
||||
'status' => 'Status',
|
||||
'team_id' => 'Team',
|
||||
'start_date' => 'Datum',
|
||||
'start_time' => 'Uhrzeit',
|
||||
'location_name' => 'Ort',
|
||||
'address_text' => 'Adresse',
|
||||
'description_html' => 'Beschreibung',
|
||||
'first_name' => 'Vorname',
|
||||
'last_name' => 'Nachname',
|
||||
'birth_year' => 'Geburtsjahr',
|
||||
'jersey_number' => 'Trikotnummer',
|
||||
'note' => 'Notiz',
|
||||
'season' => 'Saison',
|
||||
'player_id' => 'Spieler',
|
||||
'parent_id' => 'Elternteil',
|
||||
'relationship_label' => 'Beziehung',
|
||||
],
|
||||
];
|
||||
548
lang/en/admin.php
Executable file
548
lang/en/admin.php
Executable file
@@ -0,0 +1,548 @@
|
||||
<?php
|
||||
return [
|
||||
'dashboard_title' => 'Admin Dashboard',
|
||||
'stat_users' => 'Users',
|
||||
'stat_players' => 'Players',
|
||||
'stat_upcoming' => 'Upcoming Events',
|
||||
'stat_invitations' => 'Open Invitations',
|
||||
'quick_links' => 'Quick Links',
|
||||
'new_event' => 'New Event',
|
||||
'new_player' => 'New Player',
|
||||
'new_invitation' => 'New Invitation',
|
||||
'new_team' => 'New Team',
|
||||
'open_responses_title' => 'Events with Open Responses',
|
||||
'x_open' => ':count open',
|
||||
'nav_teams' => 'Teams',
|
||||
'nav_players' => 'Players',
|
||||
'nav_users' => 'Users',
|
||||
'nav_invitations' => 'Invitations',
|
||||
'nav_events' => 'Events',
|
||||
'nav_settings' => 'Settings',
|
||||
'nav_verwaltung' => 'Management',
|
||||
'actions' => 'Actions',
|
||||
'action' => 'Action',
|
||||
'please_select' => 'Please select',
|
||||
'back_to_list' => 'Back to list',
|
||||
'inactive' => 'Inactive',
|
||||
'nr' => 'No.',
|
||||
'photo' => 'Photo',
|
||||
'date' => 'Date',
|
||||
'location' => 'Location',
|
||||
'all_status' => 'All Statuses',
|
||||
'copied' => 'Copied!',
|
||||
'copy' => 'Copy',
|
||||
'created_by' => 'by',
|
||||
'valid_until' => 'valid until',
|
||||
'teams_title' => 'Teams',
|
||||
'team_created' => 'Team has been created.',
|
||||
'team_updated' => 'Team has been updated.',
|
||||
'team_name' => 'Team Name',
|
||||
'year_group' => 'Year Group',
|
||||
'year_group_placeholder' => 'e.g. 2017/18',
|
||||
'active' => 'Active',
|
||||
'team_is_active' => 'Team is active',
|
||||
'create_team' => 'Create Team',
|
||||
'edit_team' => 'Edit Team',
|
||||
'no_teams_yet' => 'No teams yet.',
|
||||
'team_notes' => 'Notes',
|
||||
'team_notes_placeholder' => 'Notes about the team (internal, only visible to admins)...',
|
||||
'team_coaches' => 'Coaches',
|
||||
'no_coaches_available' => 'No coaches available in the system.',
|
||||
'team_players' => 'Players',
|
||||
'team_parent_reps' => 'Parent Representatives',
|
||||
'team_parent_reps_hint' => 'Parents with the "Parent Representative" role who have children on this team.',
|
||||
'no_parent_reps' => 'No parent representatives for this team.',
|
||||
'log_team_updated' => 'Team ":name" was updated',
|
||||
'log_player_team_changed' => 'Player :name was moved to a different team',
|
||||
'players_title' => 'Players',
|
||||
'player_created' => 'Player has been created.',
|
||||
'player_updated' => 'Player has been updated.',
|
||||
'first_name' => 'First Name',
|
||||
'last_name' => 'Last Name',
|
||||
'birth_year' => 'Birth Year',
|
||||
'jersey_number' => 'Jersey Number',
|
||||
'photo_permission' => 'Photo Permission',
|
||||
'notes' => 'Notes',
|
||||
'parent_assigned' => 'Parent has been assigned.',
|
||||
'parent_removed' => 'Assignment has been removed.',
|
||||
'assign_parent' => 'Assign Parent',
|
||||
'add_parent' => 'Add Parent',
|
||||
'select_user' => 'Select User',
|
||||
'assign' => 'Assign',
|
||||
'relationship_label' => 'Relationship',
|
||||
'relationship_placeholder' => 'e.g. Mother, Father',
|
||||
'parents' => 'Parents',
|
||||
'player_data' => 'Player Details',
|
||||
'parent_assignment' => 'Parent Assignment',
|
||||
'no_parents_yet' => 'No parents assigned yet.',
|
||||
'confirm_remove_parent' => 'Really remove assignment?',
|
||||
'remove' => 'Remove',
|
||||
'no_players_yet' => 'No players yet.',
|
||||
'users_title' => 'Users',
|
||||
'user_toggled' => 'User has been :status.',
|
||||
'role_updated' => 'Role has been updated.',
|
||||
'cannot_deactivate_self' => 'You cannot deactivate your own account.',
|
||||
'cannot_change_own_role' => 'You cannot change your own role.',
|
||||
'activated' => 'activated',
|
||||
'deactivated' => 'deactivated',
|
||||
'deactivated_label' => 'Deactivated',
|
||||
'children' => 'Children',
|
||||
'phone' => 'Phone',
|
||||
'last_login' => 'Last Login',
|
||||
'never' => 'Never',
|
||||
'deactivate' => 'Deactivate',
|
||||
'activate' => 'Activate',
|
||||
'you_suffix' => '(you)',
|
||||
'edit' => 'Edit',
|
||||
'edit_user' => 'Edit User',
|
||||
'user_data' => 'User Data',
|
||||
'user_updated' => 'User has been updated.',
|
||||
'reset_password' => 'Reset Password',
|
||||
'reset_password_hint' => 'Sends the user a password reset link via email.',
|
||||
'reset_password_confirm' => 'Send a password reset link to the user via email?',
|
||||
'password_reset_success' => 'New password has been generated.',
|
||||
'new_password_label' => 'New password (visible once only):',
|
||||
'password_only_visible_now' => 'This password is only shown now. Please share it and do not reload the page.',
|
||||
'cannot_edit_own_role' => 'You cannot change your own role here.',
|
||||
'cannot_assign_admin_role' => 'You cannot assign the admin role.',
|
||||
'cannot_reset_own_password' => 'You cannot reset your own password via the admin area.',
|
||||
'registered_at' => 'Registered on',
|
||||
'invitations_title' => 'Invitations',
|
||||
'invitation_created' => 'Invitation created. Link: :link',
|
||||
'invitation_deleted' => 'Invitation has been deleted.',
|
||||
'invitation_already_used' => 'Already redeemed invitations cannot be deleted.',
|
||||
'create_invitation' => 'Create Invitation',
|
||||
'assign_players' => 'Assign Players',
|
||||
'email_optional' => 'Email address (optional)',
|
||||
'email_optional_hint' => 'If set, only this email can register',
|
||||
'expires_at' => 'Valid until',
|
||||
'valid_for_days' => 'Valid for (days)',
|
||||
'token' => 'Token',
|
||||
'status' => 'Status',
|
||||
'used' => 'Redeemed',
|
||||
'expired' => 'Expired',
|
||||
'pending' => 'Open',
|
||||
'copy_link' => 'Copy Link',
|
||||
'invite_link' => 'Invitation Link',
|
||||
'no_assignment' => 'No assignment',
|
||||
'no_invitations_yet' => 'No invitations created yet.',
|
||||
'no_active_players' => 'No active players available.',
|
||||
'confirm_delete_invitation' => 'Really delete invitation?',
|
||||
'created_label' => 'Created',
|
||||
'player_assignment_hint' => 'Select the children that should be automatically assigned to the new parent account.',
|
||||
'events_title' => 'Events',
|
||||
'event_created' => 'Event has been created.',
|
||||
'event_updated' => 'Event has been updated.',
|
||||
'event_deleted' => 'Event has been deleted.',
|
||||
'event_title' => 'Title',
|
||||
'start_at' => 'Start',
|
||||
'date' => 'Date',
|
||||
'time' => 'Time',
|
||||
'end_at' => 'End',
|
||||
'location_name' => 'Location Name',
|
||||
'address' => 'Address',
|
||||
'description' => 'Description',
|
||||
'search_address' => 'Search address...',
|
||||
'new_event_title' => 'New Event',
|
||||
'edit_event_title' => 'Edit Event',
|
||||
'no_events_yet' => 'No events yet.',
|
||||
'confirm_delete_event' => 'Really delete event?',
|
||||
'location_address' => 'Location / Address',
|
||||
'location_name_hint' => 'Location name (e.g. Sports Hall North)',
|
||||
'search_by_name' => 'Find address',
|
||||
'location_name_placeholder' => 'e.g. BVB Stadium, Sports Hall West...',
|
||||
'search_address_hint' => 'Enter address (min. 3 characters)...',
|
||||
'description_placeholder' => 'Enter description...',
|
||||
'assignments' => 'Assignments',
|
||||
'catering_assignment' => 'Catering',
|
||||
'timekeeper_assignment' => 'Timekeeper',
|
||||
'geocoding_error' => 'Address search failed. Please try again.',
|
||||
'geocoding_rate_limit' => 'Too many requests. Please wait a moment.',
|
||||
'geocoding_no_results' => 'No address found. Please be more specific.',
|
||||
'min_requirements' => 'Minimum Requirements',
|
||||
'min_players' => 'Min. Players',
|
||||
'min_parents' => 'Min. Parents',
|
||||
'min_catering' => 'Min. Catering',
|
||||
'min_timekeepers' => 'Min. Timekeepers',
|
||||
'event_defaults_title' => 'Event Default Minimums',
|
||||
'event_defaults_description' => 'Set default minimum values for new events per type. Admins can override these when creating events.',
|
||||
// Locations management
|
||||
'nav_locations' => 'Locations',
|
||||
'locations_title' => 'Manage Locations',
|
||||
'location_add' => 'Add New Location',
|
||||
'location_name_label' => 'Name',
|
||||
'location_save' => 'Save',
|
||||
'location_created' => 'Location has been created.',
|
||||
'location_updated' => 'Location has been updated.',
|
||||
'location_deleted' => 'Location has been deleted.',
|
||||
'location_confirm_delete' => 'Really delete this location?',
|
||||
'locations_empty' => 'No locations yet.',
|
||||
'known_locations' => 'Known Locations',
|
||||
'address_manual_hint' => 'Enter address manually...',
|
||||
|
||||
// Settings
|
||||
'settings_title' => 'Settings',
|
||||
'settings_saved' => 'Settings saved.',
|
||||
'settings_tab_general' => 'General',
|
||||
'settings_tab_legal' => 'Legal',
|
||||
'settings_tab_defaults' => 'Event Defaults',
|
||||
'settings_tab_categories' => 'File Categories',
|
||||
|
||||
// File Management
|
||||
'nav_files' => 'Files',
|
||||
'files_title' => 'File Management',
|
||||
'upload_file' => 'Upload File',
|
||||
'file_uploaded' => 'File has been uploaded.',
|
||||
'file_deleted' => 'File has been deleted.',
|
||||
'file_category' => 'Category',
|
||||
'select_category' => 'Select category',
|
||||
'no_files_yet' => 'No files in this category yet.',
|
||||
'no_files_at_all' => 'No files uploaded yet.',
|
||||
'file_size' => 'Size',
|
||||
'uploaded_by' => 'Uploaded by',
|
||||
'uploaded_at' => 'Uploaded on',
|
||||
'confirm_delete_file' => 'Really delete this file? All event attachments will be removed.',
|
||||
'allowed_file_types' => 'Allowed file types: PDF, DOCX, XLSX, Images (JPG, PNG, GIF, WEBP)',
|
||||
'max_file_size' => 'Maximum file size: 10 MB',
|
||||
'file_categories' => 'File Categories',
|
||||
'file_categories_description' => 'Manage the categories for file management.',
|
||||
'new_category' => 'New Category',
|
||||
'category_name' => 'Category Name',
|
||||
'category_created' => 'Category has been created.',
|
||||
'category_updated' => 'Category has been updated.',
|
||||
'category_deleted' => 'Category has been deleted.',
|
||||
'category_not_empty' => 'Category cannot be deleted because it still contains files.',
|
||||
'confirm_delete_category' => 'Really delete this category?',
|
||||
'event_files' => 'Files',
|
||||
'attach_from_library' => 'Attach from library',
|
||||
'upload_new_file' => 'Upload new file',
|
||||
'attached_files' => 'Attached Files',
|
||||
'detach_file' => 'Remove',
|
||||
'no_attached_files' => 'No files attached.',
|
||||
'profile_picture' => 'Profile Picture',
|
||||
'upload_picture' => 'Upload picture',
|
||||
'remove_picture' => 'Remove picture',
|
||||
'picture_uploaded' => 'Profile picture has been updated.',
|
||||
'picture_removed' => 'Profile picture has been removed.',
|
||||
'max_picture_size' => 'Max. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
'html_anchor_hint' => 'Tip: Add anchors with id attribute, e.g. <h3 id="cookies">',
|
||||
|
||||
// Soft-Delete
|
||||
'danger_zone' => 'Danger zone',
|
||||
'delete_user' => 'Delete user',
|
||||
'delete_user_hint' => 'The user will be deactivated and can be restored within 7 days. Historical data (comments, participations) will be preserved.',
|
||||
'delete_player' => 'Delete player',
|
||||
'delete_player_hint' => 'The player will be removed and can be restored within 7 days. Historical data (participations, events) will be preserved.',
|
||||
'user_status_label' => 'User status',
|
||||
'player_status_label' => 'Player status',
|
||||
'deactivate_user_hint' => 'The user will no longer be able to log in.',
|
||||
'activate_user_hint' => 'The user will be able to log in again.',
|
||||
'deactivate_player_hint' => 'The player will no longer appear in event lists.',
|
||||
'activate_player_hint' => 'The player will appear in event lists again.',
|
||||
'player_toggled' => 'Player :status.',
|
||||
'log_player_toggled' => 'Player :name :status',
|
||||
'confirm_delete_user' => 'Are you sure you want to delete this user? They can be restored within 7 days.',
|
||||
'confirm_delete_player' => 'Are you sure you want to delete this player? They can be restored within 7 days.',
|
||||
'user_deleted' => 'User has been deleted.',
|
||||
'user_restored' => 'User has been restored.',
|
||||
'player_deleted' => 'Player has been deleted.',
|
||||
'player_restored' => 'Player has been restored.',
|
||||
'cannot_delete_self' => 'You cannot delete yourself.',
|
||||
'cannot_delete_main_admin' => 'The main admin cannot be deleted.',
|
||||
'restore_expired' => 'The restoration period has expired.',
|
||||
'trash' => 'Trash',
|
||||
'restore' => 'Restore',
|
||||
'delete' => 'Delete',
|
||||
'deleted_at' => 'Deleted at',
|
||||
|
||||
// Activity Log
|
||||
'activity_log_title' => 'Activity Log',
|
||||
'nav_activity_log' => 'Activity Log',
|
||||
'log_category' => 'Category',
|
||||
'log_all_categories' => 'All categories',
|
||||
'log_cat_auth' => 'Authentication',
|
||||
'log_cat_users' => 'Users',
|
||||
'log_cat_players' => 'Players',
|
||||
'log_cat_events' => 'Events',
|
||||
'log_cat_files' => 'Files',
|
||||
'log_cat_settings' => 'Settings',
|
||||
'log_cat_dsgvo' => 'GDPR',
|
||||
'log_from' => 'From',
|
||||
'log_to' => 'To',
|
||||
'log_filter' => 'Filter',
|
||||
'log_reset' => 'Reset',
|
||||
'log_time' => 'Time',
|
||||
'log_user' => 'User',
|
||||
'log_action' => 'Action',
|
||||
'log_description' => 'Description',
|
||||
'log_ip' => 'IP Address',
|
||||
'log_system' => 'System',
|
||||
'log_empty' => 'No entries found.',
|
||||
'log_details' => 'Details',
|
||||
'log_field' => 'Field',
|
||||
'log_old_value' => 'Before',
|
||||
'log_new_value' => 'After',
|
||||
|
||||
// Log descriptions
|
||||
'log_login' => ':name logged in',
|
||||
'log_logout' => ':name logged out',
|
||||
'log_login_failed' => 'Failed login attempt for :email',
|
||||
'log_registered' => ':name registered',
|
||||
'log_user_updated' => 'User :name was updated',
|
||||
'log_user_toggled' => 'User :name: status changed to :status',
|
||||
'log_role_changed' => 'Role of :name changed to :role',
|
||||
'log_password_reset' => 'Password of :name was reset',
|
||||
'log_user_deleted' => 'User :name was deleted',
|
||||
'log_user_restored' => 'User :name was restored',
|
||||
'log_player_created' => 'Player :name was created',
|
||||
'log_player_updated' => 'Player :name was updated',
|
||||
'log_player_deleted' => 'Player :name was deleted',
|
||||
'log_player_restored' => 'Player :name was restored',
|
||||
'log_parent_assigned' => ':parent was assigned as parent of :player',
|
||||
'log_parent_removed' => ':parent was removed as parent of :player',
|
||||
'log_event_created' => 'Event ":title" was created',
|
||||
'log_event_updated' => 'Event ":title" was updated',
|
||||
'log_event_deleted' => 'Event ":title" was deleted',
|
||||
'log_participant_changed' => 'Participation status for ":event" changed to :status',
|
||||
'log_catering_changed' => 'Catering status for ":event" changed to :status',
|
||||
'log_timekeeper_changed' => 'Timekeeper status for ":event" changed to :status',
|
||||
'log_comment_created' => 'Comment added to ":event"',
|
||||
'log_comment_deleted' => 'Comment deleted from ":event"',
|
||||
'log_file_uploaded' => 'File ":name" uploaded',
|
||||
'log_file_deleted' => 'File ":name" deleted',
|
||||
'log_settings_updated' => 'Settings were updated',
|
||||
'log_invitation_created' => 'Invitation created for :email',
|
||||
|
||||
// Statistics
|
||||
'nav_statistics' => 'Statistics',
|
||||
'statistics_title' => 'Game Statistics',
|
||||
'total_games' => 'Total Games',
|
||||
'wins' => 'Wins',
|
||||
'losses' => 'Losses',
|
||||
'draws' => 'Draws',
|
||||
'win_rate' => 'Win Rate',
|
||||
'chart_win_loss' => 'Wins / Losses',
|
||||
'chart_player_participation' => 'Player Participation',
|
||||
'chart_parent_involvement' => 'Parent Involvement',
|
||||
'no_games_yet' => 'No games available yet.',
|
||||
'filter_from' => 'From',
|
||||
'filter_to' => 'To',
|
||||
'filter_apply' => 'Filter',
|
||||
'filter_reset' => 'Reset',
|
||||
'all_teams' => 'All Teams',
|
||||
'not_applicable' => 'N/A',
|
||||
'min_users' => 'Min. Users',
|
||||
'home_short' => 'H',
|
||||
'away_short' => 'A',
|
||||
'player_ranking_title' => 'Player Participation',
|
||||
'player_ranking_desc' => 'Participation rate of players in :count games (home and away games).',
|
||||
'games_played' => 'Played',
|
||||
'games_assigned' => 'Assigned',
|
||||
'participation_rate' => 'Rate',
|
||||
'parent_ranking_title' => 'Parent Engagement',
|
||||
'parent_ranking_desc' => 'Catering (:catering events) and timekeeping (:timekeeper events) — all published events.',
|
||||
'total_contributions' => 'Total',
|
||||
|
||||
'statistics_enabled_label' => 'Enable statistics page',
|
||||
'statistics_enabled_hint' => 'When disabled, the statistics page is only visible to the administrator.',
|
||||
// Slogan & Favicon
|
||||
'slogan_label' => 'Slogan',
|
||||
'slogan_hint' => 'Displayed on the login page and in the footer.',
|
||||
'favicon_label' => 'Favicon',
|
||||
'favicon_hint' => 'ICO, PNG, SVG, JPG (max. 512 KB)',
|
||||
'favicon_current' => 'Current favicon',
|
||||
'favicon_remove' => 'Remove favicon',
|
||||
'favicon_uploaded' => 'Favicon has been updated.',
|
||||
'favicon_removed' => 'Favicon has been removed.',
|
||||
|
||||
// Undo / Revert
|
||||
'log_revert' => 'Undo',
|
||||
'log_revert_confirm' => 'Are you sure you want to undo this action?',
|
||||
'log_revert_success' => 'Action has been successfully undone.',
|
||||
'log_revert_not_possible' => 'This action cannot be undone.',
|
||||
'log_reverted' => 'Undone: ":desc"',
|
||||
'event_restored' => 'Event has been restored.',
|
||||
'log_event_restored' => 'Event ":title" has been restored',
|
||||
|
||||
// Visibility
|
||||
'settings_tab_visibility' => 'Visibility',
|
||||
'visibility_description' => 'Control which features are visible for which roles. Administrators always see everything.',
|
||||
'visibility_feature_statistics' => 'Statistics page',
|
||||
'visibility_feature_catering_history' => 'Catering/timekeeper history',
|
||||
|
||||
// List Generator
|
||||
'nav_list_generator' => 'List Generator',
|
||||
'list_generator_title' => 'Create List',
|
||||
'list_title' => 'Subject',
|
||||
'list_subtitle' => 'Subtitle (optional)',
|
||||
'list_notes' => 'Notes / Description',
|
||||
'list_source' => 'Row Source',
|
||||
'list_source_players' => 'Players',
|
||||
'list_source_parents' => 'Parents',
|
||||
'list_source_freetext' => 'Free Text',
|
||||
'list_freetext_hint' => 'One line per entry',
|
||||
'list_columns' => 'Columns',
|
||||
'list_custom_columns' => 'Additional Columns',
|
||||
'list_add_column' => 'Add Column',
|
||||
'list_column_name' => 'Column Name',
|
||||
'list_generate' => 'Generate List',
|
||||
'list_result_title' => 'List Generated',
|
||||
'list_print' => 'Print / Save as PDF',
|
||||
'list_new' => 'Create New List',
|
||||
'list_to_library' => 'Go to File Library',
|
||||
'list_generated_at' => 'Generated on',
|
||||
'list_all_teams' => 'All Teams',
|
||||
'list_saved_info' => 'File ":name" was automatically saved in the library under "General".',
|
||||
'list_download_pdf' => 'Download PDF',
|
||||
'list_entries_count' => 'entries',
|
||||
'log_list_generated' => 'List ":title" was generated',
|
||||
'no_entries' => 'No entries found.',
|
||||
|
||||
// GDPR
|
||||
'dsgvo_title' => 'GDPR Consent Declaration',
|
||||
'dsgvo_short' => 'GDPR',
|
||||
'dsgvo_consent_label' => 'Consent declaration confirmed',
|
||||
'dsgvo_view_document' => 'View document',
|
||||
'dsgvo_confirm' => 'Confirm',
|
||||
'dsgvo_revoke' => 'Revoke',
|
||||
'dsgvo_toggled' => 'GDPR status has been updated.',
|
||||
'dsgvo_no_file' => 'No document has been uploaded yet.',
|
||||
'dsgvo_no_document' => 'The user has not uploaded a consent declaration yet.',
|
||||
'dsgvo_not_confirmed' => 'Not yet confirmed. Please review the document and then confirm.',
|
||||
'dsgvo_confirmed_info' => 'Confirmed by :name on :date',
|
||||
'dsgvo_confirmed_tooltip' => 'GDPR consent confirmed',
|
||||
'dsgvo_pending_tooltip' => 'Document uploaded, confirmation pending',
|
||||
'dsgvo_missing_tooltip' => 'No document uploaded',
|
||||
'dsgvo_events_title' => 'GDPR Events (last 10)',
|
||||
'dsgvo_action_dsgvo_consent_uploaded' => 'Uploaded',
|
||||
'dsgvo_action_dsgvo_consent_confirmed' => 'Confirmed',
|
||||
'dsgvo_action_dsgvo_consent_revoked' => 'Revoked',
|
||||
'dsgvo_action_dsgvo_consent_removed' => 'Removed',
|
||||
'dsgvo_action_account_self_deleted' => 'Account deleted',
|
||||
'dsgvo_action_child_auto_deactivated' => 'Child deactivated',
|
||||
'log_dsgvo_consent_uploaded' => ':name has uploaded a consent declaration',
|
||||
'log_dsgvo_confirmed' => 'Consent declaration of :name has been confirmed',
|
||||
'log_dsgvo_revoked' => 'Confirmation of consent declaration of :name has been revoked',
|
||||
'log_dsgvo_consent_removed' => ':name has removed the consent declaration',
|
||||
'log_account_self_deleted' => ':name has deleted their own account',
|
||||
'log_child_auto_deactivated' => 'Player :child was automatically deactivated (sole parent :parent deleted account)',
|
||||
|
||||
// GDPR Pending Widget
|
||||
'dsgvo_pending_title' => 'GDPR — Confirmation Pending',
|
||||
'dsgvo_pending_count' => ':count declaration(s) pending',
|
||||
'dsgvo_consent_document' => 'GDPR Consent Declaration',
|
||||
'dsgvo_reject' => 'Reject',
|
||||
'dsgvo_reject_confirm' => 'Are you sure you want to reject this consent declaration? The document will be deleted and the user will need to upload it again.',
|
||||
'dsgvo_rejected' => 'Consent declaration has been rejected.',
|
||||
'log_dsgvo_rejected' => 'Consent declaration of :name has been rejected',
|
||||
'dsgvo_action_dsgvo_consent_rejected' => 'Rejected',
|
||||
'dsgvo_preview_not_available' => 'Preview not available for this file type.',
|
||||
|
||||
// Factory Reset
|
||||
'factory_reset_title' => 'Complete Reset',
|
||||
'factory_reset_description' => 'Resets the entire WebApp to its initial state. After the reset, the installation wizard will start again.',
|
||||
'factory_reset_deletes' => 'The following will be permanently deleted',
|
||||
'factory_reset_item_users' => 'All users (including administrator)',
|
||||
'factory_reset_item_data' => 'All teams, players, events, comments',
|
||||
'factory_reset_item_settings' => 'All settings and file categories',
|
||||
'factory_reset_item_files' => 'All uploaded files and profile pictures',
|
||||
'factory_reset_warning' => 'This action CANNOT be undone! The app will be completely reset and the installation wizard will start.',
|
||||
'factory_reset_confirm' => 'WARNING: The entire WebApp will be irreversibly reset and all data deleted. The installation wizard will start again. Are you sure?',
|
||||
'factory_reset_button' => 'Reset WebApp completely',
|
||||
|
||||
// License & Support
|
||||
'settings_tab_license' => 'License & Support',
|
||||
'license_title' => 'License Key',
|
||||
'license_description' => 'Enter your license key to receive support and updates.',
|
||||
'license_key_label' => 'License Key',
|
||||
'license_invalid' => 'The entered license key is invalid.',
|
||||
'registration_status' => 'Registration Status',
|
||||
'registration_active' => 'Registered',
|
||||
'registration_inactive' => 'Not registered',
|
||||
'register_now' => 'Register now',
|
||||
'registration_success' => 'Installation registered successfully.',
|
||||
'registration_failed' => 'Registration failed. Please try again later.',
|
||||
'version_info' => 'System Information',
|
||||
'update_available' => 'Update available: Version :version',
|
||||
'update_details' => 'Show details',
|
||||
'download_update' => 'Download update',
|
||||
'installation_id_label' => 'Installation ID',
|
||||
'nav_support' => 'Support',
|
||||
'support_title' => 'Support Tickets',
|
||||
'support_not_registered' => 'Installation not registered',
|
||||
'support_register_hint' => 'The installation must be registered to use support. Only technical data (app name, URL, PHP version) will be transmitted.',
|
||||
'support_new_ticket' => 'Create new ticket',
|
||||
'support_subject' => 'Subject',
|
||||
'support_category' => 'Category',
|
||||
'support_category_bug' => 'Bug Report',
|
||||
'support_category_feature' => 'Feature Request',
|
||||
'support_category_question' => 'Question',
|
||||
'support_category_other' => 'Other',
|
||||
'support_message' => 'Message',
|
||||
'support_submit' => 'Submit ticket',
|
||||
'support_reply' => 'Reply',
|
||||
'support_send_reply' => 'Send reply',
|
||||
'support_reply_placeholder' => 'Write your reply...',
|
||||
'support_ticket_created' => 'Ticket created successfully.',
|
||||
'support_reply_sent' => 'Reply has been sent.',
|
||||
'support_submit_failed' => 'Ticket could not be created. Please try again later.',
|
||||
'support_reply_failed' => 'Reply could not be sent. Please try again later.',
|
||||
'support_ticket_not_found' => 'Ticket not found.',
|
||||
'support_no_tickets' => 'No tickets yet.',
|
||||
'support_no_messages' => 'No messages yet.',
|
||||
'support_ticket_id' => 'Ticket No.',
|
||||
'support_status' => 'Status',
|
||||
'support_status_open' => 'Open',
|
||||
'support_status_in_progress' => 'In Progress',
|
||||
'support_status_waiting' => 'Waiting',
|
||||
'support_status_closed' => 'Closed',
|
||||
'support_created_at' => 'Created',
|
||||
'support_last_reply' => 'Last Reply',
|
||||
'support_back_to_list' => 'Back to overview',
|
||||
'support_system_info_note' => 'System information will be sent automatically.',
|
||||
'support_sender_support' => 'Support',
|
||||
'support_sender_you' => 'You',
|
||||
'support_ticket_closed' => 'This ticket is closed.',
|
||||
'installer_register_label' => 'Register installation',
|
||||
'installer_register_hint' => 'Enables update notifications and support. Only technical data is transmitted (app name, URL, PHP version, app version).',
|
||||
'installer_license_label' => 'License key (optional)',
|
||||
'installer_license_hint' => 'Can also be entered later in the settings.',
|
||||
|
||||
// Password Reset (Admin + Self-Service)
|
||||
'settings_tab_maintenance' => 'Maintenance',
|
||||
'factory_reset_password_label' => 'Your password for confirmation',
|
||||
'factory_reset_confirmation_label' => 'Security confirmation',
|
||||
'factory_reset_confirmation_hint' => 'Type RESET-BESTÄTIGT to confirm the action.',
|
||||
'password_reset_link_sent' => 'A password reset link has been sent via email.',
|
||||
'password_reset_email_label' => 'Password Reset Email Template',
|
||||
'password_reset_email_hint' => 'Placeholders: {name} = Username, {link} = Reset link, {app_name} = App name',
|
||||
'log_password_reset_requested' => 'Password reset requested',
|
||||
'log_password_changed_self' => ':name changed their password',
|
||||
'log_dsgvo_viewed' => 'GDPR document of :name viewed',
|
||||
|
||||
// Multi-Language Legal Editor
|
||||
'legal_language_label' => 'Language',
|
||||
'legal_impressum_label' => 'Legal Notice',
|
||||
'legal_datenschutz_label' => 'Privacy Policy',
|
||||
'legal_password_reset_email_label' => 'Password Reset Email',
|
||||
|
||||
// Email Tab
|
||||
'settings_tab_mail' => 'Email',
|
||||
'mail_config_title' => 'Email Configuration',
|
||||
'mail_config_hint' => 'SMTP settings for sending emails (e.g. password reset, notifications).',
|
||||
'mail_mailer_label' => 'Sending Method',
|
||||
'mail_log_mode' => 'No sending (Log)',
|
||||
'mail_host_label' => 'SMTP Host',
|
||||
'mail_port_label' => 'Port',
|
||||
'mail_username_label' => 'Username',
|
||||
'mail_password_label' => 'Password',
|
||||
'mail_from_address_label' => 'Sender Address',
|
||||
'mail_from_name_label' => 'Sender Name',
|
||||
'mail_encryption_label' => 'Encryption',
|
||||
'mail_encryption_none' => 'None',
|
||||
'mail_save' => 'Save Mail Settings',
|
||||
'mail_saved' => 'Mail settings have been saved.',
|
||||
'mail_test_button' => 'Test Connection',
|
||||
'mail_testing' => 'Testing connection...',
|
||||
'mail_test_success' => 'SMTP connection successful!',
|
||||
];
|
||||
6
lang/en/auth.php
Executable file
6
lang/en/auth.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'password' => 'The provided password is incorrect.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
];
|
||||
33
lang/en/auth_ui.php
Executable file
33
lang/en/auth_ui.php
Executable file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
return [
|
||||
'login_title' => 'Login',
|
||||
'email_label' => 'Email',
|
||||
'password_label' => 'Password',
|
||||
'remember_me' => 'Remember me',
|
||||
'login_button' => 'Login',
|
||||
'register_title' => 'Register',
|
||||
'name_label' => 'Name',
|
||||
'children_assigned' => 'Your account will be assigned to the following children:',
|
||||
'password_min' => '(min. 8 characters)',
|
||||
'password_confirm_label' => 'Confirm password',
|
||||
'create_account' => 'Create account',
|
||||
'already_registered' => 'Already registered?',
|
||||
'go_to_login' => 'Go to login',
|
||||
'email_fixed_by_invitation' => 'The email address is set by the invitation.',
|
||||
'invalid_invitation' => 'This invitation link is invalid or expired.',
|
||||
'welcome' => 'Welcome! Your account has been created.',
|
||||
'forgot_password_link' => 'Forgot password?',
|
||||
'forgot_password_title' => 'Reset Password',
|
||||
'forgot_password_description' => 'Enter your email address and we will send you a link to reset your password.',
|
||||
'send_reset_link' => 'Send link',
|
||||
'back_to_login' => 'Back to login',
|
||||
'reset_password_title' => 'Set New Password',
|
||||
'reset_password_button' => 'Reset Password',
|
||||
'new_password_label' => 'New Password',
|
||||
'confirm_password_label' => 'Confirm Password',
|
||||
'login_failed' => 'These credentials are invalid.',
|
||||
'email_must_match_invitation' => 'The email address must match the invitation: :email',
|
||||
'cookie_notice' => 'This site only uses a technically necessary session cookie. No tracking.',
|
||||
'cookie_notice_link' => 'Learn more',
|
||||
'account_deactivated' => 'Your account has been deactivated. Please contact the administrator.',
|
||||
];
|
||||
63
lang/en/events.php
Executable file
63
lang/en/events.php
Executable file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
return [
|
||||
'title' => 'Events',
|
||||
'no_events' => 'No events found.',
|
||||
'no_upcoming' => 'No upcoming events.',
|
||||
'upcoming_title' => 'Upcoming Events',
|
||||
'cancelled_label' => 'Cancelled',
|
||||
'draft_label' => 'Draft',
|
||||
'cancelled_banner' => 'This event has been cancelled.',
|
||||
'draft_banner' => 'Draft — only visible to admins.',
|
||||
'back_to_list' => 'Back to event list',
|
||||
'description' => 'Description',
|
||||
'plan_route' => 'Plan route',
|
||||
'start_navigation' => 'Start navigation',
|
||||
'participants' => 'Participants',
|
||||
'confirmations' => 'Accepted',
|
||||
'rejections' => 'Declined',
|
||||
'open_responses' => 'Open',
|
||||
'participation_updated' => 'Participation updated.',
|
||||
'catering' => 'Catering / Food',
|
||||
'bring_something' => 'Bringing something',
|
||||
'bring_nothing' => 'Not bringing anything',
|
||||
'catering_note_placeholder' => 'e.g. Bringing cake',
|
||||
'catering_updated' => 'Catering status updated.',
|
||||
'no_catering_yet' => 'No catering commitments yet.',
|
||||
'timekeeper' => 'Timekeeper',
|
||||
'timekeeper_yes' => 'Yes, I can',
|
||||
'timekeeper_no' => 'No',
|
||||
'catering_short' => 'Catering',
|
||||
'timekeeper_short' => 'Timekeeper',
|
||||
'no_timekeeper_yet' => 'No timekeeper assigned yet.',
|
||||
'timekeeper_updated' => 'Timekeeper status updated.',
|
||||
'comments' => 'Comments',
|
||||
'comment_placeholder' => 'Write a comment...',
|
||||
'no_comments' => 'No comments yet.',
|
||||
'comment_deleted' => '[Deleted]',
|
||||
'confirm_delete_comment' => 'Delete comment?',
|
||||
'comment_added' => 'Comment added.',
|
||||
'comment_removed' => 'Comment deleted.',
|
||||
'hello_user' => 'Hello, :name!',
|
||||
'upcoming_events' => 'Upcoming Events',
|
||||
'calendar' => 'Calendar',
|
||||
'today' => 'Today',
|
||||
'month_view' => 'Month',
|
||||
'year_view' => 'Year',
|
||||
|
||||
// Files
|
||||
'files' => 'Files',
|
||||
'download' => 'Download',
|
||||
'no_files' => 'No files attached.',
|
||||
|
||||
// Opponent & Score
|
||||
'opponent' => 'Opponent',
|
||||
'score' => 'Score',
|
||||
'score_home' => 'Home',
|
||||
'score_away' => 'Away',
|
||||
'vs' => 'vs.',
|
||||
|
||||
// Staff visibility
|
||||
'signed_up' => 'signed up',
|
||||
'withdrawn' => 'withdrawn',
|
||||
'deleted_label' => 'deleted',
|
||||
];
|
||||
5
lang/en/pagination.php
Executable file
5
lang/en/pagination.php
Executable file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
return [
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
];
|
||||
13
lang/en/passwords.php
Executable file
13
lang/en/passwords.php
Executable file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
return [
|
||||
'reset' => 'Your password has been reset.',
|
||||
'sent' => 'We have sent you a password reset link.',
|
||||
'throttled' => 'Please wait before trying again.',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => 'No user could be found with this email address.',
|
||||
'reset_subject' => 'Reset Password — :app',
|
||||
'reset_greeting' => 'Hello :name,',
|
||||
'reset_line1' => 'You are receiving this email because a password reset request was made for your account.',
|
||||
'reset_line2' => 'This password reset link will expire in :count minutes.',
|
||||
'reset_line3' => 'If you did not request a password reset, no further action is required.',
|
||||
];
|
||||
43
lang/en/profile.php
Executable file
43
lang/en/profile.php
Executable file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
return [
|
||||
'title' => 'My Profile',
|
||||
'name_label' => 'Name',
|
||||
'email_label' => 'Email',
|
||||
'email_readonly' => 'The email address cannot be changed.',
|
||||
'phone_label' => 'Phone (mobile)',
|
||||
'role_label' => 'Role',
|
||||
'language_label' => 'Language',
|
||||
'my_children' => 'My Children',
|
||||
'updated' => 'Profile updated.',
|
||||
|
||||
// Profile picture
|
||||
'profile_picture' => 'Profile Picture',
|
||||
'upload_picture' => 'Upload picture',
|
||||
'remove_picture' => 'Remove picture',
|
||||
'max_picture_size' => 'Max. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
|
||||
// GDPR consent declaration
|
||||
'dsgvo_title' => 'GDPR Consent Declaration',
|
||||
'dsgvo_description' => 'Upload the signed consent declaration as a photo or PDF here. One declaration applies for both parents jointly.',
|
||||
'dsgvo_upload' => 'Upload declaration',
|
||||
'dsgvo_replace' => 'Replace',
|
||||
'dsgvo_remove' => 'Remove declaration',
|
||||
'dsgvo_file_hint' => 'PDF or image (max. 10 MB)',
|
||||
'dsgvo_uploaded' => 'Consent declaration has been uploaded.',
|
||||
'dsgvo_removed' => 'Consent declaration has been removed.',
|
||||
'dsgvo_view' => 'View',
|
||||
'dsgvo_confirmed' => 'Confirmed',
|
||||
'dsgvo_pending' => 'Waiting for confirmation by admin/coach',
|
||||
'dsgvo_confirmed_by' => 'Confirmed by :name on :date',
|
||||
'dsgvo_confirm_remove' => 'Really remove the consent declaration? Any existing confirmation will also be reset.',
|
||||
|
||||
// Delete account
|
||||
'danger_zone' => 'Danger Zone',
|
||||
'delete_account' => 'Delete Account',
|
||||
'delete_account_hint' => 'Your profile will be deactivated and can be restored by an administrator within 7 days. Historical data (comments, participations) will be preserved.',
|
||||
'delete_warning_children' => 'Warning: You are the only parent for the following children. They will also be deactivated:',
|
||||
'delete_confirm' => 'Do you really want to delete your account? This can only be undone by an administrator.',
|
||||
'account_deleted' => 'Your account has been deleted.',
|
||||
'cannot_delete_admin' => 'The administrator account cannot be deleted.',
|
||||
'cannot_delete_staff' => 'Coaches and admins cannot delete their account via the profile page.',
|
||||
];
|
||||
108
lang/en/ui.php
Executable file
108
lang/en/ui.php
Executable file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
return [
|
||||
'dashboard' => 'Dashboard',
|
||||
'events' => 'Events',
|
||||
'admin' => 'Admin',
|
||||
'profile' => 'Profile',
|
||||
'logout' => 'Logout',
|
||||
'back_to_app' => 'Back to App',
|
||||
'login' => 'Login',
|
||||
'save' => 'Save',
|
||||
'cancel' => 'Cancel',
|
||||
'edit' => 'Edit',
|
||||
'delete' => 'Delete',
|
||||
'create' => 'Create',
|
||||
'filter' => 'Filter',
|
||||
'send' => 'Send',
|
||||
'back' => 'Back',
|
||||
'yes' => 'Yes',
|
||||
'no' => 'No',
|
||||
'open' => 'Open',
|
||||
'all_teams' => 'All Teams',
|
||||
'all_types' => 'All Types',
|
||||
'upcoming' => 'Upcoming',
|
||||
'past' => 'Past',
|
||||
'period' => 'Period',
|
||||
'team' => 'Team',
|
||||
'type' => 'Type',
|
||||
'name' => 'Name',
|
||||
'email' => 'Email',
|
||||
'password' => 'Password',
|
||||
'role' => 'Role',
|
||||
'language' => 'Language',
|
||||
'impressum' => 'Imprint',
|
||||
'privacy' => 'Privacy',
|
||||
'no_entries' => 'No entries available.',
|
||||
'clock' => '',
|
||||
'date_format' => 'D, m/d/Y, H:i',
|
||||
'date_format_long' => 'l, F d, Y, H:i',
|
||||
'date_format_short' => 'm/d/Y H:i',
|
||||
'date_format_date' => 'm/d/Y',
|
||||
'footer_impressum' => 'Imprint',
|
||||
'footer_privacy' => 'Privacy',
|
||||
'pwa_install_title' => 'Install App',
|
||||
'pwa_install_text' => 'Add the app to your home screen for quick access.',
|
||||
'pwa_install_btn' => 'Install',
|
||||
'pwa_ios_steps' => 'Tap <strong>⋯</strong> (Menu), then <strong>⬆</strong> (Share) and select "Add to Home Screen".',
|
||||
'error_403_title' => 'Access Denied',
|
||||
'error_403_text' => 'You do not have permission to access this page.',
|
||||
'error_404_title' => 'Page Not Found',
|
||||
'error_404_text' => 'The requested page could not be found.',
|
||||
'error_500_title' => 'Server Error',
|
||||
'error_500_text' => 'An internal error has occurred. Please try again later.',
|
||||
'back_to_dashboard' => 'Back to Dashboard',
|
||||
'enums' => [
|
||||
'event_type' => [
|
||||
'home_game' => 'Home Game',
|
||||
'away_game' => 'Away Game',
|
||||
'training' => 'Training',
|
||||
'tournament' => 'Tournament',
|
||||
'meeting' => 'Meeting',
|
||||
'other' => 'Other',
|
||||
],
|
||||
'event_status' => [
|
||||
'published' => 'Published',
|
||||
'cancelled' => 'Cancelled',
|
||||
'draft' => 'Draft',
|
||||
],
|
||||
'participant_status' => [
|
||||
'yes' => 'Accepted',
|
||||
'no' => 'Declined',
|
||||
'unknown' => 'Open',
|
||||
],
|
||||
'catering_status' => [
|
||||
'yes' => 'Yes',
|
||||
'no' => 'No',
|
||||
'unknown' => 'Open',
|
||||
],
|
||||
'user_role' => [
|
||||
'admin' => 'Administrator',
|
||||
'coach' => 'Coach',
|
||||
'parent_rep' => 'Parent Representative',
|
||||
'user' => 'Parent',
|
||||
],
|
||||
],
|
||||
'locales' => [
|
||||
'de' => 'Deutsch',
|
||||
'en' => 'English',
|
||||
'pl' => 'Polski',
|
||||
'ru' => 'Русский',
|
||||
'ar' => 'العربية',
|
||||
'tr' => 'Türkçe',
|
||||
],
|
||||
|
||||
// GDPR banner
|
||||
'dsgvo_banner_title' => 'GDPR Consent Declaration Required',
|
||||
'dsgvo_banner_text' => 'A signed GDPR consent declaration is required to use this app. Please upload the declaration as a photo or PDF in your profile. The app can only be fully used after the upload.',
|
||||
'dsgvo_banner_action' => 'Upload in profile now',
|
||||
'dsgvo_banner_pending_title' => 'Consent declaration under review',
|
||||
'dsgvo_banner_pending_text' => 'Your GDPR consent declaration has been submitted and is under review. Until confirmed by an administrator, the app is in read-only mode — participation, catering, timekeeping, and comments are locked.',
|
||||
'dsgvo_restricted' => 'Your GDPR consent declaration has not been confirmed yet. Please wait for approval by an administrator.',
|
||||
'dsgvo_restricted_hint' => 'GDPR consent not yet confirmed — actions locked.',
|
||||
|
||||
// Files
|
||||
'files' => 'Files',
|
||||
'download' => 'Download',
|
||||
'all' => 'All',
|
||||
'close' => 'Close',
|
||||
];
|
||||
129
lang/en/validation.php
Executable file
129
lang/en/validation.php
Executable file
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
return [
|
||||
'accepted' => ':attribute must be accepted.',
|
||||
'active_url' => ':attribute is not a valid URL.',
|
||||
'after' => ':attribute must be a date after :date.',
|
||||
'after_or_equal' => ':attribute must be a date after or equal to :date.',
|
||||
'alpha' => ':attribute may only contain letters.',
|
||||
'alpha_dash' => ':attribute may only contain letters, numbers, dashes, and underscores.',
|
||||
'alpha_num' => ':attribute may only contain letters and numbers.',
|
||||
'array' => ':attribute must be an array.',
|
||||
'before' => ':attribute must be a date before :date.',
|
||||
'before_or_equal' => ':attribute must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute must be between :min and :max.',
|
||||
'file' => ':attribute must be between :min and :max kilobytes.',
|
||||
'string' => ':attribute must be between :min and :max characters.',
|
||||
'array' => ':attribute must have between :min and :max items.',
|
||||
],
|
||||
'boolean' => ':attribute must be true or false.',
|
||||
'confirmed' => ':attribute confirmation does not match.',
|
||||
'date' => ':attribute is not a valid date.',
|
||||
'date_equals' => ':attribute must be a date equal to :date.',
|
||||
'date_format' => ':attribute does not match the format :format.',
|
||||
'different' => ':attribute and :other must be different.',
|
||||
'digits' => ':attribute must be :digits digits.',
|
||||
'digits_between' => ':attribute must be between :min and :max digits.',
|
||||
'email' => ':attribute must be a valid email address.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'file' => ':attribute must be a file.',
|
||||
'filled' => ':attribute must have a value.',
|
||||
'gt' => [
|
||||
'numeric' => ':attribute must be greater than :value.',
|
||||
'file' => ':attribute must be greater than :value kilobytes.',
|
||||
'string' => ':attribute must be greater than :value characters.',
|
||||
'array' => ':attribute must have more than :value items.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => ':attribute must be greater than or equal to :value.',
|
||||
'file' => ':attribute must be greater than or equal to :value kilobytes.',
|
||||
'string' => ':attribute must be at least :value characters.',
|
||||
'array' => ':attribute must have at least :value items.',
|
||||
],
|
||||
'image' => ':attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => ':attribute does not exist in :other.',
|
||||
'integer' => ':attribute must be an integer.',
|
||||
'ip' => ':attribute must be a valid IP address.',
|
||||
'json' => ':attribute must be a valid JSON string.',
|
||||
'lt' => [
|
||||
'numeric' => ':attribute must be less than :value.',
|
||||
'file' => ':attribute must be less than :value kilobytes.',
|
||||
'string' => ':attribute must be fewer than :value characters.',
|
||||
'array' => ':attribute must have fewer than :value items.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => ':attribute must be less than or equal to :value.',
|
||||
'file' => ':attribute must be less than or equal to :value kilobytes.',
|
||||
'string' => ':attribute may not have more than :value characters.',
|
||||
'array' => ':attribute may not have more than :value items.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => ':attribute may not be greater than :max.',
|
||||
'file' => ':attribute may not be greater than :max kilobytes.',
|
||||
'string' => ':attribute may not have more than :max characters.',
|
||||
'array' => ':attribute may not have more than :max items.',
|
||||
],
|
||||
'min' => [
|
||||
'numeric' => ':attribute must be at least :min.',
|
||||
'file' => ':attribute must be at least :min kilobytes.',
|
||||
'string' => ':attribute must be at least :min characters.',
|
||||
'array' => ':attribute must have at least :min items.',
|
||||
],
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'numeric' => ':attribute must be a number.',
|
||||
'present' => ':attribute must be present.',
|
||||
'regex' => ':attribute format is invalid.',
|
||||
'required' => ':attribute is required.',
|
||||
'required_if' => ':attribute is required when :other is :value.',
|
||||
'required_unless' => ':attribute is required unless :other is in :values.',
|
||||
'required_with' => ':attribute is required when :values is present.',
|
||||
'required_with_all' => ':attribute is required when :values are present.',
|
||||
'required_without' => ':attribute is required when :values is not present.',
|
||||
'required_without_all' => ':attribute is required when none of :values are present.',
|
||||
'same' => ':attribute and :other must match.',
|
||||
'size' => [
|
||||
'numeric' => ':attribute must be :size.',
|
||||
'file' => ':attribute must be :size kilobytes.',
|
||||
'string' => ':attribute must be :size characters.',
|
||||
'array' => ':attribute must contain :size items.',
|
||||
],
|
||||
'string' => ':attribute must be a string.',
|
||||
'timezone' => ':attribute must be a valid timezone.',
|
||||
'unique' => ':attribute has already been taken.',
|
||||
'url' => ':attribute must be a valid URL.',
|
||||
|
||||
'password' => [
|
||||
'letters' => ':attribute must contain at least one letter.',
|
||||
'mixed' => ':attribute must contain at least one uppercase and one lowercase letter.',
|
||||
'numbers' => ':attribute must contain at least one number.',
|
||||
'symbols' => ':attribute must contain at least one symbol.',
|
||||
'uncompromised' => ':attribute has appeared in a data leak. Please choose a different password.',
|
||||
],
|
||||
|
||||
'attributes' => [
|
||||
'name' => 'Name',
|
||||
'email' => 'Email',
|
||||
'password' => 'Password',
|
||||
'password_confirmation' => 'Password Confirmation',
|
||||
'title' => 'Title',
|
||||
'body' => 'Message',
|
||||
'type' => 'Type',
|
||||
'status' => 'Status',
|
||||
'team_id' => 'Team',
|
||||
'start_date' => 'Date',
|
||||
'start_time' => 'Time',
|
||||
'location_name' => 'Location',
|
||||
'address_text' => 'Address',
|
||||
'description_html' => 'Description',
|
||||
'first_name' => 'First Name',
|
||||
'last_name' => 'Last Name',
|
||||
'birth_year' => 'Birth Year',
|
||||
'jersey_number' => 'Jersey Number',
|
||||
'note' => 'Note',
|
||||
'season' => 'Season',
|
||||
'player_id' => 'Player',
|
||||
'parent_id' => 'Parent',
|
||||
'relationship_label' => 'Relationship',
|
||||
],
|
||||
];
|
||||
549
lang/pl/admin.php
Executable file
549
lang/pl/admin.php
Executable file
@@ -0,0 +1,549 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'dashboard_title' => 'Panel administratora',
|
||||
'stat_users' => 'Użytkownicy',
|
||||
'stat_players' => 'Zawodnicy',
|
||||
'stat_upcoming' => 'Nadchodzące terminy',
|
||||
'stat_invitations' => 'Otwarte zaproszenia',
|
||||
'quick_links' => 'Szybki dostęp',
|
||||
'new_event' => 'Nowy termin',
|
||||
'new_player' => 'Nowy zawodnik',
|
||||
'new_invitation' => 'Nowe zaproszenie',
|
||||
'new_team' => 'Nowa drużyna',
|
||||
'open_responses_title' => 'Terminy z otwartymi odpowiedziami',
|
||||
'x_open' => ':count otwarte',
|
||||
'nav_teams' => 'Drużyny',
|
||||
'nav_players' => 'Zawodnicy',
|
||||
'nav_users' => 'Użytkownicy',
|
||||
'nav_invitations' => 'Zaproszenia',
|
||||
'nav_events' => 'Wydarzenia',
|
||||
'nav_settings' => 'Ustawienia',
|
||||
'nav_verwaltung' => 'Zarządzanie',
|
||||
'actions' => 'Akcje',
|
||||
'action' => 'Akcja',
|
||||
'please_select' => 'Proszę wybrać',
|
||||
'back_to_list' => 'Powrót do listy',
|
||||
'inactive' => 'Nieaktywny',
|
||||
'nr' => 'Nr',
|
||||
'photo' => 'Zdjęcie',
|
||||
'date' => 'Data',
|
||||
'location' => 'Miejsce',
|
||||
'all_status' => 'Wszystkie statusy',
|
||||
'copied' => 'Skopiowano!',
|
||||
'copy' => 'Kopiuj',
|
||||
'created_by' => 'od',
|
||||
'valid_until' => 'ważne do',
|
||||
'teams_title' => 'Drużyny',
|
||||
'team_created' => 'Drużyna została utworzona.',
|
||||
'team_updated' => 'Drużyna została zaktualizowana.',
|
||||
'team_name' => 'Nazwa drużyny',
|
||||
'year_group' => 'Rocznik',
|
||||
'year_group_placeholder' => 'np. 2017/18',
|
||||
'active' => 'Aktywny',
|
||||
'team_is_active' => 'Drużyna jest aktywna',
|
||||
'create_team' => 'Utwórz drużynę',
|
||||
'edit_team' => 'Edytuj drużynę',
|
||||
'no_teams_yet' => 'Brak drużyn.',
|
||||
'team_notes' => 'Notatki',
|
||||
'team_notes_placeholder' => 'Notatki o drużynie (wewnętrzne, widoczne tylko dla administratorów)...',
|
||||
'team_coaches' => 'Trenerzy',
|
||||
'no_coaches_available' => 'Brak trenerów w systemie.',
|
||||
'team_players' => 'Zawodnicy',
|
||||
'team_parent_reps' => 'Przedstawiciele rodziców',
|
||||
'team_parent_reps_hint' => 'Rodzice z rolą "Przedstawiciel rodziców", którzy mają dzieci w tej drużynie.',
|
||||
'no_parent_reps' => 'Brak przedstawicieli rodziców dla tej drużyny.',
|
||||
'log_team_updated' => 'Drużyna ":name" została zaktualizowana',
|
||||
'log_player_team_changed' => 'Zawodnik :name został przeniesiony do innej drużyny',
|
||||
'players_title' => 'Zawodnicy',
|
||||
'player_created' => 'Zawodnik został utworzony.',
|
||||
'player_updated' => 'Zawodnik został zaktualizowany.',
|
||||
'first_name' => 'Imię',
|
||||
'last_name' => 'Nazwisko',
|
||||
'birth_year' => 'Rok urodzenia',
|
||||
'jersey_number' => 'Numer na koszulce',
|
||||
'photo_permission' => 'Zgoda na zdjęcia',
|
||||
'notes' => 'Notatki',
|
||||
'parent_assigned' => 'Rodzic został przypisany.',
|
||||
'parent_removed' => 'Przypisanie zostało usunięte.',
|
||||
'assign_parent' => 'Przypisz rodzica',
|
||||
'add_parent' => 'Dodaj rodzica',
|
||||
'select_user' => 'Wybierz użytkownika',
|
||||
'assign' => 'Przypisz',
|
||||
'relationship_label' => 'Relacja',
|
||||
'relationship_placeholder' => 'np. Matka, Ojciec',
|
||||
'parents' => 'Rodzice',
|
||||
'player_data' => 'Dane zawodnika',
|
||||
'parent_assignment' => 'Przypisanie rodziców',
|
||||
'no_parents_yet' => 'Brak przypisanych rodziców.',
|
||||
'confirm_remove_parent' => 'Na pewno usunąć przypisanie?',
|
||||
'remove' => 'Usuń',
|
||||
'no_players_yet' => 'Brak zawodników.',
|
||||
'users_title' => 'Użytkownicy',
|
||||
'user_toggled' => 'Użytkownik został :status.',
|
||||
'role_updated' => 'Rola została zaktualizowana.',
|
||||
'cannot_deactivate_self' => 'Nie możesz dezaktywować własnego konta.',
|
||||
'cannot_change_own_role' => 'Nie możesz zmienić własnej roli.',
|
||||
'activated' => 'aktywowany',
|
||||
'deactivated' => 'dezaktywowany',
|
||||
'deactivated_label' => 'Dezaktywowany',
|
||||
'children' => 'Dzieci',
|
||||
'phone' => 'Telefon',
|
||||
'last_login' => 'Ostatnie logowanie',
|
||||
'never' => 'Nigdy',
|
||||
'deactivate' => 'Dezaktywuj',
|
||||
'activate' => 'Aktywuj',
|
||||
'you_suffix' => '(ty)',
|
||||
'edit' => 'Edytuj',
|
||||
'edit_user' => 'Edytuj użytkownika',
|
||||
'user_data' => 'Dane użytkownika',
|
||||
'user_updated' => 'Użytkownik został zaktualizowany.',
|
||||
'reset_password' => 'Zresetuj hasło',
|
||||
'reset_password_hint' => 'Generuje nowe losowe hasło. Stare hasło stanie się nieważne.',
|
||||
'reset_password_confirm' => 'Wygenerować nowe losowe hasło? Stare hasło stanie się nieważne.',
|
||||
'password_reset_success' => 'Nowe hasło zostało wygenerowane.',
|
||||
'new_password_label' => 'Nowe hasło (widoczne tylko raz):',
|
||||
'password_only_visible_now' => 'To hasło jest wyświetlane tylko teraz. Przekaż je i nie odświeżaj strony.',
|
||||
'cannot_edit_own_role' => 'Nie możesz tutaj zmienić swojej roli.',
|
||||
'cannot_assign_admin_role' => 'Nie możesz przypisać roli administratora.',
|
||||
'cannot_reset_own_password' => 'Nie możesz zresetować własnego hasła przez panel administracyjny.',
|
||||
'registered_at' => 'Zarejestrowany',
|
||||
'invitations_title' => 'Zaproszenia',
|
||||
'invitation_created' => 'Zaproszenie utworzone. Link: :link',
|
||||
'invitation_deleted' => 'Zaproszenie zostało usunięte.',
|
||||
'invitation_already_used' => 'Wykorzystane zaproszenia nie mogą zostać usunięte.',
|
||||
'create_invitation' => 'Utwórz zaproszenie',
|
||||
'assign_players' => 'Przypisz zawodników',
|
||||
'email_optional' => 'Adres e-mail (opcjonalnie)',
|
||||
'email_optional_hint' => 'Jeśli podany, tylko ten adres e-mail może się zarejestrować',
|
||||
'expires_at' => 'Ważne do',
|
||||
'valid_for_days' => 'Ważne przez (dni)',
|
||||
'token' => 'Token',
|
||||
'status' => 'Status',
|
||||
'used' => 'Wykorzystane',
|
||||
'expired' => 'Wygasłe',
|
||||
'pending' => 'Otwarte',
|
||||
'copy_link' => 'Kopiuj link',
|
||||
'invite_link' => 'Link zaproszenia',
|
||||
'no_assignment' => 'Brak przypisania',
|
||||
'no_invitations_yet' => 'Brak zaproszień.',
|
||||
'no_active_players' => 'Brak aktywnych zawodników.',
|
||||
'confirm_delete_invitation' => 'Na pewno usunąć zaproszenie?',
|
||||
'created_label' => 'Utworzono',
|
||||
'player_assignment_hint' => 'Wybierz dzieci, które mają zostać automatycznie przypisane do nowego konta rodzica.',
|
||||
'events_title' => 'Wydarzenia',
|
||||
'event_created' => 'Wydarzenie zostało utworzone.',
|
||||
'event_updated' => 'Wydarzenie zostało zaktualizowane.',
|
||||
'event_deleted' => 'Wydarzenie zostało usunięte.',
|
||||
'event_title' => 'Tytuł',
|
||||
'start_at' => 'Początek',
|
||||
'date' => 'Data',
|
||||
'time' => 'Godzina',
|
||||
'end_at' => 'Koniec',
|
||||
'location_name' => 'Nazwa miejsca',
|
||||
'address' => 'Adres',
|
||||
'description' => 'Opis',
|
||||
'search_address' => 'Szukaj adresu...',
|
||||
'new_event_title' => 'Nowe wydarzenie',
|
||||
'edit_event_title' => 'Edytuj wydarzenie',
|
||||
'no_events_yet' => 'Brak wydarzeń.',
|
||||
'confirm_delete_event' => 'Na pewno usunąć wydarzenie?',
|
||||
'location_address' => 'Miejsce / Adres',
|
||||
'location_name_hint' => 'Nazwa miejsca (np. Hala sportowa Północ)',
|
||||
'search_by_name' => 'Znajdź adres',
|
||||
'location_name_placeholder' => 'np. Stadion BVB, Hala Sportowa...',
|
||||
'search_address_hint' => 'Wpisz adres (min. 3 znaki)...',
|
||||
'description_placeholder' => 'Wpisz opis...',
|
||||
'assignments' => 'Przypisania',
|
||||
'catering_assignment' => 'Catering',
|
||||
'timekeeper_assignment' => 'Chronometrażysta',
|
||||
'geocoding_error' => 'Wyszukiwanie adresu nie powiodło się. Spróbuj ponownie.',
|
||||
'geocoding_rate_limit' => 'Zbyt wiele zapytań. Poczekaj chwilę.',
|
||||
'geocoding_no_results' => 'Nie znaleziono adresu. Wpisz dokładniej.',
|
||||
'min_requirements' => 'Minimalne wymagania',
|
||||
'min_players' => 'Min. zawodnicy',
|
||||
'min_parents' => 'Min. rodzice',
|
||||
'min_catering' => 'Min. catering',
|
||||
'min_timekeepers' => 'Min. chronometrażyści',
|
||||
'event_defaults_title' => 'Domyślne minimalne wartości wydarzeń',
|
||||
'event_defaults_description' => 'Ustaw domyślne minimalne wartości dla nowych wydarzeń. Admini mogą je zmienić podczas tworzenia.',
|
||||
// Zarządzanie lokalizacjami
|
||||
'nav_locations' => 'Lokalizacje',
|
||||
'locations_title' => 'Zarządzanie lokalizacjami',
|
||||
'location_add' => 'Dodaj nową lokalizację',
|
||||
'location_name_label' => 'Nazwa',
|
||||
'location_save' => 'Zapisz',
|
||||
'location_created' => 'Lokalizacja została utworzona.',
|
||||
'location_updated' => 'Lokalizacja została zaktualizowana.',
|
||||
'location_deleted' => 'Lokalizacja została usunięta.',
|
||||
'location_confirm_delete' => 'Naprawdę usunąć tę lokalizację?',
|
||||
'locations_empty' => 'Brak lokalizacji.',
|
||||
'known_locations' => 'Znane lokalizacje',
|
||||
'address_manual_hint' => 'Wpisz adres ręcznie...',
|
||||
|
||||
// Ustawienia
|
||||
'settings_title' => 'Ustawienia',
|
||||
'settings_saved' => 'Ustawienia zapisane.',
|
||||
'settings_tab_general' => 'Ogólne',
|
||||
'settings_tab_legal' => 'Prawne',
|
||||
'settings_tab_defaults' => 'Domyślne dla wydarzeń',
|
||||
'settings_tab_categories' => 'Kategorie plików',
|
||||
|
||||
// Zarządzanie plikami
|
||||
'nav_files' => 'Pliki',
|
||||
'files_title' => 'Zarządzanie plikami',
|
||||
'upload_file' => 'Prześlij plik',
|
||||
'file_uploaded' => 'Plik został przesłany.',
|
||||
'file_deleted' => 'Plik został usunięty.',
|
||||
'file_category' => 'Kategoria',
|
||||
'select_category' => 'Wybierz kategorię',
|
||||
'no_files_yet' => 'Brak plików w tej kategorii.',
|
||||
'no_files_at_all' => 'Nie przesłano jeszcze żadnych plików.',
|
||||
'file_size' => 'Rozmiar',
|
||||
'uploaded_by' => 'Przesłane przez',
|
||||
'uploaded_at' => 'Przesłano dnia',
|
||||
'confirm_delete_file' => 'Naprawdę usunąć ten plik? Wszystkie powiązania z wydarzeniami zostaną usunięte.',
|
||||
'allowed_file_types' => 'Dozwolone typy plików: PDF, DOCX, XLSX, Obrazy (JPG, PNG, GIF, WEBP)',
|
||||
'max_file_size' => 'Maksymalny rozmiar pliku: 10 MB',
|
||||
'file_categories' => 'Kategorie plików',
|
||||
'file_categories_description' => 'Zarządzaj kategoriami plików.',
|
||||
'new_category' => 'Nowa kategoria',
|
||||
'category_name' => 'Nazwa kategorii',
|
||||
'category_created' => 'Kategoria została utworzona.',
|
||||
'category_updated' => 'Kategoria została zaktualizowana.',
|
||||
'category_deleted' => 'Kategoria została usunięta.',
|
||||
'category_not_empty' => 'Nie można usunąć kategorii, ponieważ zawiera pliki.',
|
||||
'confirm_delete_category' => 'Naprawdę usunąć tę kategorię?',
|
||||
'event_files' => 'Pliki',
|
||||
'attach_from_library' => 'Dołącz z biblioteki',
|
||||
'upload_new_file' => 'Prześlij nowy plik',
|
||||
'attached_files' => 'Dołączone pliki',
|
||||
'detach_file' => 'Usuń',
|
||||
'no_attached_files' => 'Brak dołączonych plików.',
|
||||
'profile_picture' => 'Zdjęcie profilowe',
|
||||
'upload_picture' => 'Prześlij zdjęcie',
|
||||
'remove_picture' => 'Usuń zdjęcie',
|
||||
'picture_uploaded' => 'Zdjęcie profilowe zostało zaktualizowane.',
|
||||
'picture_removed' => 'Zdjęcie profilowe zostało usunięte.',
|
||||
'max_picture_size' => 'Maks. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
'html_anchor_hint' => 'Wskazówka: Dodaj kotwice z atrybutem id, np. <h3 id="cookies">',
|
||||
|
||||
// Soft-Delete
|
||||
'danger_zone' => 'Strefa zagrożenia',
|
||||
'delete_user' => 'Usuń użytkownika',
|
||||
'delete_user_hint' => 'Użytkownik zostanie dezaktywowany i może być przywrócony w ciągu 7 dni. Dane historyczne (komentarze, uczestnictwa) zostaną zachowane.',
|
||||
'delete_player' => 'Usuń zawodnika',
|
||||
'delete_player_hint' => 'Zawodnik zostanie usunięty i może być przywrócony w ciągu 7 dni. Dane historyczne (uczestnictwa, wydarzenia) zostaną zachowane.',
|
||||
'user_status_label' => 'Status użytkownika',
|
||||
'player_status_label' => 'Status zawodnika',
|
||||
'deactivate_user_hint' => 'Użytkownik nie będzie mógł się zalogować.',
|
||||
'activate_user_hint' => 'Użytkownik będzie mógł się ponownie zalogować.',
|
||||
'deactivate_player_hint' => 'Zawodnik nie będzie wyświetlany na listach terminów.',
|
||||
'activate_player_hint' => 'Zawodnik będzie ponownie wyświetlany na listach terminów.',
|
||||
'player_toggled' => 'Zawodnik :status.',
|
||||
'log_player_toggled' => 'Zawodnik :name :status',
|
||||
'confirm_delete_user' => 'Czy na pewno chcesz usunąć tego użytkownika? Można go przywrócić w ciągu 7 dni.',
|
||||
'confirm_delete_player' => 'Czy na pewno chcesz usunąć tego gracza? Można go przywrócić w ciągu 7 dni.',
|
||||
'user_deleted' => 'Użytkownik został usunięty.',
|
||||
'user_restored' => 'Użytkownik został przywrócony.',
|
||||
'player_deleted' => 'Gracz został usunięty.',
|
||||
'player_restored' => 'Gracz został przywrócony.',
|
||||
'cannot_delete_self' => 'Nie możesz usunąć samego siebie.',
|
||||
'cannot_delete_main_admin' => 'Główny administrator nie może zostać usunięty.',
|
||||
'restore_expired' => 'Okres przywracania wygasł.',
|
||||
'trash' => 'Kosz',
|
||||
'restore' => 'Przywróć',
|
||||
'delete' => 'Usuń',
|
||||
'deleted_at' => 'Usunięto',
|
||||
|
||||
// Activity Log
|
||||
'activity_log_title' => 'Dziennik aktywności',
|
||||
'nav_activity_log' => 'Dziennik aktywności',
|
||||
'log_category' => 'Kategoria',
|
||||
'log_all_categories' => 'Wszystkie kategorie',
|
||||
'log_cat_auth' => 'Uwierzytelnianie',
|
||||
'log_cat_users' => 'Użytkownicy',
|
||||
'log_cat_players' => 'Gracze',
|
||||
'log_cat_events' => 'Terminy',
|
||||
'log_cat_files' => 'Pliki',
|
||||
'log_cat_settings' => 'Ustawienia',
|
||||
'log_cat_dsgvo' => 'RODO',
|
||||
'log_from' => 'Od',
|
||||
'log_to' => 'Do',
|
||||
'log_filter' => 'Filtruj',
|
||||
'log_reset' => 'Resetuj',
|
||||
'log_time' => 'Czas',
|
||||
'log_user' => 'Użytkownik',
|
||||
'log_action' => 'Akcja',
|
||||
'log_description' => 'Opis',
|
||||
'log_ip' => 'Adres IP',
|
||||
'log_system' => 'System',
|
||||
'log_empty' => 'Brak wpisów.',
|
||||
'log_details' => 'Szczegóły',
|
||||
'log_field' => 'Pole',
|
||||
'log_old_value' => 'Przed',
|
||||
'log_new_value' => 'Po',
|
||||
|
||||
// Log descriptions
|
||||
'log_login' => ':name zalogował się',
|
||||
'log_logout' => ':name wylogował się',
|
||||
'log_login_failed' => 'Nieudana próba logowania dla :email',
|
||||
'log_registered' => ':name zarejestrował się',
|
||||
'log_user_updated' => 'Użytkownik :name został zaktualizowany',
|
||||
'log_user_toggled' => 'Użytkownik :name: status zmieniony na :status',
|
||||
'log_role_changed' => 'Rola :name zmieniona na :role',
|
||||
'log_password_reset' => 'Hasło :name zostało zresetowane',
|
||||
'log_user_deleted' => 'Użytkownik :name został usunięty',
|
||||
'log_user_restored' => 'Użytkownik :name został przywrócony',
|
||||
'log_player_created' => 'Gracz :name został utworzony',
|
||||
'log_player_updated' => 'Gracz :name został zaktualizowany',
|
||||
'log_player_deleted' => 'Gracz :name został usunięty',
|
||||
'log_player_restored' => 'Gracz :name został przywrócony',
|
||||
'log_parent_assigned' => ':parent został przypisany jako rodzic :player',
|
||||
'log_parent_removed' => ':parent został usunięty jako rodzic :player',
|
||||
'log_event_created' => 'Termin ":title" został utworzony',
|
||||
'log_event_updated' => 'Termin ":title" został zaktualizowany',
|
||||
'log_event_deleted' => 'Termin ":title" został usunięty',
|
||||
'log_participant_changed' => 'Status uczestnictwa dla ":event" zmieniony na :status',
|
||||
'log_catering_changed' => 'Status cateringu dla ":event" zmieniony na :status',
|
||||
'log_timekeeper_changed' => 'Status chronometrażysty dla ":event" zmieniony na :status',
|
||||
'log_comment_created' => 'Dodano komentarz do ":event"',
|
||||
'log_comment_deleted' => 'Usunięto komentarz z ":event"',
|
||||
'log_file_uploaded' => 'Plik ":name" przesłany',
|
||||
'log_file_deleted' => 'Plik ":name" usunięty',
|
||||
'log_settings_updated' => 'Ustawienia zostały zaktualizowane',
|
||||
'log_invitation_created' => 'Zaproszenie utworzone dla :email',
|
||||
|
||||
// Statystyki
|
||||
'nav_statistics' => 'Statystyki',
|
||||
'statistics_title' => 'Statystyki meczów',
|
||||
'total_games' => 'Wszystkie mecze',
|
||||
'wins' => 'Wygrane',
|
||||
'losses' => 'Przegrane',
|
||||
'draws' => 'Remisy',
|
||||
'win_rate' => '% wygranych',
|
||||
'chart_win_loss' => 'Wygrane / Przegrane',
|
||||
'chart_player_participation' => 'Udział zawodników',
|
||||
'chart_parent_involvement' => 'Zaangażowanie rodziców',
|
||||
'no_games_yet' => 'Brak meczów.',
|
||||
'filter_from' => 'Od',
|
||||
'filter_to' => 'Do',
|
||||
'filter_apply' => 'Filtruj',
|
||||
'filter_reset' => 'Resetuj',
|
||||
'all_teams' => 'Wszystkie drużyny',
|
||||
'not_applicable' => 'N/D',
|
||||
'min_users' => 'Min. użytkowników',
|
||||
'home_short' => 'D',
|
||||
'away_short' => 'W',
|
||||
'player_ranking_title' => 'Udział zawodników',
|
||||
'player_ranking_desc' => 'Frekwencja zawodników w :count meczach (domowe i wyjazdowe).',
|
||||
'games_played' => 'Rozegrane',
|
||||
'games_assigned' => 'Wyznaczeni',
|
||||
'participation_rate' => 'Procent',
|
||||
'parent_ranking_title' => 'Zaangażowanie rodziców',
|
||||
'parent_ranking_desc' => 'Catering (:catering wydarzeń) i sędziowanie czasu (:timekeeper wydarzeń) — wszystkie opublikowane wydarzenia.',
|
||||
'total_contributions' => 'Łącznie',
|
||||
|
||||
'statistics_enabled_label' => 'Włącz stronę statystyk',
|
||||
'statistics_enabled_hint' => 'Po wyłączeniu strona statystyk jest widoczna tylko dla administratora.',
|
||||
// Slogan & Favicon
|
||||
'slogan_label' => 'Slogan',
|
||||
'slogan_hint' => 'Wyświetlany na stronie logowania i w stopce.',
|
||||
'favicon_label' => 'Favicon',
|
||||
'favicon_hint' => 'ICO, PNG, SVG, JPG (maks. 512 KB)',
|
||||
'favicon_current' => 'Aktualna ikona',
|
||||
'favicon_remove' => 'Usuń ikonę',
|
||||
'favicon_uploaded' => 'Ikona została zaktualizowana.',
|
||||
'favicon_removed' => 'Ikona została usunięta.',
|
||||
|
||||
// Undo / Revert
|
||||
'log_revert' => 'Cofnij',
|
||||
'log_revert_confirm' => 'Czy na pewno chcesz cofnąć tę akcję?',
|
||||
'log_revert_success' => 'Akcja została pomyślnie cofnięta.',
|
||||
'log_revert_not_possible' => 'Tej akcji nie można cofnąć.',
|
||||
'log_reverted' => 'Cofnięto: ":desc"',
|
||||
'event_restored' => 'Wydarzenie zostało przywrócone.',
|
||||
'log_event_restored' => 'Wydarzenie ":title" zostało przywrócone',
|
||||
|
||||
// Widoczność
|
||||
'settings_tab_visibility' => 'Widoczność',
|
||||
'visibility_description' => 'Kontroluj, które funkcje są widoczne dla poszczególnych ról. Administratorzy zawsze widzą wszystko.',
|
||||
'visibility_feature_statistics' => 'Strona statystyk',
|
||||
'visibility_feature_catering_history' => 'Historia cateringu/chronometrażu',
|
||||
|
||||
// Generator list
|
||||
'nav_list_generator' => 'Generator list',
|
||||
'list_generator_title' => 'Utwórz listę',
|
||||
'list_title' => 'Temat',
|
||||
'list_subtitle' => 'Podtytuł (opcjonalnie)',
|
||||
'list_notes' => 'Notatki / Opis',
|
||||
'list_source' => 'Źródło wierszy',
|
||||
'list_source_players' => 'Zawodnicy',
|
||||
'list_source_parents' => 'Rodzice',
|
||||
'list_source_freetext' => 'Dowolny tekst',
|
||||
'list_freetext_hint' => 'Jedna linia na wpis',
|
||||
'list_columns' => 'Kolumny',
|
||||
'list_custom_columns' => 'Dodatkowe kolumny',
|
||||
'list_add_column' => 'Dodaj kolumnę',
|
||||
'list_column_name' => 'Nazwa kolumny',
|
||||
'list_generate' => 'Utwórz listę',
|
||||
'list_result_title' => 'Lista utworzona',
|
||||
'list_print' => 'Drukuj / Zapisz jako PDF',
|
||||
'list_new' => 'Utwórz nową listę',
|
||||
'list_to_library' => 'Do biblioteki plików',
|
||||
'list_generated_at' => 'Utworzono',
|
||||
'list_all_teams' => 'Wszystkie drużyny',
|
||||
'list_saved_info' => 'Plik ":name" został automatycznie zapisany w bibliotece w kategorii "Ogólne".',
|
||||
'list_download_pdf' => 'Pobierz PDF',
|
||||
'list_entries_count' => 'wpisów',
|
||||
'log_list_generated' => 'Lista ":title" została utworzona',
|
||||
'no_entries' => 'Brak wpisów.',
|
||||
|
||||
// RODO
|
||||
'dsgvo_title' => 'Zgoda RODO',
|
||||
'dsgvo_short' => 'RODO',
|
||||
'dsgvo_consent_label' => 'Zgoda potwierdzona',
|
||||
'dsgvo_view_document' => 'Zobacz dokument',
|
||||
'dsgvo_confirm' => 'Potwierdź',
|
||||
'dsgvo_revoke' => 'Cofnij',
|
||||
'dsgvo_toggled' => 'Status RODO został zaktualizowany.',
|
||||
'dsgvo_no_file' => 'Nie przesłano jeszcze żadnego dokumentu.',
|
||||
'dsgvo_no_document' => 'Użytkownik nie przesłał jeszcze zgody.',
|
||||
'dsgvo_not_confirmed' => 'Jeszcze nie potwierdzone. Proszę sprawdzić dokument i potwierdzić.',
|
||||
'dsgvo_confirmed_info' => 'Potwierdzone przez :name dnia :date',
|
||||
'dsgvo_confirmed_tooltip' => 'Zgoda RODO potwierdzona',
|
||||
'dsgvo_pending_tooltip' => 'Dokument przesłany, potwierdzenie oczekujące',
|
||||
'dsgvo_missing_tooltip' => 'Brak dokumentu',
|
||||
'dsgvo_events_title' => 'Zdarzenia RODO (ostatnie 10)',
|
||||
'dsgvo_action_dsgvo_consent_uploaded' => 'Przesłano',
|
||||
'dsgvo_action_dsgvo_consent_confirmed' => 'Potwierdzono',
|
||||
'dsgvo_action_dsgvo_consent_revoked' => 'Cofnięto',
|
||||
'dsgvo_action_dsgvo_consent_removed' => 'Usunięto',
|
||||
'dsgvo_action_account_self_deleted' => 'Konto usunięte',
|
||||
'dsgvo_action_child_auto_deactivated' => 'Dziecko dezaktywowane',
|
||||
'log_dsgvo_consent_uploaded' => ':name przesłał/a zgodę',
|
||||
'log_dsgvo_confirmed' => 'Zgoda :name została potwierdzona',
|
||||
'log_dsgvo_revoked' => 'Potwierdzenie zgody :name zostało cofnięte',
|
||||
'log_dsgvo_consent_removed' => ':name usunął/ęła zgodę',
|
||||
'log_account_self_deleted' => ':name usunął/ęła własne konto',
|
||||
'log_child_auto_deactivated' => 'Gracz :child został automatycznie dezaktywowany (jedyny rodzic :parent usunął konto)',
|
||||
|
||||
// RODO Pending Widget
|
||||
'dsgvo_pending_title' => 'RODO — Potwierdzenie oczekujące',
|
||||
'dsgvo_pending_count' => ':count deklaracja(e) oczekująca(e)',
|
||||
'dsgvo_consent_document' => 'Deklaracja zgody RODO',
|
||||
'dsgvo_reject' => 'Odrzuć',
|
||||
'dsgvo_reject_confirm' => 'Czy na pewno chcesz odrzucić tę deklarację zgody? Dokument zostanie usunięty, a użytkownik będzie musiał go ponownie przesłać.',
|
||||
'dsgvo_rejected' => 'Deklaracja zgody została odrzucona.',
|
||||
'log_dsgvo_rejected' => 'Deklaracja zgody :name została odrzucona',
|
||||
'dsgvo_action_dsgvo_consent_rejected' => 'Odrzucono',
|
||||
'dsgvo_preview_not_available' => 'Podgląd niedostępny dla tego typu pliku.',
|
||||
|
||||
// Factory Reset
|
||||
'factory_reset_title' => 'Pełny reset',
|
||||
'factory_reset_description' => 'Resetuje całą aplikację do stanu początkowego. Po resecie zostanie uruchomiony kreator instalacji.',
|
||||
'factory_reset_deletes' => 'Następujące dane zostaną trwale usunięte',
|
||||
'factory_reset_item_users' => 'Wszyscy użytkownicy (łącznie z administratorem)',
|
||||
'factory_reset_item_data' => 'Wszystkie drużyny, zawodnicy, terminy, komentarze',
|
||||
'factory_reset_item_settings' => 'Wszystkie ustawienia i kategorie plików',
|
||||
'factory_reset_item_files' => 'Wszystkie przesłane pliki i zdjęcia profilowe',
|
||||
'factory_reset_warning' => 'Tej operacji NIE MOŻNA cofnąć! Aplikacja zostanie całkowicie zresetowana i uruchomiony zostanie kreator instalacji.',
|
||||
'factory_reset_confirm' => 'UWAGA: Cała aplikacja zostanie nieodwracalnie zresetowana i wszystkie dane usunięte. Kreator instalacji zostanie uruchomiony ponownie. Czy na pewno?',
|
||||
'factory_reset_button' => 'Zresetuj aplikację całkowicie',
|
||||
|
||||
// Licencja i wsparcie
|
||||
'settings_tab_license' => 'Licencja i wsparcie',
|
||||
'license_title' => 'Klucz licencyjny',
|
||||
'license_description' => 'Wprowadź klucz licencyjny, aby otrzymywać wsparcie i aktualizacje.',
|
||||
'license_key_label' => 'Klucz licencyjny',
|
||||
'license_invalid' => 'Wprowadzony klucz licencyjny jest nieprawidłowy.',
|
||||
'registration_status' => 'Status rejestracji',
|
||||
'registration_active' => 'Zarejestrowano',
|
||||
'registration_inactive' => 'Niezarejestrowano',
|
||||
'register_now' => 'Zarejestruj teraz',
|
||||
'registration_success' => 'Instalacja została pomyślnie zarejestrowana.',
|
||||
'registration_failed' => 'Rejestracja nie powiodła się. Spróbuj ponownie później.',
|
||||
'version_info' => 'Informacje o systemie',
|
||||
'update_available' => 'Dostępna aktualizacja: Wersja :version',
|
||||
'update_details' => 'Pokaż szczegóły',
|
||||
'download_update' => 'Pobierz aktualizację',
|
||||
'installation_id_label' => 'ID instalacji',
|
||||
'nav_support' => 'Wsparcie',
|
||||
'support_title' => 'Zgłoszenia wsparcia',
|
||||
'support_not_registered' => 'Instalacja niezarejestrowana',
|
||||
'support_register_hint' => 'Aby korzystać ze wsparcia, instalacja musi być zarejestrowana. Przesyłane są tylko dane techniczne (nazwa aplikacji, URL, wersja PHP).',
|
||||
'support_new_ticket' => 'Utwórz nowe zgłoszenie',
|
||||
'support_subject' => 'Temat',
|
||||
'support_category' => 'Kategoria',
|
||||
'support_category_bug' => 'Raport o błędzie',
|
||||
'support_category_feature' => 'Prośba o funkcję',
|
||||
'support_category_question' => 'Pytanie',
|
||||
'support_category_other' => 'Inne',
|
||||
'support_message' => 'Wiadomość',
|
||||
'support_submit' => 'Wyślij zgłoszenie',
|
||||
'support_reply' => 'Odpowiedz',
|
||||
'support_send_reply' => 'Wyślij odpowiedź',
|
||||
'support_reply_placeholder' => 'Napisz swoją odpowiedź...',
|
||||
'support_ticket_created' => 'Zgłoszenie zostało utworzone.',
|
||||
'support_reply_sent' => 'Odpowiedź została wysłana.',
|
||||
'support_submit_failed' => 'Nie udało się utworzyć zgłoszenia. Spróbuj ponownie później.',
|
||||
'support_reply_failed' => 'Nie udało się wysłać odpowiedzi. Spróbuj ponownie później.',
|
||||
'support_ticket_not_found' => 'Zgłoszenie nie zostało znalezione.',
|
||||
'support_no_tickets' => 'Brak zgłoszeń.',
|
||||
'support_no_messages' => 'Brak wiadomości.',
|
||||
'support_ticket_id' => 'Nr zgłoszenia',
|
||||
'support_status' => 'Status',
|
||||
'support_status_open' => 'Otwarte',
|
||||
'support_status_in_progress' => 'W trakcie',
|
||||
'support_status_waiting' => 'Oczekujące',
|
||||
'support_status_closed' => 'Zamknięte',
|
||||
'support_created_at' => 'Utworzono',
|
||||
'support_last_reply' => 'Ostatnia odpowiedź',
|
||||
'support_back_to_list' => 'Powrót do przeglądu',
|
||||
'support_system_info_note' => 'Informacje o systemie zostaną wysłane automatycznie.',
|
||||
'support_sender_support' => 'Wsparcie',
|
||||
'support_sender_you' => 'Ty',
|
||||
'support_ticket_closed' => 'To zgłoszenie jest zamknięte.',
|
||||
'installer_register_label' => 'Zarejestruj instalację',
|
||||
'installer_register_hint' => 'Umożliwia powiadomienia o aktualizacjach i wsparcie. Przesyłane są tylko dane techniczne (nazwa aplikacji, URL, wersja PHP, wersja aplikacji).',
|
||||
'installer_license_label' => 'Klucz licencyjny (opcjonalnie)',
|
||||
'installer_license_hint' => 'Można również wprowadzić później w ustawieniach.',
|
||||
|
||||
// Password Reset (Admin + Self-Service)
|
||||
'settings_tab_maintenance' => 'Konserwacja',
|
||||
'factory_reset_password_label' => 'Twoje hasło do potwierdzenia',
|
||||
'factory_reset_confirmation_label' => 'Potwierdzenie bezpieczeństwa',
|
||||
'factory_reset_confirmation_hint' => 'Wpisz RESET-BESTÄTIGT, aby potwierdzić operację.',
|
||||
'password_reset_link_sent' => 'Link do resetowania hasła został wysłany e-mailem.',
|
||||
'password_reset_email_label' => 'Szablon e-maila resetowania hasła',
|
||||
'password_reset_email_hint' => 'Zmienne: {name} = Nazwa użytkownika, {link} = Link resetowania, {app_name} = Nazwa aplikacji',
|
||||
'log_password_reset_requested' => 'Zażądano resetowania hasła',
|
||||
'log_password_changed_self' => ':name zmienił hasło',
|
||||
'log_dsgvo_viewed' => 'Dokument RODO użytkownika :name przeglądany',
|
||||
|
||||
// Multi-Language Legal Editor
|
||||
'legal_language_label' => 'Język',
|
||||
'legal_impressum_label' => 'Nota prawna',
|
||||
'legal_datenschutz_label' => 'Polityka prywatności',
|
||||
'legal_password_reset_email_label' => 'E-mail resetowania hasła',
|
||||
|
||||
// E-Mail Tab
|
||||
'settings_tab_mail' => 'E-mail',
|
||||
'mail_config_title' => 'Konfiguracja e-mail',
|
||||
'mail_config_hint' => 'Ustawienia SMTP do wysyłania wiadomości e-mail (np. resetowanie hasła, powiadomienia).',
|
||||
'mail_mailer_label' => 'Metoda wysyłki',
|
||||
'mail_log_mode' => 'Brak wysyłki (Log)',
|
||||
'mail_host_label' => 'Host SMTP',
|
||||
'mail_port_label' => 'Port',
|
||||
'mail_username_label' => 'Nazwa użytkownika',
|
||||
'mail_password_label' => 'Hasło',
|
||||
'mail_from_address_label' => 'Adres nadawcy',
|
||||
'mail_from_name_label' => 'Nazwa nadawcy',
|
||||
'mail_encryption_label' => 'Szyfrowanie',
|
||||
'mail_encryption_none' => 'Brak',
|
||||
'mail_save' => 'Zapisz ustawienia e-mail',
|
||||
'mail_saved' => 'Ustawienia e-mail zostały zapisane.',
|
||||
'mail_test_button' => 'Testuj połączenie',
|
||||
'mail_testing' => 'Testowanie połączenia...',
|
||||
'mail_test_success' => 'Połączenie SMTP udane!',
|
||||
];
|
||||
7
lang/pl/auth.php
Executable file
7
lang/pl/auth.php
Executable file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'failed' => 'Podane dane logowania są nieprawidłowe.',
|
||||
'password' => 'Podane hasło jest nieprawidłowe.',
|
||||
'throttle' => 'Zbyt wiele prób logowania. Spróbuj ponownie za :seconds sekund.',
|
||||
];
|
||||
34
lang/pl/auth_ui.php
Executable file
34
lang/pl/auth_ui.php
Executable file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'login_title' => 'Logowanie',
|
||||
'email_label' => 'E-mail',
|
||||
'password_label' => 'Hasło',
|
||||
'remember_me' => 'Zapamiętaj mnie',
|
||||
'login_button' => 'Zaloguj',
|
||||
'register_title' => 'Rejestracja',
|
||||
'name_label' => 'Imię',
|
||||
'children_assigned' => 'Twoje konto zostanie przypisane do następujących dzieci:',
|
||||
'password_min' => '(min. 8 znaków)',
|
||||
'password_confirm_label' => 'Potwierdź hasło',
|
||||
'create_account' => 'Utwórz konto',
|
||||
'already_registered' => 'Masz już konto?',
|
||||
'go_to_login' => 'Zaloguj się',
|
||||
'email_fixed_by_invitation' => 'Adres e-mail jest określony przez zaproszenie.',
|
||||
'invalid_invitation' => 'Ten link zaproszenia jest nieprawidłowy lub wygasł.',
|
||||
'welcome' => 'Witamy! Twoje konto zostało utworzone.',
|
||||
'forgot_password_link' => 'Zapomniałeś hasła?',
|
||||
'forgot_password_title' => 'Resetowanie hasła',
|
||||
'forgot_password_description' => 'Podaj swój adres e-mail, a wyślemy Ci link do zresetowania hasła.',
|
||||
'send_reset_link' => 'Wyślij link',
|
||||
'back_to_login' => 'Powrót do logowania',
|
||||
'reset_password_title' => 'Ustaw nowe hasło',
|
||||
'reset_password_button' => 'Zresetuj hasło',
|
||||
'new_password_label' => 'Nowe hasło',
|
||||
'confirm_password_label' => 'Potwierdź hasło',
|
||||
'login_failed' => 'Dane logowania są nieprawidłowe.',
|
||||
'email_must_match_invitation' => 'Adres e-mail musi odpowiadać zaproszeniu: :email',
|
||||
'cookie_notice' => 'Ta strona używa tylko technicznie niezbędnego pliku cookie sesji. Bez śledzenia.',
|
||||
'cookie_notice_link' => 'Dowiedz się więcej',
|
||||
'account_deactivated' => 'Twoje konto zostało dezaktywowane. Skontaktuj się z administratorem.',
|
||||
];
|
||||
64
lang/pl/events.php
Executable file
64
lang/pl/events.php
Executable file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Terminy',
|
||||
'no_events' => 'Nie znaleziono terminów.',
|
||||
'no_upcoming' => 'Brak nadchodzących terminów.',
|
||||
'upcoming_title' => 'Nadchodzące terminy',
|
||||
'cancelled_label' => 'Odwołany',
|
||||
'draft_label' => 'Szkic',
|
||||
'cancelled_banner' => 'Ten termin został odwołany.',
|
||||
'draft_banner' => 'Szkic — widoczny tylko dla administratorów.',
|
||||
'back_to_list' => 'Powrót do listy terminów',
|
||||
'description' => 'Opis',
|
||||
'plan_route' => 'Zaplanuj trasę',
|
||||
'start_navigation' => 'Rozpocznij nawigację',
|
||||
'participants' => 'Uczestnicy',
|
||||
'confirmations' => 'Potwierdzenia',
|
||||
'rejections' => 'Odmowy',
|
||||
'open_responses' => 'Otwarte',
|
||||
'participation_updated' => 'Uczestnictwo zaktualizowane.',
|
||||
'catering' => 'Catering / Wyżywienie',
|
||||
'bring_something' => 'Przyniosę coś',
|
||||
'bring_nothing' => 'Nie przynoszę niczego',
|
||||
'catering_note_placeholder' => 'np. Przyniosę ciasto',
|
||||
'catering_updated' => 'Status cateringu zaktualizowany.',
|
||||
'no_catering_yet' => 'Brak potwierdzeń dotyczących wyżywienia.',
|
||||
'timekeeper' => 'Chronometrażysta',
|
||||
'timekeeper_yes' => 'Tak, mogę',
|
||||
'timekeeper_no' => 'Nie',
|
||||
'catering_short' => 'Catering',
|
||||
'timekeeper_short' => 'Sędzia czasu',
|
||||
'no_timekeeper_yet' => 'Brak przypisanego chronometrażysty.',
|
||||
'timekeeper_updated' => 'Status chronometrażysty zaktualizowany.',
|
||||
'comments' => 'Komentarze',
|
||||
'comment_placeholder' => 'Napisz komentarz...',
|
||||
'no_comments' => 'Brak komentarzy.',
|
||||
'comment_deleted' => '[Usunięty]',
|
||||
'confirm_delete_comment' => 'Usunąć komentarz?',
|
||||
'comment_added' => 'Komentarz dodany.',
|
||||
'comment_removed' => 'Komentarz usunięty.',
|
||||
'hello_user' => 'Cześć, :name!',
|
||||
'upcoming_events' => 'Nadchodzące terminy',
|
||||
'calendar' => 'Kalendarz',
|
||||
'today' => 'Dziś',
|
||||
'month_view' => 'Miesiąc',
|
||||
'year_view' => 'Rok',
|
||||
|
||||
// Pliki
|
||||
'files' => 'Pliki',
|
||||
'download' => 'Pobierz',
|
||||
'no_files' => 'Brak dołączonych plików.',
|
||||
|
||||
// Przeciwnik i wynik
|
||||
'opponent' => 'Przeciwnik',
|
||||
'score' => 'Wynik',
|
||||
'score_home' => 'Gospodarze',
|
||||
'score_away' => 'Goście',
|
||||
'vs' => 'vs.',
|
||||
|
||||
// Staff visibility
|
||||
'signed_up' => 'zapisany',
|
||||
'withdrawn' => 'wypisany',
|
||||
'deleted_label' => 'usunięty',
|
||||
];
|
||||
6
lang/pl/pagination.php
Executable file
6
lang/pl/pagination.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'previous' => '« Wstecz',
|
||||
'next' => 'Dalej »',
|
||||
];
|
||||
14
lang/pl/passwords.php
Executable file
14
lang/pl/passwords.php
Executable file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'reset' => 'Twoje hasło zostało zresetowane.',
|
||||
'sent' => 'Wysłaliśmy Ci link do resetowania hasła.',
|
||||
'throttled' => 'Poczekaj przed ponowną próbą.',
|
||||
'token' => 'Token resetowania hasła jest nieprawidłowy.',
|
||||
'user' => 'Nie znaleziono użytkownika z tym adresem e-mail.',
|
||||
'reset_subject' => 'Resetowanie hasła — :app',
|
||||
'reset_greeting' => 'Witaj :name,',
|
||||
'reset_line1' => 'Otrzymujesz tę wiadomość, ponieważ złożono prośbę o zresetowanie hasła.',
|
||||
'reset_line2' => 'Ten link do resetowania hasła wygaśnie za :count minut.',
|
||||
'reset_line3' => 'Jeśli nie prosiłeś o resetowanie hasła, zignoruj tę wiadomość.',
|
||||
];
|
||||
44
lang/pl/profile.php
Executable file
44
lang/pl/profile.php
Executable file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Mój profil',
|
||||
'name_label' => 'Imię',
|
||||
'email_label' => 'E-mail',
|
||||
'email_readonly' => 'Adres e-mail nie może zostać zmieniony.',
|
||||
'phone_label' => 'Telefon (komórkowy)',
|
||||
'role_label' => 'Rola',
|
||||
'language_label' => 'Język',
|
||||
'my_children' => 'Moje dzieci',
|
||||
'updated' => 'Profil zaktualizowany.',
|
||||
|
||||
// Zdjęcie profilowe
|
||||
'profile_picture' => 'Zdjęcie profilowe',
|
||||
'upload_picture' => 'Prześlij zdjęcie',
|
||||
'remove_picture' => 'Usuń zdjęcie',
|
||||
'max_picture_size' => 'Maks. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
|
||||
// Zgoda RODO
|
||||
'dsgvo_title' => 'Zgoda RODO',
|
||||
'dsgvo_description' => 'Prześlij tutaj podpisaną zgodę jako zdjęcie lub PDF. Jedna zgoda obowiązuje dla obojga rodziców wspólnie.',
|
||||
'dsgvo_upload' => 'Prześlij zgodę',
|
||||
'dsgvo_replace' => 'Zastąp',
|
||||
'dsgvo_remove' => 'Usuń zgodę',
|
||||
'dsgvo_file_hint' => 'PDF lub obraz (maks. 10 MB)',
|
||||
'dsgvo_uploaded' => 'Zgoda została przesłana.',
|
||||
'dsgvo_removed' => 'Zgoda została usunięta.',
|
||||
'dsgvo_view' => 'Podgląd',
|
||||
'dsgvo_confirmed' => 'Potwierdzone',
|
||||
'dsgvo_pending' => 'Oczekiwanie na potwierdzenie przez admina/trenera',
|
||||
'dsgvo_confirmed_by' => 'Potwierdzone przez :name dnia :date',
|
||||
'dsgvo_confirm_remove' => 'Czy na pewno usunąć zgodę? Istniejące potwierdzenie zostanie również zresetowane.',
|
||||
|
||||
// Usuwanie konta
|
||||
'danger_zone' => 'Strefa zagrożenia',
|
||||
'delete_account' => 'Usuń konto',
|
||||
'delete_account_hint' => 'Twój profil zostanie dezaktywowany i może być przywrócony przez administratora w ciągu 7 dni. Dane historyczne (komentarze, uczestnictwo) zostaną zachowane.',
|
||||
'delete_warning_children' => 'Uwaga: Jesteś jedynym rodzicem następujących dzieci. Zostaną one również dezaktywowane:',
|
||||
'delete_confirm' => 'Czy na pewno chcesz usunąć swoje konto? Może to cofnąć tylko administrator.',
|
||||
'account_deleted' => 'Twoje konto zostało usunięte.',
|
||||
'cannot_delete_admin' => 'Konto administratora nie może zostać usunięte.',
|
||||
'cannot_delete_staff' => 'Trenerzy i administratorzy nie mogą usunąć konta przez stronę profilu.',
|
||||
];
|
||||
109
lang/pl/ui.php
Executable file
109
lang/pl/ui.php
Executable file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'dashboard' => 'Panel',
|
||||
'events' => 'Terminy',
|
||||
'admin' => 'Admin',
|
||||
'profile' => 'Profil',
|
||||
'logout' => 'Wyloguj',
|
||||
'back_to_app' => 'Do aplikacji',
|
||||
'login' => 'Zaloguj',
|
||||
'save' => 'Zapisz',
|
||||
'cancel' => 'Anuluj',
|
||||
'edit' => 'Edytuj',
|
||||
'delete' => 'Usuń',
|
||||
'create' => 'Utwórz',
|
||||
'filter' => 'Filtruj',
|
||||
'send' => 'Wyślij',
|
||||
'back' => 'Wstecz',
|
||||
'yes' => 'Tak',
|
||||
'no' => 'Nie',
|
||||
'open' => 'Otwarte',
|
||||
'all_teams' => 'Wszystkie drużyny',
|
||||
'all_types' => 'Wszystkie typy',
|
||||
'upcoming' => 'Nadchodzące',
|
||||
'past' => 'Minione',
|
||||
'period' => 'Okres',
|
||||
'team' => 'Drużyna',
|
||||
'type' => 'Typ',
|
||||
'name' => 'Imię',
|
||||
'email' => 'E-mail',
|
||||
'password' => 'Hasło',
|
||||
'role' => 'Rola',
|
||||
'language' => 'Język',
|
||||
'impressum' => 'Impressum',
|
||||
'privacy' => 'Polityka prywatności',
|
||||
'no_entries' => 'Brak wpisów.',
|
||||
'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' => 'Impressum',
|
||||
'footer_privacy' => 'Polityka prywatności',
|
||||
'pwa_install_title' => 'Zainstaluj aplikację',
|
||||
'pwa_install_text' => 'Dodaj aplikację do ekranu głównego, aby mieć szybki dostęp.',
|
||||
'pwa_install_btn' => 'Zainstaluj',
|
||||
'pwa_ios_steps' => 'Kliknij <strong>⋯</strong> (Menu), potem <strong>⬆</strong> (Udostępnij) i wybierz „Dodaj do ekranu głównego".',
|
||||
'error_403_title' => 'Brak dostępu',
|
||||
'error_403_text' => 'Nie masz uprawnień do wyświetlenia tej strony.',
|
||||
'error_404_title' => 'Nie znaleziono strony',
|
||||
'error_404_text' => 'Żądana strona nie została znaleziona.',
|
||||
'error_500_title' => 'Błąd serwera',
|
||||
'error_500_text' => 'Wystąpił błąd wewnętrzny. Spróbuj ponownie później.',
|
||||
'back_to_dashboard' => 'Do panelu',
|
||||
'enums' => [
|
||||
'event_type' => [
|
||||
'home_game' => 'Mecz u siebie',
|
||||
'away_game' => 'Mecz wyjazdowy',
|
||||
'training' => 'Trening',
|
||||
'tournament' => 'Turniej',
|
||||
'meeting' => 'Zebranie',
|
||||
'other' => 'Inne',
|
||||
],
|
||||
'event_status' => [
|
||||
'published' => 'Opublikowany',
|
||||
'cancelled' => 'Odwołany',
|
||||
'draft' => 'Szkic',
|
||||
],
|
||||
'participant_status' => [
|
||||
'yes' => 'Potwierdzony',
|
||||
'no' => 'Odrzucony',
|
||||
'unknown' => 'Otwarte',
|
||||
],
|
||||
'catering_status' => [
|
||||
'yes' => 'Tak',
|
||||
'no' => 'Nie',
|
||||
'unknown' => 'Otwarte',
|
||||
],
|
||||
'user_role' => [
|
||||
'admin' => 'Administrator',
|
||||
'coach' => 'Trener',
|
||||
'parent_rep' => 'Przedstawiciel rodziców',
|
||||
'user' => 'Rodzic',
|
||||
],
|
||||
],
|
||||
'locales' => [
|
||||
'de' => 'Deutsch',
|
||||
'en' => 'English',
|
||||
'pl' => 'Polski',
|
||||
'ru' => 'Русский',
|
||||
'ar' => 'العربية',
|
||||
'tr' => 'Türkçe',
|
||||
],
|
||||
|
||||
// Baner RODO
|
||||
'dsgvo_banner_title' => 'Wymagana zgoda RODO',
|
||||
'dsgvo_banner_text' => 'Do korzystania z tej aplikacji wymagana jest podpisana deklaracja zgody RODO. Prześlij deklarację jako zdjęcie lub PDF w swoim profilu. Aplikacja może być w pełni używana dopiero po przesłaniu.',
|
||||
'dsgvo_banner_action' => 'Prześlij teraz w profilu',
|
||||
'dsgvo_banner_pending_title' => 'Zgoda jest weryfikowana',
|
||||
'dsgvo_banner_pending_text' => 'Twoja deklaracja zgody RODO została przesłana i jest weryfikowana. Do czasu potwierdzenia przez administratora aplikacja działa w trybie tylko do odczytu — uczestnictwo, catering, obsługa czasu i komentarze są zablokowane.',
|
||||
'dsgvo_restricted' => 'Twoja deklaracja zgody RODO nie została jeszcze potwierdzona. Poczekaj na zatwierdzenie przez administratora.',
|
||||
'dsgvo_restricted_hint' => 'Zgoda RODO niepotwierdzona — działania zablokowane.',
|
||||
|
||||
// Pliki
|
||||
'files' => 'Pliki',
|
||||
'download' => 'Pobierz',
|
||||
'all' => 'Wszystkie',
|
||||
'close' => 'Zamknij',
|
||||
];
|
||||
130
lang/pl/validation.php
Executable file
130
lang/pl/validation.php
Executable file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'accepted' => 'Pole :attribute musi zostać zaakceptowane.',
|
||||
'active_url' => 'Pole :attribute nie jest prawidłowym adresem URL.',
|
||||
'after' => 'Pole :attribute musi być datą późniejszą niż :date.',
|
||||
'after_or_equal' => 'Pole :attribute musi być datą nie wcześniejszą niż :date.',
|
||||
'alpha' => 'Pole :attribute może zawierać tylko litery.',
|
||||
'alpha_dash' => 'Pole :attribute może zawierać tylko litery, cyfry, myślniki i podkreślenia.',
|
||||
'alpha_num' => 'Pole :attribute może zawierać tylko litery i cyfry.',
|
||||
'array' => 'Pole :attribute musi być tablicą.',
|
||||
'before' => 'Pole :attribute musi być datą wcześniejszą niż :date.',
|
||||
'before_or_equal' => 'Pole :attribute musi być datą nie późniejszą niż :date.',
|
||||
'between' => [
|
||||
'numeric' => 'Pole :attribute musi mieścić się między :min a :max.',
|
||||
'file' => 'Pole :attribute musi mieć od :min do :max kilobajtów.',
|
||||
'string' => 'Pole :attribute musi mieć od :min do :max znaków.',
|
||||
'array' => 'Pole :attribute musi mieć od :min do :max elementów.',
|
||||
],
|
||||
'boolean' => 'Pole :attribute musi mieć wartość prawda lub fałsz.',
|
||||
'confirmed' => 'Potwierdzenie pola :attribute nie jest zgodne.',
|
||||
'date' => 'Pole :attribute nie jest prawidłową datą.',
|
||||
'date_equals' => 'Pole :attribute musi być datą równą :date.',
|
||||
'date_format' => 'Pole :attribute nie odpowiada formatowi :format.',
|
||||
'different' => 'Pola :attribute i :other muszą się różnić.',
|
||||
'digits' => 'Pole :attribute musi mieć :digits cyfr.',
|
||||
'digits_between' => 'Pole :attribute musi mieć od :min do :max cyfr.',
|
||||
'email' => 'Pole :attribute musi być prawidłowym adresem e-mail.',
|
||||
'exists' => 'Wybrana wartość dla :attribute jest nieprawidłowa.',
|
||||
'file' => 'Pole :attribute musi być plikiem.',
|
||||
'filled' => 'Pole :attribute musi mieć wartość.',
|
||||
'gt' => [
|
||||
'numeric' => 'Pole :attribute musi być większe niż :value.',
|
||||
'file' => 'Pole :attribute musi być większe niż :value kilobajtów.',
|
||||
'string' => 'Pole :attribute musi mieć więcej niż :value znaków.',
|
||||
'array' => 'Pole :attribute musi mieć więcej niż :value elementów.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => 'Pole :attribute musi być większe lub równe :value.',
|
||||
'file' => 'Pole :attribute musi mieć co najmniej :value kilobajtów.',
|
||||
'string' => 'Pole :attribute musi mieć co najmniej :value znaków.',
|
||||
'array' => 'Pole :attribute musi mieć co najmniej :value elementów.',
|
||||
],
|
||||
'image' => 'Pole :attribute musi być obrazem.',
|
||||
'in' => 'Wybrana wartość dla :attribute jest nieprawidłowa.',
|
||||
'in_array' => 'Pole :attribute nie istnieje w :other.',
|
||||
'integer' => 'Pole :attribute musi być liczbą całkowitą.',
|
||||
'ip' => 'Pole :attribute musi być prawidłowym adresem IP.',
|
||||
'json' => 'Pole :attribute musi być prawidłowym ciągiem JSON.',
|
||||
'lt' => [
|
||||
'numeric' => 'Pole :attribute musi być mniejsze niż :value.',
|
||||
'file' => 'Pole :attribute musi być mniejsze niż :value kilobajtów.',
|
||||
'string' => 'Pole :attribute musi mieć mniej niż :value znaków.',
|
||||
'array' => 'Pole :attribute musi mieć mniej niż :value elementów.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => 'Pole :attribute musi być mniejsze lub równe :value.',
|
||||
'file' => 'Pole :attribute musi mieć co najwyżej :value kilobajtów.',
|
||||
'string' => 'Pole :attribute może mieć co najwyżej :value znaków.',
|
||||
'array' => 'Pole :attribute może mieć co najwyżej :value elementów.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => 'Pole :attribute nie może być większe niż :max.',
|
||||
'file' => 'Pole :attribute nie może być większe niż :max kilobajtów.',
|
||||
'string' => 'Pole :attribute nie może mieć więcej niż :max znaków.',
|
||||
'array' => 'Pole :attribute nie może mieć więcej niż :max elementów.',
|
||||
],
|
||||
'min' => [
|
||||
'numeric' => 'Pole :attribute musi wynosić co najmniej :min.',
|
||||
'file' => 'Pole :attribute musi mieć co najmniej :min kilobajtów.',
|
||||
'string' => 'Pole :attribute musi mieć co najmniej :min znaków.',
|
||||
'array' => 'Pole :attribute musi mieć co najmniej :min elementów.',
|
||||
],
|
||||
'not_in' => 'Wybrana wartość dla :attribute jest nieprawidłowa.',
|
||||
'numeric' => 'Pole :attribute musi być liczbą.',
|
||||
'present' => 'Pole :attribute musi być obecne.',
|
||||
'regex' => 'Pole :attribute ma nieprawidłowy format.',
|
||||
'required' => 'Pole :attribute jest wymagane.',
|
||||
'required_if' => 'Pole :attribute jest wymagane, gdy :other ma wartość :value.',
|
||||
'required_unless' => 'Pole :attribute jest wymagane, chyba że :other ma wartość :values.',
|
||||
'required_with' => 'Pole :attribute jest wymagane, gdy :values jest obecne.',
|
||||
'required_with_all' => 'Pole :attribute jest wymagane, gdy :values są obecne.',
|
||||
'required_without' => 'Pole :attribute jest wymagane, gdy :values nie jest obecne.',
|
||||
'required_without_all' => 'Pole :attribute jest wymagane, gdy żadne z :values nie jest obecne.',
|
||||
'same' => 'Pola :attribute i :other muszą być zgodne.',
|
||||
'size' => [
|
||||
'numeric' => 'Pole :attribute musi wynosić :size.',
|
||||
'file' => 'Pole :attribute musi mieć :size kilobajtów.',
|
||||
'string' => 'Pole :attribute musi mieć :size znaków.',
|
||||
'array' => 'Pole :attribute musi zawierać :size elementów.',
|
||||
],
|
||||
'string' => 'Pole :attribute musi być ciągiem znaków.',
|
||||
'timezone' => 'Pole :attribute musi być prawidłową strefą czasową.',
|
||||
'unique' => 'Taka wartość pola :attribute już istnieje.',
|
||||
'url' => 'Pole :attribute musi być prawidłowym adresem URL.',
|
||||
|
||||
'password' => [
|
||||
'letters' => ':attribute musi zawierać co najmniej jedną literę.',
|
||||
'mixed' => ':attribute musi zawierać co najmniej jedną wielką i jedną małą literę.',
|
||||
'numbers' => ':attribute musi zawierać co najmniej jedną cyfrę.',
|
||||
'symbols' => ':attribute musi zawierać co najmniej jeden znak specjalny.',
|
||||
'uncompromised' => ':attribute pojawił się w wycieku danych. Proszę wybrać inne hasło.',
|
||||
],
|
||||
|
||||
'attributes' => [
|
||||
'name' => 'Imię',
|
||||
'email' => 'E-mail',
|
||||
'password' => 'Hasło',
|
||||
'password_confirmation' => 'Potwierdzenie hasła',
|
||||
'title' => 'Tytuł',
|
||||
'body' => 'Treść',
|
||||
'type' => 'Typ',
|
||||
'status' => 'Status',
|
||||
'team_id' => 'Drużyna',
|
||||
'start_date' => 'Data',
|
||||
'start_time' => 'Godzina',
|
||||
'location_name' => 'Miejsce',
|
||||
'address_text' => 'Adres',
|
||||
'description_html' => 'Opis',
|
||||
'first_name' => 'Imię',
|
||||
'last_name' => 'Nazwisko',
|
||||
'birth_year' => 'Rok urodzenia',
|
||||
'jersey_number' => 'Numer na koszulce',
|
||||
'note' => 'Notatka',
|
||||
'season' => 'Sezon',
|
||||
'player_id' => 'Zawodnik',
|
||||
'parent_id' => 'Rodzic',
|
||||
'relationship_label' => 'Relacja',
|
||||
],
|
||||
];
|
||||
567
lang/ru/admin.php
Executable file
567
lang/ru/admin.php
Executable file
@@ -0,0 +1,567 @@
|
||||
<?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' => 'Введите адрес (мин. 3 символа)...',
|
||||
'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' => 'GDPR',
|
||||
'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' => 'Согласие на обработку данных (GDPR)',
|
||||
'dsgvo_short' => 'GDPR',
|
||||
'dsgvo_consent_label' => 'Согласие подтверждено',
|
||||
'dsgvo_view_document' => 'Просмотреть документ',
|
||||
'dsgvo_confirm' => 'Подтвердить',
|
||||
'dsgvo_revoke' => 'Отозвать',
|
||||
'dsgvo_toggled' => 'Статус GDPR обновлён.',
|
||||
'dsgvo_no_file' => 'Документ ещё не загружен.',
|
||||
'dsgvo_no_document' => 'Пользователь ещё не загрузил согласие.',
|
||||
'dsgvo_not_confirmed' => 'Ещё не подтверждено. Проверьте документ и подтвердите.',
|
||||
'dsgvo_confirmed_info' => 'Подтверждено :name :date',
|
||||
'dsgvo_confirmed_tooltip' => 'Согласие GDPR подтверждено',
|
||||
'dsgvo_pending_tooltip' => 'Документ загружен, подтверждение ожидается',
|
||||
'dsgvo_missing_tooltip' => 'Документ не загружен',
|
||||
'dsgvo_events_title' => 'События GDPR (последние 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 удалил аккаунт)',
|
||||
|
||||
// GDPR Pending Widget
|
||||
'dsgvo_pending_title' => 'GDPR — Подтверждение ожидается',
|
||||
'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' => 'ID установки',
|
||||
'nav_support' => 'Поддержка',
|
||||
'support_title' => 'Тикеты поддержки',
|
||||
'support_not_registered' => 'Установка не зарегистрирована',
|
||||
'support_register_hint' => 'Для использования поддержки установка должна быть зарегистрирована. Передаются только технические данные (название приложения, URL, версия 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' => 'Включает уведомления об обновлениях и поддержку. Передаются только технические данные (название приложения, URL, версия 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' => 'Письмо для сброса пароля',
|
||||
|
||||
// Вкладка E-Mail
|
||||
'settings_tab_mail' => 'E-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/ru/auth.php
Executable file
7
lang/ru/auth.php
Executable file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'failed' => 'Неверные учётные данные.',
|
||||
'password' => 'Указанный пароль неверен.',
|
||||
'throttle' => 'Слишком много попыток входа. Пожалуйста, повторите через :seconds секунд.',
|
||||
];
|
||||
37
lang/ru/auth_ui.php
Executable file
37
lang/ru/auth_ui.php
Executable file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// Вход
|
||||
'login_title' => 'Вход',
|
||||
'email_label' => 'Эл. почта',
|
||||
'password_label' => 'Пароль',
|
||||
'remember_me' => 'Запомнить меня',
|
||||
'login_button' => 'Войти',
|
||||
|
||||
// Регистрация
|
||||
'register_title' => 'Регистрация',
|
||||
'name_label' => 'Имя',
|
||||
'children_assigned' => 'Ваш аккаунт будет привязан к следующим детям:',
|
||||
'password_min' => '(мин. 8 символов)',
|
||||
'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. Без отслеживания.',
|
||||
'cookie_notice_link' => 'Подробнее',
|
||||
'account_deactivated' => 'Ваш аккаунт был деактивирован. Пожалуйста, обратитесь к администратору.',
|
||||
];
|
||||
78
lang/ru/events.php
Executable file
78
lang/ru/events.php
Executable file
@@ -0,0 +1,78 @@
|
||||
<?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' => 'Например, принесу торт',
|
||||
'no_catering_yet' => 'Пока никто не записался на питание.',
|
||||
'catering_updated' => 'Статус питания обновлён.',
|
||||
|
||||
// Хронометрист
|
||||
'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/ru/pagination.php
Executable file
6
lang/ru/pagination.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'previous' => '« Назад',
|
||||
'next' => 'Далее »',
|
||||
];
|
||||
14
lang/ru/passwords.php
Executable file
14
lang/ru/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/ru/profile.php
Executable file
44
lang/ru/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' => 'Согласие на обработку данных (GDPR)',
|
||||
'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/ru/ui.php
Executable file
109
lang/ru/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',
|
||||
],
|
||||
|
||||
// Баннер GDPR
|
||||
'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/ru/validation.php
Executable file
130
lang/ru/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 должен быть true или false.',
|
||||
'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' => 'Родство',
|
||||
],
|
||||
];
|
||||
567
lang/tr/admin.php
Executable file
567
lang/tr/admin.php
Executable file
@@ -0,0 +1,567 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// Gösterge Paneli
|
||||
'dashboard_title' => 'Yönetim Paneli',
|
||||
'stat_users' => 'Kullanıcılar',
|
||||
'stat_players' => 'Oyuncular',
|
||||
'stat_upcoming' => 'Yaklaşan Etkinlikler',
|
||||
'stat_invitations' => 'Açık Davetiyeler',
|
||||
'quick_links' => 'Hızlı Erişim',
|
||||
'new_event' => 'Yeni Etkinlik',
|
||||
'new_player' => 'Yeni Oyuncu',
|
||||
'new_invitation' => 'Yeni Davetiye',
|
||||
'new_team' => 'Yeni Takım',
|
||||
'open_responses_title' => 'Bekleyen Yanıtları Olan Etkinlikler',
|
||||
'x_open' => ':count açık',
|
||||
|
||||
// Navigasyon
|
||||
'nav_teams' => 'Takımlar',
|
||||
'nav_players' => 'Oyuncular',
|
||||
'nav_users' => 'Kullanıcılar',
|
||||
'nav_invitations' => 'Davetiyeler',
|
||||
'nav_events' => 'Etkinlikler',
|
||||
'nav_settings' => 'Ayarlar',
|
||||
'nav_verwaltung' => 'Yönetim',
|
||||
|
||||
// Genel
|
||||
'actions' => 'İşlemler',
|
||||
'action' => 'İşlem',
|
||||
'please_select' => 'Lütfen seçin',
|
||||
'back_to_list' => 'Listeye Dön',
|
||||
'inactive' => 'Pasif',
|
||||
'nr' => 'No.',
|
||||
'photo' => 'Fotoğraf',
|
||||
'date' => 'Tarih',
|
||||
'location' => 'Konum',
|
||||
'all_status' => 'Tüm Durumlar',
|
||||
'copied' => 'Kopyalandı!',
|
||||
'copy' => 'Kopyala',
|
||||
'created_by' => 'oluşturan',
|
||||
'valid_until' => 'geçerlilik',
|
||||
|
||||
// Takımlar
|
||||
'teams_title' => 'Takımlar',
|
||||
'team_created' => 'Takım oluşturuldu.',
|
||||
'team_updated' => 'Takım güncellendi.',
|
||||
'team_name' => 'Takım Adı',
|
||||
'year_group' => 'Yaş Grubu',
|
||||
'year_group_placeholder' => 'Örn. 2017/18',
|
||||
'active' => 'Aktif',
|
||||
'team_is_active' => 'Takım aktif',
|
||||
'create_team' => 'Takım Oluştur',
|
||||
'edit_team' => 'Takımı Düzenle',
|
||||
'no_teams_yet' => 'Henüz takım yok.',
|
||||
'team_notes' => 'Notlar',
|
||||
'team_notes_placeholder' => 'Takım hakkında notlar (dahili, yalnızca yöneticiler tarafından görülebilir)...',
|
||||
'team_coaches' => 'Antrenörler',
|
||||
'no_coaches_available' => 'Sistemde antrenör bulunmuyor.',
|
||||
'team_players' => 'Oyuncular',
|
||||
'team_parent_reps' => 'Veli Temsilcileri',
|
||||
'team_parent_reps_hint' => '"Veli Temsilcisi" rolüne sahip ve bu takımda çocukları olan veliler.',
|
||||
'no_parent_reps' => 'Bu takım için veli temsilcisi yok.',
|
||||
'log_team_updated' => 'Takım ":name" güncellendi',
|
||||
'log_player_team_changed' => 'Oyuncu :name başka bir takıma taşındı',
|
||||
|
||||
// Oyuncular
|
||||
'players_title' => 'Oyuncular',
|
||||
'player_created' => 'Oyuncu oluşturuldu.',
|
||||
'player_updated' => 'Oyuncu güncellendi.',
|
||||
'first_name' => 'Ad',
|
||||
'last_name' => 'Soyad',
|
||||
'birth_year' => 'Doğum Yılı',
|
||||
'jersey_number' => 'Forma Numarası',
|
||||
'photo_permission' => 'Fotoğraf İzni',
|
||||
'notes' => 'Notlar',
|
||||
'parent_assigned' => 'Veli atandı.',
|
||||
'parent_removed' => 'Atama kaldırıldı.',
|
||||
'assign_parent' => 'Veli Ata',
|
||||
'add_parent' => 'Veli Ekle',
|
||||
'select_user' => 'Kullanıcı Seç',
|
||||
'assign' => 'Ata',
|
||||
'relationship_label' => 'İlişki',
|
||||
'relationship_placeholder' => 'Örn. Anne, Baba',
|
||||
'parents' => 'Veliler',
|
||||
'player_data' => 'Oyuncu Bilgileri',
|
||||
'parent_assignment' => 'Veli Ataması',
|
||||
'no_parents_yet' => 'Henüz veli atanmadı.',
|
||||
'confirm_remove_parent' => 'Atamayı kaldırmak istediğinize emin misiniz?',
|
||||
'remove' => 'Kaldır',
|
||||
'no_players_yet' => 'Henüz oyuncu yok.',
|
||||
|
||||
// Kullanıcılar
|
||||
'users_title' => 'Kullanıcılar',
|
||||
'user_toggled' => 'Kullanıcı :status.',
|
||||
'role_updated' => 'Rol güncellendi.',
|
||||
'cannot_deactivate_self' => 'Kendi hesabınızı devre dışı bırakamazsınız.',
|
||||
'cannot_change_own_role' => 'Kendi rolünüzü değiştiremezsiniz.',
|
||||
'activated' => 'etkinleştirildi',
|
||||
'deactivated' => 'devre dışı bırakıldı',
|
||||
'deactivated_label' => 'Devre Dışı',
|
||||
'children' => 'Çocuklar',
|
||||
'phone' => 'Telefon',
|
||||
'last_login' => 'Son Giriş',
|
||||
'never' => 'Hiç',
|
||||
'deactivate' => 'Devre Dışı Bırak',
|
||||
'activate' => 'Etkinleştir',
|
||||
'you_suffix' => '(siz)',
|
||||
'edit' => 'Düzenle',
|
||||
'edit_user' => 'Kullanıcıyı Düzenle',
|
||||
'user_data' => 'Kullanıcı Verileri',
|
||||
'user_updated' => 'Kullanıcı güncellendi.',
|
||||
'reset_password' => 'Şifre Sıfırla',
|
||||
'reset_password_hint' => 'Yeni rastgele bir şifre oluşturur. Eski şifre geçersiz olur.',
|
||||
'reset_password_confirm' => 'Yeni rastgele şifre oluşturulsun mu? Eski şifre geçersiz olacaktır.',
|
||||
'password_reset_success' => 'Yeni şifre oluşturuldu.',
|
||||
'new_password_label' => 'Yeni şifre (yalnızca bir kez görünür):',
|
||||
'password_only_visible_now' => 'Bu şifre yalnızca şimdi gösterilmektedir. Lütfen paylaşın ve sayfayı yeniden yüklemeyin.',
|
||||
'cannot_edit_own_role' => 'Kendi rolünüzü burada değiştiremezsiniz.',
|
||||
'cannot_assign_admin_role' => 'Yönetici rolünü atayamazsınız.',
|
||||
'cannot_reset_own_password' => 'Kendi şifrenizi yönetim panelinden sıfırlayamazsınız.',
|
||||
'registered_at' => 'Kayıt tarihi',
|
||||
|
||||
// Davetiyeler
|
||||
'invitations_title' => 'Davetiyeler',
|
||||
'invitation_created' => 'Davetiye oluşturuldu. Bağlantı: :link',
|
||||
'invitation_deleted' => 'Davetiye silindi.',
|
||||
'invitation_already_used' => 'Kullanılmış davetiyeler silinemez.',
|
||||
'create_invitation' => 'Davetiye Oluştur',
|
||||
'assign_players' => 'Oyuncu Ata',
|
||||
'email_optional' => 'E-Posta (isteğe bağlı)',
|
||||
'email_optional_hint' => 'Belirtilirse yalnızca bu e-posta ile kayıt olunabilir',
|
||||
'expires_at' => 'Geçerlilik Tarihi',
|
||||
'valid_for_days' => 'Geçerlilik Süresi (gün)',
|
||||
'token' => 'Token',
|
||||
'status' => 'Durum',
|
||||
'used' => 'Kullanıldı',
|
||||
'expired' => 'Süresi Doldu',
|
||||
'pending' => 'Beklemede',
|
||||
'copy_link' => 'Bağlantıyı Kopyala',
|
||||
'invite_link' => 'Davet Bağlantısı',
|
||||
'no_assignment' => 'Atama yok',
|
||||
'no_invitations_yet' => 'Henüz davetiye yok.',
|
||||
'no_active_players' => 'Aktif oyuncu yok.',
|
||||
'confirm_delete_invitation' => 'Davetiyeyi silmek istediğinize emin misiniz?',
|
||||
'created_label' => 'Oluşturulma',
|
||||
'player_assignment_hint' => 'Yeni veli hesabına otomatik olarak atanacak çocukları seçin.',
|
||||
|
||||
// Etkinlikler
|
||||
'events_title' => 'Etkinlikler',
|
||||
'event_created' => 'Etkinlik oluşturuldu.',
|
||||
'event_updated' => 'Etkinlik güncellendi.',
|
||||
'event_deleted' => 'Etkinlik silindi.',
|
||||
'event_title' => 'Başlık',
|
||||
'start_at' => 'Başlangıç',
|
||||
'date' => 'Tarih',
|
||||
'time' => 'Saat',
|
||||
'end_at' => 'Bitiş',
|
||||
'location_name' => 'Konum Adı',
|
||||
'address' => 'Adres',
|
||||
'description' => 'Açıklama',
|
||||
'search_address' => 'Adres ara...',
|
||||
'new_event_title' => 'Yeni Etkinlik',
|
||||
'edit_event_title' => 'Etkinliği Düzenle',
|
||||
'no_events_yet' => 'Henüz etkinlik yok.',
|
||||
'confirm_delete_event' => 'Etkinliği silmek istediğinize emin misiniz?',
|
||||
'location_address' => 'Konum / Adres',
|
||||
'location_name_hint' => 'Konum adı (örn. Kuzey Spor Salonu)',
|
||||
'search_by_name' => 'Adres bul',
|
||||
'location_name_placeholder' => 'örn. BVB Stadyumu, Spor Salonu...',
|
||||
'search_address_hint' => 'Adres girin (min. 3 karakter)...',
|
||||
'description_placeholder' => 'Açıklama girin...',
|
||||
'assignments' => 'Atamalar',
|
||||
'catering_assignment' => 'İkram',
|
||||
'timekeeper_assignment' => 'Zaman Tutucusu',
|
||||
'geocoding_error' => 'Adres araması başarısız. Lütfen tekrar deneyin.',
|
||||
'geocoding_rate_limit' => 'Çok fazla istek. Lütfen biraz bekleyin.',
|
||||
'geocoding_no_results' => 'Adres bulunamadı. Daha spesifik girin.',
|
||||
|
||||
// Minimum Gereksinimler
|
||||
'min_requirements' => 'Minimum Gereksinimler',
|
||||
'min_players' => 'Min. Oyuncu',
|
||||
'min_parents' => 'Min. Ebeveyn',
|
||||
'min_catering' => 'Min. İkram',
|
||||
'min_timekeepers' => 'Min. Zaman Tutucusu',
|
||||
'event_defaults_title' => 'Etkinlik Varsayılan Minimum Değerler',
|
||||
'event_defaults_description' => 'Yeni etkinlikler için türe göre varsayılan minimum değerleri belirleyin. Yöneticiler oluştururken değiştirebilir.',
|
||||
|
||||
// Konum yönetimi
|
||||
'nav_locations' => 'Konumlar',
|
||||
'locations_title' => 'Konumları Yönet',
|
||||
'location_add' => 'Yeni Konum Ekle',
|
||||
'location_name_label' => 'Ad',
|
||||
'location_save' => 'Kaydet',
|
||||
'location_created' => 'Konum oluşturuldu.',
|
||||
'location_updated' => 'Konum güncellendi.',
|
||||
'location_deleted' => 'Konum silindi.',
|
||||
'location_confirm_delete' => 'Bu konumu gerçekten silmek istiyor musunuz?',
|
||||
'locations_empty' => 'Henüz konum bulunmuyor.',
|
||||
'known_locations' => 'Bilinen Konumlar',
|
||||
'address_manual_hint' => 'Adresi manuel girin...',
|
||||
|
||||
// Ayarlar
|
||||
'settings_title' => 'Ayarlar',
|
||||
'settings_saved' => 'Ayarlar kaydedildi.',
|
||||
'settings_tab_general' => 'Genel',
|
||||
'settings_tab_legal' => 'Yasal',
|
||||
'settings_tab_defaults' => 'Etkinlik Varsayılanları',
|
||||
'settings_tab_categories' => 'Dosya Kategorileri',
|
||||
|
||||
// Dosya Yönetimi
|
||||
'nav_files' => 'Dosyalar',
|
||||
'files_title' => 'Dosya Yönetimi',
|
||||
'upload_file' => 'Dosya Yükle',
|
||||
'file_uploaded' => 'Dosya yüklendi.',
|
||||
'file_deleted' => 'Dosya silindi.',
|
||||
'file_category' => 'Kategori',
|
||||
'select_category' => 'Kategori seçin',
|
||||
'no_files_yet' => 'Bu kategoride henüz dosya yok.',
|
||||
'no_files_at_all' => 'Henüz dosya yüklenmedi.',
|
||||
'file_size' => 'Boyut',
|
||||
'uploaded_by' => 'Yükleyen',
|
||||
'uploaded_at' => 'Yükleme tarihi',
|
||||
'confirm_delete_file' => 'Bu dosyayı gerçekten silmek istiyor musunuz? Tüm etkinlik bağlantıları kaldırılacak.',
|
||||
'allowed_file_types' => 'İzin verilen dosya türleri: PDF, DOCX, XLSX, Resimler (JPG, PNG, GIF, WEBP)',
|
||||
'max_file_size' => 'Maksimum dosya boyutu: 10 MB',
|
||||
'file_categories' => 'Dosya Kategorileri',
|
||||
'file_categories_description' => 'Dosya kategorilerini yönetin.',
|
||||
'new_category' => 'Yeni Kategori',
|
||||
'category_name' => 'Kategori Adı',
|
||||
'category_created' => 'Kategori oluşturuldu.',
|
||||
'category_updated' => 'Kategori güncellendi.',
|
||||
'category_deleted' => 'Kategori silindi.',
|
||||
'category_not_empty' => 'Kategori dosya içerdiği için silinemez.',
|
||||
'confirm_delete_category' => 'Bu kategoriyi gerçekten silmek istiyor musunuz?',
|
||||
'event_files' => 'Dosyalar',
|
||||
'attach_from_library' => 'Kütüphaneden ekle',
|
||||
'upload_new_file' => 'Yeni dosya yükle',
|
||||
'attached_files' => 'Ekli Dosyalar',
|
||||
'detach_file' => 'Kaldır',
|
||||
'no_attached_files' => 'Ekli dosya yok.',
|
||||
'profile_picture' => 'Profil Fotoğrafı',
|
||||
'upload_picture' => 'Fotoğraf yükle',
|
||||
'remove_picture' => 'Fotoğrafı kaldır',
|
||||
'picture_uploaded' => 'Profil fotoğrafı güncellendi.',
|
||||
'picture_removed' => 'Profil fotoğrafı kaldırıldı.',
|
||||
'max_picture_size' => 'Maks. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
'html_anchor_hint' => 'İpucu: id özelliği ile bağlantı noktaları ekleyin, örn. <h3 id="cookies">',
|
||||
|
||||
// Soft-Delete
|
||||
'danger_zone' => 'Tehlikeli bölge',
|
||||
'delete_user' => 'Kullanıcıyı sil',
|
||||
'delete_user_hint' => 'Kullanıcı devre dışı bırakılacak ve 7 gün içinde geri yüklenebilir. Geçmiş veriler (yorumlar, katılımlar) korunacaktır.',
|
||||
'delete_player' => 'Oyuncuyu sil',
|
||||
'delete_player_hint' => 'Oyuncu kaldırılacak ve 7 gün içinde geri yüklenebilir. Geçmiş veriler (katılımlar, etkinlikler) korunacaktır.',
|
||||
'user_status_label' => 'Kullanıcı durumu',
|
||||
'player_status_label' => 'Oyuncu durumu',
|
||||
'deactivate_user_hint' => 'Kullanıcı artık giriş yapamayacak.',
|
||||
'activate_user_hint' => 'Kullanıcı tekrar giriş yapabilecek.',
|
||||
'deactivate_player_hint' => 'Oyuncu artık etkinlik listelerinde görünmeyecek.',
|
||||
'activate_player_hint' => 'Oyuncu tekrar etkinlik listelerinde görünecek.',
|
||||
'player_toggled' => 'Oyuncu :status.',
|
||||
'log_player_toggled' => 'Oyuncu :name :status',
|
||||
'confirm_delete_user' => 'Bu kullanıcıyı silmek istediğinizden emin misiniz? 7 gün içinde geri yüklenebilir.',
|
||||
'confirm_delete_player' => 'Bu oyuncuyu silmek istediğinizden emin misiniz? 7 gün içinde geri yüklenebilir.',
|
||||
'user_deleted' => 'Kullanıcı silindi.',
|
||||
'user_restored' => 'Kullanıcı geri yüklendi.',
|
||||
'player_deleted' => 'Oyuncu silindi.',
|
||||
'player_restored' => 'Oyuncu geri yüklendi.',
|
||||
'cannot_delete_self' => 'Kendinizi silemezsiniz.',
|
||||
'cannot_delete_main_admin' => 'Ana yönetici silinemez.',
|
||||
'restore_expired' => 'Geri yükleme süresi doldu.',
|
||||
'trash' => 'Çöp Kutusu',
|
||||
'restore' => 'Geri Yükle',
|
||||
'delete' => 'Sil',
|
||||
'deleted_at' => 'Silinme tarihi',
|
||||
|
||||
// Activity Log
|
||||
'activity_log_title' => 'Etkinlik Günlüğü',
|
||||
'nav_activity_log' => 'Etkinlik Günlüğü',
|
||||
'log_category' => 'Kategori',
|
||||
'log_all_categories' => 'Tüm kategoriler',
|
||||
'log_cat_auth' => 'Kimlik Doğrulama',
|
||||
'log_cat_users' => 'Kullanıcılar',
|
||||
'log_cat_players' => 'Oyuncular',
|
||||
'log_cat_events' => 'Etkinlikler',
|
||||
'log_cat_files' => 'Dosyalar',
|
||||
'log_cat_settings' => 'Ayarlar',
|
||||
'log_cat_dsgvo' => 'KVKK',
|
||||
'log_from' => 'Başlangıç',
|
||||
'log_to' => 'Bitiş',
|
||||
'log_filter' => 'Filtrele',
|
||||
'log_reset' => 'Sıfırla',
|
||||
'log_time' => 'Zaman',
|
||||
'log_user' => 'Kullanıcı',
|
||||
'log_action' => 'İşlem',
|
||||
'log_description' => 'Açıklama',
|
||||
'log_ip' => 'IP Adresi',
|
||||
'log_system' => 'Sistem',
|
||||
'log_empty' => 'Kayıt bulunamadı.',
|
||||
'log_details' => 'Detaylar',
|
||||
'log_field' => 'Alan',
|
||||
'log_old_value' => 'Önce',
|
||||
'log_new_value' => 'Sonra',
|
||||
|
||||
// Log descriptions
|
||||
'log_login' => ':name giriş yaptı',
|
||||
'log_logout' => ':name çıkış yaptı',
|
||||
'log_login_failed' => ':email için başarısız giriş denemesi',
|
||||
'log_registered' => ':name kayıt oldu',
|
||||
'log_user_updated' => 'Kullanıcı :name güncellendi',
|
||||
'log_user_toggled' => 'Kullanıcı :name: durum :status olarak değiştirildi',
|
||||
'log_role_changed' => ':name rolü :role olarak değiştirildi',
|
||||
'log_password_reset' => ':name şifresi sıfırlandı',
|
||||
'log_user_deleted' => 'Kullanıcı :name silindi',
|
||||
'log_user_restored' => 'Kullanıcı :name geri yüklendi',
|
||||
'log_player_created' => 'Oyuncu :name oluşturuldu',
|
||||
'log_player_updated' => 'Oyuncu :name güncellendi',
|
||||
'log_player_deleted' => 'Oyuncu :name silindi',
|
||||
'log_player_restored' => 'Oyuncu :name geri yüklendi',
|
||||
'log_parent_assigned' => ':parent, :player için veli olarak atandı',
|
||||
'log_parent_removed' => ':parent, :player için veli olarak kaldırıldı',
|
||||
'log_event_created' => 'Etkinlik ":title" oluşturuldu',
|
||||
'log_event_updated' => 'Etkinlik ":title" güncellendi',
|
||||
'log_event_deleted' => 'Etkinlik ":title" silindi',
|
||||
'log_participant_changed' => '":event" için katılım durumu :status olarak değiştirildi',
|
||||
'log_catering_changed' => '":event" için ikram durumu :status olarak değiştirildi',
|
||||
'log_timekeeper_changed' => '":event" için zaman tutucu durumu :status olarak değiştirildi',
|
||||
'log_comment_created' => '":event" için yorum eklendi',
|
||||
'log_comment_deleted' => '":event" için yorum silindi',
|
||||
'log_file_uploaded' => '":name" dosyası yüklendi',
|
||||
'log_file_deleted' => '":name" dosyası silindi',
|
||||
'log_settings_updated' => 'Ayarlar güncellendi',
|
||||
'log_invitation_created' => ':email için davet oluşturuldu',
|
||||
|
||||
// İstatistik
|
||||
'nav_statistics' => 'İstatistik',
|
||||
'statistics_title' => 'Maç İstatistikleri',
|
||||
'total_games' => 'Toplam Maç',
|
||||
'wins' => 'Galibiyet',
|
||||
'losses' => 'Mağlubiyet',
|
||||
'draws' => 'Beraberlik',
|
||||
'win_rate' => 'Galibiyet Oranı',
|
||||
'chart_win_loss' => 'Galibiyet / Mağlubiyet',
|
||||
'chart_player_participation' => 'Oyuncu Katılımı',
|
||||
'chart_parent_involvement' => 'Veli Katılımı',
|
||||
'no_games_yet' => 'Henüz maç bulunmuyor.',
|
||||
'filter_from' => 'Başlangıç',
|
||||
'filter_to' => 'Bitiş',
|
||||
'filter_apply' => 'Filtrele',
|
||||
'filter_reset' => 'Sıfırla',
|
||||
'all_teams' => 'Tüm Takımlar',
|
||||
'not_applicable' => 'N/A',
|
||||
'min_users' => 'Min. Kullanıcı',
|
||||
'home_short' => 'İ',
|
||||
'away_short' => 'D',
|
||||
'player_ranking_title' => 'Oyuncu Katılımı',
|
||||
'player_ranking_desc' => ':count maçta oyuncu katılım oranı (ev sahibi ve deplasman).',
|
||||
'games_played' => 'Oynadı',
|
||||
'games_assigned' => 'Atandı',
|
||||
'participation_rate' => 'Oran',
|
||||
'parent_ranking_title' => 'Ebeveyn Katkısı',
|
||||
'parent_ranking_desc' => 'İkram (:catering etkinlik) ve zaman tutma (:timekeeper etkinlik) — tüm yayınlanmış etkinlikler.',
|
||||
'total_contributions' => 'Toplam',
|
||||
|
||||
'statistics_enabled_label' => 'İstatistik sayfasını etkinleştir',
|
||||
'statistics_enabled_hint' => 'Devre dışı bırakıldığında istatistik sayfası yalnızca yönetici tarafından görülebilir.',
|
||||
// Slogan & Favicon
|
||||
'slogan_label' => 'Slogan',
|
||||
'slogan_hint' => 'Giriş sayfasında ve alt bilgide görüntülenir.',
|
||||
'favicon_label' => 'Favicon',
|
||||
'favicon_hint' => 'ICO, PNG, SVG, JPG (maks. 512 KB)',
|
||||
'favicon_current' => 'Mevcut favicon',
|
||||
'favicon_remove' => 'Favicon\'ı kaldır',
|
||||
'favicon_uploaded' => 'Favicon güncellendi.',
|
||||
'favicon_removed' => 'Favicon kaldırıldı.',
|
||||
|
||||
// Undo / Revert
|
||||
'log_revert' => 'Geri al',
|
||||
'log_revert_confirm' => 'Bu işlemi gerçekten geri almak istiyor musunuz?',
|
||||
'log_revert_success' => 'İşlem başarıyla geri alındı.',
|
||||
'log_revert_not_possible' => 'Bu işlem geri alınamaz.',
|
||||
'log_reverted' => 'Geri alındı: ":desc"',
|
||||
'event_restored' => 'Etkinlik geri yüklendi.',
|
||||
'log_event_restored' => 'Etkinlik ":title" geri yüklendi',
|
||||
|
||||
// Görünürlük
|
||||
'settings_tab_visibility' => 'Görünürlük',
|
||||
'visibility_description' => 'Hangi özelliklerin hangi roller için görünür olduğunu kontrol edin. Yöneticiler her şeyi her zaman görür.',
|
||||
'visibility_feature_statistics' => 'İstatistik sayfası',
|
||||
'visibility_feature_catering_history' => 'İkram/zaman tutucu geçmişi',
|
||||
|
||||
// Liste Oluşturucu
|
||||
'nav_list_generator' => 'Liste Oluşturucu',
|
||||
'list_generator_title' => 'Liste Oluştur',
|
||||
'list_title' => 'Konu',
|
||||
'list_subtitle' => 'Alt başlık (isteğe bağlı)',
|
||||
'list_notes' => 'Notlar / Açıklama',
|
||||
'list_source' => 'Satır Kaynağı',
|
||||
'list_source_players' => 'Oyuncular',
|
||||
'list_source_parents' => 'Veliler',
|
||||
'list_source_freetext' => 'Serbest Metin',
|
||||
'list_freetext_hint' => 'Her giriş için bir satır',
|
||||
'list_columns' => 'Sütunlar',
|
||||
'list_custom_columns' => 'Ek Sütunlar',
|
||||
'list_add_column' => 'Sütun Ekle',
|
||||
'list_column_name' => 'Sütun Adı',
|
||||
'list_generate' => 'Liste Oluştur',
|
||||
'list_result_title' => 'Liste Oluşturuldu',
|
||||
'list_print' => 'Yazdır / PDF Olarak Kaydet',
|
||||
'list_new' => 'Yeni Liste Oluştur',
|
||||
'list_to_library' => 'Dosya Kütüphanesine Git',
|
||||
'list_generated_at' => 'Oluşturulma tarihi',
|
||||
'list_all_teams' => 'Tüm Takımlar',
|
||||
'list_saved_info' => '":name" dosyası otomatik olarak kütüphanede "Genel" altında kaydedildi.',
|
||||
'list_download_pdf' => 'PDF İndir',
|
||||
'list_entries_count' => 'kayıt',
|
||||
'log_list_generated' => '":title" listesi oluşturuldu',
|
||||
'no_entries' => 'Kayıt bulunamadı.',
|
||||
|
||||
// KVKK
|
||||
'dsgvo_title' => 'KVKK Onay Beyanı',
|
||||
'dsgvo_short' => 'KVKK',
|
||||
'dsgvo_consent_label' => 'Onay beyanı onaylandı',
|
||||
'dsgvo_view_document' => 'Belgeyi görüntüle',
|
||||
'dsgvo_confirm' => 'Onayla',
|
||||
'dsgvo_revoke' => 'İptal Et',
|
||||
'dsgvo_toggled' => 'KVKK durumu güncellendi.',
|
||||
'dsgvo_no_file' => 'Henüz bir belge yüklenmedi.',
|
||||
'dsgvo_no_document' => 'Kullanıcı henüz bir onay beyanı yüklemedi.',
|
||||
'dsgvo_not_confirmed' => 'Henüz onaylanmadı. Lütfen belgeyi kontrol edin ve onaylayın.',
|
||||
'dsgvo_confirmed_info' => ':name tarafından :date tarihinde onaylandı',
|
||||
'dsgvo_confirmed_tooltip' => 'KVKK onayı onaylandı',
|
||||
'dsgvo_pending_tooltip' => 'Belge yüklendi, onay bekliyor',
|
||||
'dsgvo_missing_tooltip' => 'Belge yüklenmedi',
|
||||
'dsgvo_events_title' => 'KVKK Olayları (son 10)',
|
||||
'dsgvo_action_dsgvo_consent_uploaded' => 'Yüklendi',
|
||||
'dsgvo_action_dsgvo_consent_confirmed' => 'Onaylandı',
|
||||
'dsgvo_action_dsgvo_consent_revoked' => 'İptal Edildi',
|
||||
'dsgvo_action_dsgvo_consent_removed' => 'Kaldırıldı',
|
||||
'dsgvo_action_account_self_deleted' => 'Hesap silindi',
|
||||
'dsgvo_action_child_auto_deactivated' => 'Çocuk devre dışı',
|
||||
'log_dsgvo_consent_uploaded' => ':name bir onay beyanı yükledi',
|
||||
'log_dsgvo_confirmed' => ':name adlı kullanıcının onay beyanı onaylandı',
|
||||
'log_dsgvo_revoked' => ':name adlı kullanıcının onay beyanı onayı iptal edildi',
|
||||
'log_dsgvo_consent_removed' => ':name onay beyanını kaldırdı',
|
||||
'log_account_self_deleted' => ':name kendi hesabını sildi',
|
||||
'log_child_auto_deactivated' => 'Oyuncu :child otomatik olarak devre dışı bırakıldı (tek ebeveyn :parent hesabını sildi)',
|
||||
|
||||
// KVKK Bekleyen Widget
|
||||
'dsgvo_pending_title' => 'KVKK — Onay Bekliyor',
|
||||
'dsgvo_pending_count' => ':count beyan beklemede',
|
||||
'dsgvo_consent_document' => 'KVKK Onay Beyanı',
|
||||
'dsgvo_reject' => 'Reddet',
|
||||
'dsgvo_reject_confirm' => 'Bu onay beyanını reddetmek istediğinizden emin misiniz? Belge silinecek ve kullanıcının tekrar yüklemesi gerekecektir.',
|
||||
'dsgvo_rejected' => 'Onay beyanı reddedildi.',
|
||||
'log_dsgvo_rejected' => ':name adlı kullanıcının onay beyanı reddedildi',
|
||||
'dsgvo_action_dsgvo_consent_rejected' => 'Reddedildi',
|
||||
'dsgvo_preview_not_available' => 'Bu dosya türü için önizleme mevcut değil.',
|
||||
|
||||
// Factory Reset
|
||||
'factory_reset_title' => 'Tam sıfırlama',
|
||||
'factory_reset_description' => 'Tüm uygulamayı başlangıç durumuna sıfırlar. Sıfırlamadan sonra kurulum sihirbazı yeniden başlatılır.',
|
||||
'factory_reset_deletes' => 'Aşağıdakiler kalıcı olarak silinecektir',
|
||||
'factory_reset_item_users' => 'Tüm kullanıcılar (yönetici dahil)',
|
||||
'factory_reset_item_data' => 'Tüm takımlar, oyuncular, etkinlikler, yorumlar',
|
||||
'factory_reset_item_settings' => 'Tüm ayarlar ve dosya kategorileri',
|
||||
'factory_reset_item_files' => 'Tüm yüklenen dosyalar ve profil fotoğrafları',
|
||||
'factory_reset_warning' => 'Bu işlem GERİ ALINAMAZ! Uygulama tamamen sıfırlanacak ve kurulum sihirbazı başlatılacaktır.',
|
||||
'factory_reset_confirm' => 'DİKKAT: Tüm uygulama geri dönüşü olmayacak şekilde sıfırlanacak ve tüm veriler silinecektir. Kurulum sihirbazı yeniden başlatılacaktır. Emin misiniz?',
|
||||
'factory_reset_button' => 'Uygulamayı tamamen sıfırla',
|
||||
|
||||
// Lisans ve Destek
|
||||
'settings_tab_license' => 'Lisans ve Destek',
|
||||
'license_title' => 'Lisans Anahtarı',
|
||||
'license_description' => 'Destek ve güncellemeler almak için lisans anahtarınızı girin.',
|
||||
'license_key_label' => 'Lisans Anahtarı',
|
||||
'license_invalid' => 'Girilen lisans anahtarı geçersiz.',
|
||||
'registration_status' => 'Kayıt Durumu',
|
||||
'registration_active' => 'Kayıtlı',
|
||||
'registration_inactive' => 'Kayıtlı değil',
|
||||
'register_now' => 'Şimdi kayıt ol',
|
||||
'registration_success' => 'Kurulum başarıyla kaydedildi.',
|
||||
'registration_failed' => 'Kayıt başarısız oldu. Lütfen daha sonra tekrar deneyin.',
|
||||
'version_info' => 'Sistem Bilgileri',
|
||||
'update_available' => 'Güncelleme mevcut: Sürüm :version',
|
||||
'update_details' => 'Detayları göster',
|
||||
'download_update' => 'Güncellemeyi indir',
|
||||
'installation_id_label' => 'Kurulum Kimliği',
|
||||
'nav_support' => 'Destek',
|
||||
'support_title' => 'Destek Talepleri',
|
||||
'support_not_registered' => 'Kurulum kayıtlı değil',
|
||||
'support_register_hint' => 'Desteği kullanmak için kurulumun kayıtlı olması gerekir. Yalnızca teknik veriler (uygulama adı, URL, PHP sürümü) iletilir.',
|
||||
'support_new_ticket' => 'Yeni talep oluştur',
|
||||
'support_subject' => 'Konu',
|
||||
'support_category' => 'Kategori',
|
||||
'support_category_bug' => 'Hata Raporu',
|
||||
'support_category_feature' => 'Özellik İsteği',
|
||||
'support_category_question' => 'Soru',
|
||||
'support_category_other' => 'Diğer',
|
||||
'support_message' => 'Mesaj',
|
||||
'support_submit' => 'Talep gönder',
|
||||
'support_reply' => 'Yanıtla',
|
||||
'support_send_reply' => 'Yanıt gönder',
|
||||
'support_reply_placeholder' => 'Yanıtınızı yazın...',
|
||||
'support_ticket_created' => 'Talep başarıyla oluşturuldu.',
|
||||
'support_reply_sent' => 'Yanıt gönderildi.',
|
||||
'support_submit_failed' => 'Talep oluşturulamadı. Lütfen daha sonra tekrar deneyin.',
|
||||
'support_reply_failed' => 'Yanıt gönderilemedi. Lütfen daha sonra tekrar deneyin.',
|
||||
'support_ticket_not_found' => 'Talep bulunamadı.',
|
||||
'support_no_tickets' => 'Henüz talep yok.',
|
||||
'support_no_messages' => 'Henüz mesaj yok.',
|
||||
'support_ticket_id' => 'Talep No.',
|
||||
'support_status' => 'Durum',
|
||||
'support_status_open' => 'Açık',
|
||||
'support_status_in_progress' => 'İşlemde',
|
||||
'support_status_waiting' => 'Bekliyor',
|
||||
'support_status_closed' => 'Kapalı',
|
||||
'support_created_at' => 'Oluşturulma',
|
||||
'support_last_reply' => 'Son Yanıt',
|
||||
'support_back_to_list' => 'Genel bakışa dön',
|
||||
'support_system_info_note' => 'Sistem bilgileri otomatik olarak gönderilir.',
|
||||
'support_sender_support' => 'Destek',
|
||||
'support_sender_you' => 'Siz',
|
||||
'support_ticket_closed' => 'Bu talep kapalıdır.',
|
||||
'installer_register_label' => 'Kurulumu kaydet',
|
||||
'installer_register_hint' => 'Güncelleme bildirimlerini ve desteği etkinleştirir. Yalnızca teknik veriler iletilir (uygulama adı, URL, PHP sürümü, uygulama sürümü).',
|
||||
'installer_license_label' => 'Lisans anahtarı (isteğe bağlı)',
|
||||
'installer_license_hint' => 'Daha sonra ayarlardan da girilebilir.',
|
||||
|
||||
// Şifre Sıfırlama (Yönetici + Self Servis)
|
||||
'settings_tab_maintenance' => 'Bakım',
|
||||
'factory_reset_password_label' => 'Onay için şifreniz',
|
||||
'factory_reset_confirmation_label' => 'Güvenlik onayı',
|
||||
'factory_reset_confirmation_hint' => 'İşlemi onaylamak için RESET-BESTÄTIGT yazın.',
|
||||
'password_reset_link_sent' => 'Şifre sıfırlama bağlantısı e-posta ile gönderildi.',
|
||||
'password_reset_email_label' => 'Şifre Sıfırlama E-posta Şablonu',
|
||||
'password_reset_email_hint' => 'Yer tutucular: {name} = Kullanıcı adı, {link} = Sıfırlama bağlantısı, {app_name} = Uygulama adı',
|
||||
'log_password_reset_requested' => 'Şifre sıfırlama talep edildi',
|
||||
'log_password_changed_self' => ':name şifresini değiştirdi',
|
||||
'log_dsgvo_viewed' => ':name kullanıcısının KVKK belgesi görüntülendi',
|
||||
|
||||
// Çok Dilli Yasal Metin Editörü
|
||||
'legal_language_label' => 'Dil',
|
||||
'legal_impressum_label' => 'Yasal Bildirim',
|
||||
'legal_datenschutz_label' => 'Gizlilik Politikası',
|
||||
'legal_password_reset_email_label' => 'Şifre Sıfırlama E-postası',
|
||||
|
||||
// E-Posta Sekmesi
|
||||
'settings_tab_mail' => 'E-Posta',
|
||||
'mail_config_title' => 'E-Posta Yapılandırması',
|
||||
'mail_config_hint' => 'E-posta göndermek için SMTP ayarları (ör. şifre sıfırlama, bildirimler).',
|
||||
'mail_mailer_label' => 'Gönderim Yöntemi',
|
||||
'mail_log_mode' => 'Gönderim yok (Log)',
|
||||
'mail_host_label' => 'SMTP Sunucu',
|
||||
'mail_port_label' => 'Port',
|
||||
'mail_username_label' => 'Kullanıcı Adı',
|
||||
'mail_password_label' => 'Şifre',
|
||||
'mail_from_address_label' => 'Gönderen Adresi',
|
||||
'mail_from_name_label' => 'Gönderen Adı',
|
||||
'mail_encryption_label' => 'Şifreleme',
|
||||
'mail_encryption_none' => 'Yok',
|
||||
'mail_save' => 'E-Posta Ayarlarını Kaydet',
|
||||
'mail_saved' => 'E-posta ayarları kaydedildi.',
|
||||
'mail_test_button' => 'Bağlantıyı Test Et',
|
||||
'mail_testing' => 'Bağlantı test ediliyor...',
|
||||
'mail_test_success' => 'SMTP bağlantısı başarılı!',
|
||||
];
|
||||
7
lang/tr/auth.php
Executable file
7
lang/tr/auth.php
Executable file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'failed' => 'Bu kimlik bilgileri kayıtlarımızla eşleşmiyor.',
|
||||
'password' => 'Girilen şifre yanlış.',
|
||||
'throttle' => 'Çok fazla giriş denemesi. Lütfen :seconds saniye sonra tekrar deneyin.',
|
||||
];
|
||||
34
lang/tr/auth_ui.php
Executable file
34
lang/tr/auth_ui.php
Executable file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'login_title' => 'Giriş Yap',
|
||||
'email_label' => 'E-Posta',
|
||||
'password_label' => 'Şifre',
|
||||
'remember_me' => 'Beni hatırla',
|
||||
'login_button' => 'Giriş Yap',
|
||||
'register_title' => 'Kayıt Ol',
|
||||
'name_label' => 'Ad',
|
||||
'children_assigned' => 'Hesabınız aşağıdaki çocuklara atanacaktır:',
|
||||
'password_min' => '(en az 8 karakter)',
|
||||
'password_confirm_label' => 'Şifre Onayı',
|
||||
'create_account' => 'Hesap Oluştur',
|
||||
'already_registered' => 'Zaten kayıtlı mısınız?',
|
||||
'go_to_login' => 'Giriş Yap',
|
||||
'email_fixed_by_invitation' => 'E-posta adresi davetiye ile belirlenmiştir.',
|
||||
'invalid_invitation' => 'Bu davet bağlantısı geçersiz veya süresi dolmuş.',
|
||||
'welcome' => 'Hoş geldiniz! Hesabınız oluşturuldu.',
|
||||
'forgot_password_link' => 'Şifrenizi mi unuttunuz?',
|
||||
'forgot_password_title' => 'Şifre Sıfırlama',
|
||||
'forgot_password_description' => 'E-posta adresinizi girin, size şifrenizi sıfırlamak için bir bağlantı göndereceğiz.',
|
||||
'send_reset_link' => 'Bağlantı gönder',
|
||||
'back_to_login' => 'Girişe dön',
|
||||
'reset_password_title' => 'Yeni Şifre Belirle',
|
||||
'reset_password_button' => 'Şifreyi Sıfırla',
|
||||
'new_password_label' => 'Yeni Şifre',
|
||||
'confirm_password_label' => 'Şifre Onayı',
|
||||
'login_failed' => 'Giriş bilgileri geçersiz.',
|
||||
'email_must_match_invitation' => 'E-posta adresi davetle eşleşmelidir: :email',
|
||||
'cookie_notice' => 'Bu site yalnızca teknik olarak gerekli bir oturum çerezi kullanır. İzleme yok.',
|
||||
'cookie_notice_link' => 'Daha fazla bilgi',
|
||||
'account_deactivated' => 'Hesabınız devre dışı bırakıldı. Lütfen yönetici ile iletişime geçin.',
|
||||
];
|
||||
64
lang/tr/events.php
Executable file
64
lang/tr/events.php
Executable file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Etkinlikler',
|
||||
'no_events' => 'Etkinlik bulunamadı.',
|
||||
'no_upcoming' => 'Yaklaşan etkinlik yok.',
|
||||
'upcoming_title' => 'Yaklaşan Etkinlikler',
|
||||
'cancelled_label' => 'İptal Edildi',
|
||||
'draft_label' => 'Taslak',
|
||||
'cancelled_banner' => 'Bu etkinlik iptal edildi.',
|
||||
'draft_banner' => 'Taslak — yalnızca yöneticiler görebilir.',
|
||||
'back_to_list' => 'Etkinlik listesine dön',
|
||||
'description' => 'Açıklama',
|
||||
'plan_route' => 'Rota planla',
|
||||
'start_navigation' => 'Navigasyonu başlat',
|
||||
'participants' => 'Katılımcılar',
|
||||
'confirmations' => 'Katılımlar',
|
||||
'rejections' => 'İptaller',
|
||||
'open_responses' => 'Açık',
|
||||
'participation_updated' => 'Katılım güncellendi.',
|
||||
'catering' => 'İkram / Yiyecek',
|
||||
'bring_something' => 'Bir şey getireceğim',
|
||||
'bring_nothing' => 'Bir şey getirmeyeceğim',
|
||||
'catering_note_placeholder' => 'örn. Kek getireceğim',
|
||||
'catering_updated' => 'İkram durumu güncellendi.',
|
||||
'no_catering_yet' => 'Henüz ikram taahhüdü yok.',
|
||||
'timekeeper' => 'Zaman Tutucusu',
|
||||
'timekeeper_yes' => 'Evet, yapabilirim',
|
||||
'timekeeper_no' => 'Hayır',
|
||||
'catering_short' => 'İkram',
|
||||
'timekeeper_short' => 'Zaman Tutucusu',
|
||||
'no_timekeeper_yet' => 'Henüz zaman tutucusu atanmadı.',
|
||||
'timekeeper_updated' => 'Zaman tutucusu durumu güncellendi.',
|
||||
'comments' => 'Yorumlar',
|
||||
'comment_placeholder' => 'Yorum yaz...',
|
||||
'no_comments' => 'Henüz yorum yok.',
|
||||
'comment_deleted' => '[Silindi]',
|
||||
'confirm_delete_comment' => 'Yorum silinsin mi?',
|
||||
'comment_added' => 'Yorum eklendi.',
|
||||
'comment_removed' => 'Yorum silindi.',
|
||||
'hello_user' => 'Merhaba, :name!',
|
||||
'upcoming_events' => 'Yaklaşan Etkinlikler',
|
||||
'calendar' => 'Takvim',
|
||||
'today' => 'Bugün',
|
||||
'month_view' => 'Ay',
|
||||
'year_view' => 'Yıl',
|
||||
|
||||
// Dosyalar
|
||||
'files' => 'Dosyalar',
|
||||
'download' => 'İndir',
|
||||
'no_files' => 'Ekli dosya yok.',
|
||||
|
||||
// Rakip ve Skor
|
||||
'opponent' => 'Rakip',
|
||||
'score' => 'Skor',
|
||||
'score_home' => 'Ev Sahibi',
|
||||
'score_away' => 'Deplasman',
|
||||
'vs' => 'vs.',
|
||||
|
||||
// Staff visibility
|
||||
'signed_up' => 'kaydoldu',
|
||||
'withdrawn' => 'çekildi',
|
||||
'deleted_label' => 'silindi',
|
||||
];
|
||||
6
lang/tr/pagination.php
Executable file
6
lang/tr/pagination.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'previous' => '« Önceki',
|
||||
'next' => 'Sonraki »',
|
||||
];
|
||||
14
lang/tr/passwords.php
Executable file
14
lang/tr/passwords.php
Executable file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'reset' => 'Şifreniz sıfırlandı.',
|
||||
'sent' => 'Şifre sıfırlama bağlantısı e-posta adresinize gönderildi.',
|
||||
'throttled' => 'Lütfen tekrar denemeden önce bekleyin.',
|
||||
'token' => 'Bu şifre sıfırlama kodu geçersiz.',
|
||||
'user' => 'Bu e-posta adresine sahip bir kullanıcı bulunamadı.',
|
||||
'reset_subject' => 'Şifre Sıfırlama — :app',
|
||||
'reset_greeting' => 'Merhaba :name,',
|
||||
'reset_line1' => 'Bu e-postayı hesabınız için şifre sıfırlama talebi yapıldığı için alıyorsunuz.',
|
||||
'reset_line2' => 'Bu şifre sıfırlama bağlantısının süresi :count dakika içinde dolacaktır.',
|
||||
'reset_line3' => 'Şifre sıfırlama talebinde bulunmadıysanız, bu e-postayı görmezden gelebilirsiniz.',
|
||||
];
|
||||
44
lang/tr/profile.php
Executable file
44
lang/tr/profile.php
Executable file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Profilim',
|
||||
'name_label' => 'Ad',
|
||||
'email_label' => 'E-Posta',
|
||||
'email_readonly' => 'E-posta adresi değiştirilemez.',
|
||||
'phone_label' => 'Telefon (cep)',
|
||||
'role_label' => 'Rol',
|
||||
'language_label' => 'Dil',
|
||||
'my_children' => 'Çocuklarım',
|
||||
'updated' => 'Profil güncellendi.',
|
||||
|
||||
// Profil Fotoğrafı
|
||||
'profile_picture' => 'Profil Fotoğrafı',
|
||||
'upload_picture' => 'Fotoğraf yükle',
|
||||
'remove_picture' => 'Fotoğrafı kaldır',
|
||||
'max_picture_size' => 'Maks. 2 MB (JPG, PNG, GIF, WEBP)',
|
||||
|
||||
// KVKK onayı
|
||||
'dsgvo_title' => 'KVKK Onay Beyanı',
|
||||
'dsgvo_description' => 'İmzalanmış onay beyanını fotoğraf veya PDF olarak buraya yükleyin. Bir beyan her iki ebeveyn için ortaklaşa geçerlidir.',
|
||||
'dsgvo_upload' => 'Beyanı yükle',
|
||||
'dsgvo_replace' => 'Değiştir',
|
||||
'dsgvo_remove' => 'Beyanı kaldır',
|
||||
'dsgvo_file_hint' => 'PDF veya resim (maks. 10 MB)',
|
||||
'dsgvo_uploaded' => 'Onay beyanı yüklendi.',
|
||||
'dsgvo_removed' => 'Onay beyanı kaldırıldı.',
|
||||
'dsgvo_view' => 'Görüntüle',
|
||||
'dsgvo_confirmed' => 'Onaylandı',
|
||||
'dsgvo_pending' => 'Yönetici/antrenör tarafından onay bekleniyor',
|
||||
'dsgvo_confirmed_by' => ':name tarafından :date tarihinde onaylandı',
|
||||
'dsgvo_confirm_remove' => 'Onay beyanını gerçekten kaldırmak istiyor musunuz? Mevcut onay da sıfırlanacak.',
|
||||
|
||||
// Hesap silme
|
||||
'danger_zone' => 'Tehlikeli Bölge',
|
||||
'delete_account' => 'Hesabı Sil',
|
||||
'delete_account_hint' => 'Profiliniz devre dışı bırakılacak ve 7 gün içinde yönetici tarafından geri yüklenebilir. Geçmiş veriler (yorumlar, katılımlar) korunacaktır.',
|
||||
'delete_warning_children' => 'Dikkat: Aşağıdaki çocukların tek ebeveynisiniz. Onlar da devre dışı bırakılacak:',
|
||||
'delete_confirm' => 'Hesabınızı gerçekten silmek istiyor musunuz? Bu işlem yalnızca yönetici tarafından geri alınabilir.',
|
||||
'account_deleted' => 'Hesabınız silindi.',
|
||||
'cannot_delete_admin' => 'Yönetici hesabı silinemez.',
|
||||
'cannot_delete_staff' => 'Antrenörler ve yöneticiler hesaplarını profil sayfasından silemez.',
|
||||
];
|
||||
109
lang/tr/ui.php
Executable file
109
lang/tr/ui.php
Executable file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'dashboard' => 'Pano',
|
||||
'events' => 'Etkinlikler',
|
||||
'admin' => 'Yönetim',
|
||||
'profile' => 'Profil',
|
||||
'logout' => 'Çıkış Yap',
|
||||
'back_to_app' => 'Uygulamaya Dön',
|
||||
'login' => 'Giriş Yap',
|
||||
'save' => 'Kaydet',
|
||||
'cancel' => 'İptal',
|
||||
'edit' => 'Düzenle',
|
||||
'delete' => 'Sil',
|
||||
'create' => 'Oluştur',
|
||||
'filter' => 'Filtrele',
|
||||
'send' => 'Gönder',
|
||||
'back' => 'Geri',
|
||||
'yes' => 'Evet',
|
||||
'no' => 'Hayır',
|
||||
'open' => 'Açık',
|
||||
'all_teams' => 'Tüm Takımlar',
|
||||
'all_types' => 'Tüm Türler',
|
||||
'upcoming' => 'Yaklaşan',
|
||||
'past' => 'Geçmiş',
|
||||
'period' => 'Dönem',
|
||||
'team' => 'Takım',
|
||||
'type' => 'Tür',
|
||||
'name' => 'Ad',
|
||||
'email' => 'E-Posta',
|
||||
'password' => 'Şifre',
|
||||
'role' => 'Rol',
|
||||
'language' => 'Dil',
|
||||
'impressum' => 'Künye',
|
||||
'privacy' => 'Gizlilik Politikası',
|
||||
'no_entries' => 'Kayıt bulunamadı.',
|
||||
'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' => 'Künye',
|
||||
'footer_privacy' => 'Gizlilik Politikası',
|
||||
'pwa_install_title' => 'Uygulamayı Yükle',
|
||||
'pwa_install_text' => 'Hızlı erişim için uygulamayı ana ekranınıza ekleyin.',
|
||||
'pwa_install_btn' => 'Yükle',
|
||||
'pwa_ios_steps' => '<strong>⋯</strong> (Menü) öğesine, ardından <strong>⬆</strong> (Paylaş) öğesine dokunun ve „Ana Ekrana Ekle" seçin.',
|
||||
'error_403_title' => 'Erişim Engellendi',
|
||||
'error_403_text' => 'Bu sayfayı görüntüleme yetkiniz yok.',
|
||||
'error_404_title' => 'Sayfa Bulunamadı',
|
||||
'error_404_text' => 'İstenen sayfa bulunamadı.',
|
||||
'error_500_title' => 'Sunucu Hatası',
|
||||
'error_500_text' => 'Dahili bir hata oluştu. Lütfen daha sonra tekrar deneyin.',
|
||||
'back_to_dashboard' => 'Panoya Dön',
|
||||
'enums' => [
|
||||
'event_type' => [
|
||||
'home_game' => 'İç Saha Maçı',
|
||||
'away_game' => 'Deplasman Maçı',
|
||||
'training' => 'Antrenman',
|
||||
'tournament' => 'Turnuva',
|
||||
'meeting' => 'Toplantı',
|
||||
'other' => 'Diğer',
|
||||
],
|
||||
'event_status' => [
|
||||
'published' => 'Yayında',
|
||||
'cancelled' => 'İptal Edildi',
|
||||
'draft' => 'Taslak',
|
||||
],
|
||||
'participant_status' => [
|
||||
'yes' => 'Katılıyor',
|
||||
'no' => 'Katılmıyor',
|
||||
'unknown' => 'Açık',
|
||||
],
|
||||
'catering_status' => [
|
||||
'yes' => 'Evet',
|
||||
'no' => 'Hayır',
|
||||
'unknown' => 'Açık',
|
||||
],
|
||||
'user_role' => [
|
||||
'admin' => 'Yönetici',
|
||||
'coach' => 'Antrenör',
|
||||
'parent_rep' => 'Veli Temsilcisi',
|
||||
'user' => 'Veli',
|
||||
],
|
||||
],
|
||||
'locales' => [
|
||||
'de' => 'Deutsch',
|
||||
'en' => 'English',
|
||||
'pl' => 'Polski',
|
||||
'ru' => 'Русский',
|
||||
'ar' => 'العربية',
|
||||
'tr' => 'Türkçe',
|
||||
],
|
||||
|
||||
// KVKK Banner
|
||||
'dsgvo_banner_title' => 'KVKK Onay Beyanı Gerekli',
|
||||
'dsgvo_banner_text' => 'Bu uygulamayı kullanmak için imzalanmış bir KVKK onay beyanı gereklidir. Lütfen beyanı profilinize fotoğraf veya PDF olarak yükleyin. Uygulama ancak yükleme sonrasında tam olarak kullanılabilir.',
|
||||
'dsgvo_banner_action' => 'Şimdi profilde yükle',
|
||||
'dsgvo_banner_pending_title' => 'Onay beyanı inceleniyor',
|
||||
'dsgvo_banner_pending_text' => 'KVKK onay beyanınız gönderildi ve inceleniyor. Bir yönetici tarafından onaylanana kadar uygulama salt okunur modda — katılım, ikram, zaman tutma ve yorumlar kilitlidir.',
|
||||
'dsgvo_restricted' => 'KVKK onay beyanınız henüz onaylanmadı. Lütfen bir yönetici tarafından onaylanmasını bekleyin.',
|
||||
'dsgvo_restricted_hint' => 'KVKK onayı henüz onaylanmadı — işlemler kilitli.',
|
||||
|
||||
// Dosyalar
|
||||
'files' => 'Dosyalar',
|
||||
'download' => 'İndir',
|
||||
'all' => 'Tümü',
|
||||
'close' => 'Kapat',
|
||||
];
|
||||
130
lang/tr/validation.php
Executable file
130
lang/tr/validation.php
Executable file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'accepted' => ':attribute kabul edilmelidir.',
|
||||
'active_url' => ':attribute geçerli bir URL değil.',
|
||||
'after' => ':attribute, :date tarihinden sonra olmalıdır.',
|
||||
'after_or_equal' => ':attribute, :date tarihi veya sonrası olmalıdır.',
|
||||
'alpha' => ':attribute yalnızca harf içerebilir.',
|
||||
'alpha_dash' => ':attribute yalnızca harf, rakam, tire ve alt çizgi içerebilir.',
|
||||
'alpha_num' => ':attribute yalnızca harf ve rakam içerebilir.',
|
||||
'array' => ':attribute bir dizi olmalıdır.',
|
||||
'before' => ':attribute, :date tarihinden önce olmalıdır.',
|
||||
'before_or_equal' => ':attribute, :date tarihi veya öncesi olmalıdır.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute, :min ile :max arasında olmalıdır.',
|
||||
'file' => ':attribute, :min ile :max kilobayt arasında olmalıdır.',
|
||||
'string' => ':attribute, :min ile :max karakter arasında olmalıdır.',
|
||||
'array' => ':attribute, :min ile :max öğe arasında olmalıdır.',
|
||||
],
|
||||
'boolean' => ':attribute doğru veya yanlış olmalıdır.',
|
||||
'confirmed' => ':attribute onayı eşleşmiyor.',
|
||||
'date' => ':attribute geçerli bir tarih değil.',
|
||||
'date_equals' => ':attribute, :date tarihine eşit olmalıdır.',
|
||||
'date_format' => ':attribute, :format biçimiyle eşleşmiyor.',
|
||||
'different' => ':attribute ve :other farklı olmalıdır.',
|
||||
'digits' => ':attribute, :digits basamak olmalıdır.',
|
||||
'digits_between' => ':attribute, :min ile :max basamak arasında olmalıdır.',
|
||||
'email' => ':attribute geçerli bir e-posta adresi olmalıdır.',
|
||||
'exists' => 'Seçilen :attribute geçersiz.',
|
||||
'file' => ':attribute bir dosya olmalıdır.',
|
||||
'filled' => ':attribute bir değere sahip olmalıdır.',
|
||||
'gt' => [
|
||||
'numeric' => ':attribute, :value değerinden büyük olmalıdır.',
|
||||
'file' => ':attribute, :value kilobayttan büyük olmalıdır.',
|
||||
'string' => ':attribute, :value karakterden fazla olmalıdır.',
|
||||
'array' => ':attribute, :value öğeden fazla olmalıdır.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => ':attribute, :value veya daha büyük olmalıdır.',
|
||||
'file' => ':attribute, en az :value kilobayt olmalıdır.',
|
||||
'string' => ':attribute, en az :value karakter olmalıdır.',
|
||||
'array' => ':attribute, en az :value öğe içermelidir.',
|
||||
],
|
||||
'image' => ':attribute bir resim olmalıdır.',
|
||||
'in' => 'Seçilen :attribute geçersiz.',
|
||||
'in_array' => ':attribute, :other içinde mevcut değil.',
|
||||
'integer' => ':attribute bir tam sayı olmalıdır.',
|
||||
'ip' => ':attribute geçerli bir IP adresi olmalıdır.',
|
||||
'json' => ':attribute geçerli bir JSON dizesi olmalıdır.',
|
||||
'lt' => [
|
||||
'numeric' => ':attribute, :value değerinden küçük olmalıdır.',
|
||||
'file' => ':attribute, :value kilobayttan küçük olmalıdır.',
|
||||
'string' => ':attribute, :value karakterden az olmalıdır.',
|
||||
'array' => ':attribute, :value öğeden az olmalıdır.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => ':attribute, :value veya daha küçük olmalıdır.',
|
||||
'file' => ':attribute, en fazla :value kilobayt olmalıdır.',
|
||||
'string' => ':attribute, en fazla :value karakter olmalıdır.',
|
||||
'array' => ':attribute, en fazla :value öğe içermelidir.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => ':attribute, :max değerinden büyük olamaz.',
|
||||
'file' => ':attribute, :max kilobayttan büyük olamaz.',
|
||||
'string' => ':attribute, :max karakterden fazla olamaz.',
|
||||
'array' => ':attribute, :max öğeden fazla olamaz.',
|
||||
],
|
||||
'min' => [
|
||||
'numeric' => ':attribute en az :min olmalıdır.',
|
||||
'file' => ':attribute en az :min kilobayt olmalıdır.',
|
||||
'string' => ':attribute en az :min karakter olmalıdır.',
|
||||
'array' => ':attribute en az :min öğe içermelidir.',
|
||||
],
|
||||
'not_in' => 'Seçilen :attribute geçersiz.',
|
||||
'numeric' => ':attribute bir sayı olmalıdır.',
|
||||
'present' => ':attribute alanı mevcut olmalıdır.',
|
||||
'regex' => ':attribute biçimi geçersiz.',
|
||||
'required' => ':attribute alanı zorunludur.',
|
||||
'required_if' => ':other :value olduğunda :attribute alanı zorunludur.',
|
||||
'required_unless' => ':other :values olmadığında :attribute alanı zorunludur.',
|
||||
'required_with' => ':values mevcut olduğunda :attribute alanı zorunludur.',
|
||||
'required_with_all' => ':values mevcut olduğunda :attribute alanı zorunludur.',
|
||||
'required_without' => ':values mevcut olmadığında :attribute alanı zorunludur.',
|
||||
'required_without_all' => ':values hiçbiri mevcut olmadığında :attribute alanı zorunludur.',
|
||||
'same' => ':attribute ve :other eşleşmelidir.',
|
||||
'size' => [
|
||||
'numeric' => ':attribute, :size olmalıdır.',
|
||||
'file' => ':attribute, :size kilobayt olmalıdır.',
|
||||
'string' => ':attribute, :size karakter olmalıdır.',
|
||||
'array' => ':attribute, :size öğe içermelidir.',
|
||||
],
|
||||
'string' => ':attribute bir metin olmalıdır.',
|
||||
'timezone' => ':attribute geçerli bir saat dilimi olmalıdır.',
|
||||
'unique' => ':attribute zaten alınmış.',
|
||||
'url' => ':attribute geçerli bir URL olmalıdır.',
|
||||
|
||||
'password' => [
|
||||
'letters' => ':attribute en az bir harf içermelidir.',
|
||||
'mixed' => ':attribute en az bir büyük ve bir küçük harf içermelidir.',
|
||||
'numbers' => ':attribute en az bir rakam içermelidir.',
|
||||
'symbols' => ':attribute en az bir özel karakter içermelidir.',
|
||||
'uncompromised' => ':attribute bir veri ihlalinde bulundu. Lütfen farklı bir şifre seçin.',
|
||||
],
|
||||
|
||||
'attributes' => [
|
||||
'name' => 'Ad',
|
||||
'email' => 'E-Posta',
|
||||
'password' => 'Şifre',
|
||||
'password_confirmation' => 'Şifre Onayı',
|
||||
'title' => 'Başlık',
|
||||
'body' => 'Mesaj',
|
||||
'type' => 'Tür',
|
||||
'status' => 'Durum',
|
||||
'team_id' => 'Takım',
|
||||
'start_date' => 'Tarih',
|
||||
'start_time' => 'Saat',
|
||||
'location_name' => 'Konum',
|
||||
'address_text' => 'Adres',
|
||||
'description_html' => 'Açıklama',
|
||||
'first_name' => 'Ad',
|
||||
'last_name' => 'Soyad',
|
||||
'birth_year' => 'Doğum Yılı',
|
||||
'jersey_number' => 'Forma Numarası',
|
||||
'note' => 'Not',
|
||||
'season' => 'Sezon',
|
||||
'player_id' => 'Oyuncu',
|
||||
'parent_id' => 'Veli',
|
||||
'relationship_label' => 'İlişki',
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user