- Added a rule to allow unused variables prefixed with an underscore in ESLint configuration. - Updated destructuring in leveling-form, logging-form, moderation-form, and welcome-form components to prefix unused variables with an underscore, improving clarity and adherence to ESLint rules. - Expanded German and English localization files with new moderation, auto-moderation, logging, welcome, verification, leveling, economy, and fun module settings for better user experience.
294 lines
13 KiB
JSON
294 lines
13 KiB
JSON
{
|
||
"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"
|
||
},
|
||
"nav": {
|
||
"dashboard": "Dashboard",
|
||
"overview": "Overview",
|
||
"settings": "Settings",
|
||
"modules": "Modules",
|
||
"access": "Dashboard access"
|
||
},
|
||
"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"
|
||
}
|
||
},
|
||
"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."
|
||
}
|
||
},
|
||
"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 (17–20 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.",
|
||
"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",
|
||
"mode.BUTTON": "Button",
|
||
"mode.CAPTCHA": "Captcha (WebUI)",
|
||
"failAction": "Action on failure",
|
||
"failAction.KICK": "Kick",
|
||
"failAction.BAN": "Ban",
|
||
"failAction.NONE": "None",
|
||
"channelId": "Verification channel ID",
|
||
"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": "One entry per line in the format id:multiplier, e.g. 123456789012345678:1.5",
|
||
"levelUpTitle": "Level-up message",
|
||
"levelUpMode": "Mode",
|
||
"mode.CHANNEL": "Channel",
|
||
"mode.DM": "Direct message",
|
||
"mode.OFF": "Off",
|
||
"levelUpChannelId": "Level-up channel ID",
|
||
"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."
|
||
}
|
||
},
|
||
"userMenu": {
|
||
"theme": "Theme",
|
||
"themeDark": "Dark",
|
||
"themeLight": "Light",
|
||
"logout": "Log out",
|
||
"loggingOut": "Logging out…"
|
||
},
|
||
"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."
|
||
}
|
||
}
|