Files
Vocard/langs/UA.json
Choco b6a61cbfb5 Expand loop translations and rename max_history
Replace the single "loop" translation with three explicit keys ("loopOff", "loopTrack", "loopQueue") across all language files to support distinct loop modes. Also standardize the settings key from "max-history" to "max_history" and update main.py to read LOG_SETTINGS.get("max_history", 30) for the TimedRotatingFileHandler backupCount. Files changed: langs/*.json, main.py, settings Example.json.
2026-05-09 12:30:08 +08:00

267 lines
18 KiB
JSON
Raw Permalink 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": {
"errors": {
"unknown": "⚠️ Щось пішло не так під час виконання команди! Будь ласка, спробуйте пізніше або приєднайтеся до нашого сервера Discord для отримання додаткової підтримки.",
"missingIntents": "Вибачте, але цю команду не можна виконати, оскільки у бота відсутній необхідний запит на інтенцію: `({0})`."
},
"status": {
"enabled": "вкл",
"disabled": "викл",
"live": "Прямий ефір"
}
},
"player": {
"errors": {
"nodeReconnect": "Будь ласка, спробуйте знову! Після перепідключення вузла.",
"noPlaySource": "Неможливо знайти робочі джерела!",
"noPlayer": "На цьому сервері не знайдено жодного активного плеєра.",
"noTrackPlaying": "Зараз немає пісень, які грають.",
"noTrackFound": "Пісні з таким запитом не знайдено! Будь ласка, вкажіть дійсне посилання."
},
"dropdown": {
"trackSelect": "Виберіть пісню для переходу ...",
"filterSelect": "Виберіть фільтр для застосування ..."
},
"buttons": {
"back": "Назад",
"pause": "Призупинити",
"resume": "Продовжити",
"skip": "Скіпнути трек",
"leave": "СТОП",
"loopOff": "Вимкнути",
"loopTrack": "Трек",
"loopQueue": "Черга",
"volumeUp": "Гучність +",
"volumeDown": "Гучність -",
"volumeMute": "Вимкнути звук",
"volumeUnmute": "Увімкнути звук",
"autoPlay": "Autoplay",
"shuffle": "Перемішати",
"forward": "Вперед",
"rewind": "Назад",
"lyrics": "Тексти пісень"
},
"playback": {
"nowplayingDesc": "**Зараз грає:**\n```{0}```",
"nowplayingField": "Наступне:",
"nowplayingLink": "Слухати на {0}",
"playlistLoad": "🎶 Додано плейлист **{0}** з `{1}` піснями в чергу.",
"trackLoad": "Додано **[{0}](<{1}>)** від **{2}** (`{3}`) для початку програвання.\n",
"trackLoadPos": "Додано **[{0}](<{1}>)** від **{2}** (`{3}`) у чергу на позицію **{4}**\n"
},
"controls": {
"pause": {
"error": "Плеєр уже на паузі.",
"vote": "{0} проголосував за паузу пісні. [{1}/{2}]",
"success": "`{0}` Поставив плеєр на паузу."
},
"resume": {
"error": "Плеєр не на паузі.",
"vote": "{0} проголосував за продовження пісні. [{1}/{2}]",
"success": "`{0}` Прибрав плеєр із паузи."
},
"shuffle": {
"error": "Додати більше пісень у чергу перед перемішуванням.",
"vote": "{0} проголосував за перемішування черги. [{1}/{2}]",
"success": "Черга перемішана."
},
"skip": {
"error": "Немає пісень для пропуску.",
"vote": "{0} проголосував за пропуск пісні. [{1}/{2}]",
"success": "`{0}` пропустив пісню."
},
"back": {
"vote": "{0} проголосував за повернення до попередньої пісні. [{1}/{2}]",
"success": "`{0}` повернувся до попередньої пісні."
},
"leave": {
"vote": "{0} проголосував за зупинку плеєра. [{1}/{2}]",
"success": "`{0}` зупинив плеєр."
},
"seek": "Встановити плеєр на **{0}**",
"repeat": "Режим циклу встановлено на `{0}`",
"forward": "Перемотати плеєр вперед на **{0}**",
"rewind": "Перемотати плеєр назад на **{0}**",
"replay": "Повторення поточної пісні.",
"autoplay": "Режим autoplay встановлено на **{0}**"
}
},
"voice": {
"connection": {
"noChannel": "Немає голосового каналу для підключення. Будь ласка, вкажіть або приєднайтеся до одного.",
"alreadyConnected": "Уже підключений до голосового каналу.",
"noPermission": "Вибачте! У мене немає дозволу на підключення або розмову у вашому голосовому каналі.",
"notInChannel": "{0}, для використання голосових команд ви маєте перебувати в {1}. Будь ласка, перезайдіть, якщо ви вже в голосі!",
"connect": "Підключено до {0}"
},
"stageChannel": {
"setAnnounceTemplate": "Готово! Відтепер статус голосу, як той, в якому ви зараз перебуваєте, буде називатися відповідно до вашого шаблону. Ви повинні побачити оновлення через кілька секунд."
}
},
"permissions": {
"noCreatePermission": "Вибачте! У мене немає прав для створення каналу запитів на пісні.",
"missingPosition": "Тільки DJ або адміністратори можуть змінювати позицію.",
"missingMode": "Тільки DJ або адміністратори можуть перемкнути режим циклу.",
"missingQueue": "Тільки DJ або адміністратори можуть видаляти треки з черги.",
"missingAutoPlay": "Тільки DJ або адміністратори можуть вмикати або вимикати режим autoplay!",
"missingFunction": "Тільки DJ або адміністратори можуть використовувати цю функцію.",
"notDj": "Ви не DJ. Поточний DJ: {0}.",
"djToSelf": "Ви не можете передати роль DJ собі або боту.",
"djNotInChannel": "`{0}` не знаходиться в голосовому каналі.",
"djSwapped": "Ви передали роль DJ `{0}`."
},
"settings": {
"actions": {
"languageNotFound": "Мовний пакет не знайдено! Будь ласка, виберіть наявний мовний пакет.",
"languageChanged": "Успішно змінено на мовний пакет `{0}`.",
"prefixSet": "Готово! Мій префікс на вашому сервері тепер `{0}`. Спробуйте запустити `{1}ping`, щоб перевірити його.",
"djSet": "Встановити роль DJ {0}.",
"queueModeSet": "Встановити режим черги на `{0}`.",
"mode247": "Тепер у вас `{0}` режим 24/7.",
"bypassVote": "Тепер у вас `{0}` система голосування.",
"volumeSet": "Встановити гучність на `{0}`%",
"controllerToggled": "Тепер у вас `{0}` контролер музики.",
"duplicateTrackToggled": "Тепер у вас `{0}` запобігання дублюванню треку в черзі.",
"controllerMsgToggled": "Тепер у вас `{0}` повідомлення від контролера музики.",
"silentMsgToggled": "У вас {0} тихих повідомлень.",
"resetDone": "`{0}` встановлено на значення за замовчуванням сервера.",
"resetNotFound": "Неправильна назва налаштування. Будь ласка, використовуйте одне з наведених нижче значень: {0}"
},
"menu": "Налаштування сервера | {0}",
"basic": {
"title": "❤️ Основна інформація:",
"value": "```Префікс: {0}\nМова: {1}\nУвімкнути контролер музики: {2}\nDJ роль: {3}\nОбхід голосування: {4}\n24/7: {5}\nГромкість за замовчуванням: {6}%\nЧас програвання: {7}```"
},
"queue": {
"title": "🔗 Інформація про чергу:",
"value": "```Режим черги: {0}\nМаксимальна кількість пісень: {1}\nДозволити дублювання треків: {2}```"
},
"voice": {
"title": "🎤 Інформація про стан голосу:"
},
"permissions": {
"title": "✨ Права:",
"value": "```{0} Адміністратор\n{1} Керування_Сервером\n{2} Керування_Каналом\n{3} Керування_Сообщениями```"
}
},
"ping": {
"title1": "Інформація про бота:",
"title2": "Інформація про плеєр:",
"field1": "````ID Шарда: {0}/{1}\nЗатримка Шарда: {2:.3f}s {3}\nРегіон: {4}````",
"field2": "```Вузол: {0} - {1:.3f}s\nГравці: {2}\nРегіон Голосу: {3}```"
},
"effects": {
"added": "Застосуйте ефект `{0}` фільтр.",
"cleared": "Звукові ефекти були очищені!",
"tagInUse": "Цей звуковий ефект уже використовується! Будь ласка, використовуйте /cleareffect <Тег>, щоб видалити його."
},
"playlist": {
"view": {
"title": "Усі плейлисти користувача {0}",
"headers": "ID:,Час:,Назва:,Треки:",
"footer": "Введите /playlist play [плейлист], чтобы добавить плейлист в очередь.",
"detailTitle": "Перегляд плейлистів",
"detailDesc": "```Ім'я: {0} [{1}]\nУсього треків: {2}\nВласник: {3}\nТип: {4}\n```",
"permsValue": "📖 Читання: ✓ ✍🏽 Запис: {0} 🗑️ Видалення: {1}",
"permsValue2": "📖 Читання: {0}",
"trackList": "Треки",
"footer2": "Загальна тривалість: {0}",
"playlistSelect": "Виберіть плейлист для перегляду ..."
},
"errors": {
"notFound": "Плейлист [`{0}`] не знайдено. Введіть /playlist view, щоб подивитися всі ваші плейлисти.",
"noAccess": "Вибачте! У вас немає доступу до цього плейлиста!",
"noTrack": "Вибачте! У плейлисті [`{0}`] немає треків.",
"notAllowed": "Ця команда не дозволена для пов'язаних і загальних плейлистів.",
"nameOverLimit": "Вибачте! Ім'я плейлиста не може перевищувати 10 символів.",
"sameName": "Вибачте! Це ім'я не може збігатися з вашим новим ім'ям.",
"deleteDefault": "Ви не можете видалити плейлист за замовчуванням.",
"limitReached": "Ви не можете створювати більше `{0}` плейлистів!",
"exists": "Плейлист [`{0}`] вже існує.",
"invalidUrl": "Будь ласка, введіть дійсне посилання на публічний плейлист.",
"trackLimitReached": "Ви досягли ліміту! Ви можете додати тільки `{0}` пісень до свого плейлиста.",
"playlistLinkNotAllowed": "Вам не дозволено використовувати посилання на плейлист.",
"streamNotAllowed": "Вам не дозволено додавати потокові відео у свій плейлист.",
"positionNotFound": "Не вдається знайти позицію `{0}` у вашому плейлисті [`{1}`]!",
"streaming": "Вам не дозволено додавати потокові відео в плейлист!",
"track": "Сталася помилка під час додавання треків у плейлист!",
"trackLimited": "Ви досягли ліміту! Ви можете додати тільки {0} пісні до свого плейлиста.",
"trackRepeated": "Такий самий трек уже є у вашому плейлисті!"
},
"actions": {
"play": "Додано плейлист [`{0}`] з `{1}` піснями в чергу.",
"removed": "Ви видалили плейлист [`{0}`].",
"created": "Ви створили плейлист `{0}`. Введіть /playlist view для отримання додаткової інформації.",
"renamed": "Ви перейменували `{0}` на `{1}`.",
"trackRemoved": "👋 Видалено **{0}** з плейлиста {1} [`{2}`].",
"cleared": "Ви успішно очистили свій плейлист [`{0}`].",
"trackAdded": "❤️ Додано **{0}** до плейлиста користувача {1} [`{2}`]!"
},
"sharing": {
"sendErrorPlayer": "Вибачте! Ви не можете надіслати запрошення самому собі.",
"sendErrorBot": "Вибачте! Ви не можете надіслати запрошення боту.",
"belongs": "Вибачте! Цей плейлист належить <@{0}>.",
"alreadyShared": "Вибачте! Цим плейлистом уже поділилися з {0}.",
"alreadySent": "Вибачте! Ви вже надіслали запрошення раніше.",
"noAccount": "{0} не створив обліковий запис плейлиста.",
"invitationSent": "Запрошення надіслано {0}."
},
"inbox": {
"full": "Вибачте! Поштова скринька {0} переповнена.",
"noMessages": "У вашій поштовій скриньці немає повідомлень."
}
},
"search": {
"noLinkSupport": "Команда пошуку не підтримує посилання!",
"title": "Пошук: {0}",
"desc": "➥ Платформа: {0} **{1}**\n➥ Результати: **{2}**\n\n{3}",
"wait": "Виберіть пісню, яку хочете додати в чергу.",
"success": "Пісню додано в чергу."
},
"voting": {
"voted": "Ви проголосували!"
},
"time": {
"formatError": "Неправильний формат часу. Приклад: 2:42",
"invalidStartTime": "Недійснений час початку! Час має бути в межах `00:00` та `{0}`.",
"invalidEndTime": "Недійснений час закінчення! Час має бути в межах `00:00` та `{0}`."
},
"lyrics": {
"notFound": "Текст пісні не знайдено. Введіть /lyrics <Назва пісні> <Автор> для пошуку тексту."
},
"queue": {
"management": {
"title": "Наступний у черзі:",
"cleared": "Очищено всі треки в `{0}`",
"removed": "Видалено `{0}` треків із черги.",
"swapped": "Треки `{0}` і `{1}` обміняні місцями",
"moved": "Трек `{0}` зміщений на `{1}`"
},
"view": {
"historyTitle": "Історія черги:",
"title": "Поточна черга",
"desc": "**Заразом грає: [*посилання*]({0}) ⮯**\n{1}"
},
"errors": {
"queueFull": "Вибачте, ви досягли максимальної кількості `{0}` треків у черзі!",
"outOfList": "Будь ласка, надайте дійсний індекс треку!",
"duplicateTrack": "Вибачте, цей трек уже є в черзі."
}
},
"songRequest": {
"channelCreated": "Канал для запитів пісень ({0}) створено! Ви можете почати запитувати будь-яку пісню за назвою або URL у цьому каналі без необхідності використовувати префікс бота."
},
"pagination": {
"prev": "Назад",
"next": "Далі",
"play": "Грати",
"share": "Поділитися",
"export": "Експортувати",
"delete": "Видалити",
"page": {
"title": "Введіть номер сторінки",
"field": "Номер сторінки"
}
}
}