Files
Nexumi/apps/webui/src/messages/en.json
TheOnlyMace b7cf505ca4 Update verification form localization keys for consistency
- Refactored localization keys in the verification form component to use pluralized keys for modes and fail actions, enhancing clarity and consistency across the application.
- Updated corresponding localization files in English and German to reflect the new key structure.
2026-07-22 21:35:37 +02:00

812 lines
30 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"save": "Save",
"saving": "Saving…",
"discard": "Discard",
"cancel": "Cancel",
"confirm": "Confirm",
"add": "Add",
"remove": "Remove",
"loading": "Loading…",
"yes": "Yes",
"no": "No",
"enabled": "Enabled",
"disabled": "Disabled",
"unsavedChanges": "You have unsaved changes",
"saveSuccess": "Changes saved",
"saveError": "Could not save changes",
"back": "Back",
"comingSoon": "Coming soon",
"close": "Close",
"optional": "Optional",
"searchSelect": "Search and select…",
"noResults": "No results",
"clearSelection": "Clear selection"
},
"nav": {
"dashboard": "Dashboard",
"overview": "Overview",
"settings": "Settings",
"modules": "Modules",
"access": "Dashboard access",
"commands": "Commands"
},
"moduleGroups": {
"moderation": "Moderation",
"engagement": "Engagement",
"utility": "Utility",
"community": "Community",
"integrations": "Integrations"
},
"modules": {
"moderation": {
"label": "Moderation",
"description": "Bans, warns, timeouts and the case system"
},
"automod": {
"label": "Auto-Moderation",
"description": "Spam, raid and nuke protection"
},
"logging": {
"label": "Logging",
"description": "Server event log channels"
},
"welcome": {
"label": "Welcome & Leave",
"description": "Join and leave messages, autoroles"
},
"verification": {
"label": "Verification",
"description": "Button and captcha verification"
},
"leveling": {
"label": "Leveling & XP",
"description": "Text and voice XP, level rewards"
},
"economy": {
"label": "Economy",
"description": "Currency, shop and games"
},
"fun": {
"label": "Fun & Games",
"description": "Mini games and media commands"
},
"giveaways": {
"label": "Giveaways",
"description": "Button-based giveaways"
},
"tickets": {
"label": "Tickets",
"description": "Support ticket panels and transcripts"
},
"selfroles": {
"label": "Self Roles",
"description": "Reaction, button and dropdown role panels"
},
"tags": {
"label": "Tags",
"description": "Custom commands and auto-responders"
},
"starboard": {
"label": "Starboard",
"description": "Highlight popular messages"
},
"suggestions": {
"label": "Suggestions",
"description": "Community suggestion voting"
},
"birthdays": {
"label": "Birthdays",
"description": "Birthday announcements and roles"
},
"tempvoice": {
"label": "Temp Voice",
"description": "Join-to-create voice channels"
},
"stats": {
"label": "Server Stats",
"description": "Auto-updating stat channels and invites"
},
"feeds": {
"label": "Social Feeds",
"description": "Twitch, YouTube, RSS and Reddit notifications"
},
"scheduler": {
"label": "Scheduler",
"description": "Scheduled and recurring announcements"
},
"guildbackup": {
"label": "Backups",
"description": "Server backup and restore"
}
},
"login": {
"title": "Nexumi",
"subtitle": "Sign in with Discord to manage your servers.",
"cta": "Login with Discord",
"footer": "By logging in you agree to the Nexumi Terms of Service and Privacy Policy.",
"errors": {
"access_denied": "You cancelled the Discord login.",
"invalid_request": "Invalid login request. Please try again.",
"invalid_state": "Your login session expired. Please try again.",
"oauth_failed": "Discord login failed. Please try again."
}
},
"dashboard": {
"guildList": {
"title": "Your servers",
"subtitle": "Select a server to manage, or invite Nexumi to a new one.",
"manage": "Manage",
"invite": "Invite",
"botMissing": "Not installed",
"empty": "No servers found. You need the Manage Server permission on a Discord server to appear here."
},
"overview": {
"title": "Overview",
"moduleStatusTitle": "Module status",
"moduleStatusEmpty": "No module data yet.",
"recentAuditTitle": "Recent dashboard activity",
"auditEmpty": "No dashboard changes yet.",
"auditPath": "Path",
"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": {
"general": {
"title": "General settings",
"description": "Language, timezone and the moderation module toggle for this server.",
"localeLabel": "Dashboard & bot language",
"localeHint": "Used for bot replies and dashboard defaults on this server.",
"timezoneLabel": "Timezone",
"timezoneHint": "IANA timezone identifier, e.g. Europe/Berlin or America/New_York.",
"moderationLabel": "Moderation module",
"moderationHint": "Enable moderation commands (ban, kick, warn, purge, …) on this server.",
"snipeLabel": "Snipe / Editsnipe",
"snipeHint": "Temporarily stores deleted/edited messages (off by default for privacy)."
}
},
"modulesPage": {
"title": "Modules",
"description": "Enable or disable individual Nexumi modules for this server.",
"configure": "Configure"
},
"access": {
"title": "Dashboard access",
"description": "Grant additional Discord roles access to specific dashboard sections, in addition to server administrators.",
"roleIdLabel": "Role ID",
"roleIdPlaceholder": "e.g. 123456789012345678",
"roleIdHint": "Right-click a role in Discord with Developer Mode enabled and choose \"Copy Role ID\".",
"modulesLabel": "Allowed modules",
"allModulesOption": "All modules",
"specificModulesOption": "Specific modules",
"addRule": "Add rule",
"removeRule": "Remove",
"noRules": "No additional access rules configured. Only server administrators can access the dashboard.",
"invalidRoleId": "Enter a valid Discord role ID (1720 digits)."
},
"modulePlaceholder": {
"title": "{module} settings",
"message": "Module settings arrive in a later phase.",
"backToModules": "Back to modules"
},
"modulePages": {
"moderation": {
"title": "Moderation",
"description": "Enable the moderation module and configure automatic escalation rules.",
"enabledLabel": "Moderation module enabled",
"enabledHint": "Enables ban, kick, warn, purge and the case system on this server.",
"escalationsTitle": "Escalation rules",
"escalationsDescription": "Automatic penalties once a member reaches a certain number of warnings.",
"noEscalations": "No escalation rules configured.",
"addEscalation": "Add rule",
"warnCount": "Warning count",
"action": "Action",
"actions": {
"TIMEOUT": "Timeout",
"KICK": "Kick",
"BAN": "Ban"
},
"durationMs": "Duration (ms)",
"reason": "Reason",
"reasonPlaceholder": "Optional default reason",
"casesTitle": "Cases",
"casesDescription": "List of the most recent moderation cases (read-only).",
"searchPlaceholder": "Search by user/moderator ID or reason",
"actionPlaceholder": "Filter by action, e.g. BAN",
"casesEmpty": "No cases found.",
"target": "Target",
"moderator": "Moderator",
"createdAt": "Created at",
"noReason": "No reason provided"
},
"automod": {
"title": "Auto-Moderation",
"description": "Base settings plus anti-raid and anti-nuke protection.",
"enabledLabel": "Auto-moderation enabled",
"enabledHint": "Enables all auto-moderation rules (spam, word filter, links, …) on this server.",
"antiRaidTitle": "Anti-Raid",
"antiRaidDescription": "Detects unusually fast join waves and automatically activates a lockdown.",
"antiRaidEnabled": "Anti-raid enabled",
"antiRaidJoinThreshold": "Join threshold",
"antiRaidWindowSeconds": "Time window (seconds)",
"antiRaidActionHint": "Currently implemented response: server lockdown.",
"antiNukeTitle": "Anti-Nuke",
"antiNukeDescription": "Protects against mass bans or mass channel deletions by compromised accounts.",
"antiNukeEnabled": "Anti-nuke enabled",
"antiNukeBanThreshold": "Ban threshold",
"antiNukeChannelThreshold": "Channel deletion threshold",
"antiNukeWindowSeconds": "Time window (seconds)",
"lockdownActive": "Lockdown active",
"lockdownActiveHint": "Automatically set when a raid is detected. Toggle off manually to end the lockdown."
},
"logging": {
"title": "Logging",
"description": "Log channels, ignore lists and the event-to-channel mapping.",
"enabledLabel": "Logging enabled",
"ignoreBotsLabel": "Ignore bot messages/actions",
"ignoredChannelsLabel": "Ignored channels",
"ignoredRolesLabel": "Ignored roles",
"idsPlaceholder": "Comma-separated IDs, e.g. 123456789012345678, 234567890123456789",
"idsHint": "Enter Discord IDs, comma-separated. Enable Developer Mode to copy IDs.",
"retentionLabel": "Retention (days)",
"retentionHint": "Delete cases and dashboard audit older than X days. 0 = keep forever.",
"channelsTitle": "Event-channel mapping",
"channelsDescription": "Assign a dedicated log channel for each event type.",
"channelsEmpty": "No event-channel mappings configured.",
"eventType": "Event type",
"channelId": "Channel ID",
"addMapping": "Add mapping"
},
"welcome": {
"welcomeTitle": "Welcome",
"welcomeDescription": "Message, channel and autoroles for new members.",
"welcomeEnabledLabel": "Welcome message enabled",
"welcomeChannelId": "Welcome channel ID",
"welcomeType": "Message type",
"type": {
"TEXT": "Text",
"EMBED": "Embed",
"IMAGE": "Image card"
},
"welcomeContent": "Message content",
"contentPlaceholder": "Welcome {user} to {server}!",
"placeholdersHint": "Available placeholders: {user}, {user.name}, {user.tag}, {user.id}, {server}, {memberCount}",
"welcomeEmbed": "Embed (JSON, optional)",
"welcomeDmEnabled": "Welcome DM enabled",
"dmContentPlaceholder": "Optional private message to new members",
"userAutoroles": "Autoroles for users",
"botAutoroles": "Autoroles for bots",
"imageTitle": "Image card: title",
"imageSubtitle": "Image card: subtitle",
"leaveTitle": "Leave",
"leaveDescription": "Message and channel when a member leaves the server.",
"leaveEnabledLabel": "Leave message enabled",
"leaveChannelId": "Leave channel ID",
"leaveContent": "Message content",
"leaveEmbed": "Embed (JSON, optional)"
},
"verification": {
"title": "Verification",
"description": "Mode, roles and requirements for member verification.",
"enabledLabel": "Verification enabled",
"mode": "Mode",
"modes": {
"BUTTON": "Button",
"CAPTCHA": "Captcha (WebUI)"
},
"failAction": "Action on failure",
"failActions": {
"KICK": "Kick",
"BAN": "Ban",
"NONE": "None"
},
"channelId": "Verification channel",
"verifiedRoleId": "Role after verification",
"unverifiedRoleId": "Role before verification",
"minAccountAgeDays": "Minimum account age (days)"
},
"leveling": {
"title": "Leveling & XP",
"description": "Text and voice XP rates, cooldowns and no-XP lists.",
"enabledLabel": "Leveling enabled",
"textXpMin": "Text XP (minimum)",
"textXpMax": "Text XP (maximum)",
"textCooldownSeconds": "Text XP cooldown (seconds)",
"voiceXpPerMinute": "Voice XP per minute",
"noXpChannels": "No-XP channels",
"noXpRoles": "No-XP roles",
"roleMultipliers": "Role multipliers",
"channelMultipliers": "Channel multipliers",
"multiplierHint": "Pick a role or channel and set a multiplier (e.g. 1.5).",
"multiplierValue": "Multiplier",
"addMultiplier": "Add multiplier",
"errors": {
"multiplierMissingId": "Every multiplier needs a role or channel.",
"multiplierInvalid": "Multipliers must be a positive number.",
"multiplierDuplicate": "Each role or channel may only appear once."
},
"levelUpTitle": "Level-up message",
"levelUpMode": "Mode",
"modes": {
"CHANNEL": "Channel",
"DM": "Direct message",
"OFF": "Off"
},
"levelUpChannelId": "Level-up channel",
"levelUpMessage": "Message content",
"stackRewards": "Stack role rewards",
"rankCardTitle": "Rank card",
"cardAccentColor": "Accent color",
"cardBackgroundColor": "Background color"
},
"economy": {
"title": "Economy",
"description": "Currency and amounts for the income commands.",
"enabledLabel": "Economy enabled",
"currencyName": "Currency name",
"currencySymbol": "Currency symbol",
"amountsTitle": "Amounts",
"dailyAmount": "Daily reward",
"weeklyAmount": "Weekly reward",
"workMin": "Work: minimum",
"workMax": "Work: maximum",
"workCooldownSeconds": "Work cooldown (seconds)",
"startingBalance": "Starting balance"
},
"fun": {
"title": "Fun & Games",
"description": "Mini games and media commands for this server.",
"enabledLabel": "Fun module enabled",
"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",
"modes": {
"CHANNEL": "Private channel",
"THREAD": "Private thread"
},
"categoryId": "Ticket category ID",
"logChannelId": "Log channel",
"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 roles",
"deniedRoleIds": "Denied roles",
"allowedChannelIds": "Allowed channels",
"deniedChannelIds": "Denied channels",
"idsPlaceholder": "One or more IDs, comma-separated",
"reset": "Reset to default",
"globalTitle": "Global command rules",
"globalDescription": "Channel whitelist and blacklist for all slash commands on this server. Empty whitelist = all channels (except blacklist). Per-command rules apply on top.",
"globalAllowedChannels": "Whitelist channels",
"globalDeniedChannels": "Blacklist channels",
"globalAllowedHint": "When set, commands can only be used in these channels.",
"globalDeniedHint": "Commands are always blocked in these channels.",
"channelSearchPlaceholder": "Search channels…",
"roleSearchPlaceholder": "Search roles…"
}
},
"userMenu": {
"theme": "Theme",
"themeDark": "Dark",
"themeLight": "Light",
"logout": "Log out",
"loggingOut": "Logging out…",
"ownerPanel": "Owner panel"
},
"owner": {
"nav": {
"title": "Owner",
"backToDashboard": "Back to dashboard",
"overview": "Overview",
"guilds": "Guilds",
"users": "User blacklist",
"flags": "Feature flags",
"premium": "Premium",
"presence": "Presence",
"team": "Team",
"jobs": "Jobs",
"changelog": "Changelog",
"audit": "Audit"
},
"common": {
"empty": "No entries.",
"noteOptional": "Note (optional)"
},
"overview": {
"title": "Owner overview",
"subtitle": "Global bot metrics and recent owner actions.",
"guilds": "Guilds",
"blacklistedUsers": "Blacklisted users",
"blacklistedGuilds": "Blacklisted guilds",
"maintenance": "Maintenance mode",
"uptime": "WebUI uptime",
"recentAudit": "Recent owner activity",
"emptyAudit": "No owner actions yet.",
"viewAudit": "Open audit",
"changelog": "Changelog",
"emptyChangelog": "No changelog entries yet.",
"manageChangelog": "Manage changelog"
},
"guilds": {
"title": "Guild management",
"subtitle": "Search guilds, blacklist them, or leave with the bot.",
"search": "Search guild ID…",
"blacklisted": "Blacklisted",
"blacklist": "Blacklist",
"unblacklist": "Remove blacklist",
"leave": "Leave guild",
"leaveConfirm": "Really remove the bot from this guild?"
},
"users": {
"title": "User blacklist",
"subtitle": "Globally blocked Discord users (bot ignores them everywhere).",
"userIdPlaceholder": "Discord user ID"
},
"flags": {
"title": "Feature flags",
"subtitle": "Control modules globally and configure rollouts.",
"keyPlaceholder": "Flag key (e.g. new.module)",
"rollout": "Rollout %"
},
"premium": {
"title": "Premium",
"subtitle": "Free/Premium tiers, limits, and manual assignment (no payments).",
"maxTags": "Max tags",
"maxFeeds": "Max feeds",
"maxBackups": "Max backups",
"feature": {
"tags": "Tags",
"feeds": "Feeds",
"guildbackup": "Backups"
},
"guildsTitle": "Guild assignments",
"usersTitle": "User assignments",
"guildIdPlaceholder": "Discord guild ID",
"userIdPlaceholder": "Discord user ID",
"expires": "Expires"
},
"presence": {
"title": "Bot presence",
"subtitle": "Status, activity, and maintenance mode.",
"status": "Status",
"activityType": "Activity type",
"activityText": "Activity text",
"rotating": "Rotating messages (one per line)",
"maintenanceMode": "Maintenance mode enabled",
"maintenanceMessage": "Maintenance message"
},
"team": {
"title": "Team",
"subtitle": "Additional owners/admins with graded permissions.",
"bootstrap": "Bootstrap owners (OWNER_USER_IDS)",
"noBootstrap": "No bootstrap owners set in OWNER_USER_IDS."
},
"jobs": {
"title": "Jobs & migrations",
"subtitle": "BullMQ queues and Prisma migration status.",
"queues": "Queues",
"migrations": "Migrations",
"retryFailed": "Retry failed"
},
"changelog": {
"title": "Changelog",
"subtitle": "Release notes for the dashboard.",
"version": "Version",
"titleField": "Title",
"body": "Body"
},
"audit": {
"title": "Owner audit",
"subtitle": "All owner actions in the global audit log."
}
},
"serverSwitcher": {
"switchServer": "Switch server",
"allServers": "All servers",
"noOtherServers": "No other manageable servers"
},
"errors": {
"unauthorized": "Please log in to continue.",
"forbidden": "You do not have access to this server.",
"notFound": "Not found.",
"generic": "Something went wrong. Please try again."
},
"site": {
"nav": {
"status": "Status",
"invite": "Invite",
"support": "Support",
"login": "Log in",
"dashboard": "Dashboard",
"theme": "Theme"
},
"footer": {
"status": "Status",
"impressum": "Legal notice",
"privacy": "Privacy",
"terms": "Terms",
"dashboard": "Dashboard"
}
},
"landing": {
"hero": {
"subtitle": "Discord bot with moderation, community, and integration modules plus a web dashboard.",
"invite": "Invite bot",
"login": "Open dashboard",
"dashboard": "Open dashboard",
"support": "Support server"
},
"stats": {
"guilds": "Servers",
"users": "Users (approx.)"
},
"features": {
"title": "Modules",
"subtitle": "Features Nexumi provides per server."
}
},
"status": {
"title": "Status",
"subtitle": "Availability, shard status, and recent notices.",
"overall": {
"operational": "Operational",
"maintenance": "Maintenance",
"degraded": "Degraded"
},
"latency": "API latency",
"guilds": "Servers",
"uptime": "Bot uptime",
"shardsTitle": "Shards",
"shardsEmpty": "No shard data from the bot (Redis bot:status missing or expired).",
"shardLabel": "Shard {id}",
"shardStatus": "Status",
"updatesTitle": "Updates & incidents",
"updatesEmpty": "No entries yet.",
"incident": "Incident"
},
"search": {
"title": "Search",
"placeholder": "Search pages, commands, or settings…",
"empty": "No results",
"openNav": "Open navigation",
"groups": {
"pages": "Pages",
"commands": "Commands",
"settings": "Settings"
}
}
}