feat(telemetry): product interaction events

- h2h_viewed from match card, dock, profile, stats, predictions
- reaction_sent with emoji and surface; score_report_opened from all
  three report entry points
- stats_filtered and stats_sorted on stats route and profile
- rules/teams/players/bracket/tournament view events with sources
- match_history_viewed, badge_viewed, player_searched (count only)
This commit is contained in:
2026-08-26 23:04:36 -07:00
parent fc65fdb451
commit f593b2c7b8
25 changed files with 747 additions and 629 deletions
+148 -148
View File
@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
#: src/features/matches/components/match-card.tsx:78
#: src/features/matches/components/match-card.tsx:80
msgid " (Losers)"
msgstr " (Verlierer)"
@@ -98,7 +98,7 @@ msgid "{0} at {1}"
msgstr "{0} um {1}"
#. placeholder {0}: badge.name
#: src/features/badges/components/badge-stats-table.tsx:180
#: src/features/badges/components/badge-stats-table.tsx:187
msgid "{0} Badge Holders"
msgstr "{0} Abzeichen-Inhaber"
@@ -115,7 +115,7 @@ msgid "{0} Cups"
msgstr "{0} Becher"
#. placeholder {0}: teamName(reportingTeam) ?? t`The other team`
#: src/features/bracket/components/match-report.tsx:157
#: src/features/bracket/components/match-report.tsx:160
msgid "{0} just reported a score"
msgstr "{0} hat gerade ein Ergebnis gemeldet"
@@ -131,7 +131,7 @@ msgid "{0} of {1} teams"
msgstr "{0} von {1} Teams"
#. placeholder {0}: teamName(reportingTeam) ?? t`Opponent`
#: src/features/bracket/components/match-report.tsx:269
#: src/features/bracket/components/match-report.tsx:272
msgid "{0} reported <0>{scoreText}</0>"
msgstr "{0} hat <0>{scoreText}</0> gemeldet"
@@ -156,12 +156,12 @@ msgstr "{0}T"
msgid "{0}ms"
msgstr "{0}ms"
#: src/features/tournaments/components/upcoming-tournament/enrolled-players-list-button.tsx:32
#: src/features/tournaments/components/upcoming-tournament/enrolled-players-list-button.tsx:33
msgid "{count, plural, one {Players (#)} other {Players (#)}}"
msgstr "{count, plural, one {Spieler (#)} other {Spieler (#)}}"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:115
#: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:24
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:117
#: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:25
msgid "{count, plural, one {Teams (#)} other {Teams (#)}}"
msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}"
@@ -216,11 +216,11 @@ msgstr "{name}-Teams"
msgid "{name}'s Bracket"
msgstr "{name}s Bracket"
#: src/features/badges/components/badge-stats-table.tsx:126
#: src/features/badges/components/badge-stats-table.tsx:127
msgid "{namesList} and {remaining} others"
msgstr "{namesList} und {remaining} weitere"
#: src/features/badges/components/badge-stats-table.tsx:127
#: src/features/badges/components/badge-stats-table.tsx:128
msgid "{namesList} and 1 other"
msgstr "{namesList} und 1 weitere"
@@ -228,7 +228,7 @@ msgstr "{namesList} und 1 weitere"
msgid "{size}-team knockout"
msgstr "{size}-Team-K.-o.-Runde"
#: src/features/players/components/player-stats-table.tsx:436
#: src/features/players/components/player-stats-table.tsx:446
msgid "* Confidence penalty applied for players with <15 matches"
msgstr "* Vertrauensabschlag für Spieler mit <15 Spielen"
@@ -241,7 +241,7 @@ msgstr "* Falls nötig"
msgid "* PICKS shows correct picks / total picks made"
msgstr "* PICKS zeigt richtige Picks / insgesamt abgegebene Picks"
#: src/features/players/components/player-stats-table.tsx:439
#: src/features/players/components/player-stats-table.tsx:449
msgid "** Not an official rating"
msgstr "** Keine offizielle Wertung"
@@ -254,19 +254,19 @@ msgstr "&"
msgid "#{0}"
msgstr "#{0}"
#: src/features/players/components/player-stats-table.tsx:406
#: src/features/players/components/player-stats-table.tsx:416
msgid "• <0>AC:</0> Average Cups Per Match"
msgstr "• <0>AC:</0> Durchschnittliche Becher pro Spiel"
#: src/features/players/components/player-stats-table.tsx:409
#: src/features/players/components/player-stats-table.tsx:419
msgid "• <0>ACA:</0> Average Cups Against"
msgstr "• <0>ACA:</0> Durchschnittlich kassierte Becher"
#: src/features/players/components/player-stats-table.tsx:403
#: src/features/players/components/player-stats-table.tsx:413
msgid "• <0>ALM:</0> Average Loss Margin"
msgstr "• <0>ALM:</0> Durchschnittlicher Rückstand bei Niederlage"
#: src/features/players/components/player-stats-table.tsx:400
#: src/features/players/components/player-stats-table.tsx:410
msgid "• <0>AWM:</0> Average Win Margin"
msgstr "• <0>AWM:</0> Durchschnittlicher Vorsprung bei Sieg"
@@ -274,15 +274,15 @@ msgstr "• <0>AWM:</0> Durchschnittlicher Vorsprung bei Sieg"
msgid "• <0>Bracket reset:</0> only picked if your bracket triggers it — worth double the Final"
msgstr "• <0>Bracket-Reset:</0> wird nur gewertet, wenn dein Bracket ihn auslöst — zählt doppelt so viel wie das Finale"
#: src/features/players/components/player-stats-table.tsx:415
#: src/features/players/components/player-stats-table.tsx:425
msgid "• <0>CA:</0> Cups Against"
msgstr "• <0>CA:</0> Kassierte Becher"
#: src/features/players/components/player-stats-table.tsx:412
#: src/features/players/components/player-stats-table.tsx:422
msgid "• <0>CF:</0> Cups For"
msgstr "• <0>CF:</0> Erzielte Becher"
#: src/features/players/components/player-stats-table.tsx:394
#: src/features/players/components/player-stats-table.tsx:404
msgid "• <0>L:</0> Losses"
msgstr "• <0>L:</0> Niederlagen"
@@ -290,23 +290,23 @@ msgstr "• <0>L:</0> Niederlagen"
msgid "• <0>Losers bracket:</0> 5, 10, 20, 40…"
msgstr "• <0>Verlierer-Bracket:</0> 5, 10, 20, 40…"
#: src/features/players/components/player-stats-table.tsx:382
#: src/features/players/components/player-stats-table.tsx:392
msgid "• <0>M:</0> Matches"
msgstr "• <0>M:</0> Spiele"
#: src/features/players/components/player-stats-table.tsx:388
#: src/features/players/components/player-stats-table.tsx:398
msgid "• <0>MMR:</0> Matchmaking Rating"
msgstr "• <0>MMR:</0> Matchmaking-Wertung"
#: src/features/players/components/player-stats-table.tsx:385
#: src/features/players/components/player-stats-table.tsx:395
msgid "• <0>T:</0> Tournaments"
msgstr "• <0>T:</0> Turniere"
#: src/features/players/components/player-stats-table.tsx:391
#: src/features/players/components/player-stats-table.tsx:401
msgid "• <0>W:</0> Wins"
msgstr "• <0>W:</0> Siege"
#: src/features/players/components/player-stats-table.tsx:397
#: src/features/players/components/player-stats-table.tsx:407
msgid "• <0>W%:</0> Win Percentage"
msgstr "• <0>W%:</0> Siegquote"
@@ -314,11 +314,11 @@ msgstr "• <0>W%:</0> Siegquote"
msgid "• <0>Winners bracket:</0> 10, 20, 40, 80…"
msgstr "• <0>Gewinner-Bracket:</0> 10, 20, 40, 80…"
#: src/features/players/components/player-stats-table.tsx:427
#: src/features/players/components/player-stats-table.tsx:437
msgid "• Average Cups/Match (25%)"
msgstr "• Durchschnittliche Becher/Spiel (25%)"
#: src/features/players/components/player-stats-table.tsx:430
#: src/features/players/components/player-stats-table.tsx:440
msgid "• Average Win Margin (15%)"
msgstr "• Durchschnittlicher Vorsprung bei Sieg (15%)"
@@ -326,11 +326,11 @@ msgstr "• Durchschnittlicher Vorsprung bei Sieg (15%)"
msgid "• Each correct pick earns points, doubling every round"
msgstr "• Jeder richtige Tipp bringt Punkte, die sich jede Runde verdoppeln"
#: src/features/players/components/player-stats-table.tsx:433
#: src/features/players/components/player-stats-table.tsx:443
msgid "• Match Volume Bonus (10%)"
msgstr "• Match-Volumen-Bonus (10%)"
#: src/features/players/components/player-stats-table.tsx:424
#: src/features/players/components/player-stats-table.tsx:434
msgid "• Win Rate (50%)"
msgstr "• Siegquote (50%)"
@@ -398,15 +398,15 @@ msgstr "Ein Code wurde an +1 ({0}) {1}-{2} gesendet"
msgid "A new error appeared: {0}"
msgstr "Ein neuer Fehler ist aufgetreten: {0}"
#: src/features/bracket/components/match-report.tsx:304
#: src/features/bracket/components/match-report.tsx:307
msgid "a team"
msgstr "ein Team"
#: src/features/players/components/player-stats-table.tsx:136
#: src/features/players/components/player-stats-table.tsx:137
msgid "AC"
msgstr "AC"
#: src/features/players/components/player-stats-table.tsx:137
#: src/features/players/components/player-stats-table.tsx:138
msgid "ACA"
msgstr "ACA"
@@ -457,9 +457,9 @@ msgstr "Admin"
msgid "Aero"
msgstr "Aero"
#: src/app/routes/_authed/stats.tsx:59
#: src/app/routes/_authed/stats.tsx:65
#: src/features/activities/components/activities-table.tsx:92
#: src/features/players/components/profile/index.tsx:28
#: src/features/players/components/profile/index.tsx:35
msgid "All"
msgstr "Alle"
@@ -471,7 +471,7 @@ msgstr "Alle Abzeichen"
msgid "All group matches are finished! Populate the knockout bracket to advance qualified teams."
msgstr "Alle Gruppenspiele sind beendet! Fülle den K.-o.-Baum, um qualifizierte Teams weiterzubringen."
#: src/features/players/components/player-stats-table.tsx:135
#: src/features/players/components/player-stats-table.tsx:136
msgid "ALM"
msgstr "ALM"
@@ -581,7 +581,7 @@ msgid "Award Manual Badge"
msgstr "Abzeichen manuell verleihen"
#: src/features/bracket/components/match-card.tsx:191
#: src/features/bracket/components/match-report.tsx:177
#: src/features/bracket/components/match-report.tsx:180
msgctxt "match team"
msgid "Away"
msgstr "Auswärts"
@@ -594,7 +594,7 @@ msgstr "Auswärts-Becher ist erforderlich"
msgid "Away team TBD — pick the earlier matches first"
msgstr "Auswärtsteam noch offen — tippe zuerst die früheren Spiele"
#: src/features/players/components/player-stats-table.tsx:134
#: src/features/players/components/player-stats-table.tsx:135
msgid "AWM"
msgstr "AWM"
@@ -622,7 +622,7 @@ msgstr "Abzeichen-Neuberechnung im Hintergrund gestartet"
msgid "Badge Type"
msgstr "Abzeichentyp"
#: src/features/players/components/profile/index.tsx:59
#: src/features/players/components/profile/index.tsx:66
msgid "Badges"
msgstr "Abzeichen"
@@ -639,7 +639,7 @@ msgstr "Zirkus"
msgid "Both teams cannot have 10 cups"
msgstr "Beide Teams können nicht 10 Becher haben"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:87
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:88
#: src/features/tournaments/components/upcoming-tournament/index.tsx:151
msgid "Bracket"
msgstr "Turnierbaum"
@@ -661,7 +661,7 @@ msgstr "Aufschlüsselung"
msgid "Brutal"
msgstr "Brutal"
#: src/features/players/components/player-stats-table.tsx:139
#: src/features/players/components/player-stats-table.tsx:140
#: src/features/tournaments/components/tournament-stats.tsx:152
msgid "CA"
msgstr "CA"
@@ -669,7 +669,7 @@ msgstr "CA"
#: src/components/sheet/slide-panel/slide-panel.tsx:41
#: src/components/sheet/slide-panel/slide-panel.tsx:190
#: src/features/bracket/components/match-form.tsx:160
#: src/features/bracket/components/match-report.tsx:258
#: src/features/bracket/components/match-report.tsx:261
#: src/features/players/components/profile/name-form.tsx:73
#: src/features/teams/components/team-form/index.tsx:195
#: src/features/tournaments/components/edit-rules.tsx:40
@@ -698,7 +698,7 @@ msgstr "Aktuellen Status erfassen"
msgid "Cassette Futurism"
msgstr "Retro-Tech"
#: src/features/players/components/player-stats-table.tsx:138
#: src/features/players/components/player-stats-table.tsx:139
#: src/features/tournaments/components/tournament-stats.tsx:144
msgid "CF"
msgstr "CF"
@@ -720,7 +720,7 @@ msgstr "Wähle einen Spieler"
msgid "Claymation"
msgstr "Knete"
#: src/features/players/components/league-head-to-head.tsx:99
#: src/features/players/components/league-head-to-head.tsx:102
msgid "Clear selected player"
msgstr "Ausgewählten Spieler entfernen"
@@ -733,8 +733,8 @@ msgid "Client errors"
msgstr "Client-Fehler"
#: src/components/sheet/modal.tsx:35
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150
#: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:36
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:162
#: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:44
msgid "Close"
msgstr "Schließen"
@@ -742,7 +742,7 @@ msgstr "Schließen"
msgid "Close image preview"
msgstr "Bildvorschau schließen"
#: src/features/bracket/components/match-dock.tsx:133
#: src/features/bracket/components/match-dock.tsx:134
msgid "Close match actions"
msgstr "Match-Aktionen schließen"
@@ -768,13 +768,13 @@ msgstr "Farbschema"
#: src/components/sheet/slide-panel/slide-panel.tsx:169
#: src/components/sheet/slide-panel/slide-panel.tsx:189
#: src/features/bracket/components/match-report.tsx:284
#: src/features/bracket/components/match-report.tsx:287
#: src/features/tournaments/components/upcoming-tournament/enroll-free-agent.tsx:50
#: src/features/tournaments/components/upcoming-tournament/unenroll-team.tsx:40
msgid "Confirm"
msgstr "Bestätigen"
#: src/features/bracket/components/match-report.tsx:193
#: src/features/bracket/components/match-report.tsx:196
msgid "Confirm {scoreText}"
msgstr "{scoreText} bestätigen"
@@ -782,7 +782,7 @@ msgstr "{scoreText} bestätigen"
msgid "Confirm & Create Teams"
msgstr "Bestätigen & Teams erstellen"
#: src/features/bracket/components/match-report.tsx:148
#: src/features/bracket/components/match-report.tsx:151
msgid "Confirm Score"
msgstr "Ergebnis bestätigen"
@@ -938,13 +938,13 @@ msgstr "Spotify trennen"
msgid "Dismiss"
msgstr "Schließen"
#: src/features/bracket/components/match-report.tsx:159
#: src/features/bracket/components/match-report.tsx:162
msgid "Does this look right?"
msgstr "Sieht das richtig aus?"
#: src/features/bracket/components/match-card.tsx:117
#: src/features/bracket/components/match-report.tsx:81
#: src/features/bracket/components/match-report.tsx:97
#: src/features/bracket/components/match-report.tsx:83
#: src/features/bracket/components/match-report.tsx:99
msgid "Downstream matches were reset because the correction changed who advances."
msgstr "Nachfolgende Matches wurden zurückgesetzt, da sich durch die Korrektur geändert hat, wer weiterkommt."
@@ -976,7 +976,7 @@ msgstr "Match bearbeiten"
msgid "Edit match score"
msgstr "Spielstand bearbeiten"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:97
msgid "Edit Prediction"
msgstr "Tipp bearbeiten"
@@ -1048,13 +1048,13 @@ msgid "Enrolled"
msgstr "Angemeldet"
#: src/features/tournaments/components/enrollment/free-agent-section.tsx:155
#: src/features/tournaments/components/upcoming-tournament/enrolled-players-list-button.tsx:39
#: src/features/tournaments/components/upcoming-tournament/enrolled-players-list-button.tsx:43
msgid "Enrolled Players"
msgstr "Angemeldete Spieler"
#: src/features/tournaments/components/enrollment/team-section.tsx:237
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:126
#: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:31
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:138
#: src/features/tournaments/components/upcoming-tournament/team-list-button.tsx:35
msgid "Enrolled Teams"
msgstr "Angemeldete Teams"
@@ -1303,8 +1303,8 @@ msgid "Group Configuration"
msgstr "Gruppenkonfiguration"
#: src/features/bracket/components/match-card.tsx:122
#: src/features/bracket/components/match-report.tsx:86
#: src/features/bracket/components/match-report.tsx:102
#: src/features/bracket/components/match-report.tsx:88
#: src/features/bracket/components/match-report.tsx:104
msgid "Group result changed after the bracket was seeded — reseed the knockout stage if needed."
msgstr "Das Gruppenergebnis hat sich geändert, nachdem die K.-o.-Runde gesetzt wurde — setze die K.-o.-Runde bei Bedarf neu."
@@ -1320,7 +1320,7 @@ msgstr "Gruppenphase erfolgreich erstellt!"
msgid "Group Stage Setup"
msgstr "Gruppenphase einrichten"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:79
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:80
msgid "Groups"
msgstr "Gruppen"
@@ -1333,13 +1333,13 @@ msgstr "viel Spaß, viel Glück!"
msgid "Have you played before?"
msgstr "Hast du schon mal mitgespielt?"
#: src/app/routes/_authed/stats.tsx:47
#: src/features/bracket/components/match-dock.tsx:173
#: src/features/bracket/components/match-dock.tsx:215
#: src/features/matches/components/match-card.tsx:84
#: src/features/matches/components/match-card.tsx:228
#: src/features/players/components/league-head-to-head.tsx:183
#: src/features/players/components/profile/header.tsx:90
#: src/app/routes/_authed/stats.tsx:53
#: src/features/bracket/components/match-dock.tsx:174
#: src/features/bracket/components/match-dock.tsx:219
#: src/features/matches/components/match-card.tsx:86
#: src/features/matches/components/match-card.tsx:230
#: src/features/players/components/league-head-to-head.tsx:193
#: src/features/players/components/profile/header.tsx:94
msgid "Head to Head"
msgstr "Direktvergleich"
@@ -1354,7 +1354,7 @@ msgid "Home"
msgstr "Start"
#: src/features/bracket/components/match-card.tsx:191
#: src/features/bracket/components/match-report.tsx:166
#: src/features/bracket/components/match-report.tsx:169
msgctxt "match team"
msgid "Home"
msgstr "Heim"
@@ -1437,7 +1437,7 @@ msgstr "K.-o.-Runde erfolgreich befüllt!"
msgid "Knockout Bracket Preview ({0} Teams)"
msgstr "Vorschau der K.-o.-Runde ({0} Teams)"
#: src/features/players/components/player-stats-table.tsx:132
#: src/features/players/components/player-stats-table.tsx:133
#: src/features/tournaments/components/tournament-stats.tsx:120
msgid "L"
msgstr "N"
@@ -1526,16 +1526,16 @@ msgstr "Finale der Verliererrunde"
msgid "Losses"
msgstr "Niederlagen"
#: src/features/players/components/player-stats-table.tsx:108
#: src/features/players/components/player-stats-table.tsx:109
msgid "M"
msgstr "S"
#: src/app/routes/_authed/stats.tsx:66
#: src/features/players/components/profile/index.tsx:29
#: src/app/routes/_authed/stats.tsx:72
#: src/features/players/components/profile/index.tsx:36
msgid "Mainline"
msgstr "Mainline"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:95
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:97
msgid "Make Prediction"
msgstr "Tipp abgeben"
@@ -1544,7 +1544,7 @@ msgid "Make Your Prediction"
msgstr "Gib deinen Tipp ab"
#: src/features/admin/components/dashboard/tournament-section.tsx:39
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:70
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:71
#: src/features/tournaments/components/upcoming-tournament/index.tsx:144
msgid "Manage"
msgstr "Verwalten"
@@ -1576,13 +1576,13 @@ msgstr "Als behoben markieren"
#. placeholder {0}: match.order
#. placeholder {1}: match.round + 1
#: src/features/bracket/components/match-dock.tsx:126
#: src/features/bracket/components/match-dock.tsx:127
msgid "Match {0} · Round {1}"
msgstr "Match {0} · Runde {1}"
#. placeholder {0}: match.order
#. placeholder {1}: match.round + 1
#: src/features/bracket/components/match-dock.tsx:124
#: src/features/bracket/components/match-dock.tsx:125
msgid "Match {0} · Round {1} (Losers)"
msgstr "Match {0} · Runde {1} (Verlierer)"
@@ -1611,12 +1611,12 @@ msgstr "Match-Verlauf ({totalMatches})"
msgid "Match started!"
msgstr "Match gestartet!"
#: src/features/players/components/player-stats-table.tsx:366
#: src/features/players/components/profile/index.tsx:78
#: src/features/players/components/player-stats-table.tsx:376
#: src/features/players/components/profile/index.tsx:85
#: src/features/players/components/profile/skeleton.tsx:70
#: src/features/teams/components/team-profile/index.tsx:44
#: src/features/teams/components/team-profile/skeleton.tsx:75
#: src/features/tournaments/components/profile/index.tsx:27
#: src/features/tournaments/components/profile/index.tsx:36
#: src/features/tournaments/components/profile/skeleton.tsx:84
msgid "Matches"
msgstr "Matches"
@@ -1630,11 +1630,11 @@ msgstr "Matches für Regionals sind ungeordnet"
msgid "Matches Played"
msgstr "Gespielte Matches"
#: src/features/predictions/components/prediction-editor.tsx:243
#: src/features/predictions/components/prediction-editor.tsx:249
msgid "Matchup"
msgstr "Matchup"
#: src/features/predictions/components/prediction-editor.tsx:220
#: src/features/predictions/components/prediction-editor.tsx:226
msgid "Matchup details"
msgstr "Matchup-Details"
@@ -1642,7 +1642,7 @@ msgstr "Matchup-Details"
msgid "MAU"
msgstr "MAU"
#: src/features/players/components/league-head-to-head.tsx:120
#: src/features/players/components/league-head-to-head.tsx:123
msgid "Me"
msgstr "Ich"
@@ -1650,12 +1650,12 @@ msgstr "Ich"
msgid "Migrate Badge Progress"
msgstr "Abzeichen-Fortschritt migrieren"
#: src/features/players/components/player-stats-table.tsx:130
#: src/features/players/components/player-stats-table.tsx:346
#: src/features/players/components/player-stats-table.tsx:131
#: src/features/players/components/player-stats-table.tsx:356
msgid "MMR"
msgstr "MMR"
#: src/features/players/components/player-stats-table.tsx:421
#: src/features/players/components/player-stats-table.tsx:431
msgid "MMR Calculation:"
msgstr "MMR-Berechnung:"
@@ -1712,7 +1712,7 @@ msgstr "Neuer Client-Fehler"
msgid "New Player"
msgstr "Neuer Spieler"
#: src/features/predictions/components/prediction-editor.tsx:210
#: src/features/predictions/components/prediction-editor.tsx:211
msgid "Next match"
msgstr "Nächstes Match"
@@ -1747,7 +1747,7 @@ msgstr "Keine aktive Wiedergabe zum Erfassen"
msgid "No Activities Found"
msgstr "Keine Aktivitäten gefunden"
#: src/features/badges/components/badge-stats-table.tsx:45
#: src/features/badges/components/badge-stats-table.tsx:46
msgid "No Badges Available"
msgstr "Keine Abzeichen verfügbar"
@@ -1775,21 +1775,21 @@ msgstr "Keine Matches geplant"
msgid "No player activity found"
msgstr "Keine Spieleraktivität gefunden"
#: src/features/players/components/league-head-to-head.tsx:141
#: src/features/players/components/league-head-to-head.tsx:151
msgid "No players available"
msgstr "Keine Spieler verfügbar"
#: src/features/tournaments/components/enrollment/free-agent-section.tsx:168
#: src/features/tournaments/components/upcoming-tournament/enrolled-players-list-button.tsx:42
#: src/features/tournaments/components/upcoming-tournament/enrolled-players-list-button.tsx:46
msgid "No players enrolled yet"
msgstr "Noch keine Spieler angemeldet"
#: src/features/players/components/league-head-to-head.tsx:141
#: src/features/players/components/player-stats-table.tsx:476
#: src/features/players/components/league-head-to-head.tsx:151
#: src/features/players/components/player-stats-table.tsx:486
msgid "No players found matching \"{search}\""
msgstr "Keine Spieler gefunden, die zu \"{search}\" passen"
#: src/features/badges/components/badge-stats-table.tsx:90
#: src/features/badges/components/badge-stats-table.tsx:91
msgid "No players yet"
msgstr "Noch keine Spieler"
@@ -1818,7 +1818,7 @@ msgstr "Kein Song ausgewählt"
msgid "No state captured"
msgstr "Kein Status erfasst"
#: src/features/players/components/player-stats-table.tsx:316
#: src/features/players/components/player-stats-table.tsx:319
msgid "No Stats Available"
msgstr "Keine Statistiken verfügbar"
@@ -1859,11 +1859,11 @@ msgstr "Keine offenen Fehler"
msgid "Nobody made a prediction for this tournament."
msgstr "Niemand hat einen Tipp für dieses Turnier abgegeben."
#: src/features/bracket/components/match-report.tsx:292
#: src/features/bracket/components/match-report.tsx:295
msgid "Not right"
msgstr "Stimmt nicht"
#: src/features/bracket/components/match-report.tsx:201
#: src/features/bracket/components/match-report.tsx:204
msgid "Not right — enter our score"
msgstr "Stimmt nicht — unser Ergebnis eingeben"
@@ -1896,7 +1896,7 @@ msgstr "Läuft gerade"
msgid "Number of teams"
msgstr "Anzahl der Teams"
#: src/features/badges/components/badge-stats-table.tsx:175
#: src/features/badges/components/badge-stats-table.tsx:182
msgid "of players"
msgstr "der Spieler"
@@ -1912,7 +1912,7 @@ msgstr "Einmalcode"
msgid "Open Pocketbase"
msgstr "Pocketbase öffnen"
#: src/features/bracket/components/match-report.tsx:270
#: src/features/bracket/components/match-report.tsx:273
msgid "Opponent"
msgstr "Gegner"
@@ -1937,11 +1937,11 @@ msgstr "Die Tipps anderer Spieler sind versteckt, bis das Turnier beginnt."
msgid "Overtime count is required"
msgstr "Anzahl der Verlängerungen ist erforderlich"
#: src/features/players/components/profile/index.tsx:54
#: src/features/players/components/profile/index.tsx:61
#: src/features/players/components/profile/skeleton.tsx:65
#: src/features/teams/components/team-profile/index.tsx:25
#: src/features/teams/components/team-profile/skeleton.tsx:70
#: src/features/tournaments/components/profile/index.tsx:22
#: src/features/tournaments/components/profile/index.tsx:31
#: src/features/tournaments/components/profile/skeleton.tsx:79
msgid "Overview"
msgstr "Übersicht"
@@ -1975,7 +1975,7 @@ msgid "Pause"
msgstr "Pause"
#. placeholder {0}: teamName(reportingTeam) ?? t`a team`
#: src/features/bracket/components/match-report.tsx:303
#: src/features/bracket/components/match-report.tsx:306
msgid "Pending: {scoreText} · reported by {0}"
msgstr "Ausstehend: {scoreText} · gemeldet von {0}"
@@ -2043,7 +2043,7 @@ msgstr "Spieler erfolgreich angemeldet"
msgid "Player removed successfully"
msgstr "Spieler erfolgreich entfernt"
#: src/app/routes/_authed/stats.tsx:23
#: src/app/routes/_authed/stats.tsx:24
msgid "Player Stats"
msgstr "Spielerstatistiken"
@@ -2075,7 +2075,7 @@ msgstr "Punktevergabe für Tipps:"
#: src/app/routes/_authed/tournaments/$id.predictions.tsx:23
#: src/features/predictions/components/prediction-leaderboard.tsx:147
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:104
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:106
msgid "Predictions"
msgstr "Tipps"
@@ -2083,7 +2083,7 @@ msgstr "Tipps"
msgid "Predictions are open"
msgstr "Tipps sind offen"
#: src/features/predictions/components/prediction-editor.tsx:200
#: src/features/predictions/components/prediction-editor.tsx:201
msgid "Previous match"
msgstr "Vorheriges Spiel"
@@ -2116,7 +2116,7 @@ msgstr "Questlog"
msgid "Re-roll"
msgstr "Neu würfeln"
#: src/features/reactions/components/emoji-bar.tsx:206
#: src/features/reactions/components/emoji-bar.tsx:213
msgid "Reactions"
msgstr "Reaktionen"
@@ -2126,12 +2126,12 @@ msgstr "Reaktionen"
msgid "Recalculating badges in the background ({0}/{1})"
msgstr "Abzeichen werden im Hintergrund neu berechnet ({0}/{1})"
#: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:34
#: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:35
msgid "Recently finished"
msgstr "Kürzlich beendet"
#: src/app/routes/_authed/stats.tsx:73
#: src/features/players/components/profile/index.tsx:30
#: src/app/routes/_authed/stats.tsx:79
#: src/features/players/components/profile/index.tsx:37
msgid "Regional"
msgstr "Regional"
@@ -2144,12 +2144,12 @@ msgstr "Regionalturnier"
msgid "Reopen"
msgstr "Wieder öffnen"
#: src/features/bracket/components/match-report.tsx:127
#: src/features/bracket/components/match-report.tsx:129
msgid "Report cleared"
msgstr "Meldung gelöscht"
#: src/features/bracket/components/match-report.tsx:148
#: src/features/bracket/components/match-report.tsx:225
#: src/features/bracket/components/match-report.tsx:151
#: src/features/bracket/components/match-report.tsx:228
msgid "Report Score"
msgstr "Ergebnis melden"
@@ -2182,12 +2182,12 @@ msgid "rofl"
msgstr "rofl"
#. placeholder {0}: match.round + 1
#: src/features/matches/components/match-card.tsx:77
#: src/features/matches/components/match-card.tsx:79
msgid "Round {0}"
msgstr "Runde {0}"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:123
#: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:23
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:129
#: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:25
msgid "Rules"
msgstr "Regeln"
@@ -2216,12 +2216,12 @@ msgstr "Salut"
msgid "Save"
msgstr "Speichern"
#: src/features/bracket/components/match-report.tsx:78
#: src/features/bracket/components/match-report.tsx:122
#: src/features/bracket/components/match-report.tsx:80
#: src/features/bracket/components/match-report.tsx:124
msgid "Score confirmed 🍻"
msgstr "Ergebnis bestätigt 🍻"
#: src/features/bracket/components/match-report.tsx:114
#: src/features/bracket/components/match-report.tsx:116
msgid "Score submitted — waiting for the other team"
msgstr "Ergebnis übermittelt — warte auf das andere Team"
@@ -2245,8 +2245,8 @@ msgstr "Nach Songs suchen..."
msgid "Search for teams to enroll..."
msgstr "Teams zum Anmelden suchen..."
#: src/features/players/components/league-head-to-head.tsx:129
#: src/features/players/components/player-stats-table.tsx:329
#: src/features/players/components/league-head-to-head.tsx:132
#: src/features/players/components/player-stats-table.tsx:332
msgid "Search players"
msgstr "Spieler suchen"
@@ -2283,7 +2283,7 @@ msgstr "Abzeichen auswählen"
msgid "Select a device..."
msgstr "Gerät auswählen..."
#: src/features/players/components/league-head-to-head.tsx:109
#: src/features/players/components/league-head-to-head.tsx:112
msgid "Select a player"
msgstr "Wähle einen Spieler"
@@ -2382,7 +2382,7 @@ msgstr "Details anzeigen"
#. placeholder {0}: filteredAndSortedStats.length
#. placeholder {1}: playerStats.length
#: src/features/players/components/player-stats-table.tsx:326
#: src/features/players/components/player-stats-table.tsx:329
msgid "Showing {0} of {1} players"
msgstr "{0} von {1} Spielern angezeigt"
@@ -2434,7 +2434,7 @@ msgstr "Song-Segment darf höchstens 15 Sekunden lang sein"
msgid "Song start time is required"
msgstr "Startzeit des Songs ist erforderlich"
#: src/features/players/components/player-stats-table.tsx:340
#: src/features/players/components/player-stats-table.tsx:350
#: src/features/telemetry/components/shared/search-filter-bar.tsx:102
msgid "Sort:"
msgstr "Sortieren:"
@@ -2489,21 +2489,21 @@ msgstr "Tippen, um zu suchen …"
msgid "Starts in"
msgstr "Beginnt in"
#: src/features/players/components/player-stats-table.tsx:372
#: src/features/players/components/player-stats-table.tsx:382
msgid "Stat abbreviations and MMR info"
msgstr "Stat-Abkürzungen und MMR-Infos"
#: src/features/players/components/player-stats-table.tsx:379
#: src/features/players/components/player-stats-table.tsx:389
msgid "Stat Abbreviations:"
msgstr "Stat-Abkürzungen:"
#: src/features/core/hooks/use-links.ts:17
#: src/features/players/components/profile/index.tsx:26
#: src/features/players/components/profile/index.tsx:33
#: src/features/teams/components/team-profile/index.tsx:34
msgid "Statistics"
msgstr "Statistiken"
#: src/app/routes/_authed/stats.tsx:46
#: src/app/routes/_authed/stats.tsx:52
msgid "Stats"
msgstr "Stats"
@@ -2520,7 +2520,7 @@ msgstr "Status"
#: src/components/sheet/slide-panel/slide-panel.tsx:40
#: src/features/login/components/player-prompt/index.tsx:115
#: src/features/login/components/player-prompt/index.tsx:126
#: src/features/predictions/components/prediction-editor.tsx:234
#: src/features/predictions/components/prediction-editor.tsx:240
#: src/features/tournaments/components/edit-rules.tsx:39
msgid "Submit"
msgstr "Absenden"
@@ -2539,11 +2539,11 @@ msgstr "Erfolgreich angemeldet. Willkommen zurück!"
msgid "System"
msgstr "System"
#: src/features/players/components/player-stats-table.tsx:112
#: src/features/players/components/player-stats-table.tsx:113
msgid "T"
msgstr "T"
#: src/features/players/components/league-head-to-head.tsx:89
#: src/features/players/components/league-head-to-head.tsx:92
msgid "Tap an opponent below to compare"
msgstr "Tippe unten auf einen Gegner zum Vergleichen"
@@ -2603,11 +2603,11 @@ msgstr "Team aktualisiert, aber Logo-Upload fehlgeschlagen: {0}"
msgid "Team updated successfully!"
msgstr "Team erfolgreich aktualisiert!"
#: src/features/players/components/profile/index.tsx:83
#: src/features/players/components/profile/index.tsx:90
#: src/features/players/components/profile/skeleton.tsx:75
#: src/features/tournaments/components/profile/index.tsx:32
#: src/features/tournaments/components/profile/index.tsx:41
#: src/features/tournaments/components/profile/skeleton.tsx:89
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:118
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:120
msgid "Teams"
msgstr "Teams"
@@ -2640,11 +2640,11 @@ msgstr "Test-Benachrichtigung gesendet"
msgid "The cups are racked and waiting. Check back soon."
msgstr "Die Becher sind aufgebaut und warten. Schau bald wieder vorbei."
#: src/features/bracket/components/match-report.tsx:243
#: src/features/bracket/components/match-report.tsx:246
msgid "the other team"
msgstr "das andere Team"
#: src/features/bracket/components/match-report.tsx:157
#: src/features/bracket/components/match-report.tsx:160
msgid "The other team"
msgstr "Das andere Team"
@@ -2734,8 +2734,8 @@ msgstr "Turnier erfolgreich erstellt!"
msgid "Tournament not found"
msgstr "Turnier nicht gefunden"
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:133
#: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:25
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:145
#: src/features/tournaments/components/upcoming-tournament/rules-list-button.tsx:33
msgid "Tournament Rules"
msgstr "Turnierregeln"
@@ -2810,7 +2810,7 @@ msgstr "Bevorstehend"
msgid "Update Match"
msgstr "Match aktualisieren"
#: src/features/players/components/profile/header.tsx:85
#: src/features/players/components/profile/header.tsx:89
msgid "Update Name"
msgstr "Namen aktualisieren"
@@ -2837,11 +2837,11 @@ msgstr "User-Agent"
msgid "versus"
msgstr "gegen"
#: src/features/players/components/profile/index.tsx:66
#: src/features/players/components/profile/index.tsx:73
msgid "View all badges"
msgstr "Alle Abzeichen ansehen"
#: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:47
#: src/features/tournaments/components/started-tournament/sections/recent-results.tsx:49
msgid "View all results"
msgstr "Alle Ergebnisse ansehen"
@@ -2853,8 +2853,8 @@ msgstr "Turnierbaum ansehen"
msgid "View Groups"
msgstr "Gruppen ansehen"
#: src/features/bracket/components/match-dock.tsx:178
#: src/features/matches/components/match-card.tsx:89
#: src/features/bracket/components/match-dock.tsx:182
#: src/features/matches/components/match-card.tsx:91
msgid "View head-to-head"
msgstr "Direktvergleich ansehen"
@@ -2882,18 +2882,18 @@ msgstr "volumePercent muss eine Zahl sein"
msgid "vs"
msgstr "vs"
#: src/features/players/components/player-stats-table.tsx:131
#: src/features/players/components/player-stats-table.tsx:132
#: src/features/tournaments/components/tournament-stats.tsx:112
msgid "W"
msgstr "S"
#: src/features/players/components/player-stats-table.tsx:133
#: src/features/players/components/player-stats-table.tsx:134
#: src/features/tournaments/components/tournament-stats.tsx:128
msgid "W%"
msgstr "S%"
#. placeholder {0}: teamName(opposingTeam) ?? t`the other team`
#: src/features/bracket/components/match-report.tsx:242
#: src/features/bracket/components/match-report.tsx:245
msgid "Waiting for {0} to confirm · <0>{scoreText}</0>"
msgstr "Warte auf Bestätigung von {0} · <0>{scoreText}</0>"
@@ -2935,24 +2935,24 @@ msgstr "Finale der Gewinnerrunde"
#: src/components/stats-overview.tsx:103
#: src/components/stats-overview.tsx:136
#: src/features/players/components/player-stats-table.tsx:356
#: src/features/players/components/player-stats-table.tsx:366
msgid "Wins"
msgstr "Siege"
#: src/features/badges/components/badge-stats-table.tsx:110
#: src/features/badges/components/badge-stats-table.tsx:120
#: src/features/badges/components/badge-stats-table.tsx:111
#: src/features/badges/components/badge-stats-table.tsx:121
msgid "You"
msgstr "Du"
#: src/features/badges/components/badge-stats-table.tsx:120
#: src/features/badges/components/badge-stats-table.tsx:121
msgid "You and {namesList}"
msgstr "Du und {namesList}"
#: src/features/badges/components/badge-stats-table.tsx:113
#: src/features/badges/components/badge-stats-table.tsx:114
msgid "You and {remaining} others"
msgstr "Du und {remaining} weitere"
#: src/features/badges/components/badge-stats-table.tsx:114
#: src/features/badges/components/badge-stats-table.tsx:115
msgid "You and 1 other"
msgstr "Du und 1 weitere"
@@ -2968,11 +2968,11 @@ msgstr "Du hast keine Berechtigung, auf diese Seite zuzugreifen."
msgid "You must select a player from the dropdown. If you don't see yourself, please go back and select 'New Player'"
msgstr "Du musst einen Spieler aus der Liste auswählen. Wenn du dich nicht siehst, geh zurück und wähle 'Neuer Spieler'"
#: src/features/badges/components/badge-stats-table.tsx:117
#: src/features/badges/components/badge-stats-table.tsx:118
msgid "You, {namesList} and {remaining} others"
msgstr "Du, {namesList} und {remaining} weitere"
#: src/features/badges/components/badge-stats-table.tsx:118
#: src/features/badges/components/badge-stats-table.tsx:119
msgid "You, {namesList} and 1 other"
msgstr "Du, {namesList} und 1 weitere"