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:
@@ -17,14 +17,16 @@
|
||||
"saveError": "Could not save changes",
|
||||
"back": "Back",
|
||||
"comingSoon": "Coming soon",
|
||||
"close": "Close"
|
||||
"close": "Close",
|
||||
"optional": "Optional"
|
||||
},
|
||||
"nav": {
|
||||
"dashboard": "Dashboard",
|
||||
"overview": "Overview",
|
||||
"settings": "Settings",
|
||||
"modules": "Modules",
|
||||
"access": "Dashboard access"
|
||||
"access": "Dashboard access",
|
||||
"commands": "Commands"
|
||||
},
|
||||
"moduleGroups": {
|
||||
"moderation": "Moderation",
|
||||
@@ -83,7 +85,12 @@
|
||||
"recentAuditTitle": "Recent dashboard activity",
|
||||
"auditEmpty": "No dashboard changes yet.",
|
||||
"auditPath": "Path",
|
||||
"viewAllModules": "Manage modules"
|
||||
"viewAllModules": "Manage modules",
|
||||
"activityTitle": "Activity (last 7 days)",
|
||||
"activityMessages": "Messages",
|
||||
"activityVoiceMinutes": "Voice minutes",
|
||||
"activityActiveUsers": "Active members",
|
||||
"activityHint": "Aggregated from the leveling and stats modules' activity tracking."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -270,6 +277,240 @@
|
||||
"enabledHint": "Enables mini games like trivia, tic-tac-toe and 8-ball.",
|
||||
"mediaEnabledLabel": "Media commands enabled",
|
||||
"mediaEnabledHint": "Enables API-based commands like /cat and /dog."
|
||||
},
|
||||
"tickets": {
|
||||
"title": "Tickets",
|
||||
"description": "Configure how support tickets are created and managed.",
|
||||
"enabledLabel": "Tickets module enabled",
|
||||
"mode": "Ticket mode",
|
||||
"mode.CHANNEL": "Private channel",
|
||||
"mode.THREAD": "Private thread",
|
||||
"categoryId": "Ticket category ID",
|
||||
"logChannelId": "Log channel ID",
|
||||
"inactivityHours": "Auto-close after inactivity (hours)",
|
||||
"transcriptDm": "DM transcript to ticket creator",
|
||||
"transcriptDmHint": "Sends a transcript to the user via DM once their ticket is closed.",
|
||||
"ratingEnabled": "Ask for a rating after closing",
|
||||
"categoriesTitle": "Ticket categories",
|
||||
"categoriesDescription": "Categories members can choose from when opening a ticket.",
|
||||
"categoriesEmpty": "No ticket categories configured yet.",
|
||||
"categoryName": "Name",
|
||||
"categoryEmoji": "Emoji",
|
||||
"categoryDescription": "Description",
|
||||
"supportRoleIds": "Support role IDs",
|
||||
"idsPlaceholder": "One or more IDs, comma-separated",
|
||||
"addCategory": "Add category",
|
||||
"nameRequired": "A name is required."
|
||||
},
|
||||
"giveaways": {
|
||||
"formIncomplete": "Please fill in the channel, prize and end date.",
|
||||
"created": "Giveaway created.",
|
||||
"confirmDelete": "Really delete this giveaway?",
|
||||
"createTitle": "Start a giveaway",
|
||||
"createDescription": "Posts a giveaway message in Discord and picks winners automatically when it ends.",
|
||||
"channelId": "Channel ID",
|
||||
"prize": "Prize",
|
||||
"winnerCount": "Winner count",
|
||||
"endsAt": "Ends at",
|
||||
"requiredRoleId": "Required role ID",
|
||||
"requiredLevel": "Required level",
|
||||
"requiredMemberDays": "Required membership (days)",
|
||||
"create": "Start giveaway",
|
||||
"listTitle": "Giveaways",
|
||||
"listDescription": "Active and ended giveaways for this server.",
|
||||
"empty": "No giveaways yet.",
|
||||
"entrants": "Entrants",
|
||||
"statusEnded": "Ended",
|
||||
"statusPaused": "Paused",
|
||||
"statusActive": "Active",
|
||||
"endedAt": "Ended at",
|
||||
"winners": "Winners",
|
||||
"pause": "Pause",
|
||||
"unpause": "Resume",
|
||||
"end": "End now"
|
||||
},
|
||||
"selfroles": {
|
||||
"formIncomplete": "Please fill in the channel, title and at least one role.",
|
||||
"confirmDelete": "Really delete this panel?",
|
||||
"createTitle": "Create a self-role panel",
|
||||
"createDescription": "Posts a message in Discord that members can use to assign themselves roles.",
|
||||
"channelId": "Channel ID",
|
||||
"panelTitle": "Panel title",
|
||||
"mode": "Mode",
|
||||
"modes": { "BUTTONS": "Buttons", "DROPDOWN": "Dropdown", "REACTIONS": "Reactions" },
|
||||
"behavior": "Behavior",
|
||||
"behaviors": {
|
||||
"NORMAL": "Normal (toggle freely)",
|
||||
"UNIQUE": "Unique (only one role from this panel)",
|
||||
"VERIFY": "Verification role",
|
||||
"TEMPORARY": "Temporary (expires after a while)"
|
||||
},
|
||||
"description": "Description",
|
||||
"roles": "Roles",
|
||||
"rolesPlaceholder": "roleId | label | emoji | description (one per line)",
|
||||
"rolesHint": "One role per line: roleId | label | emoji (optional) | description (optional).",
|
||||
"create": "Create panel",
|
||||
"listTitle": "Self-role panels",
|
||||
"listDescription": "Existing panels for this server.",
|
||||
"empty": "No self-role panels yet."
|
||||
},
|
||||
"tags": {
|
||||
"nameRequired": "A name is required.",
|
||||
"confirmDelete": "Really delete this tag?",
|
||||
"createTitle": "Create a tag",
|
||||
"createDescription": "Custom commands and auto-responders triggered by name or keyword.",
|
||||
"name": "Name",
|
||||
"responseType": "Response type",
|
||||
"responseTypes": { "TEXT": "Text", "EMBED": "Embed" },
|
||||
"triggerWord": "Trigger word (optional)",
|
||||
"content": "Content",
|
||||
"allowedRoleIds": "Allowed role IDs",
|
||||
"allowedChannelIds": "Allowed channel IDs",
|
||||
"idsPlaceholder": "One or more IDs, comma-separated",
|
||||
"create": "Create tag",
|
||||
"listTitle": "Tags",
|
||||
"listDescription": "Existing tags for this server.",
|
||||
"empty": "No tags yet."
|
||||
},
|
||||
"starboard": {
|
||||
"title": "Starboard",
|
||||
"description": "Highlight popular messages in a dedicated channel.",
|
||||
"enabledLabel": "Starboard enabled",
|
||||
"channelId": "Starboard channel ID",
|
||||
"emoji": "Trigger emoji",
|
||||
"threshold": "Star threshold",
|
||||
"allowSelfStar": "Allow starring your own messages",
|
||||
"ignoredChannelIds": "Ignored channel IDs",
|
||||
"idsHint": "Comma-separated list of channel IDs to exclude from the starboard."
|
||||
},
|
||||
"suggestions": {
|
||||
"configTitle": "Suggestions settings",
|
||||
"configDescription": "Configure where suggestions are posted and moved once reviewed.",
|
||||
"enabledLabel": "Suggestions enabled",
|
||||
"openChannelId": "Open channel ID",
|
||||
"approvedChannelId": "Approved channel ID",
|
||||
"deniedChannelId": "Denied channel ID",
|
||||
"createThread": "Create a discussion thread",
|
||||
"createThreadHint": "Automatically opens a thread under every new suggestion.",
|
||||
"listTitle": "Suggestions",
|
||||
"listDescription": "Review and moderate suggestions submitted by members.",
|
||||
"statusAll": "All statuses",
|
||||
"status": {
|
||||
"OPEN": "Open",
|
||||
"APPROVED": "Approved",
|
||||
"DENIED": "Denied",
|
||||
"CONSIDERED": "Considered",
|
||||
"IMPLEMENTED": "Implemented"
|
||||
},
|
||||
"empty": "No suggestions found.",
|
||||
"staffReason": "Staff reason",
|
||||
"reasonPlaceholder": "Optional reason shown to the author",
|
||||
"approve": "Approve",
|
||||
"deny": "Deny",
|
||||
"consider": "Consider",
|
||||
"implement": "Implement"
|
||||
},
|
||||
"birthdays": {
|
||||
"title": "Birthdays",
|
||||
"description": "Announce member birthdays and optionally assign a birthday role.",
|
||||
"enabledLabel": "Birthdays enabled",
|
||||
"channelId": "Announcement channel ID",
|
||||
"roleId": "Birthday role ID",
|
||||
"timezone": "Timezone",
|
||||
"message": "Announcement message",
|
||||
"messagePlaceholder": "Optional custom message, e.g. Happy birthday {user}!"
|
||||
},
|
||||
"tempvoice": {
|
||||
"title": "Temp Voice",
|
||||
"description": "Members joining the hub channel get their own temporary voice channel.",
|
||||
"enabledLabel": "Temp voice enabled",
|
||||
"hubChannelId": "Hub channel ID",
|
||||
"categoryId": "Category ID for created channels",
|
||||
"defaultName": "Default channel name",
|
||||
"defaultLimit": "Default user limit",
|
||||
"defaultLimitHint": "Set to 0 for no limit."
|
||||
},
|
||||
"stats": {
|
||||
"title": "Server Stats",
|
||||
"description": "Auto-updating voice channels showing live server statistics.",
|
||||
"enabledLabel": "Server stats enabled",
|
||||
"membersChannelId": "Members channel ID",
|
||||
"membersTemplate": "Members template",
|
||||
"onlineChannelId": "Online channel ID",
|
||||
"onlineTemplate": "Online template",
|
||||
"boostsChannelId": "Boosts channel ID",
|
||||
"boostsTemplate": "Boosts template",
|
||||
"templateHint": "Use {count} as a placeholder for the live value."
|
||||
},
|
||||
"feeds": {
|
||||
"title": "Social Feeds",
|
||||
"description": "Post notifications when new content is published on Twitch, YouTube, RSS or Reddit.",
|
||||
"empty": "No feeds configured yet.",
|
||||
"addFeed": "Add feed",
|
||||
"type": "Feed type",
|
||||
"sourceId": "Source ID",
|
||||
"sourceIdPlaceholder": "Channel name, subreddit or feed URL",
|
||||
"channelId": "Discord channel ID",
|
||||
"rolePingId": "Role to ping",
|
||||
"template": "Message template",
|
||||
"templatePlaceholder": "Optional custom message template",
|
||||
"formIncomplete": "Please fill in the source and channel ID.",
|
||||
"confirmDelete": "Really delete this feed?"
|
||||
},
|
||||
"scheduler": {
|
||||
"createTitle": "Schedule a message",
|
||||
"createDescription": "Send a message once at a specific time or repeatedly on a cron schedule.",
|
||||
"channelId": "Channel ID",
|
||||
"rolePingId": "Role to ping",
|
||||
"cron": "Cron expression",
|
||||
"runAt": "Run at",
|
||||
"content": "Message content",
|
||||
"cronHint": "Set a cron expression for recurring messages, or a one-time date/time - not both.",
|
||||
"create": "Schedule message",
|
||||
"created": "Message scheduled.",
|
||||
"formIncomplete": "Please fill in the channel, content and either a cron expression or a date/time.",
|
||||
"confirmDelete": "Really delete this schedule?",
|
||||
"listTitle": "Scheduled messages",
|
||||
"listDescription": "Upcoming and recurring scheduled messages.",
|
||||
"empty": "No scheduled messages yet.",
|
||||
"noContent": "(embed only)"
|
||||
},
|
||||
"guildbackup": {
|
||||
"createTitle": "Create a backup",
|
||||
"createDescription": "Snapshots roles, channels and server settings for later restore.",
|
||||
"name": "Backup name",
|
||||
"namePlaceholder": "e.g. Before season 3 update",
|
||||
"create": "Create backup",
|
||||
"created": "Backup created.",
|
||||
"nameRequired": "A name is required.",
|
||||
"listTitle": "Backups",
|
||||
"listDescription": "Existing backups for this server.",
|
||||
"empty": "No backups yet.",
|
||||
"info": "Info",
|
||||
"infoUnavailable": "Backup details are unavailable.",
|
||||
"infoGuildName": "Server name",
|
||||
"infoRoles": "Roles",
|
||||
"infoChannels": "Channels",
|
||||
"download": "Download JSON",
|
||||
"restore": "Restore",
|
||||
"confirmRestoreStep1": "Restore this backup? Missing roles/channels will be added and overwrites applied best-effort. Existing channels will not be deleted.",
|
||||
"confirmRestoreStep2": "Final confirmation: restore this backup now? This cannot be undone.",
|
||||
"restoreQueued": "Restore queued - it will run in the background.",
|
||||
"confirmDelete": "Really delete this backup?",
|
||||
"ownerOnlyBadge": "Owner-only restore"
|
||||
},
|
||||
"commands": {
|
||||
"title": "Commands",
|
||||
"description": "Enable/disable individual slash commands and restrict them by role, channel or cooldown.",
|
||||
"searchPlaceholder": "Search commands…",
|
||||
"empty": "No commands match your search.",
|
||||
"cooldownSeconds": "Cooldown (seconds)",
|
||||
"allowedRoleIds": "Allowed role IDs",
|
||||
"deniedRoleIds": "Denied role IDs",
|
||||
"allowedChannelIds": "Allowed channel IDs",
|
||||
"deniedChannelIds": "Denied channel IDs",
|
||||
"idsPlaceholder": "One or more IDs, comma-separated",
|
||||
"reset": "Reset to default"
|
||||
}
|
||||
},
|
||||
"userMenu": {
|
||||
|
||||
Reference in New Issue
Block a user