Kord/src/i18n/locales/en.ts

263 lines
11 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

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',
BOOT: 'Boot',
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',
},
};