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!', }, 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.', }, }, // ── 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', }, };