262 lines
11 KiB
TypeScript
262 lines
11 KiB
TypeScript
import { TranslationSchema } from '../types';
|
||
|
||
/**
|
||
* English translations — the DEFAULT and FALLBACK locale.
|
||
* All keys MUST be present here. Other locales can omit keys to fallback to English.
|
||
*/
|
||
export const en: TranslationSchema = {
|
||
// ── Error Messages ──────────────────────────────────────
|
||
errors: {
|
||
E1001: {
|
||
userMessage: 'The user limit value is invalid.',
|
||
resolution: 'Please enter a number between 0 and 99. (0 = unlimited)',
|
||
},
|
||
E1002: {
|
||
userMessage: 'The channel name format is invalid.',
|
||
resolution: 'Please enter a valid channel name (max 100 characters).',
|
||
},
|
||
E1003: {
|
||
userMessage: 'You cannot perform this action on yourself.',
|
||
},
|
||
E1004: {
|
||
userMessage: 'The selected user is not in the voice channel.',
|
||
resolution: 'Make sure the user is currently in the channel before performing this action.',
|
||
},
|
||
E2001: {
|
||
userMessage: 'The bot does not have sufficient permissions to manage channels.',
|
||
resolution: 'Please ask a server administrator to grant the bot "Manage Channels" permission.',
|
||
},
|
||
E2002: {
|
||
userMessage: 'The bot does not have sufficient voice channel permissions.',
|
||
resolution: 'Please ask a server administrator to grant the bot "Manage Channels", "Manage Roles", and "Move Members" permissions.',
|
||
},
|
||
E2003: {
|
||
userMessage: 'You do not have permission to use this command.',
|
||
resolution: 'This command requires Administrator permission.',
|
||
},
|
||
E2004: {
|
||
userMessage: 'Only the channel owner can use these controls.',
|
||
},
|
||
E2005: {
|
||
userMessage: 'You must be in your active temporary voice channel to use this.',
|
||
resolution: 'Join your temporary voice channel and try again.',
|
||
},
|
||
E3001: {
|
||
userMessage: 'An internal error occurred while processing your request.',
|
||
resolution: 'Please try again in a moment. If the issue persists, contact the bot administrator.',
|
||
},
|
||
E3002: {
|
||
userMessage: 'An internal error occurred while processing your request.',
|
||
resolution: 'Please try again in a moment.',
|
||
},
|
||
E3003: {
|
||
userMessage: 'An error occurred while executing this command.',
|
||
resolution: 'Please try again. If the problem persists, contact the bot administrator.',
|
||
},
|
||
E3999: {
|
||
userMessage: 'An unexpected error occurred.',
|
||
resolution: 'Please try again later. If the problem continues, contact the bot administrator.',
|
||
},
|
||
E4001: {
|
||
userMessage: 'The action was rate-limited by Discord.',
|
||
resolution: 'Please wait a moment and try again.',
|
||
},
|
||
E4002: {
|
||
userMessage: 'Discord denied the action due to insufficient permissions.',
|
||
resolution: 'Please ask a server administrator to check the bot\'s role and channel permissions.',
|
||
},
|
||
E4003: {
|
||
userMessage: 'A temporary issue occurred with Discord.',
|
||
resolution: 'Please try again shortly. Check Discord\'s status at https://discordstatus.com if the issue persists.',
|
||
},
|
||
},
|
||
|
||
// ── Error Category Titles ───────────────────────────────
|
||
errorTitles: {
|
||
USER_INPUT: 'Please check your input',
|
||
PERMISSION: 'Insufficient permissions',
|
||
BOT_INTERNAL: 'Something went wrong',
|
||
DISCORD_API: 'Temporary issue',
|
||
},
|
||
|
||
// ── Error Embed Field Labels ────────────────────────────
|
||
errorFields: {
|
||
resolution: '💡 How to resolve',
|
||
},
|
||
|
||
// ── Voice Channel ───────────────────────────────────────
|
||
voice: {
|
||
channelReady: '{{owner}}, your temporary channel is ready! Use the dropdown menu below to manage it.',
|
||
defaultRoomName: "{{username}}'s Room",
|
||
controlPanel: {
|
||
placeholder: '⚙️ Manage Channel Settings',
|
||
rename: 'Rename Channel',
|
||
limit: 'Set User Limit',
|
||
lock: 'Lock / Unlock',
|
||
kick: 'Kick User',
|
||
ban: 'Ban / Hide User',
|
||
transfer: 'Transfer Ownership',
|
||
},
|
||
responses: {
|
||
channelLocked: 'Channel Locked! Only you and invited members can join.',
|
||
channelUnlocked: 'Channel Unlocked! Anyone can join now.',
|
||
channelRenamed: 'Channel renamed to **{{name}}**!',
|
||
limitSet: 'Channel limit set to **{{limit}}**!',
|
||
limitUnlimited: 'Unlimited',
|
||
kicked: 'Kicked {{user}} from the channel.',
|
||
banned: 'Banned and hidden channel from {{user}}.',
|
||
transferPrompt: 'Select who will become the new owner of this channel.',
|
||
transferDone: 'Ownership successfully transferred to {{user}}.',
|
||
banPrompt: 'Banning will make the channel invisible to them.',
|
||
},
|
||
},
|
||
|
||
// ── Commands ────────────────────────────────────────────
|
||
commands: {
|
||
voiceSetup: {
|
||
description: 'Setup a generator voice channel for temporary channels.',
|
||
setDescription: 'Set an existing voice channel as a Generator',
|
||
createDescription: 'Create a new voice channel and set it as a Generator',
|
||
channelOptionDescription: 'The voice channel to act as the Generator',
|
||
categoryOptionDescription: '(Optional) The category where temp channels will be created',
|
||
nameOptionDescription: 'The name of the new generator voice channel',
|
||
setSuccess: 'Successfully set up {{channel}} as a Voice Generator Channel!',
|
||
createSuccess: 'Successfully created and set up {{channel}} as a Voice Generator Channel!',
|
||
},
|
||
voiceConfig: {
|
||
description: 'Manage guild-specific settings for temporary voice channels.',
|
||
setNameTitle: 'Set Default Name Template',
|
||
setNameDesc: 'Set the default naming format for new temp channels. (Username placeholder: {{username}})',
|
||
setLimitTitle: 'Set Default User Limit',
|
||
setLimitDesc: 'Set the default user limit for new temp channels.',
|
||
statusTitle: 'Current Server Voice Settings',
|
||
templateLabel: 'Name Template',
|
||
limitLabel: 'Default User Limit',
|
||
setSuccess: 'Server temporary channel settings updated successfully.',
|
||
limitValue: '{{limit}} users (0 = unlimited)',
|
||
},
|
||
language: {
|
||
description: 'Set the language for the bot.',
|
||
scopeDescription: 'Apply to yourself or the entire server',
|
||
localeDescription: 'Language to use',
|
||
scopeUser: 'Just for me',
|
||
scopeServer: 'Entire server (Admin only)',
|
||
userSet: 'Your personal language has been set to **{{locale}}**.',
|
||
serverSet: 'Server language has been set to **{{locale}}**.',
|
||
serverPermissionDenied: 'Only server administrators can change the server language.',
|
||
},
|
||
permissionAudit: {
|
||
title: 'Bot Permission Audit Report',
|
||
channel: 'Channel',
|
||
noResults: 'No features to audit. The bot may not be configured yet.',
|
||
summaryLabel: 'Summary',
|
||
summaryOk: '✅ All checks passed. No issues found.',
|
||
summaryIssue: '❌ {{fail}} failure(s) · ⚠️ {{warn}} warning(s) detected.',
|
||
hierarchyWarning: "Bot role (pos: {{botPos}}) must be above '{{role}}' (pos: {{targetPos}}) to manage it.",
|
||
features: {
|
||
BASIC: 'Basic Bot Functionality',
|
||
VOICE_GLOBAL: 'Voice Channels (Global)',
|
||
VOICE_GENERATOR_CHANNEL: 'Voice Generator Channel',
|
||
VOICE_GENERATOR_CATEGORY: 'Voice Generator Category',
|
||
INVITE_TRACKING: 'Invite Tracking',
|
||
INVITE_ROLE_HIERARCHY: 'Invite Role Assignment (Hierarchy)',
|
||
MIMIC_WEBHOOK: 'Message Mimic (Webhook)',
|
||
},
|
||
},
|
||
setup: {
|
||
description: 'Run the setup wizard to configure the bot step by step.',
|
||
step0: {
|
||
title: '✨ Bot Setup Wizard',
|
||
desc: 'Welcome! This wizard will help you configure the following 4 features:\n\n1️⃣ **Language Settings**\n2️⃣ **Permission Check**\n3️⃣ **Audit Channel Setup**\n4️⃣ **Temporary Voice Channel Setup**',
|
||
startBtn: 'Start Setup'
|
||
},
|
||
step1: {
|
||
title: '1️⃣ Language Settings',
|
||
desc: 'Set the default language for the bot in this server. (Current: **{{locale}}**)',
|
||
placeholder: 'Select a language',
|
||
nextBtn: 'Next Step',
|
||
skipBtn: 'Skip'
|
||
},
|
||
step2: {
|
||
title: '2️⃣ Permission Check',
|
||
descOk: '✅ **All required permissions are granted.**',
|
||
descFail: '⚠️ **Some permissions are missing.**\nPlease check the results and grant the necessary permissions to the bot role.',
|
||
recheckBtn: 'Re-check',
|
||
nextBtn: 'Next Step'
|
||
},
|
||
step3: {
|
||
title: '3️⃣ Audit Channel Setup',
|
||
desc: 'Select a channel to receive bot events and error logs.',
|
||
placeholder: 'Select Audit Channel',
|
||
disableBtn: 'Disable Audit Logs',
|
||
nextBtn: 'Next Step'
|
||
},
|
||
step4: {
|
||
title: '3-1️⃣ Audit Log Categories',
|
||
desc: 'Select which log categories to receive. **Green** buttons are enabled, **Red** buttons are disabled.',
|
||
nextBtn: 'Next Step',
|
||
},
|
||
step5: {
|
||
title: '4️⃣ Temporary Voice Channel Setup',
|
||
desc: 'Select the "Generator Channel" for temporary voice channels.\nYou can choose an existing channel or have the bot **auto-create** a new category and channel.',
|
||
placeholder: 'Select Generator Channel',
|
||
autoBtn: '🚀 Auto Create',
|
||
skipBtn: 'Disable Temp Voice',
|
||
nextBtn: 'Finish Setup'
|
||
},
|
||
step6: {
|
||
title: '🎉 Setup Summary',
|
||
desc: '**1. Language**: {{lang}}\n**2. Audit Channel**: {{audit}}\n**3. Audit Categories**: {{categories}}\n**4. Temp Voice**: {{voice}}',
|
||
finishBtn: 'Done'
|
||
},
|
||
finished: '✅ The setup wizard has been finished.',
|
||
expired: '⏳ The session has expired. Please run `/setup` again.',
|
||
defaultCategoryName: 'Voice Channels',
|
||
defaultGeneratorName: '➕ Create Channel',
|
||
auditCategories: {
|
||
SYSTEM: 'System',
|
||
VOICE: 'Voice',
|
||
PERMISSION: 'Permission',
|
||
INVITE: 'Invite',
|
||
},
|
||
},
|
||
config: {
|
||
title: 'Feature Configuration',
|
||
noOptions: 'Please provide at least one option to configure.',
|
||
mimic: {
|
||
label: 'Mimic',
|
||
enabled: 'enabled',
|
||
disabled: 'disabled',
|
||
},
|
||
emoji: {
|
||
label: 'Big Emoji',
|
||
enabled: 'enabled',
|
||
disabled: 'disabled',
|
||
},
|
||
},
|
||
},
|
||
|
||
// ── Modals ──────────────────────────────────────────────
|
||
modals: {
|
||
renameTitle: 'Rename Voice Channel',
|
||
renameLabel: 'New Channel Name',
|
||
limitTitle: 'Set User Limit',
|
||
limitLabel: 'User Limit (0 for unlimited, 1-99)',
|
||
},
|
||
|
||
// ── Select Menu Placeholders ────────────────────────────
|
||
selects: {
|
||
kickUser: 'Select a user to kick',
|
||
banUser: 'Select a user to ban/hide',
|
||
transferOwner: 'Select a user to transfer ownership to',
|
||
},
|
||
|
||
// ── Presence (Bot Status) ──
|
||
presence: {
|
||
servers: 'Monitoring {{guildCount}} servers',
|
||
help: 'Check out the /help command',
|
||
managing: 'Managing Temp Voice Channels',
|
||
version: 'Kord v1.0.0',
|
||
},
|
||
};
|