UI/UX pass: i18n completion, responsive fixes, cleanup
Deploy Iddaai Frontend / build-and-deploy (push) Successful in 2m37s
Deploy Iddaai Frontend / build-and-deploy (push) Successful in 2m37s
- Fix flex 'align=flex-start' shrinking content to min width in column
mode on matches, dashboard, and coupon-builder layouts (mobile/tablet
cards now span full width)
- Localize all user-facing hardcoded Turkish strings: lineups card,
odds card, v28 odds band panel, team/league pages, teams search,
auth toasts, league headers (new keys in tr/en messages)
- Populate empty predictions.prediction-reasons group (20 veto reasons)
and missing predictions.ui keys so the EN locale gets full coverage
- Use the active locale for all date formatting instead of hardcoded
tr-TR (match card, match detail, team detail)
- Replace raw native date input with Chakra Input (dark mode + theming)
- Rename match-detail first tab from 'Tüm Maçlar' to 'Genel Bakış'
- Fix '4 maçlar' grammar with a proper {count} maç message
- Delete dead 3300-line Chakra showcase component (home-card.tsx)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+126
-7
@@ -38,7 +38,9 @@
|
||||
"login-success": "Giriş başarılı!",
|
||||
"register-success": "Kayıt başarılı!",
|
||||
"login-required-title": "Giriş Yapmanız Gerekiyor",
|
||||
"login-required-message": "Maç analizlerini görüntülemek için lütfen giriş yapın veya hesap oluşturun."
|
||||
"login-required-message": "Maç analizlerini görüntülemek için lütfen giriş yapın veya hesap oluşturun.",
|
||||
"login-error": "Giriş yapılamadı!",
|
||||
"register-error": "Kayıt yapılamadı!"
|
||||
},
|
||||
"all-right-reserved": "Tüm hakları saklıdır.",
|
||||
"privacy-policy": "Gizlilik Politikası",
|
||||
@@ -155,7 +157,26 @@
|
||||
"penalty": "Penaltı",
|
||||
"half-time": "İlk Yarı",
|
||||
"second-half": "İkinci Yarı",
|
||||
"assist": "Asist"
|
||||
"assist": "Asist",
|
||||
"live-odds": "Canlı İddaa Oranları",
|
||||
"lineup-official-xi": "Resmi İlk 11",
|
||||
"lineup-confirmed-squad": "Onaylı Kadro",
|
||||
"lineup-confirmed": "Onaylı",
|
||||
"lineup-confirmed-live-desc": "Kadro resmi olarak onaylandı.",
|
||||
"lineup-participation-desc": "Kadro maç katılım verilerinden alındı.",
|
||||
"lineup-probable-squad": "Muhtemel Kadro",
|
||||
"lineup-probable": "Muhtemel",
|
||||
"lineup-probable-desc": "Son maçlardaki ilk 11 verilerine dayalı muhtemel kadro. AI analizi bu kadro üzerinden yapılmaktadır.",
|
||||
"lineup-info": "Kadro Bilgisi",
|
||||
"lineup-pending": "Kadro Bekleniyor",
|
||||
"lineup-pending-desc": "Kadro henüz açıklanmadı. AI analizi, takımların genel güç dengesi ve istatistiklerine dayalı olarak üretilmiştir.",
|
||||
"lineup-tbd": "Kadro henüz belli değil",
|
||||
"lineup-tbd-sub": "Maç saatine yakın güncellenecek",
|
||||
"lineup-not-announced": "Kadro Henüz Açıklanmadı",
|
||||
"lineup-not-announced-desc": "{home} ve {away} kadroları maç saatine yakın güncellenecektir. AI analizi, takım istatistikleri ve güç dengesi üzerinden yapılmaktadır.",
|
||||
"overview": "Genel Bakış",
|
||||
"match-count": "{count} maç",
|
||||
"odds-legend": "%= modelin tutma olasılığı (kalibre) · ↓↑ = açılış→kapanış hareketi"
|
||||
},
|
||||
"predictions": {
|
||||
"title": "Tahminler",
|
||||
@@ -223,7 +244,27 @@
|
||||
"missing_spread_odds": "Handikap oranları eksik.",
|
||||
"no_bet_conditions_met": "Algoritma bu maç için güvenli/değerli bir bahis önerisi bulamadı.",
|
||||
"insufficient_play_score": "Model sinyali eşiğin altında kaldı.",
|
||||
"no_ev_edge_minimum_stake": "Güvenlik kontrollerini geçti ancak matematik avantaj yok — minimum bahis uygulandı."
|
||||
"no_ev_edge_minimum_stake": "Güvenlik kontrollerini geçti ancak matematik avantaj yok — minimum bahis uygulandı.",
|
||||
"confidence_interval_too_wide": "Güven aralığı fazla geniş.",
|
||||
"confidence_band_low": "Güven bandı düşük.",
|
||||
"draw_probability_elevated": "Beraberlik olasılığı yükselmiş görünüyor.",
|
||||
"balanced_match_risk": "Maç dengeli görünüyor, sürpriz riski var.",
|
||||
"high_total_goal_volatility": "Yüksek gol temposu sürpriz riskini artırıyor.",
|
||||
"mutual_goal_pressure": "İki takım da gol tehdidi üretiyor.",
|
||||
"late_goal_swing_risk": "Geç gol veya skor kırılması riski yüksek.",
|
||||
"live_match_open_state": "Canlı maç tamamen açık oyuna dönmüş durumda.",
|
||||
"live_match_active_state": "Canlı maç beklenenden daha hareketli ilerliyor.",
|
||||
"live_state_impossible_market": "Canlı maç durumu bu marketi geçersiz kılıyor.",
|
||||
"live_score_exceeds_under_line": "Canlı skor, alt seçeneğinin üst sınırına çok yaklaştı veya geçti.",
|
||||
"score_model_conflicts_with_under_pick": "Skor ve xG modeli bu alt seçeneğiyle çelişiyor.",
|
||||
"score_model_conflicts_with_over_pick": "Skor ve xG modeli bu üst seçeneğiyle çelişiyor.",
|
||||
"market_stack_conflict_over25": "2.5 üst sinyali bu marketle çelişiyor.",
|
||||
"market_stack_conflict_btts": "KG Var sinyali bu marketle çelişiyor.",
|
||||
"live_total_goals_close_to_line": "Canlı toplam gol sayısı bu çizgiye fazla yaklaştı.",
|
||||
"score_model_conflicts_with_btts_no": "Skor ve xG modeli KG Yok seçeneğiyle çelişiyor.",
|
||||
"score_model_conflicts_with_draw_pick": "Skor modeli beraberlik seçeneğini desteklemiyor.",
|
||||
"score_model_conflicts_with_home_pick": "Skor modeli ev sahibi seçeneğini desteklemiyor.",
|
||||
"score_model_conflicts_with_away_pick": "Skor modeli deplasman seçeneğini desteklemiyor."
|
||||
},
|
||||
"ev-edge": "Teorik Avantaj",
|
||||
"implied-prob": "Piyasa Olasılığı",
|
||||
@@ -360,7 +401,11 @@
|
||||
"confidence-medium": "Orta",
|
||||
"confidence-low": "Düşük",
|
||||
"confidence-unknown": "Belirsiz",
|
||||
"info": "Bilgi"
|
||||
"info": "Bilgi",
|
||||
"unified-confidence": "Güven Skoru",
|
||||
"underdog-ref-tooltip": "Underdog tarafının model olasılığı (bilgi amaçlı)",
|
||||
"trap-tooltip": "Piyasa aşırı güveniyor",
|
||||
"no-value-tooltip": "Model favoriyle hemfikir ama oran çok düşük"
|
||||
}
|
||||
},
|
||||
"coupons": {
|
||||
@@ -487,7 +532,8 @@
|
||||
"freq-mode-active": "Frekans Motoru aktif",
|
||||
"ai-mode-active": "AI Motoru aktif",
|
||||
"engine-mode-label": "Motor Seçimi",
|
||||
"engine-mode-help": "AI: Gemini tabanlı yapay zeka tahmini. Frekans: Veritabanı tabanlı istatistiksel analiz."
|
||||
"engine-mode-help": "AI: Gemini tabanlı yapay zeka tahmini. Frekans: Veritabanı tabanlı istatistiksel analiz.",
|
||||
"all-markets-scanned": "Tüm marketler taranacak"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Profil",
|
||||
@@ -519,7 +565,14 @@
|
||||
"leagues": "Ligler",
|
||||
"countries-leagues": "Ülkeler & Ligler",
|
||||
"search-at-least-2": "Takım aramak için en az 2 karakter yazın.",
|
||||
"all": "Tümü"
|
||||
"all": "Tümü",
|
||||
"back-to-leagues": "Liglere Dön",
|
||||
"league-not-found": "Lig Bulunamadı",
|
||||
"past-matches": "Geçmiş Maçlar",
|
||||
"not-found": "Bulunamadı",
|
||||
"no-leagues-found": "Seçili kriterlere uygun lig bulunamadı.",
|
||||
"team-not-found": "Takım Bulunamadı",
|
||||
"no-teams-found": "\"{query}\" aramasıyla eşleşen bir takım bulunamadı."
|
||||
},
|
||||
"h2h": {
|
||||
"title": "Karşılıklı Karşılaşma",
|
||||
@@ -809,5 +862,71 @@
|
||||
"remaining": "kalan"
|
||||
}
|
||||
},
|
||||
"refund-policy": "İade Politikası"
|
||||
"refund-policy": "İade Politikası",
|
||||
"teams": {
|
||||
"search-placeholder": "Takım adı yazın... (min 2 karakter)",
|
||||
"search-hint": "Aramak istediğiniz takımın adını yazın",
|
||||
"search-example": "Örnek: Galatasaray, Barcelona, Manchester City",
|
||||
"no-results": "Sonuç bulunamadı",
|
||||
"upcoming": "Yaklaşan",
|
||||
"not-found": "Takım bulunamadı",
|
||||
"matches-count": "Maç",
|
||||
"upcoming-matches": "Yaklaşan Maçlar",
|
||||
"past-matches": "Geçmiş Maçlar",
|
||||
"page-info": "Sayfa {page}/{totalPages} • Toplam {total} maç",
|
||||
"no-past-matches-season": "Bu sezonda geçmiş maç bulunamadı"
|
||||
},
|
||||
"v28": {
|
||||
"avg-cards": "Ort: {avg} kart",
|
||||
"band": "Band",
|
||||
"cards-analysis": "Kart Analizi",
|
||||
"combined-over-rate": "Kombine ÜST Oranı",
|
||||
"combined-weighting": "%60 Hakem + %40 Takım ağırlıklı",
|
||||
"confirmations": "Onay",
|
||||
"engines-agree": "Motorlar Uyumlu",
|
||||
"engines-disagree": "Motorlar Farklı",
|
||||
"ft": "MS",
|
||||
"ht": "İY",
|
||||
"htft-info": "İlk yarı sonucu ve maç sonucu kombinasyonlarının tarihsel oran bandındaki gerçekleşme oranları.",
|
||||
"htft-title": "İY/MS Kombinasyonları",
|
||||
"insufficient": "YETERSİZ",
|
||||
"insufficient-data": "Yetersiz veri — henüz yeterli maç örneği bulunamadı.",
|
||||
"label-away": "MS Dep",
|
||||
"label-btts_yes": "KG Var",
|
||||
"label-cards_over": "Kart ÜST",
|
||||
"label-dc_12": "ÇŞ 12",
|
||||
"label-dc_1x": "ÇŞ 1X",
|
||||
"label-dc_x2": "ÇŞ X2",
|
||||
"label-home": "MS Ev",
|
||||
"label-ht_away": "İY Dep",
|
||||
"label-ht_home": "İY Ev",
|
||||
"label-ht_ou05_over": "İY ÜST 0.5",
|
||||
"label-ht_ou15_over": "İY ÜST 1.5",
|
||||
"label-htft_11": "İY/MS 1/1",
|
||||
"label-htft_12": "İY/MS 1/2",
|
||||
"label-htft_1x": "İY/MS 1/X",
|
||||
"label-htft_21": "İY/MS 2/1",
|
||||
"label-htft_22": "İY/MS 2/2",
|
||||
"label-htft_2x": "İY/MS 2/X",
|
||||
"label-htft_x1": "İY/MS X/1",
|
||||
"label-htft_x2": "İY/MS X/2",
|
||||
"label-htft_xx": "İY/MS X/X",
|
||||
"label-oe_odd": "Tek",
|
||||
"label-ou15_over": "ÜST 1.5",
|
||||
"label-ou25_over": "ÜST 2.5",
|
||||
"label-ou35_over": "ÜST 3.5",
|
||||
"matches-count": "{count} maç",
|
||||
"odds": "Oran",
|
||||
"over-rate": "Üst oranı",
|
||||
"panel-info": "Geçmiş maçlarda benzer oranlarda gerçekleşen sonuçların istatistiksel analizi. Triple Value, Kart Profili ve İY/MS kombinasyonlarını içerir.",
|
||||
"panel-title": "V28 Oran Bandı Analizi",
|
||||
"pass": "PAS",
|
||||
"referee-profile": "Hakem Profili",
|
||||
"strongest": "En güçlü",
|
||||
"team-profile": "Takım Profili",
|
||||
"triple-value-info": "Model olasılığı, oran bandı istatistiği ve piyasa oranı karşılaştırması. Edge pozitifse model avantaj görüyor demektir.",
|
||||
"triple-value-title": "Değer Tespiti (Triple Value)",
|
||||
"value": "DEĞER",
|
||||
"value-signals": "{count} Değer Sinyali"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user