Spielerpositionen, Statistiken, Fahrgemeinschaften, Spielfeld-Visualisierung

- PlayerPosition Enum (7 Handball-Positionen) mit Label/ShortLabel
- Spielerstatistik pro Spiel (Tore, Würfe, TW-Paraden, Bemerkung)
- Position-Dropdown in Spieler-Editor und Event-Stats-Formular
- Statistik-Seite: TW zuerst, Trennlinie, Feldspieler, Position-Badges
- Spielfeld-SVG mit Ampel-Performance (grün/gelb/rot)
- Anklickbare Spieler im Spielfeld öffnen Detail-Modal
- Fahrgemeinschaften (Anbieten, Zuordnen, Zurückziehen)
- Übersetzungen in allen 6 Sprachen (de, en, pl, ru, ar, tr)
- .gitignore für Laravel hinzugefügt
- Demo-Daten mit Positionen und Statistiken

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Rhino
2026-03-02 11:47:34 +01:00
parent 2e24a40d68
commit ad60e7a9f9
46 changed files with 2041 additions and 86 deletions

View File

@@ -325,6 +325,10 @@ return [
'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_carpool_offer' => '":event" için yolculuk teklif edildi (:seats koltuk)',
'log_carpool_withdrawn' => '":event" için yolculuk geri çekildi (:passengers yolcu kaldırıldı)',
'log_carpool_joined' => ':player, :driver ile gidiyor (Etkinlik: ":event")',
'log_carpool_left' => ':player, :driver ile yolculuktan kaldırıldı (Etkinlik: ":event")',
'log_comment_created' => '":event" için yorum eklendi',
'log_comment_deleted' => '":event" için yorum silindi',
'log_file_uploaded' => '":name" dosyası yüklendi',
@@ -374,6 +378,15 @@ return [
'favicon_uploaded' => 'Favicon güncellendi.',
'favicon_removed' => 'Favicon kaldırıldı.',
// Logos
'logo_login_label' => 'Giriş Logosu',
'logo_login_desc' => 'Giriş sayfasında uygulama adının üstünde görüntülenir.',
'logo_app_label' => 'Uygulama Logosu (Gezinme)',
'logo_app_desc' => 'Gezinme çubuğunda uygulama adının yanında görüntülenir.',
'logo_current' => 'Mevcut logo',
'logo_remove' => 'Logoyu kaldır',
'logo_hint' => 'PNG, SVG, JPG, GIF, WebP (maks. 1 MB)',
// Undo / Revert
'log_revert' => 'Geri al',
'log_revert_confirm' => 'Bu işlemi gerçekten geri almak istiyor musunuz?',
@@ -564,4 +577,21 @@ return [
'mail_test_button' => 'Bağlantıyı Test Et',
'mail_testing' => 'Bağlantı test ediliyor...',
'mail_test_success' => 'SMTP bağlantısı başarılı!',
// Oyuncu istatistikleri
'stats_player_detail' => 'Oyuncu detayları',
'stats_total_goals' => 'Toplam goller',
'stats_total_shots' => 'Toplam atışlar',
'stats_gk_appearances' => 'Kaleci maçları',
'stats_total_saves' => 'Toplam kurtarışlar',
'stats_close' => 'Kapat',
'player_goals' => 'Goller',
// Pozisyonlar ve Saha
'position' => 'Pozisyon',
'court_visualization' => 'Saha Dizilişi',
'court_no_data' => 'Veri yok',
'performance_good' => 'İyi',
'performance_average' => 'Orta',
'performance_below' => 'Ortalamanın altı',
];

View File

@@ -31,6 +31,25 @@ return [
'timekeeper_short' => 'Zaman Tutucusu',
'no_timekeeper_yet' => 'Henüz zaman tutucusu atanmadı.',
'timekeeper_updated' => 'Zaman tutucusu durumu güncellendi.',
// Araç paylaşımı
'carpool' => 'Araç Paylaşımı',
'carpool_offer' => 'Yolculuk teklif et',
'carpool_update' => 'Yolculuğu güncelle',
'carpool_seats' => 'Boş koltuklar',
'carpool_seats_count' => ':free / :total koltuk boş',
'carpool_seats_too_few' => 'Zaten yeni koltuk sayısından fazla yolcu atanmış.',
'carpool_note_placeholder' => 'örn. buluşma noktası, kalkış saati...',
'carpool_withdraw' => 'Yolculuğu geri çek',
'carpool_withdraw_confirm' => 'Yolculuğu gerçekten geri çekmek istiyor musunuz? Tüm yolcular kaldırılacak.',
'carpool_join' => 'Ata',
'carpool_leave' => 'Kaldır',
'carpool_full' => 'Tüm koltuklar dolu',
'no_carpool_yet' => 'Henüz araç paylaşımı teklifi yok.',
'carpool_my_offer' => 'Benim yolculuğum',
'carpool_driver' => 'Sürücü',
'carpool_passengers' => 'Yolcular',
'comments' => 'Yorumlar',
'comment_placeholder' => 'Yorum yaz...',
'no_comments' => 'Henüz yorum yok.',
@@ -57,6 +76,22 @@ return [
'score_away' => 'Deplasman',
'vs' => 'vs.',
// Oyuncu istatistikleri
'stats' => 'Oyuncu İstatistikleri',
'stats_save' => 'İstatistikleri kaydet',
'stats_saved' => 'İstatistikler kaydedildi.',
'stats_goalkeeper' => 'KL',
'stats_goalkeeper_long' => 'Kaleci',
'stats_saves' => 'Kurtarışlar',
'stats_shots_on_goal' => 'Kaleye atışlar',
'stats_goals' => 'Goller',
'stats_shots' => 'Atışlar',
'stats_note' => 'Not',
'stats_hit_rate' => 'İsabet oranı',
'stats_save_rate' => 'Kurtarış oranı',
'stats_no_data' => 'İstatistik verisi yok.',
'stats_position' => 'Pozisyon',
// Staff visibility
'signed_up' => 'kaydoldu',
'withdrawn' => 'çekildi',

View File

@@ -82,6 +82,24 @@ return [
'parent_rep' => 'Veli Temsilcisi',
'user' => 'Veli',
],
'player_position' => [
'torwart' => 'Kaleci',
'links_aussen' => 'Sol Kanat',
'rechts_aussen' => 'Sağ Kanat',
'rueckraum_links' => 'Sol Çapraz',
'rueckraum_mitte' => 'Orta Çapraz',
'rueckraum_rechts' => 'Sağ Çapraz',
'kreislaeufer' => 'Pivot',
],
'player_position_short' => [
'torwart' => 'KL',
'links_aussen' => 'SK',
'rechts_aussen' => 'SĞK',
'rueckraum_links' => 'SÇ',
'rueckraum_mitte' => 'OÇ',
'rueckraum_rechts' => 'SĞÇ',
'kreislaeufer' => 'PV',
],
],
'locales' => [
'de' => 'Deutsch',