Enhance dashboard overview with activity summary and sidebar commands
- Integrated activity summary into the Guild Overview page, displaying message count, voice minutes, and active user count for the last 7 days. - Updated sidebar to include a new "Commands" link for easier navigation. - Added corresponding localization keys for activity metrics in both English and German JSON files.
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
"unsavedChanges": "Du hast ungespeicherte Änderungen",
|
||||
"saveSuccess": "Änderungen gespeichert",
|
||||
"saveError": "Änderungen konnten nicht gespeichert werden",
|
||||
"optional": "Optional",
|
||||
"back": "Zurück",
|
||||
"comingSoon": "Demnächst verfügbar",
|
||||
"close": "Schließen"
|
||||
@@ -24,7 +25,8 @@
|
||||
"overview": "Übersicht",
|
||||
"settings": "Einstellungen",
|
||||
"modules": "Module",
|
||||
"access": "Dashboard-Zugriff"
|
||||
"access": "Dashboard-Zugriff",
|
||||
"commands": "Commands"
|
||||
},
|
||||
"moduleGroups": {
|
||||
"moderation": "Moderation",
|
||||
@@ -83,7 +85,12 @@
|
||||
"recentAuditTitle": "Letzte Dashboard-Aktivität",
|
||||
"auditEmpty": "Noch keine Dashboard-Änderungen.",
|
||||
"auditPath": "Pfad",
|
||||
"viewAllModules": "Module verwalten"
|
||||
"viewAllModules": "Module verwalten",
|
||||
"activityTitle": "Aktivität (letzte 7 Tage)",
|
||||
"activityMessages": "Nachrichten",
|
||||
"activityVoiceMinutes": "Voice-Minuten",
|
||||
"activityActiveUsers": "Aktive Mitglieder",
|
||||
"activityHint": "Aggregiert aus der Aktivitätserfassung der Leveling- und Stats-Module."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -270,6 +277,240 @@
|
||||
"enabledHint": "Aktiviert Minispiele wie Trivia, Tic-Tac-Toe und 8-Ball.",
|
||||
"mediaEnabledLabel": "Medien-Commands aktiviert",
|
||||
"mediaEnabledHint": "Aktiviert API-basierte Commands wie /cat und /dog."
|
||||
},
|
||||
"tickets": {
|
||||
"title": "Tickets",
|
||||
"description": "Lege fest, wie Support-Tickets erstellt und verwaltet werden.",
|
||||
"enabledLabel": "Ticket-Modul aktiviert",
|
||||
"mode": "Ticket-Modus",
|
||||
"mode.CHANNEL": "Privater Kanal",
|
||||
"mode.THREAD": "Privater Thread",
|
||||
"categoryId": "Ticket-Kategorie-ID",
|
||||
"logChannelId": "Log-Kanal-ID",
|
||||
"inactivityHours": "Automatisch schließen nach Inaktivität (Stunden)",
|
||||
"transcriptDm": "Transkript per DM an Ticket-Ersteller",
|
||||
"transcriptDmHint": "Sendet dem Nutzer nach Schließung ein Transkript per DM.",
|
||||
"ratingEnabled": "Nach Schließung um Bewertung bitten",
|
||||
"categoriesTitle": "Ticket-Kategorien",
|
||||
"categoriesDescription": "Kategorien, die Mitglieder beim Öffnen eines Tickets auswählen können.",
|
||||
"categoriesEmpty": "Noch keine Ticket-Kategorien konfiguriert.",
|
||||
"categoryName": "Name",
|
||||
"categoryEmoji": "Emoji",
|
||||
"categoryDescription": "Beschreibung",
|
||||
"supportRoleIds": "Support-Rollen-IDs",
|
||||
"idsPlaceholder": "Eine oder mehrere IDs, kommagetrennt",
|
||||
"addCategory": "Kategorie hinzufügen",
|
||||
"nameRequired": "Ein Name ist erforderlich."
|
||||
},
|
||||
"giveaways": {
|
||||
"formIncomplete": "Bitte Kanal, Preis und Enddatum ausfüllen.",
|
||||
"created": "Giveaway erstellt.",
|
||||
"confirmDelete": "Dieses Giveaway wirklich löschen?",
|
||||
"createTitle": "Giveaway starten",
|
||||
"createDescription": "Postet eine Giveaway-Nachricht in Discord und ermittelt Gewinner automatisch bei Ablauf.",
|
||||
"channelId": "Kanal-ID",
|
||||
"prize": "Preis",
|
||||
"winnerCount": "Anzahl Gewinner",
|
||||
"endsAt": "Endet am",
|
||||
"requiredRoleId": "Benötigte Rollen-ID",
|
||||
"requiredLevel": "Benötigtes Level",
|
||||
"requiredMemberDays": "Benötigte Mitgliedschaftsdauer (Tage)",
|
||||
"create": "Giveaway starten",
|
||||
"listTitle": "Giveaways",
|
||||
"listDescription": "Aktive und beendete Giveaways für diesen Server.",
|
||||
"empty": "Noch keine Giveaways.",
|
||||
"entrants": "Teilnehmer",
|
||||
"statusEnded": "Beendet",
|
||||
"statusPaused": "Pausiert",
|
||||
"statusActive": "Aktiv",
|
||||
"endedAt": "Beendet am",
|
||||
"winners": "Gewinner",
|
||||
"pause": "Pausieren",
|
||||
"unpause": "Fortsetzen",
|
||||
"end": "Jetzt beenden"
|
||||
},
|
||||
"selfroles": {
|
||||
"formIncomplete": "Bitte Kanal, Titel und mindestens eine Rolle ausfüllen.",
|
||||
"confirmDelete": "Dieses Panel wirklich löschen?",
|
||||
"createTitle": "Self-Role-Panel erstellen",
|
||||
"createDescription": "Postet eine Nachricht in Discord, über die sich Mitglieder selbst Rollen zuweisen können.",
|
||||
"channelId": "Kanal-ID",
|
||||
"panelTitle": "Panel-Titel",
|
||||
"mode": "Modus",
|
||||
"modes": { "BUTTONS": "Buttons", "DROPDOWN": "Dropdown", "REACTIONS": "Reaktionen" },
|
||||
"behavior": "Verhalten",
|
||||
"behaviors": {
|
||||
"NORMAL": "Normal (frei umschaltbar)",
|
||||
"UNIQUE": "Exklusiv (nur eine Rolle aus diesem Panel)",
|
||||
"VERIFY": "Verifizierungsrolle",
|
||||
"TEMPORARY": "Temporär (läuft nach einer Zeit ab)"
|
||||
},
|
||||
"description": "Beschreibung",
|
||||
"roles": "Rollen",
|
||||
"rolesPlaceholder": "roleId | Label | Emoji | Beschreibung (eine pro Zeile)",
|
||||
"rolesHint": "Eine Rolle pro Zeile: roleId | Label | Emoji (optional) | Beschreibung (optional).",
|
||||
"create": "Panel erstellen",
|
||||
"listTitle": "Self-Role-Panels",
|
||||
"listDescription": "Vorhandene Panels für diesen Server.",
|
||||
"empty": "Noch keine Self-Role-Panels."
|
||||
},
|
||||
"tags": {
|
||||
"nameRequired": "Ein Name ist erforderlich.",
|
||||
"confirmDelete": "Diesen Tag wirklich löschen?",
|
||||
"createTitle": "Tag erstellen",
|
||||
"createDescription": "Custom Commands und Auto-Responder, ausgelöst per Name oder Stichwort.",
|
||||
"name": "Name",
|
||||
"responseType": "Antworttyp",
|
||||
"responseTypes": { "TEXT": "Text", "EMBED": "Embed" },
|
||||
"triggerWord": "Auslöse-Wort (optional)",
|
||||
"content": "Inhalt",
|
||||
"allowedRoleIds": "Erlaubte Rollen-IDs",
|
||||
"allowedChannelIds": "Erlaubte Kanal-IDs",
|
||||
"idsPlaceholder": "Eine oder mehrere IDs, kommagetrennt",
|
||||
"create": "Tag erstellen",
|
||||
"listTitle": "Tags",
|
||||
"listDescription": "Vorhandene Tags für diesen Server.",
|
||||
"empty": "Noch keine Tags."
|
||||
},
|
||||
"starboard": {
|
||||
"title": "Starboard",
|
||||
"description": "Beliebte Nachrichten in einem eigenen Kanal hervorheben.",
|
||||
"enabledLabel": "Starboard aktiviert",
|
||||
"channelId": "Starboard-Kanal-ID",
|
||||
"emoji": "Auslöse-Emoji",
|
||||
"threshold": "Stern-Schwellenwert",
|
||||
"allowSelfStar": "Eigene Nachrichten dürfen selbst markiert werden",
|
||||
"ignoredChannelIds": "Ignorierte Kanal-IDs",
|
||||
"idsHint": "Kommagetrennte Liste von Kanal-IDs, die vom Starboard ausgeschlossen werden."
|
||||
},
|
||||
"suggestions": {
|
||||
"configTitle": "Vorschläge-Einstellungen",
|
||||
"configDescription": "Lege fest, wo Vorschläge gepostet und nach der Prüfung verschoben werden.",
|
||||
"enabledLabel": "Vorschläge aktiviert",
|
||||
"openChannelId": "Kanal-ID für offene Vorschläge",
|
||||
"approvedChannelId": "Kanal-ID für angenommene Vorschläge",
|
||||
"deniedChannelId": "Kanal-ID für abgelehnte Vorschläge",
|
||||
"createThread": "Diskussions-Thread erstellen",
|
||||
"createThreadHint": "Öffnet automatisch einen Thread unter jedem neuen Vorschlag.",
|
||||
"listTitle": "Vorschläge",
|
||||
"listDescription": "Von Mitgliedern eingereichte Vorschläge prüfen und moderieren.",
|
||||
"statusAll": "Alle Status",
|
||||
"status": {
|
||||
"OPEN": "Offen",
|
||||
"APPROVED": "Angenommen",
|
||||
"DENIED": "Abgelehnt",
|
||||
"CONSIDERED": "In Erwägung",
|
||||
"IMPLEMENTED": "Umgesetzt"
|
||||
},
|
||||
"empty": "Keine Vorschläge gefunden.",
|
||||
"staffReason": "Begründung des Teams",
|
||||
"reasonPlaceholder": "Optionale Begründung, die dem Ersteller angezeigt wird",
|
||||
"approve": "Annehmen",
|
||||
"deny": "Ablehnen",
|
||||
"consider": "In Erwägung ziehen",
|
||||
"implement": "Umsetzen"
|
||||
},
|
||||
"birthdays": {
|
||||
"title": "Geburtstage",
|
||||
"description": "Geburtstage von Mitgliedern ankündigen und optional eine Geburtstagsrolle vergeben.",
|
||||
"enabledLabel": "Geburtstage aktiviert",
|
||||
"channelId": "Ankündigungs-Kanal-ID",
|
||||
"roleId": "Geburtstagsrolle-ID",
|
||||
"timezone": "Zeitzone",
|
||||
"message": "Ankündigungstext",
|
||||
"messagePlaceholder": "Optionale eigene Nachricht, z. B. Alles Gute zum Geburtstag {user}!"
|
||||
},
|
||||
"tempvoice": {
|
||||
"title": "Temp-Voice",
|
||||
"description": "Mitglieder, die dem Hub-Kanal beitreten, erhalten einen eigenen temporären Voice-Kanal.",
|
||||
"enabledLabel": "Temp-Voice aktiviert",
|
||||
"hubChannelId": "Hub-Kanal-ID",
|
||||
"categoryId": "Kategorie-ID für erstellte Kanäle",
|
||||
"defaultName": "Standard-Kanalname",
|
||||
"defaultLimit": "Standard-Nutzerlimit",
|
||||
"defaultLimitHint": "0 setzen für kein Limit."
|
||||
},
|
||||
"stats": {
|
||||
"title": "Server-Statistiken",
|
||||
"description": "Automatisch aktualisierte Voice-Kanäle mit Live-Serverstatistiken.",
|
||||
"enabledLabel": "Server-Statistiken aktiviert",
|
||||
"membersChannelId": "Mitglieder-Kanal-ID",
|
||||
"membersTemplate": "Mitglieder-Vorlage",
|
||||
"onlineChannelId": "Online-Kanal-ID",
|
||||
"onlineTemplate": "Online-Vorlage",
|
||||
"boostsChannelId": "Boosts-Kanal-ID",
|
||||
"boostsTemplate": "Boosts-Vorlage",
|
||||
"templateHint": "Nutze {count} als Platzhalter für den Live-Wert."
|
||||
},
|
||||
"feeds": {
|
||||
"title": "Social Feeds",
|
||||
"description": "Benachrichtigungen posten, wenn neuer Inhalt auf Twitch, YouTube, RSS oder Reddit erscheint.",
|
||||
"empty": "Noch keine Feeds konfiguriert.",
|
||||
"addFeed": "Feed hinzufügen",
|
||||
"type": "Feed-Typ",
|
||||
"sourceId": "Quell-ID",
|
||||
"sourceIdPlaceholder": "Kanalname, Subreddit oder Feed-URL",
|
||||
"channelId": "Discord-Kanal-ID",
|
||||
"rolePingId": "Zu erwähnende Rolle",
|
||||
"template": "Nachrichtenvorlage",
|
||||
"templatePlaceholder": "Optionale eigene Nachrichtenvorlage",
|
||||
"formIncomplete": "Bitte Quelle und Kanal-ID ausfüllen.",
|
||||
"confirmDelete": "Diesen Feed wirklich löschen?"
|
||||
},
|
||||
"scheduler": {
|
||||
"createTitle": "Nachricht planen",
|
||||
"createDescription": "Sende eine Nachricht einmalig zu einem bestimmten Zeitpunkt oder wiederholt per Cron-Zeitplan.",
|
||||
"channelId": "Kanal-ID",
|
||||
"rolePingId": "Zu erwähnende Rolle",
|
||||
"cron": "Cron-Ausdruck",
|
||||
"runAt": "Ausführen am",
|
||||
"content": "Nachrichtentext",
|
||||
"cronHint": "Cron-Ausdruck für wiederkehrende Nachrichten ODER ein einmaliges Datum/Uhrzeit angeben - nicht beides.",
|
||||
"create": "Nachricht planen",
|
||||
"created": "Nachricht geplant.",
|
||||
"formIncomplete": "Bitte Kanal, Inhalt sowie Cron-Ausdruck oder Datum/Uhrzeit ausfüllen.",
|
||||
"confirmDelete": "Diesen Zeitplan wirklich löschen?",
|
||||
"listTitle": "Geplante Nachrichten",
|
||||
"listDescription": "Anstehende und wiederkehrende geplante Nachrichten.",
|
||||
"empty": "Noch keine geplanten Nachrichten.",
|
||||
"noContent": "(nur Embed)"
|
||||
},
|
||||
"guildbackup": {
|
||||
"createTitle": "Backup erstellen",
|
||||
"createDescription": "Erstellt einen Snapshot von Rollen, Kanälen und Servereinstellungen für spätere Wiederherstellung.",
|
||||
"name": "Backup-Name",
|
||||
"namePlaceholder": "z. B. Vor Season-3-Update",
|
||||
"create": "Backup erstellen",
|
||||
"created": "Backup erstellt.",
|
||||
"nameRequired": "Ein Name ist erforderlich.",
|
||||
"listTitle": "Backups",
|
||||
"listDescription": "Vorhandene Backups für diesen Server.",
|
||||
"empty": "Noch keine Backups.",
|
||||
"info": "Info",
|
||||
"infoUnavailable": "Backup-Details nicht verfügbar.",
|
||||
"infoGuildName": "Servername",
|
||||
"infoRoles": "Rollen",
|
||||
"infoChannels": "Kanäle",
|
||||
"download": "JSON herunterladen",
|
||||
"restore": "Wiederherstellen",
|
||||
"confirmRestoreStep1": "Dieses Backup wiederherstellen? Fehlende Rollen/Kanäle werden ergänzt und Overwrites best-effort angewendet. Bestehende Kanäle werden nicht gelöscht.",
|
||||
"confirmRestoreStep2": "Letzte Bestätigung: Dieses Backup jetzt wiederherstellen? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"restoreQueued": "Wiederherstellung eingereiht - läuft im Hintergrund.",
|
||||
"confirmDelete": "Dieses Backup wirklich löschen?",
|
||||
"ownerOnlyBadge": "Wiederherstellung nur durch Owner"
|
||||
},
|
||||
"commands": {
|
||||
"title": "Commands",
|
||||
"description": "Einzelne Slash-Commands aktivieren/deaktivieren und per Rolle, Kanal oder Cooldown einschränken.",
|
||||
"searchPlaceholder": "Commands durchsuchen…",
|
||||
"empty": "Keine Commands entsprechen der Suche.",
|
||||
"cooldownSeconds": "Cooldown (Sekunden)",
|
||||
"allowedRoleIds": "Erlaubte Rollen-IDs",
|
||||
"deniedRoleIds": "Verbotene Rollen-IDs",
|
||||
"allowedChannelIds": "Erlaubte Kanal-IDs",
|
||||
"deniedChannelIds": "Verbotene Kanal-IDs",
|
||||
"idsPlaceholder": "Eine oder mehrere IDs, kommagetrennt",
|
||||
"reset": "Auf Standard zurücksetzen"
|
||||
}
|
||||
},
|
||||
"userMenu": {
|
||||
|
||||
Reference in New Issue
Block a user