add SREBOT, SHARED, TSSBOT contents (fixup for #1223)

PR #1223 only staged the deletions of the old paths because the new
top-level directories were still untracked when the commit was authored.
This commit adds the actual restructured tree: SREBOT/ (existing bot),
SHARED/ (vromfs, data_parser, ICONS/MAPS/FONTS, DAGOR_FILES,
update_game_files), and TSSBOT/ (skeleton).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
FURRO404
2026-05-13 23:17:02 -07:00
commit 2b399fdb81
186 changed files with 96596 additions and 0 deletions
+856
View File
@@ -0,0 +1,856 @@
{
"common": {
"error_title": "Fehler",
"no_data_title": "Keine Daten",
"access_denied_title": "Zugriff verweigert",
"access_denied_desc": "Dieser Server wurde gesperrt.",
"no_players_selected": "Keine Spieler ausgewählt. Bitte mindestens einen Spieler auswählen.",
"must_use_in_server": "Dieser Befehl muss auf einem Server verwendet werden.",
"could_not_resolve_channel": "Der ausgewählte Kanal konnte nicht gefunden werden.",
"failed_update_setting": "❌ Einstellung konnte nicht aktualisiert werden.",
"configuration_not_found": "Konfiguration nicht gefunden.",
"no_channel_selected": "Kein Kanal ausgewählt.",
"no_selection_received": "Keine Auswahl erhalten.",
"database_error": "❌ Datenbankfehler: {error}",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"not_configured": "Nicht konfiguriert",
"unknown": "Unbekannt",
"rating_field": "Wertung",
"battles_field": "Gefechte",
"wins_field": "Siege",
"losses_field": "Niederlagen",
"win_rate_field": "Siegrate",
"kills_field": "Abschüsse",
"deaths_field": "Tode",
"kd_field": "K/D",
"members_field": "Mitglieder",
"placement_field": "Platzierung",
"points_field": "Punkte",
"ground_kills_field": "Bodenabschüsse",
"air_kills_field": "Luftabschüsse",
"total_kills_field": "Abschüsse gesamt",
"assists_field": "Unterstützungen",
"captures_field": "Eroberungen",
"none_option": "Keine"
},
"buttons": {
"skip": "Überspringen",
"previous": "Zurück",
"next": "Weiter",
"prev": "Zurück",
"prev_arrow": "◀ Zurück",
"next_arrow": "Weiter ▶",
"prev_arrow_only": "◀",
"next_arrow_only": "▶",
"generate_chart": "📊 Diagramm erstellen",
"show_graph": "Grafik anzeigen",
"view_player_stats": "📊 Spielerstatistiken anzeigen",
"compare_nearby": "📈 mit umliegenden Kampfgruppen vergleichen",
"confirm_swap": "Ja, wechseln",
"cancel_swap": "Nein, behalten",
"set_squadron": "Kampfgruppe festlegen",
"same_as_logs": "Selber Channel wie die Logs",
"require_password": "🔒 Passwort erforderlich",
"password_required": "🔒 Passwort erforderlich",
"lock_data": "🔐 Kampfgruppendaten an diesen Server binden",
"data_locked": "🔐 Daten an diesen Server binden",
"allow_public": "👥 Öffentliche Metalisten-Daten erlauben",
"public_enabled": "👥 Öffentliche Metalisten-Daten aktiv",
"update_accounts": "📋 Konten für Meta-Liste aktualisieren",
"change_password": "🔑 Passwort ändern",
"help": "❓ Hilfe",
"add_player": " Spieler hinzufügen",
"update_all": "🔄 Alle Mitglieder aktualisieren",
"back_to_settings": "⬅ Zurück zu den Einstellungen",
"manage_notifications": "Benachrichtigungen verwalten",
"diagnose_permissions": "Berechtigungen ansehen",
"enable": "Aktivieren",
"disable": "Deaktivieren",
"change_channel": "Kanal ändern",
"view_replay": "Replay anzeigen",
"view_website": "Auf Website anzeigen",
"view_video": "Video anzeigen",
"view_log": "Protokoll anzeigen",
"view_chat": "Chat anzeigen",
"subscribe_website": "Über Website abonnieren",
"yes_disband": "Ja, bitte auflösen",
"cancel": "Abbrechen",
"transfer_leave": "Übertragen & Verlassen",
"accept_selected": "Ausgewählte annehmen",
"accept_all": "Alle annehmen",
"decline_selected": "Ausgewählte ablehnen",
"back": "Zurück",
"remove_all": "Alle entfernen",
"remove_active": "Aktive entfernen",
"remove_queued": "Wartende entfernen",
"remove_selected": "Ausgewählte entfernen",
"ping_all": "Alle anpingen",
"ping_active": "Aktive anpingen",
"ping_queued": "Wartende anpingen",
"ping_selected": "Ausgewählte anpingen",
"accept_members": "Mitglieder annehmen",
"remove_members": "Mitglieder entfernen",
"ping_members": "Mitglieder anpingen",
"rename_stack": "Staffel umbenennen",
"request_to_join": "Beitritt anfragen",
"leave_withdraw": "Verlassen / Zurückziehen",
"manage_stack": "Staffel verwalten ⚙️",
"disband_stack": "Staffel auflösen",
"force_disband_create": "Auflösung erzwingen & Neu erstellen"
},
"events": {
"guild_join_title": "Danke, dass du mich hinzugefügt hast!",
"guild_join_desc": "Führe `/setup` aus, um den Bot für diesen Server zu konfigurieren."
},
"comp": {
"not_found_title": "Aufstellung nicht gefunden",
"not_found_desc": "Keine Daten für **{squadron}**, versuche es später erneut.",
"error_loading_title": "Fehler beim Laden der Aufstellungen",
"error_loading_desc": "Aufstellungs-Daten konnten nicht geladen werden: {error}",
"title": "Aufstellungen für {squadron}",
"desc": "Aufstellungen der letzten {minutes} Minuten",
"no_recent_title": "Keine aktuellen Aufstellungen",
"no_recent_desc": "Keine Aufstellungen in den letzten {minutes} Minuten.",
"comp_title": "Aufstellung {index}",
"last_seen_label": "**Zuletzt gesehen** : {timestamp}{warning}",
"comp_label": "**Aufstellung**: {notation}",
"no_players_recorded": "Keine Spieler erfasst.",
"limit_reached_title": "Aufstellungslimit erreicht",
"limit_reached_desc": "Dieser Server hat alle {limit} Aufstellungsabfragen für diesen Zeitslot verbraucht. Abonniere (mit /unlock) für unbegrenzten Zugang oder warte auf den nächsten Zeitslot.",
"remaining_footer": "{remaining}/{limit} Aufstellungsabfragen übrig in diesem Zeitslot"
},
"quick_log": {
"invalid_type": "Typ kann nur auf Logs, Punkte, Leaderboard, Wöchentlicher BR oder Beide gesetzt werden.",
"squadron_required": "Du musst einen Kampfgruppennamen für Logs-, Punkte- oder Beide-Alarme angeben.",
"wildcard_logs_only": "Nur Logs können auf Platzhalter-Kampfgruppe gesetzt werden.",
"squadron_not_resolved": "Kampfgruppe `{squadron}` konnte nicht gefunden werden.",
"save_failed": "Einstellungen konnten nicht gespeichert werden. Bitte versuche es später erneut.",
"premium_warning": "\n\n> ⚠️ **Spielprotokolle erfordern Premium.** Führe `/unlock` aus, um zu abonnieren ($2.99/Monat) — Protokolle werden erst dann gepostet.",
"leaderboard_set": "Globaler Ranglisten-Alarm wurde auf diesen Kanal gesetzt.",
"both_set": "Logs- und Punkte-Alarme für {squadron} wurden auf diesen Kanal gesetzt.{premium_note}",
"alarm_set": "{alarm_type}-Alarm für {squadron} wurde auf diesen Kanal gesetzt.{premium_note}",
"weekly_br_wildcard_set": "Wöchentlicher BR-Bericht (Top 20 Geschwader) für diesen Kanal aktiviert. Wird am Ende jeder BR-Rotation gesendet.",
"weekly_br_squadron_set": "Wöchentlicher BR-Bericht für {squadron} (Top 15 Spieler) für diesen Kanal aktiviert. Wird am Ende jeder BR-Rotation gesendet."
},
"diagnostics": {
"title": "Autolog-Diagnose",
"channel_permissions_header": "**Kanalberechtigungen** (<#{channel_id}>)",
"perms_needed": " ^ Autologging benötigt alle oben genannten Berechtigungen zum Senden von Ergebnistabellen.",
"server_squadron_header": "**Server-Kampfgruppe** (`/set-squadron`)",
"server_squadron_short": " Kurz: `{short}`",
"server_squadron_long": " Lang: `{long}`",
"server_squadron_not_set": " Nicht gesetzt (Ergebnistabellenfarbe wird als 'nicht gesetzt' angezeigt)",
"autolog_prefs_header": "**Autolog-Einstellungen** (`/quick-log`)",
"autolog_none_configured": " ❌ NICHTS konfiguriert - Autologging sendet NICHTS an diesen Server.",
"autolog_setup_hint": " Verwende `/quick-log <squadron_short> Logs` im Zielkanal zum Einrichten.",
"autolog_no_logs_channels": " ❌ Keine Logs-Kanäle konfiguriert. Nur Punkte/Rangliste gefunden.",
"autolog_enable_hint": " Verwende `/quick-log <squadron_short> Logs` um Autologging zu aktivieren.",
"selected_channel_tag": " **(ausgewählter Kanal)**",
"missing_send_attach": " (Senden/Anhängen fehlt)",
"channel_not_found": " (Kanal nicht gefunden)",
"invalid_channel_id": " (ungültige Kanal-ID)",
"premium_status_header": "**Premium-Status** (`/unlock`)",
"premium_active": " ✅ Dieser Server hat ein aktives Premium-Abonnement.",
"premium_not_subscribed": " ❌ Dieser Server hat **kein** Premium-Abonnement.",
"premium_autolog_required": " Autologging erfordert Premium. Verwende `/unlock` zum Abonnieren ($2.99/Monat).",
"premium_not_subscribed_free": " ⚪ Nicht abonniert — verwende `/unlock` zum Abonnieren ($2.99/Monat).",
"premium_free_note": " *(Autologs sind derzeit für alle Server kostenlos.)*"
},
"sq_info": {
"title": "Kampfgruppe-Info: {squadron}",
"placement_field": "Platzierung",
"total_points_field": "Gesamtpunkte",
"total_members_field": "Mitglieder gesamt",
"members_field": "Mitglieder",
"fetch_failed": "Kampfgruppeninformationen konnten nicht abgerufen werden."
},
"sq_info_graph": {
"title": "{squadron} — SQ-INFO (Saison {season})",
"embed_title": "{squadron} — Aufstellung",
"embed_desc": "Saison **{season}** · Median Spiele: **{median}** · Kern: **{core}** · Aktiv: **{active}** · Schwach: **{weak}**\nSäulen absteigend nach Spielen sortiert; Höhe = Siegrate. Kern = obere 30 % SR und Spiele ≥ Median. Aktiv = obere 3045 % SR und Spiele ≈ Median. Schwach = alle anderen.",
"core_threshold_line": "KERN ≥ {wr} %",
"weak_threshold_line": "SCHWACH < {wr} %",
"y_label": "Siegrate",
"core_header": "KERN — {count} · SR {avg}%",
"active_header": "AKTIV — {count} · SR {avg}%",
"weak_header": "SCHWACH — {count} · SR {avg}%",
"no_active_season": "Keine aktive Saison gefunden. Bitte erneut versuchen, sobald die nächste beginnt.",
"no_members": "Keine aktuellen Mitglieder für {squadron} gefunden."
},
"recap_card": {
"unknown_season": "Unbekannte Saison: `{season}`.",
"no_clan_id": "Kampfgruppen-ID für `{squadron}` konnte nicht ermittelt werden.",
"render_failed": "Die Saison-Rückblick-Karte konnte nicht erstellt werden. Bitte später erneut versuchen."
},
"sq_stats": {
"no_data_title": "Keine Daten",
"no_data_desc": "Keine historischen Daten für Kampfgruppe: {squadron} gefunden",
"title": "{squadron} // Kampfgruppe",
"desc": "Gesamtpunktverlauf (Letzte {count} Datenpunkte)",
"previous_score_field": "Vorheriger Punktestand",
"current_score_field": "Aktueller Punktestand",
"change_field": "Änderung",
"player_title": "{squadron} // SPIELER",
"player_desc": "Individuelle Spielerpunktetrends",
"comparison_title": "{squadron} // RANGLISTEN-VERGLEICH",
"comparison_desc": "Vergleich mit Kampfgruppen auf den Plätzen {range}",
"current_position_field": "Aktuelle Position",
"squadrons_shown_field": "Angezeigte Kampfgruppe",
"squadron_not_found_error": "Kampfgruppe nicht in der Rangliste gefunden",
"no_nearby_error": "Keine umliegenden Kampfgruppen gefunden",
"no_historical_error": "Keine historischen Daten für nahe Kampfgruppen gefunden",
"comparison_chart_failed": "Vergleichsdiagramm konnte nicht erstellt werden",
"select_players_placeholder": "Spieler auswählen (Seite {page})"
},
"loss_calc": {
"title": "Punktverlust — {squadron}",
"players_leaving_field": "Austretende Spieler",
"share_of_total_field": "% Anteil am Gesamt",
"points_lost_real_field": "Verlorene Punkte (Real)",
"points_lost_raw_field": "Verlorene Punkte (Roh)",
"squadron_rating_field": "Kampfgruppenwertung",
"squadron_position_field": "Kampfgruppenposition",
"positions_lost_field": "Verlorene Plätze",
"not_found_footer": "Nicht in Kampfgruppe gefunden: {players}",
"fetch_failed": "Kampfgruppendaten konnten nicht abgerufen werden: {error}",
"no_point_data": "Keine Punktedaten für diese Kampfgruppe verfügbar.",
"no_matching_players": "Keine passenden Spieler in **{squadron}** gefunden."
},
"player": {
"select_player_placeholder": "Spieler auswählen",
"no_stats_found": "❌ Keine Statistiken für UID: {uid} gefunden",
"no_vehicle_stats": "❌ Keine Fahrzeugstatistiken für diesen Spieler gefunden.",
"vehicles_found": "**{count}** Fahrzeuge für **{nick}** gefunden\nFahrzeug auswählen um detaillierte Statistiken anzuzeigen:",
"vehicle_select_placeholder": "Fahrzeug auswählen (Seite {page}/{total})",
"combat_stats_header": "**__KAMPFSTATISTIKEN__**",
"ground_kills_label": "**Bodenabschüsse:** {value}",
"air_kills_label": "**Luftabschüsse:** {value}",
"total_kills_label": "**Abschüsse gesamt:** {value}",
"assists_label": "**Unterstützungen:** {value}",
"deaths_label": "**Tode:** {value}",
"kd_label": "**K/D:** {value}",
"captures_label": "**Eroberungen:** {value}",
"battle_record_header": "**__GEFECHTSREKORD__**",
"total_battles_label": "**Gefechte gesamt:** {value}",
"wins_label": "**Siege:** {value}",
"losses_label": "**Niederlagen:** {value}",
"win_rate_label": "**Siegrate:** {value}%",
"stats_desc": "Statistiken für **{nick}** (**{squadron}**)\nUID: `{uid}`",
"not_found_title": "Spieler nicht gefunden",
"not_found_desc": "Kein Spielverlauf für `{player}` gefunden.",
"no_players_found": "Keine Spieler gefunden, die **{username}** entsprechen\nVersuche `/website` zur Suche auf der Website.",
"multiple_matches": "Mehrere Treffer gefunden, wähle den richtigen unten aus:",
"must_provide_input": "Du musst mindestens eine UID oder einen Benutzernamen angeben."
},
"player_games": {
"no_recent_title": "Keine aktuellen Spiele",
"no_recent_desc": "Keine Spiele für **{player}** in den letzten 8 Stunden gefunden.",
"squadron_label": "**Kampfgruppe:** {squadron}",
"record_label": "**S:** {wins} **N:** {losses} **SR:** {wr}%",
"comps_played_header": "\n\n**Gespielte Comps**"
},
"match": {
"missing_input_title": "Fehlende Eingabe",
"missing_input_desc": "Gib entweder eine `match_id` oder einen `player_name` an.",
"not_found_title": "Gefecht nicht gefunden",
"not_found_desc": "Kein Gefecht mit ID `{match_id}` gefunden.",
"invalid_data_title": "Ungültige Gefechts-Daten",
"invalid_data_desc": "Die Replay-Daten konnten nicht verarbeitet werden.",
"scoreboard_error_title": "Ergebnistabellen-Fehler",
"scoreboard_error_desc": "Die Ergebnistabelle konnte nicht erstellt werden.",
"no_games_title": "Keine Spiele gefunden",
"no_games_desc": "Kein Spielverlauf für **{player}** gefunden.",
"recent_matches_title": "Aktuelle Gefechte für {player}",
"recent_matches_desc": "Zeige bis zu {count} aktuelle Spiele. Eines auswählen, um die vollständige Ergebnistabelle anzuzeigen.",
"select_match_placeholder": "Gefecht zum Anzeigen auswählen..."
},
"compare": {
"no_players_found": "Keine Spieler gefunden, die **{name}** entsprechen.",
"multiple_matches": "Mehrere Treffer für **{name}**: {matches}\nBitte einen spezifischeren Namen verwenden (die Autovervollständigungs-Vorschläge sind exakt).",
"could_not_resolve": "Spieler konnten nicht aufgelöst werden.",
"could_not_fetch": "❌ Statistiken für **{name}** konnten nicht abgerufen werden.",
"no_graph_data": "Keine Daten für die letzten 90 Tage verfügbar.",
"no_squadron_points_data": "Keine Kampfgruppenpunkte-Daten für {names} (Spieler nicht im verfolgten Kampfgruppenverlauf gefunden).",
"graph_title": "Spielerpunkte — Letzte 90 Tage",
"battles_label": "Gefechte",
"wins_label": "Siege",
"losses_label": "Niederlagen",
"win_rate_label": "Siegrate",
"ground_kills_label": "Bodenabschüsse",
"air_kills_label": "Luftabschüsse",
"total_kills_label": "Abschüsse gesamt",
"assists_label": "Unterstützungen",
"deaths_label": "Tode",
"kd_label": "K/D",
"captures_label": "Eroberungen"
},
"squadron": {
"not_found_desc": "Kampfgruppe `{squadron}` nicht gefunden.",
"set_title": "✅ Kampfgruppe gesetzt",
"set_desc": "Kampfgruppe **{squadron}** wurde für diesen Server gesetzt.",
"short_name_field": "Kurzname",
"long_name_field": "Langname",
"swap_title": "✅ Kampfgruppe gewechselt",
"swap_desc": "**{old}** wurde durch **{new}** für diesen Server ersetzt.",
"already_set_title": "⚠️ Kampfgruppe bereits gesetzt",
"already_set_desc": "Dieser Server ist derzeit auf **{old}** eingestellt.\nAuf **{new}** wechseln?",
"swap_cancelled": "❌ Kampfgruppenwechsel abgebrochen."
},
"setup": {
"step1_title": "Server-Einrichtung — Schritt 1 von 3",
"step1_desc": "Dieser Assistent führt dich durch die Konfiguration des Bots für deinen Server.\n\n**Schritt 1** — Kampfgruppe festlegen\n**Schritt 2** — Logs-Kanal auswählen\n**Schritt 3** — Punkte-Kanal auswählen\n",
"step1_current_sq": "\nAktuell konfigurierte Kampfgruppe: **[{short}] {long}**",
"step2_title": "Server-Einrichtung — Schritt 2 von 3",
"step2_desc": "Kampfgruppe auf **[{short}] {long}** gesetzt.\n\nWo sollen **Gefechtsprotokolle** gepostet werden?\nUnten einen Textkanal auswählen oder diesen Schritt überspringen.",
"step3_title": "Server-Einrichtung — Schritt 3 von 3",
"step3_desc": "Wo sollen **Punkte-Benachrichtigungen** gepostet werden?\nUnten einen Textkanal auswählen oder diesen Schritt überspringen.",
"step3_same_as_logs": "\n\nDu kannst auch auf \"Wie Logs\" klicken, um den Logs-Kanal wiederzuverwenden.",
"summary_title": "Einrichtung abgeschlossen",
"summary_desc": "Du kannst `/autolog-management` verwenden, um diese Einstellungen später zu ändern.",
"squadron_field": "Kampfgruppe",
"logs_channel_field": "Logs-Kanal",
"points_channel_field": "Punkte-Kanal",
"premium_required_field": "⚠️ Spielprotokolle erfordern Premium",
"premium_required_value": "Automatische Spielergebnistabellen werden erst gepostet, wenn dieser Server ein aktives Abonnement hat. Führe `/unlock` aus, um zu abonnieren ($2.99/Monat).",
"modal_title": "Kampfgruppe festlegen",
"modal_label": "Kampfgruppe-Kurzname",
"modal_placeholder": "z.B. AXYS",
"squadron_not_found": "Kampfgruppe `{squadron}` nicht gefunden. Bitte erneut versuchen.",
"logs_channel_placeholder": "Logs-Kanal auswählen...",
"points_channel_placeholder": "Punkte-Kanal auswählen..."
},
"meta_management": {
"squadron_not_found_title": "❌ Kampfgruppe nicht gefunden",
"squadron_not_found_desc": "Clan-ID für Kampfgruppe **{squadron}** konnte nicht gefunden werden",
"access_denied_title": "❌ Zugriff verweigert",
"access_denied_desc": "Falsches Passwort. Die Meta-Daten dieser Kampfgruppe sind geschützt.",
"data_locked_title": "🔐 Kampfgruppendaten gebunden",
"data_locked_desc": "**{squadron}** hat die Datenbindung aktiviert und kann nicht auf einen anderen Server übertragen werden.\n\nDer Kampfgruppeninhaber muss **Kampfgruppendaten binden** deaktivieren, bevor es übertragen werden kann.",
"error_retrieving_settings": "❌ Fehler beim Abrufen der Server-Einstellungen nach der Übertragung. Bitte erneut versuchen.",
"error_retrieving_settings_retry": "❌ Fehler beim Abrufen der Server-Einstellungen. Bitte den Befehl erneut ausführen.",
"authenticated_title": "✅ Authentifiziert",
"authenticated_desc": "Passwort bestätigt. Einstellungen für **{squadron}** werden verwaltet.",
"claimed_title": "✅ Kampfgruppe beansprucht",
"claimed_desc": "**{squadron}** wurde erfolgreich für diesen Server beansprucht!",
"password_requirement_field": "🔒 Passwortpflicht",
"data_lock_field": "🔐 Kampfgruppendatenbindung",
"public_meta_field": "👥 Öffentlicher Meta-Zugriff",
"access_password_field": "🔑 Zugriffspasswort",
"enabled_value": "✅ Aktiviert",
"disabled_value": "❌ Deaktiviert",
"settings_title": "🔐 Meta-Verwaltungs-Einstellungen",
"settings_desc": "**Kampfgruppe:** {squadron}\n**Clan-ID:** {clan_id}",
"first_time_title": "🔐 Meta-Verwaltung - Ersteinrichtung",
"first_time_owner_desc": "**Kampfgruppe:** {squadron}\n**Clan-ID:** {clan_id}\n\n🔑 Dein Zugriffspasswort wurde generiert. **Speichere dieses Passwort** — du wirst es benötigen, um in Zukunft auf die Meta-Daten zuzugreifen.\n\n**Passwort:** `{password}`",
"first_time_non_owner_desc": "**Kampfgruppe:** {squadron}\n**Clan-ID:** {clan_id}\n\nKampfgruppe wurde eingerichtet. Frage den Server-Inhaber nach dem Zugriffspasswort.",
"settings_field": "Einstellungen",
"settings_hint": "Verwende die Schaltflächen unten, um Zugriffseinstellungen zu konfigurieren.",
"password_toggled": "✅ Passwortpflicht: **{state}**",
"lock_toggled": "✅ Kampfgruppendatenbindung: **{state}**",
"public_meta_toggled": "✅ Öffentlicher Meta-Zugriff: **{state}**\n{detail}",
"public_meta_enabled_detail": "Nicht-Admins können jetzt den `/meta`-Befehl verwenden.",
"public_meta_disabled_detail": "Nur Admins können den `/meta`-Befehl verwenden.",
"owner_only_password": "❌ Nur der Server-Inhaber kann das Kampfgruppenpasswort ändern.",
"help_title": "📖 Meta-Verwaltungs-Hilfe",
"help_desc": "Erklärung jeder Einstellung und Funktion:",
"help_password_field": "🔑 Zugriffspasswort",
"help_password_value": "Das Zugriffspasswort deiner Kampfgruppe. Nur der **Server-Inhaber** kann das Passwort im Einstellungsbereich sehen. Jeder mit dem Passwort kann die Meta-Daten deiner Kampfgruppe auf seinem Server beanspruchen, also halte es sicher.",
"help_require_field": "🔒 Passwort erforderlich",
"help_require_value": "Wenn aktiviert, müssen auch Admins auf diesem Server das Kampfgruppenpasswort eingeben, um auf `/meta-management` zuzugreifen. Bietet eine zusätzliche Sicherheitsschicht gegen versehentliche Änderungen.",
"help_lock_field": "🔐 Kampfgruppendaten binden",
"help_lock_value": "Wenn aktiviert, verhindert die Übertragung der Kampfgruppe auf andere Server, auch mit dem richtigen Passwort. Muss deaktiviert werden, bevor die Kampfgruppe übertragen werden kann.",
"help_public_field": "👥 Öffentliches Meta erlauben",
"help_public_value": "Wenn aktiviert, können Nicht-Admin-Mitglieder den `/meta`-Befehl zur Suche nach Kampfgruppenfahrzeugen verwenden. Wenn deaktiviert, können nur Server-Administratoren `/meta` verwenden.",
"help_accounts_field": "📋 Meta-Konten aktualisieren",
"help_accounts_value": "Öffnet den Spieler-Roster-Manager, mit dem du Spieler aus dem Meta-Roster deiner Kampfgruppe hinzufügen oder entfernen kannst. Verwende **Alle Mitglieder aktualisieren**, um dein gesamtes Kampfgruppe auf einmal zu synchronisieren.",
"help_change_pw_field": "🔑 Passwort ändern",
"help_change_pw_value": "**Nur Server-Inhaber.** Ändere das Zugriffspasswort der Kampfgruppe und setze optional einen Hinweis. Der Hinweis wird in der Passwortabfrage angezeigt, um daran zu erinnern.",
"password_modal_title": "Kampfgruppe-Zugriffspasswort",
"password_modal_label": "Kampfgruppenpasswort eingeben",
"password_modal_placeholder": "XXXX-XXXX-XXXX",
"change_pw_modal_title": "Kampfgruppenpasswort ändern",
"current_password_label": "Aktuelles Passwort",
"current_password_placeholder": "Aktuelles Passwort eingeben",
"new_password_label": "Neues Passwort",
"new_password_placeholder": "Neues Passwort eingeben",
"confirm_password_label": "Neues Passwort bestätigen",
"confirm_password_placeholder": "Neues Passwort erneut eingeben",
"hint_label": "Passwort-Hinweis (Optional)",
"hint_placeholder": "Ein Hinweis zum Merken des Passworts",
"pw_incorrect": "❌ Aktuelles Passwort ist falsch.",
"pw_mismatch": "❌ Neue Passwörter stimmen nicht überein. Bitte erneut versuchen.",
"pw_empty": "❌ Neues Passwort darf nicht leer sein.",
"pw_changed": "✅ Passwort für **{squadron}** erfolgreich aktualisiert.\n**Neues Passwort:** `{password}`",
"pw_changed_hint": "\n**Hinweis:** {hint}",
"player_add_modal_title": "Spieler zum Meta-Roster hinzufügen",
"player_add_label": "Spieler-UID oder Spitzname",
"player_add_placeholder": "Spieler-UID eingeben (z.B. 12345678) oder Spitzname",
"player_not_found": "❌ Spieler `{player}` nicht in der Players_Global-Datenbank gefunden.\n",
"roster_title": "📋 Meta-Roster-Verwaltung - {squadron}",
"roster_desc": "**Kampfgruppe-Clan-ID:** {clan_id}\n**Spieler gesamt:** {count}",
"roster_page_field": "Spieler (Seite {page}/{total})",
"no_players_field": "Keine Spieler",
"no_players_hint": "Noch keine Spieler zum Meta-Roster hinzugefügt. Klicke auf **Spieler hinzufügen**, um zu beginnen.",
"remove_player_placeholder": "Spieler zum Entfernen auswählen...",
"fetch_members_failed": "❌ Kampfgruppenmitglieder konnten nicht abgerufen werden: {error}",
"no_members_found": "❌ Keine Mitglieder in Kampfgruppe gefunden oder API-Aufruf fehlgeschlagen.",
"roster_synced": "✅ Roster mit Kampfgruppe synchronisiert.",
"roster_added": "**+{count}** hinzugefügt",
"roster_removed": "**-{count}** entfernt (Kampfgruppe verlassen)",
"roster_up_to_date": "**{count}** bereits aktuell",
"refreshing_vehicles": "Fahrzeugdaten werden im Hintergrund aktualisiert..."
},
"meta": {
"not_configured": "❌ Meta-Daten für diesen Server nicht konfiguriert. Führe zuerst `/meta-management` aus.",
"no_permission": "❌ Du benötigst Administratorrechte, um diesen Befehl zu verwenden.\nAdmins können den öffentlichen Zugriff über `/meta-management` aktivieren.",
"no_results": "❌ Kein Spieler in deiner Kampfgruppe-Roster hat **{vehicle}**.",
"no_results_admin_hint": "\n*Erwartest du, dass jemand dieses Fahrzeug hat? Klicke auf den Mitglieder-aktualisieren-Button in `/meta-management` und überprüfe es.*",
"search_title": "🔍 Suchergebnisse - {vehicle}",
"matches_found": "**Treffer gefunden:** {count} Spieler",
"spawns_label": "Spawns",
"deaths_label": "Tode",
"gk_label": "GK",
"ak_label": "AK",
"points_label": "Punkte",
"kdr_label": "KDR",
"games_label": "Spiele",
"no_points": "—"
},
"top": {
"title": "**Top 20 Kampfgruppen**",
"rating_label": "**Wertung:** {value}",
"air_kills_label": "**Luftabschüsse:** {value}",
"ground_kills_label": "**Bodenabschüsse:** {value}",
"deaths_label": "**Tode:** {value}",
"kd_label": "**K/D:** {value}",
"win_rate_label": "**Siegrate:** {value}",
"playtime_label": "**Spielzeit:** {value}",
"fetch_failed": "Kampfgruppendaten konnten nicht abgerufen werden."
},
"analytics": {
"no_data_title": "Keine Daten",
"no_matches_desc": "Keine Gefechte gefunden.",
"no_comp_desc": "Keine Kompositionsdaten gefunden.",
"no_consistency_desc": "Nicht genug Spielerdaten (mindestens 50 Gefechte).",
"no_time_desc": "Keine Zeitdaten gefunden.",
"unknown_view": "Unbekannte Ansicht.",
"map_title": "Karten-Siegraten: {squadron}",
"comp_title": "Teamzusammensetzungen: {squadron}",
"consistency_title": "Spielerkonstanz: {squadron}",
"consistency_desc": "Sortiert nach K/D-Verhältnis",
"time_title": "Tageszeit-Performance: {squadron}",
"eu_timeslot": "\n**EU-Zeitfenster**",
"na_timeslot": "\n**NA-Zeitfenster**",
"off_peak": "\n**Nebenstoßzeit**",
"matchups_title": "📜 {squadron} — Begegnungsverlauf",
"matchups_won_field": "🏆 Meiste Siege gegen",
"matchups_lost_field": "💀 Meiste Niederlagen gegen",
"no_matchups_desc": "Keine aufgezeichneten Spiele gegen andere Squadrons."
},
"recent": {
"title": "Aktuelle Gefechte: {squadron}",
"no_matches_desc": "Keine Gefechte für diese Kampfgruppe gefunden."
},
"h2h": {
"two_required_title": "Zwei Kampfgruppen erforderlich",
"two_required_desc": "Mindestens eine Kampfgruppe angeben oder `/set-squadron` verwenden und den Gegner angeben.",
"provide_a_desc": "`squadron_a` angeben oder zuerst `/set-squadron` verwenden.",
"provide_b_desc": "`squadron_b` angeben oder zuerst `/set-squadron` verwenden.",
"squadron_not_found_title": "Kampfgruppe nicht gefunden",
"same_squadron_title": "Gleiche Kampfgruppe",
"same_squadron_desc": "Du kannst kein direktes Duell gegen dich selbst prüfen.",
"record_desc": "**Bilanz:** {a_wins}S - {b_wins}N ({total} Spiele)",
"no_matches_desc": "Keine aufgezeichneten Gefechte zwischen **{a}** und **{b}**."
},
"autolog": {
"premium_active_line": "✅ **Premium:** Aktiv — Autologging ist für diesen Server aktiviert.",
"premium_not_subscribed_line": "❌ **Premium:** Nicht abonniert — verwende `/unlock` um Autologging zu aktivieren.",
"premium_free_line": "⚪ **Premium:** Nicht abonniert — verwende `/unlock` zum Abonnieren ($2.99/Monat). *(Autologs sind derzeit für alle Server kostenlos.)*",
"what_to_do": "\n\nWas möchtest du tun?",
"select_notif_type": "Benachrichtigungstyp auswählen:",
"select_notif_placeholder": "Benachrichtigungstyp auswählen",
"logs_option": "Logs",
"logs_option_desc": "Logs-Benachrichtigungen verwalten",
"points_option": "Punkte",
"points_option_desc": "Punkte-Benachrichtigungen verwalten",
"leaderboard_option": "Rangliste",
"leaderboard_option_desc": "Ranglisten-Benachrichtigungen verwalten",
"selected_type": "**{type}** ausgewählt. Jetzt die zu verwaltende Kampfgruppe auswählen:",
"select_squadron_placeholder": "Kampfgruppe auswählen",
"select_squadron_page_placeholder": "Kampfgruppe auswählen (Seite {page})",
"no_squadrons_available": "Keine Kampfgruppe für diesen Benachrichtigungstyp verfügbar.",
"managing_global": "**{type}** (global) in Kanal **{channel}** wird verwaltet.",
"managing_squadron": "**{type}** für Kampfgruppe **{squadron}** in Kanal **{channel}** wird verwaltet.",
"select_channel": "Neuen Kanal auswählen:",
"select_channel_placeholder": "Kanal auswählen",
"select_channel_page_placeholder": "Kanal auswählen (Seite {page})",
"global_toggled": "{type} (global) ist jetzt {state}.",
"squadron_toggled": "{type} für **{squadron}** ist jetzt {state}.",
"channel_updated_global": "{type} (global) auf {channel} aktualisiert",
"channel_updated_squadron": "{type} für **{squadron}** auf {channel} aktualisiert",
"diagnose_channel_placeholder": "Zu diagnostizierenden Kanal auswählen...",
"select_channel_diagnose": "Zu diagnostizierenden Kanal auswählen:",
"game_not_logged_title": "Spiel nicht protokolliert",
"game_not_logged_desc": "Nutze `/unlock`, um den **Standard**-Tarif (oder höher) zu abonnieren und automatische Spielergebnistabellen zu erhalten.",
"server_not_upgraded_title": "⚠️ Server nicht geupgradet",
"server_not_upgraded_autolog_desc": "Dieser Server hat kein aktives Premium-Abonnement.\n\n**Automatische Spielergebnistabellen werden nach <t:{deadline}:D> nicht mehr an nicht-upgegradete Server gesendet.**\n\nVerwende `/unlock` zum Abonnieren und weiterhin automatische Spielprotokolle zu erhalten.",
"replay_not_available": "Replay-Daten sind noch nicht verfügbar — kurz warten und erneut versuchen!",
"too_many_videos": "Zu viele Videos werden gerade gerendert — bitte in einem Moment erneut versuchen.",
"video_gen_failed": "Fehler beim Erstellen des Videos: `{error}`",
"video_missing": "Replay-Video konnte nicht erstellt werden - Ausgabedatei fehlt oder ist leer.",
"video_too_large": "Replay-Video zu groß zum Hochladen ({file_mb:.1f} MB). Serverlimit ist {limit_mb:.0f} MB.",
"video_web_fallback": "Du kannst dieses Gefecht auch unter {url} ansehen",
"video_upload_failed": "Video zu groß zum Hochladen — auf der Website ansehen:\n{url}",
"video_unexpected_error": "Unerwarteter Fehler beim Erstellen des Replay-Videos: `{error}`",
"replay_not_found": "Replay-Daten für Session `{session_id}` nicht auf Disk gefunden.",
"chat_log_title": "**Chat-Protokoll für Spiel [{session_id}]({url})**",
"chat_log_part_title": "**Chat-Protokoll für Spiel [{session_id}]({url}) (Teil {part}/{total})**",
"chat_log_part_only": "**Chat-Protokoll (Teil {part}/{total})**",
"no_chat_log": "Kein Chat-Protokoll für Session `{session_id}` gefunden.",
"chat_log_error": "Unerwarteter Fehler beim Laden des Chat-Protokolls: `{error}`",
"battle_log_title": "**Gefechtsbericht für Spiel [{session_id}]({url})**",
"battle_log_part_title": "**Gefechtsbericht für Spiel [{session_id}]({url}) (Teil {part}/{total})**",
"battle_log_part_only": "**Gefechtsbericht (Teil {part}/{total})**",
"no_battle_log": "Keine Kampfereignisse für Session `{session_id}` gefunden.",
"battle_log_error": "Unerwarteter Fehler beim Laden des Gefechtsberichts: `{error}`",
"points_update_title": "**{squadron} {region} Punkte-Update**",
"points_update_desc": "# {old_total} -> {new_total} {chart}{wl_line}{placement_line}\n\n**Spieleränderungen:**",
"points_table_header": "Name Änderung Jetzt\n",
"wl_line": "\n**{squadron}** hat in dieser Session **{wins}S-{losses}N** gespielt",
"placement_rose": "\n**{squadron}** stieg auf **{new_place}** von **{old_place}**",
"placement_fell": "\n**{squadron}** fiel auf **{new_place}** von **{old_place}**",
"points_not_logged_title": "Punkte nicht protokolliert",
"points_not_logged_desc": "Nutze `/unlock`, um den **Standard**-Tarif (oder höher) zu abonnieren und automatische Punkte-Updates zu erhalten.",
"server_not_upgraded_points_desc": "Dieser Server hat kein aktives Premium-Abonnement.\n\n**Automatische Updates werden nach <t:{deadline}:D> nicht mehr an nicht-upgegradete Server gesendet.**\n\nVerwende `/unlock` zum Abonnieren und weiterhin automatische Updates zu erhalten.",
"leave_title": "⚠️ Spieler hat {squadron} verlassen",
"leave_desc": "**{nick}** ({uid}) hat die Kampfgruppe verlassen.\n\nZuletzt erfasste Punkte: **{points}**",
"no_squadrons_desc": "No squadrons configured",
"no_channels_desc": "No channels available",
"over_cap_title": "Geschwader über dem Tarif-Limit",
"over_cap_desc": "Dein Server nutzt den **{tier}**-Tarif, der **{cap}** Geschwader für **{notif}** erlaubt. Das Geschwader **{squadron}** liegt aktuell über dem Limit und wird nicht geloggt. Upgrade für mehr Kapazität.",
"over_cap_footer": "Upgrade unter srebot-meow.ing/premium oder /unlock",
"wildcard_blocked_title": "Wildcard-Logging erfordert einen höheren Tarif",
"wildcard_blocked_desc": "Wildcard-Einträge (*, all, everything) sind nur in Pro/Max verfügbar. Dein Server ist auf **{tier}** für {notif}. Upgrade zum Aktivieren.",
"cap_header": "{used}/{cap} {notif} aktiviert — {tier}-Tarif"
},
"track": {
"squadron_not_found": "Kampfgruppe nicht gefunden.",
"fetch_failed": "Kampfgruppen-Informationen konnten nicht abgerufen werden."
},
"unlock": {
"title": "SRE Bot Premium",
"desc": "**Premium-Funktionen für diesen Server freischalten.**\n\nPremium beinhaltet:\n> • Automatische Ergebnistabellenpostings\n> • Chat- & Gefechtsberichte\n> • Replay-Suche\n> • Unbegrenzte /comp-Abfragen\n> • Prioritätssupport\n\n**$2.99 / Monat · pro Server · jederzeit kündbar**\n\n⚠️ Discord-Abrechnung ist nur in ausgewählten Ländern verfügbar. Wenn die Schaltfläche unten **\"Produkt nicht verfügbar\"** anzeigt, kann dies an einem nicht unterstützten Land oder einem **Mobilgerät** liegen. Verwende stattdessen die Schaltfläche **Über Website abonnieren**.",
"already_subscribed_title": "SRE Bot Premium",
"already_subscribed_desc": "✅ **Dieser Server ist bereits abonniert!**",
"manage_discord_field": "Abonnement verwalten",
"manage_discord_value": "Dein Abonnement läuft über **Discord**.\nZum Kündigen gehe in Discord zu **Benutzereinstellungen → Abonnements**.",
"manage_website_field": "Abonnement verwalten",
"manage_website_value": "Dein Abonnement läuft über die **Website**.\nVerwalte es unter [whop.com/billing](https://whop.com/billing).",
"coming_soon_field": "Demnächst verfügbar",
"coming_soon_value": "Premium-Abonnements sind noch nicht verfügbar. Schau bald wieder vorbei!",
"current_tier": "Du nutzt den **{tier}**-Tarif.",
"upgrade_to": "Upgrade auf {tier}",
"upgrade_to_value": "Mehr Geschwader und Features durch Upgrade auf **{tier}**."
},
"language": {
"prompt": "Bitte wähle deine Server-Sprache:",
"select_placeholder": "Server-Sprache auswählen",
"language_set": "Sprache auf {language} gesetzt.",
"translate_prompt": "Wähle unten eine Zielsprache aus 👇",
"translate_placeholder": "Zielsprache auswählen…",
"translate_result": "**{author} → {language}:**\n{text}",
"translation_unavailable": "Übersetzung nicht verfügbar (DeepL nicht konfiguriert)",
"translation_failed": "Übersetzung fehlgeschlagen"
},
"misc": {
"credits_title": "Credits",
"credits_desc": "**Meowww**\n\n> **NotSoToothless** - Leitentwickler, Bot-Manager, Community-Manager\n> **Z3R0** - Entwickler, Optimierungsentwickler, Datenbankingenieur\n> **Clippii (Heidi)** - Entwickler, Website-Entwickler, Community-Manager\n> **LivingTheDagor** - Entwickler, Parser-Entwickler, Berater\n> **Lux_** - API-Ingenieur, Spectra-Entwickler\n> **Konigallerwaffen** - Berater für Feedback und Funktionen\n> **Žralok Tonda** - Tschechischer Übersetzer\n> **Styevy**, **Lopais** - Deutsche Übersetzer\n> **Susogus**, **playforfun698** - Polnische Übersetzer\n> **Bobr** - Russischer Übersetzer\n\n\n[Lust auf Mitmachen?](https://discord.gg/BCvkK8JhPe)",
"schedule_title": "SAISONKALENDER",
"schedule_not_found_title": "Kalender nicht gefunden",
"schedule_not_found_desc": "Es sind noch keine Kalenderdaten verfügbar.",
"news_no_news_title": "Keine Neuigkeiten",
"news_no_news_desc": "Es gibt derzeit keine Ankündigungen. Schau später wieder vorbei!",
"news_footer": "Danke für deine Unterstützung! ᕙᘘᗢ",
"help_title": "Bot-Anleitung",
"donate_title": "SRE Bot unterstützen",
"donate_desc": "Wenn du SRE Bot gerne nutzt und seine Entwicklung unterstützen möchtest, erwäge mir einen Kaffee zu spendieren!\n\n**[Auf Ko-fi spenden](https://ko-fi.com/notsotoothless)**\n\nJeder Beitrag hilft, den Bot am Laufen zu halten und neue Funktionen zu unterstützen. Danke!",
"status_title": "Bot-Status",
"status_last_received": "Letztes empfangenes Spiel",
"status_avg_ttl": "Durchschn. TTL (letzte 30)",
"status_no_data": "Noch keine Daten",
"status_gaijin_slow": "⚠️ Gaijin-Server sind langsam",
"help_commands_header": "**Command-Übersicht**",
"help_links": "Details findest du in der Dokumentation [hier]({docs}) oder beim Support [hier]({support}).",
"help_terms": "[Nutzungsbedingungen]({terms}) • [Datenschutzrichtlinie]({terms})"
},
"dev": {
"restricted_dev_team": "This command is restricted to the dev team.",
"restricted_bot_owner": "❌ This command is restricted to the bot owner.",
"invalid_server_id": "❌ Invalid server ID. Must be a 17-19 digit Discord server ID.",
"expiry_too_soon": "❌ Expiry timestamp must be at least 1 month from now.\n> Now: <t:{now}:F>\n> Minimum: <t:{min}:F>\n> You provided: <t:{provided}:F>",
"entitlement_write_failed": "❌ Failed to write entitlement: {error}",
"entitlement_created_title": "✅ Manual Entitlement Created",
"entitlement_created_desc": "**Server:** {guild_name} (`{server_id}`)\n**Expires:** <t:{unix_ts}:F> (<t:{unix_ts}:R>)\n**Created:** <t:{now}:F>",
"query_failed": "Query failed: {error}",
"health_title": "Bot Health Dashboard",
"health_uptime": "Uptime",
"health_guilds": "Guilds",
"health_games_processed": "Games Processed",
"health_tasks": "Tasks",
"health_websocket": "WebSocket",
"health_never": "never",
"health_errors": "({count} errors)",
"health_last_msg": "last msg {ago} ({count} total)",
"health_avg_ttl": "Avg TTL (Last 30)",
"entitlements_title": "Active Entitlements ({count} total)",
"entitlements_no_entries": "No entitlements.",
"entitlements_empty_title": "Active Entitlements",
"entitlements_empty_desc": "No active entitlements found.",
"entitlements_tag_discord": "Discord",
"entitlements_tag_whop": "Whop",
"entitlements_tag_manual": "Manual",
"query_prefix": "Query: {name}"
},
"leaderboard_alarm": {
"title": "🏆 Kampfgruppen-Rangliste",
"top15_desc": "Top-15-Kampfgruppen mit Statistiken, gesendet 35 Minuten nach Zeitfenster-Schluss.\nDieses wurde gesendet <t:{timestamp}:R>.",
"top30_desc": "Kampfgruppen 16-30 mit Statistiken.",
"not_logged_title": "Rangliste nicht protokolliert",
"not_logged_desc": "Nutze `/unlock`, um den **Standard**-Tarif (oder höher) zu abonnieren und automatische Ranglisten-Updates zu erhalten.",
"server_not_upgraded_title": "⚠️ Server nicht geupgradet",
"server_not_upgraded_desc": "Dieser Server hat kein aktives Premium-Abonnement.\n\n**Automatische Updates werden nach <t:{deadline}:D> nicht mehr an nicht-upgegradete Server gesendet.**\n\nVerwende `/unlock` zum Abonnieren und weiterhin automatische Updates zu erhalten."
},
"stacks": {
"stack_title": "{leader}s Staffel",
"stack_named_title": "{name}",
"no_members": "Noch keine Mitglieder.",
"members_field": "Mitglieder ({count}/{max})",
"queue_field": "Warteschlange ({count}/{max})",
"manage_title": "Staffel verwalten",
"no_pending_requests": "Keine ausstehenden Anfragen.",
"disbanded_title": "Staffel [Aufgelöst]",
"disbanded_desc": "Diese Staffel wurde vom Anführer aufgelöst.",
"expired_title": "Staffel [Abgelaufen]",
"expired_desc": "Diese Staffel ist abgelaufen.",
"join_modal_title": "Staffel beitreten",
"join_vehicle_label": "Was wirst du spielen?",
"join_vehicle_placeholder": "z.B. F-16C, WZ305...",
"ping_modal_title": "Ping-Nachricht",
"ping_message_label": "Eigene Nachricht (optional)",
"ping_message_placeholder": "z.B. Kommt jetzt! Staffel startet!",
"rename_modal_title": "Staffel umbenennen",
"rename_label": "Staffel-Name",
"rename_placeholder": "z.B. Nachtschwärmer, Alpha Team...",
"select_new_leader": "Neuen Anführer auswählen…",
"select_applicants": "Bewerber auswählen…",
"no_pending_applications": "Keine ausstehenden Bewerbungen.",
"select_to_remove": "Personen zum Entfernen auswählen…",
"no_members_or_applicants": "Keine Mitglieder oder Bewerber.",
"select_to_ping": "Personen einzeln anpingen…",
"stack_not_found": "❌ Staffel nicht gefunden.",
"no_longer_exists": "❌ Diese Staffel existiert nicht mehr.",
"member_not_exists": "❌ Dieses Mitglied existiert nicht mehr.",
"already_has_stack": "❌ Dieser Spieler hat bereits eine aktive Staffel.",
"already_member": "❌ Du bist bereits Mitglied dieser Staffel.",
"already_applied": "❌ Du hast bereits eine ausstehende Bewerbung für diese Staffel.",
"queue_full": "❌ Die Warteschlange ist voll ({max}/{max}). Versuche es später erneut.",
"application_sent": "✅ Bewerbung gesendet! Der Staffel-Anführer wird sie prüfen.",
"stack_disbanded": "✅ Staffel aufgelöst.",
"cancelled": "Abgebrochen.",
"select_member_transfer": "❌ Bitte wähle ein Mitglied für die Übertragung aus.",
"ownership_transferred": "✅ Führung an {nick} übertragen. Du hast die Staffel verlassen.",
"select_applicant_first": "❌ Bitte wähle zuerst mindestens einen Bewerber aus.",
"stack_full": "❌ Staffel ist bereits voll ({max}/{max} Mitglieder).",
"select_person_first": "❌ Bitte wähle zuerst mindestens eine Person aus.",
"no_one_to_ping": "❌ Niemand zum Anpingen.",
"ping_footer": "Angepingt von {leader} für {stack}.",
"pinged": "✅ Angepingt!",
"select_from_dropdown": "❌ Bitte wähle zuerst mindestens eine Person aus dem Dropdown.",
"stack_renamed": "✅ Staffel umbenannt zu **{name}**.",
"only_member_use_disband": "❌ Du bist das einzige Mitglied. Verwende **Staffel auflösen** zum Beenden.",
"select_transfer_prompt": "Wähle ein Mitglied, an das du die Führung übertragen möchtest:",
"left_stack": "✅ Du hast die Staffel verlassen.",
"application_withdrawn": "✅ Deine Bewerbung wurde zurückgezogen.",
"not_member_or_applicant": "❌ Du bist weder Mitglied noch Bewerber dieser Staffel.",
"leader_only_manage": "❌ Nur der Staffel-Anführer kann diese Staffel verwalten.",
"leader_only_disband": "❌ Nur der Staffel-Anführer kann diese Staffel auflösen.",
"confirm_disband": "Bist du sicher, dass du diese Staffel auflösen möchtest? Dies kann nicht rückgängig gemacht werden.",
"already_active_stack": "⚠️ Du hast bereits eine aktive Staffel. Falls die ursprüngliche Nachricht nicht mehr existiert (z.B. nach einem Bot-Neustart), kannst du die Auflösung erzwingen und neu starten.",
"force_created": "✅ Vorherige Staffel aufgelöst. Neue Staffel erstellt.",
"no_active_stack": "❌ Du hast keine aktive Staffel. Verwende `/stack-create` um einen zu erstellen.",
"could_not_parse_channel": "⚠️ Gespeicherte Kanal-ID konnte nicht verarbeitet werden."
},
"commands": {
"common": {
"season": "Saison für die Karte",
"theme": "Farbschema der Karte",
"squadron_short": "Kurzname der Staffel",
"player_username": "Spielername",
"choice_dark": "Dunkel",
"choice_light": "Hell"
},
"comp": {
"description": "Letzte bekannte Aufstellungen eines Teams finden",
"squadron_short": "Kurzname des gegnerischen Teams"
},
"quick_log": {
"description": "Alarm für diese Staffel in diesem Kanal setzen",
"squadron_name": "KURZNAME der zu überwachenden Staffel",
"type": "Wähle Logs, Punkte, Leaderboard, Wöchentlicher BR oder Beide",
"choice_logs": "Logs",
"choice_points": "Punkte",
"choice_leaderboard": "Rangliste",
"choice_both": "Beides (Logs + Punkte)",
"choice_weekly_br": "Wöchentlicher BR"
},
"sq_info": {
"description": "Informationen zu einer Staffel abrufen"
},
"sq_info_graph": {
"description": "Aufstellungsgrafik nach Aktivität und Siegrate anzeigen (aktuelle Saison)"
},
"sq_card": {
"description": "Saisonkarte für eine Staffel erstellen",
"squadron": "Kurzname der Staffel"
},
"sq_stats": {
"description": "Staffelpunkte im Zeitverlauf anzeigen"
},
"loss_calculator": {
"description": "Punkteverlust berechnen, wenn Spieler eine Staffel verlassen",
"player1": "Spieler verlässt",
"player_optional": "Spieler verlässt (optional)"
},
"website": {
"description": "Link zur SRE Bot-Webseite erhalten"
},
"card": {
"description": "Saisonkarte für einen Spieler erstellen"
},
"player_stats": {
"description": "Detaillierte Fahrzeugstatistiken eines Spielers anzeigen",
"username": "WT-Benutzername für Stats",
"uid": "WT-UID für Stats"
},
"view_player_games": {
"description": "Die letzten 20 Spiele eines Spielers anzeigen"
},
"view_match": {
"description": "Match-Scoreboard per ID oder Spieler anzeigen",
"match_id": "Hex-Session-ID des Matches",
"player_name": "Spielername zum Durchsuchen neuer Matches"
},
"compare": {
"description": "Gesamte SQB-Stats von Spielern vergleichen",
"player1": "Erster Spielername",
"player2": "Zweiter Spielername",
"player_optional": "Weiterer Spielername (optional)"
},
"leaderboard": {
"description": "Globale SRE Bot-Rangliste öffnen"
},
"set_squadron": {
"description": "Staffel-Tag für diesen Server setzen",
"abbreviated_name": "Kurzname der zu setzenden Staffel"
},
"setup": {
"description": "Bot für diesen Server einrichten"
},
"meta_management": {
"description": "Zugriff auf Meta-Daten für diesen Server verwalten"
},
"meta": {
"description": "Meta-Roster nach Fahrzeugname durchsuchen",
"vehicle": "Zu suchender Fahrzeugname"
},
"top": {
"description": "Top 20 Staffeln mit Detailstats anzeigen"
},
"language": {
"description": "Sprache des Bots ändern."
},
"translate_message": {
"name": "Nachricht übersetzen"
},
"sq_track": {
"description": "Staffel verfolgen und mit der letzten Prüfung vergleichen",
"squadron_short_name": "Kurzname der zu verfolgenden Staffel"
},
"analytics": {
"description": "Erweiterte SQB-Analysen für eine Staffel anzeigen",
"view": "Welche Analyseansicht angezeigt wird",
"choice_maps": "Kartensiegquoten",
"choice_comps": "Teamaufstellungen",
"choice_consistency": "Spielerkonstanz",
"choice_time": "Tageszeit",
"choice_matchups": "Duellverlauf"
},
"recent": {
"description": "Neue Staffelkämpfe einer Staffel anzeigen",
"length": "Anzahl der anzuzeigenden Matches"
},
"vs": {
"description": "Direktvergleich zwischen zwei Staffeln",
"squadron_a": "Erste Staffel",
"squadron_b": "Zweite Staffel"
},
"autolog_management": {
"description": "Autolog-Benachrichtigungen verwalten und Rechte prüfen"
},
"diagnose_perms": {
"description": "Autolog-Rechte für diesen Kanal prüfen"
},
"unlock": {
"description": "Premium-Funktionen für diesen Server freischalten"
},
"credits": {
"description": "Das Team hinter diesem Projekt anzeigen"
},
"schedule": {
"description": "Aktuellen Saison-BR-Plan anzeigen"
},
"news": {
"description": "Neueste SRE Bot-News und Ankündigungen anzeigen"
},
"help": {
"description": "Guide, Nutzungsbedingungen und Supportlinks anzeigen"
},
"donate": {
"description": "Entwicklung von SRE Bot unterstützen"
},
"stack_create": {
"description": "Neuen Spieler-Stack erstellen",
"vehicle": "Mit welchem Fahrzeug startest du?"
},
"stack_manage": {
"description": "Deinen aktiven Stack in diesem Kanal neu posten"
},
"bot_status": {
"description": "Bot-Status anzeigen: letztes empfangenes Spiel und durchschn. TTL"
}
},
"permission": {
"blacklisted_title": "❌ Gesperrt",
"blacklisted_desc": "Du bist für diese Command-Nutzung gesperrt.",
"reason_line": "**Grund:** {reason}",
"access_denied_title": "⛔ Zugriff verweigert",
"no_permission_desc": "Du hast keine Berechtigung für diesen Command.",
"unexpected_error_title": "❗ Fehler, bitte melden...."
},
"weekly_br": {
"title_wildcard": "Wöchentlicher BR-Bericht — {br} BR",
"title_squadron": "Wöchentlicher BR-Bericht — [{tag}] {long} • {br} BR",
"window_label": "Zeitraum: {start} → {end}",
"wildcard_desc_first": "Top {count} Geschwader nach ELO • Plätze {low}{high}",
"wildcard_desc_second": "Top {count} Geschwader nach ELO • Plätze {low}{high}",
"squadron_stats_line": "- {games} Spiele • K/D {kdr} • Siegrate {wr}%",
"top_players_inline_header": "🥇 Top-Spieler:",
"player_line_short": " {rank}. {nick} ⭐ {score} ({games}S)",
"top_players_header": "**Top {count} Spieler nach ELO:**",
"player_line_full": "{rank}. **{nick}** ⭐ {score} • {games} Spiele • K/D {kdr}",
"squadron_header_line": "Geschwader-ELO: {score} • {games} Spiele • Siegrate {wr}% • K/D {kdr}",
"squadron_header_no_aggregate": "Geschwader-ELO: nicht genügend Teamspiele in dieser Woche.",
"no_data": "Keine Spiele für [{tag}] in dieser BR-Rotation aufgezeichnet."
}
}