Various fixes and English translation!

This commit is contained in:
Jonny_Bro (Nikita) 2023-06-06 22:48:46 +05:00
parent b247700cad
commit 5c4f276400
104 changed files with 831 additions and 876 deletions

View file

@ -11,8 +11,8 @@ class Number extends BaseCommand {
super({
command: new SlashCommandBuilder()
.setName("number")
.setDescription(client.translate("economy/number:DESCRIPTION"))
.setDescriptionLocalizations({ "uk": client.translate("economy/number:DESCRIPTION", null, "uk-UA") })
.setDescription(client.translate("fun/number:DESCRIPTION"))
.setDescriptionLocalizations({ "uk": client.translate("fun/number:DESCRIPTION", null, "uk-UA") })
.setDMPermission(false),
aliases: [],
dirname: __dirname,
@ -33,12 +33,12 @@ class Number extends BaseCommand {
* @param {Object} data
*/
async execute(client, interaction, data) {
if (currentGames[interaction.guildId]) return interaction.error("economy/number:GAME_RUNNING");
if (currentGames[interaction.guildId]) return interaction.error("fun/number:GAME_RUNNING");
const participants = [],
number = client.functions.randomNum(1000, 5000);
await interaction.replyT("economy/number:GAME_START");
await interaction.replyT("fun/number:GAME_START");
const gameCreatedAt = Date.now();
@ -59,7 +59,7 @@ class Number extends BaseCommand {
if (parsedNumber === number) {
const time = client.functions.convertTime(client, gameCreatedAt, false, false, data.guildData.language);
interaction.channel.send({
content: interaction.translate("economy/number:GAME_STATS", {
content: interaction.translate("fun/number:GAME_STATS", {
winner: msg.author.toString(),
number,
time,
@ -72,7 +72,7 @@ class Number extends BaseCommand {
const won = 100 * (participants.length * 0.5);
interaction.channel.send({
content: interaction.translate("economy/number:WON", {
content: interaction.translate("fun/number:WON", {
winner: msg.author.username,
credits: `**${won}** ${client.functions.getNoun(won, interaction.translate("misc:NOUNS:CREDIT:1"), interaction.translate("misc:NOUNS:CREDIT:2"), interaction.translate("misc:NOUNS:CREDIT:5"))}`,
}),
@ -99,17 +99,17 @@ class Number extends BaseCommand {
}
if (parseInt(msg.content) < number) msg.reply({
content: interaction.translate("economy/number:TOO_BIG", { user: msg.author.toString(), number: parsedNumber }),
content: interaction.translate("fun/number:TOO_BIG", { user: msg.author.toString(), number: parsedNumber }),
});
if (parseInt(msg.content) > number) msg.reply({
content: interaction.translate("economy/number:TOO_SMALL", { user: msg.author.toString(), number: parsedNumber }),
content: interaction.translate("fun/number:TOO_SMALL", { user: msg.author.toString(), number: parsedNumber }),
});
});
collector.on("end", (_, reason) => {
delete currentGames[interaction.guildId];
if (reason === "time") return interaction.editReply({ content: interaction.translate("economy/number:DEFEAT", { number }) });
else if (reason === "force") return interaction.editReply({ content: interaction.translate("misc:FORCE_STOP", { user: interaction.member.toString() }) });
if (reason === "time") return interaction.editReply({ content: interaction.translate("fun/number:DEFEAT", { number }) });
else if (reason === "force") return interaction.editReply({ content: interaction.translate("misc:FORCE_STOP", { user: interaction.member.toString(), number }) });
});
}
}

View file

@ -11,8 +11,8 @@ class TicTacToe extends BaseCommand {
super({
command: new SlashCommandBuilder()
.setName("tictactoe")
.setDescription(client.translate("economy/tictactoe:DESCRIPTION"))
.setDescriptionLocalizations({ "uk": client.translate("economy/tictactoe:DESCRIPTION", null, "uk-UA") })
.setDescription(client.translate("fun/tictactoe:DESCRIPTION"))
.setDescriptionLocalizations({ "uk": client.translate("fun/tictactoe:DESCRIPTION", null, "uk-UA") })
.setDMPermission(false)
.addUserOption(option => option.setName("user")
.setDescription(client.translate("common:USER"))

View file

@ -62,7 +62,7 @@ class Remindme extends BaseCommand {
interaction.success("general/remindme:SAVED", {
message,
time: moment(rData.createdAt).locale(interaction.guild.data.language).format("dddd, Do MMMM YYYY, HH:mm:ss"),
time: moment(rData.sendAt).locale(interaction.guild.data.language).format("dddd, Do MMMM YYYY, HH:mm:ss"),
}, { edit: true });
}
}

View file

@ -1,9 +1,7 @@
const { PermissionsBitField, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js");
const BaseEvent = require("../base/BaseEvent"),
xpCooldown = {},
usersMap = new Map(),
messageLimit = 10,
timeDifferenceMs = 5000;
const BaseEvent = require("../base/BaseEvent");
const xpCooldown = {};
class MessageCreate extends BaseEvent {
constructor() {
@ -128,49 +126,6 @@ class MessageCreate extends BaseEvent {
});
}
if (data.guildData.plugins.automod.enabled)
if (usersMap.has(message.author.id)) {
let msgCount = userData.msgCount;
const userData = usersMap.get(message.author.id),
{ lastMessage, timer } = userData,
difference = message.createdTimestamp - lastMessage.createdTimestamp;
if (difference > timeDifferenceMs) {
clearTimeout(timer);
userData.msgCount = 1;
userData.lastMessage = message;
userData.timer = setTimeout(() => {
usersMap.delete(message.author.id);
}, 1000);
usersMap.set(message.author.id, userData);
} else {
++msgCount;
if (parseInt(msgCount) === messageLimit) {
message.replyT("administration/automod:");
let messages = await message.channel.messages.fetch({
limit: messageLimit,
});
messages = messages.filter(m => m.author.id === message.user.id);
message.channel.bulkDelete(messages.filter(m => !m.pinned), true);
} else {
userData.msgCount = msgCount;
usersMap.set(message.author.id, userData);
}
}
} else {
const fn = setTimeout(() => {
usersMap.delete(message.author.id);
}, 1000);
usersMap.set(message.author.id, {
msgCount: 1,
lastMessage: message,
timer: fn,
});
}
return;
}
}

View file

@ -29,19 +29,19 @@ async function tictactoe(interaction, options = {}) {
if (!opponent)
return interaction.reply({
content: interaction.translate("economy/tictactoe:NO_USER"),
content: interaction.translate("fun/tictactoe:NO_USER"),
ephemeral: true,
});
if (opponent.bot)
return interaction.reply({
content: interaction.translate("economy/tictactoe:BOT_USER"),
content: interaction.translate("fun/tictactoe:BOT_USER"),
ephemeral: true,
});
if (opponent.id == (interaction.user ? interaction.user : interaction.author).id)
return interaction.reply({
content: interaction.translate("economy/tictactoe:YOURSELF"),
content: interaction.translate("fun/tictactoe:YOURSELF"),
ephemeral: true,
});
} else if (!interaction.commandId) {
@ -49,25 +49,25 @@ async function tictactoe(interaction, options = {}) {
if (!opponent)
return interaction.reply({
content: interaction.translate("economy/tictactoe:NO_USER"),
content: interaction.translate("fun/tictactoe:NO_USER"),
});
if (opponent.bot)
return interaction.reply({
content: interaction.translate("economy/tictactoe:BOT_USER"),
content: interaction.translate("fun/tictactoe:BOT_USER"),
ephemeral: true,
});
if (opponent.id === interaction.member.id)
return interaction.reply({
content: interaction.translate("economy/tictactoe:YOURSELF"),
content: interaction.translate("fun/tictactoe:YOURSELF"),
});
}
const foot = options.embedFoot ? { text: options.embedFoot } : { text: "Удачи =)" };
const acceptEmbed = new EmbedBuilder()
.setTitle(interaction.translate("economy/tictactoe:REQUEST_WAIT", {
.setTitle(interaction.translate("fun/tictactoe:REQUEST_WAIT", {
user: opponent.tag,
}))
.setAuthor({
@ -95,13 +95,13 @@ async function tictactoe(interaction, options = {}) {
let m;
if (interaction.commandId) m = await interaction.reply({
content: interaction.translate("economy/tictactoe:INVITE_USER", {
content: interaction.translate("fun/tictactoe:INVITE_USER", {
opponent: opponent.id,
}),
embeds: [acceptEmbed],
components: [accep],
}); else if (!interaction.commandId) m = await interaction.reply({
content: interaction.translate("economy/tictactoe:INVITE_USER", {
content: interaction.translate("fun/tictactoe:INVITE_USER", {
opponent: opponent.id,
}),
embeds: [acceptEmbed],
@ -115,7 +115,7 @@ async function tictactoe(interaction, options = {}) {
collector.on("collect", async button => {
if (button.user.id !== opponent.id)
return button.reply({
content: interaction.translate("economy/tictactoe:REQUEST_SEND", {
content: interaction.translate("fun/tictactoe:REQUEST_SEND", {
opponent: opponent.id,
}),
ephemeral: true,
@ -188,7 +188,7 @@ async function tictactoe(interaction, options = {}) {
};
const epm = new EmbedBuilder()
.setTitle(interaction.translate("economy/tictactoe:DESCRIPTION"))
.setTitle(interaction.translate("fun/tictactoe:DESCRIPTION"))
.setColor(options.embedColor || "#075FFF")
.setFooter(foot)
.setTimestamp();
@ -197,7 +197,7 @@ async function tictactoe(interaction, options = {}) {
if (interaction.commandId) msg = await interaction.editReply({
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WAITING", {
interaction.translate("fun/tictactoe:WAITING", {
user: Args.userid,
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -206,7 +206,7 @@ async function tictactoe(interaction, options = {}) {
}); else if (!interaction.commandId) msg = await button.message.edit({
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WAITING", {
interaction.translate("fun/tictactoe:WAITING", {
user: Args.userid,
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -332,7 +332,7 @@ async function tictactoe(interaction, options = {}) {
if (options.resultBtn === true)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -340,7 +340,7 @@ async function tictactoe(interaction, options = {}) {
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WON", {
interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -353,14 +353,14 @@ async function tictactoe(interaction, options = {}) {
else if (!options.resultBtn || options.resultBtn === false)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
embeds: [
epm.setDescription(
`${interaction.translate("economy/tictactoe:WON", {
`${interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
})}\n\`\`\`\n${Args.a1.emoji
@ -401,14 +401,14 @@ async function tictactoe(interaction, options = {}) {
if (options.resultBtn === true)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
components: buttons,
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WON", {
interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -421,14 +421,14 @@ async function tictactoe(interaction, options = {}) {
else if (!options.resultBtn || options.resultBtn === false)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
embeds: [
epm.setDescription(
`${interaction.translate("economy/tictactoe:WON", {
`${interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
})}\n\`\`\`\n${Args.a1.emoji
@ -520,14 +520,14 @@ async function tictactoe(interaction, options = {}) {
if (options.resultBtn === true)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
components: buttons,
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WON", {
interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -540,13 +540,13 @@ async function tictactoe(interaction, options = {}) {
else if (!options.resultBtn || options.resultBtn === false)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
embeds: [
epm.setDescription(
`${interaction.translate("economy/tictactoe:WON", {
`${interaction.translate("fun/tictactoe:WON", {
winner: fighters[1],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
})}\n\`\`\`\n${Args.a1.emoji
@ -587,14 +587,14 @@ async function tictactoe(interaction, options = {}) {
if (options.resultBtn === true)
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
components: buttons,
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WON", {
interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
@ -607,13 +607,13 @@ async function tictactoe(interaction, options = {}) {
else
return m
.edit({
content: interaction.translate("economy/tictactoe:WON", {
content: interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
}),
embeds: [
epm.setDescription(
`${interaction.translate("economy/tictactoe:WON", {
`${interaction.translate("fun/tictactoe:WON", {
winner: fighters[0],
emoji: client.emojis.cache.get(o_emoji) || "⭕",
})}\n\`\`\`\n${Args.a1.emoji
@ -652,7 +652,7 @@ async function tictactoe(interaction, options = {}) {
content: `<@${Args.userid}>`,
embeds: [
epm.setDescription(
interaction.translate("economy/tictactoe:WAITING", {
interaction.translate("fun/tictactoe:WAITING", {
user: Args.userid,
emoji: Args.user == 0 ? `${client.emojis.cache.get(o_emoji) || "⭕"}` : `${client.emojis.cache.get(x_emoji) || "❌"}`,
}),
@ -669,7 +669,7 @@ async function tictactoe(interaction, options = {}) {
collector.on("collect", b => {
if (b.user.id !== Args.userid) {
b.reply({
content: interaction.translate("economy/tictactoe:CANT_PLAY"),
content: interaction.translate("fun/tictactoe:CANT_PLAY"),
ephemeral: true,
});
@ -765,8 +765,8 @@ async function tictactoe(interaction, options = {}) {
if (options.resultBtn === true)
return m
.edit({
content: interaction.translate("economy/tictactoe:TIE"),
embeds: [epm.setDescription(interaction.translate("economy/tictactoe:TIE_DESC"))],
content: interaction.translate("fun/tictactoe:TIE"),
embeds: [epm.setDescription(interaction.translate("fun/tictactoe:TIE_DESC"))],
})
.then(m => {
m.react(dashmoji);
@ -774,10 +774,10 @@ async function tictactoe(interaction, options = {}) {
else
return m
.edit({
content: interaction.translate("economy/tictactoe:TIE"),
content: interaction.translate("fun/tictactoe:TIE"),
embeds: [
epm.setDescription(
`${interaction.translate("economy/tictactoe:TIE_DESC")}!\n\`\`\`\n${Args.a1.emoji
`${interaction.translate("fun/tictactoe:TIE_DESC")}!\n\`\`\`\n${Args.a1.emoji
.replace(o_emoji, "⭕")
.replace(x_emoji, "❌")} | ${Args.a2.emoji
.replace(o_emoji, "⭕")
@ -816,7 +816,7 @@ async function tictactoe(interaction, options = {}) {
collector.on("end", (collected, reason) => {
if (collected.size === 0 && reason == "time")
m.edit({
content: interaction.translate("economy/tictactoe:NO_ANSWER", {
content: interaction.translate("fun/tictactoe:NO_ANSWER", {
user: Args.userid,
}),
components: [],
@ -829,7 +829,7 @@ async function tictactoe(interaction, options = {}) {
collector.on("end", (_, reason) => {
if (reason == "time") {
const embed = new EmbedBuilder()
.setTitle(interaction.translate("economy/tictactoe:NO_ANSWER_TITLE"))
.setTitle(interaction.translate("fun/tictactoe:NO_ANSWER_TITLE"))
.setAuthor({
name: (interaction.user ? interaction.user : interaction.author).tag,
iconURL: (interaction.user ? interaction.user : interaction.author).displayAvatarURL(),
@ -839,7 +839,7 @@ async function tictactoe(interaction, options = {}) {
.setTimestamp()
.setDescription(interaction.translate("misc:TIMED_OUT"));
m.interaction.editReply({
content: interaction.translate("economy/tictactoe:NOT_ANSWERED", {
content: interaction.translate("fun/tictactoe:NOT_ANSWERED", {
user: opponent.id,
}),
embeds: [embed],
@ -848,7 +848,7 @@ async function tictactoe(interaction, options = {}) {
}
if (reason == "decline") {
const embed = new EmbedBuilder()
.setTitle(interaction.translate("economy/tictactoe:CANCELED"))
.setTitle(interaction.translate("fun/tictactoe:CANCELED"))
.setAuthor({
name: (interaction.user ? interaction.user : interaction.author).tag,
iconURL: (interaction.user ? interaction.user : interaction.author).displayAvatarURL(),
@ -856,7 +856,7 @@ async function tictactoe(interaction, options = {}) {
.setColor(options.timeoutEmbedColor || "#C90000")
.setFooter(foot)
.setTimestamp()
.setDescription(interaction.translate("economy/tictactoe:CANCELED_DESC", {
.setDescription(interaction.translate("fun/tictactoe:CANCELED_DESC", {
user: opponent.id,
}));
m.interaction.editReply({

View file

@ -1,10 +1,10 @@
{
"DESCRIPTION": "Включить или отключить автоудаление спама и ссылок-приглашений",
"DESCRIPTION": "Toggles automatic removal of invitation links",
"USAGE": "[state] (#channel)",
"EXAMPLES": "automod state:True\nautomod state:False channel:#general\nautomod state:False",
"ENABLED": "Ссылки-приглашения будут удаляться автоматически\nИспользуйте `automod false #channel` для игнорирования канала",
"DISABLED_CHANNEL": "Автомодерация не будет выполняться в {{channel}}",
"DISABLED": "Автомодерация отключена",
"DELETED": "Ваше сообщение было удалено, т.к. содержало в себе ссылку-приглашение",
"NO_SPAM": "Прекратите спамить!"
"ENABLED": "Invitation links will be automatically removed\nUse `automod false #channel` to ignore the channel",
"DISABLED_CHANNEL": "Automoderation will not be performed in {{channel}}",
"DISABLED": "Automoderation is disabled",
"DELETED": "Your message has been deleted because it contained an invitation link",
"NO_SPAM": "Stop spamming!"
}

View file

@ -1,8 +1,8 @@
{
"DESCRIPTION": "Включить или отключить автоназначение роли при входе на сервер",
"DESCRIPTION": "Toggles automatic role assignment upon joining the server",
"USAGE": "[state] (@role)",
"EXAMPLES": "autorole state:True role:@новенький\nautorole state:False",
"MISSING_ROLE": "Укажите роль",
"SUCCESS_ENABLED": "Автоназначение роли включено!\nНовые пользователи будут автоматически получать {{role}} при входе на сервер",
"SUCCESS_DISABLED": "Автоназначение роли отключено"
"EXAMPLES": "autorole state:True role:@newbie\nautorole state:False",
"MISSING_ROLE": "Specify a role",
"SUCCESS_ENABLED": "Role assignment is enabled!\nNew users will automatically receive the {{role}} upon joining the server",
"SUCCESS_DISABLED": "Role assignment is disabled"
}

View file

@ -1,36 +1,36 @@
{
"DESCRIPTION": "Изменить или показать настройки сервера",
"DESCRIPTION": "Modify or display server settings",
"USAGE": "list\nset [setting] (state) (#channel)",
"EXAMPLES": "config list\nconfig set setting:reports state:True channel:#reports",
"BIRTHDAYS": "Поздравления с днём рождения",
"MODLOGS": "Логи модерации",
"NEWS": "Новости бота",
"REPORTS": "Жалобы",
"SUGGESTIONS": "Предложения",
"BIRTHDAYS": "Birthday Greetings",
"MODLOGS": "Moderation Logs",
"NEWS": "Bot News",
"REPORTS": "Reports",
"SUGGESTIONS": "Suggestions",
"BIRTHDAYS_LIST": "Поздравления с днём рождения: {{channel}}",
"MODLOGS_LIST": "Логи модерации: {{channel}}",
"NEWS_LIST": "Новости бота: {{channel}}",
"REPORTS_LIST": "Жалобы: {{channel}}",
"SUGGESTIONS_LIST": "Предложения: {{channel}}",
"BIRTHDAYS_LIST": "Birthday Greetings: {{channel}}",
"MODLOGS_LIST": "Moderation Logs: {{channel}}",
"NEWS_LIST": "Bot News: {{channel}}",
"REPORTS_LIST": "Reports: {{channel}}",
"SUGGESTIONS_LIST": "Suggestions: {{channel}}",
"AUTOMOD_CONTENT": "Автомодерация включена.\nИгнорируемые каналы: {{channels}}",
"AUTOMOD_TITLE": "Автомодерация",
"AUTOROLE_TITLE": "Автоназначение роли при входе",
"AUTO_SANCTIONS": "Автоматические наказания",
"BAN_CONTENT": "Бан: После **{{count}}** предупреждений",
"BAN_NOT_DEFINED": "Бан: Не назначено",
"DASHBOARD_CONTENT": "Нажмите сюда, чтобы перейти в панель управления",
"DASHBOARD_TITLE": "Изменить настройки",
"GOODBYE_CONTENT": "Канал: {{channel}}\nКарточка: {{withImage}}",
"GOODBYE_TITLE": "Прощание",
"KICK_CONTENT": "Кик: После **{{count}}** предупреждений",
"KICK_NOT_DEFINED": "Кик: Не назначено",
"LIST": "Показать настройки сервера",
"SET": "Изменить настройки сервера",
"SETTING": "Параметр",
"SPECIAL_CHANNELS": "Специальные каналы",
"WELCOME_CONTENT": "Канал: {{channel}}\nКарточка: {{withImage}}",
"WELCOME_TITLE": "Приветствие"
"AUTOMOD_CONTENT": "Automoderation is enabled.\nIgnored channels: {{channels}}",
"AUTOMOD_TITLE": "Automoderation",
"AUTOROLE_TITLE": "Automatic Role Assignment",
"AUTO_SANCTIONS": "Automatic Sanctions",
"BAN_CONTENT": "Ban: After **{{count}}** warnings",
"BAN_NOT_DEFINED": "Ban: Not set",
"DASHBOARD_CONTENT": "Click here to go to the dashboard",
"DASHBOARD_TITLE": "Modify Settings",
"GOODBYE_CONTENT": "Channel: {{channel}}\nCard: {{withImage}}",
"GOODBYE_TITLE": "Farewell",
"KICK_CONTENT": "Kick: After **{{count}}** warnings",
"KICK_NOT_DEFINED": "Kick: Not set",
"LIST": "Display server settings",
"SET": "Modify server settings",
"SETTING": "Settings",
"SPECIAL_CHANNELS": "Special Channels",
"WELCOME_CONTENT": "Channel: {{channel}}\nCard: {{withImage}}",
"WELCOME_TITLE": "Welcome"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Включить или отключить автоудаление команд модерации",
"DESCRIPTION": "Toggles automatic deletion of moderation commands",
"USAGE": "[state]",
"EXAMPLES": "deletemod state:True\ndeletemod state:False",
"ENABLED": "Автоудаление команд модерации включено",
"DISABLED": "Автоудаление команд модерации отключено"
"ENABLED": "Automatic deletion of moderation commands is enabled",
"DISABLED": "Automatic deletion of moderation commands is disabled"
}

View file

@ -1,15 +1,15 @@
{
"DESCRIPTION": "Включить или отключить сообщения при выходе пользователя с сервера",
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]",
"EXAMPLES": "goodbye state:True channel:#welcome Прощай! image:True\ngoodbye test",
"TEST": "Проверить",
"TEST_SUCCESS": "Тест выполнен",
"CONFIG": "Настроить",
"IMAGE": "Добавить карточку к сообщению?",
"MESSAGE": "Ваше сообщение (доступны подмены с помощью {user}, {server} и {membercount})",
"ENABLED": "Прощальные сообщения включены в {{channel}}!\nИспользуйте `goodbye test` для просмотра сообщения",
"DISABLED": "Прощальные сообщения отключены",
"DEFAULT_MESSAGE": "Пока, {user}! Нас теперь {membercount} без тебя :'(",
"IMG_GOODBYE": "Вышел с {{server}}",
"TITLE": "До встречи!"
"DESCRIPTION": "Toggles messages when a user leaves the server",
"USAGE": "config [state] [#channel] [message] [image]\nOr [test]",
"EXAMPLES": "goodbye state:True channel:#welcome Goodbye! image:True\ngoodbye test",
"TEST": "Test",
"TEST_SUCCESS": "Test successful",
"CONFIG": "Configure",
"IMAGE": "Add a card to the message?",
"MESSAGE": "Your message (placeholders available: {user}, {server}, and {membercount})",
"ENABLED": "Farewell messages are enabled in {{channel}}!\nUse `goodbye test` to preview the message",
"DISABLED": "Farewell messages are disabled",
"DEFAULT_MESSAGE": "Goodbye, {user}! We're now {membercount} without you :'(",
"IMG_GOODBYE": "Left {server}",
"TITLE": "Until we meet again!"
}

View file

@ -1,13 +1,13 @@
{
"DESCRIPTION": "Выдача ролей по выбору пользователей",
"DESCRIPTION": "Grant roles based on user selection",
"USAGE": "message [text]\naddrole [#channel] [message_id] [@role]",
"EXAMPLES": "selectroles message text:Выберите роль!\nselectroles addrole channel:#roles message_id:1037403109051840937 role:@Обновления",
"MESSAGE": "Отправить сообщение в текущий канал",
"ADDROLE": "Добавить/убрать роль в сообщении",
"MESSAGE_ERROR": "Сообщение не существует или отправлено не мной",
"ALREADY_IN_MENU": "Роль уже есть в списке",
"NO_ROLES": "Сообщение не имеет списка авторолей",
"SUCCESS_ADDED": "Роль **{{role}}** добавлена в список",
"MESSAGE_SENT": "Сообщение отправлено в текущий голосовой чат, используйте /selectroles addrole channel:{{channel}} message_id:**{{message_id}}** role:@роль",
"ROLES_UPDATED": "Роли обновлены"
"EXAMPLES": "selectroles message text:Choose a role!\nselectroles addrole channel:#roles message_id:1037403109051840937 role:@Updates",
"MESSAGE": "Send a message in the current channel",
"ADDROLE": "Add/remove a role to the message",
"MESSAGE_ERROR": "The message does not exist or was not sent by me",
"ALREADY_IN_MENU": "The role is already in the menu",
"NO_ROLES": "The message does not have a role menu",
"SUCCESS_ADDED": "Role **{{role}}** has been added to the menu",
"MESSAGE_SENT": "Message sent in the current voice channel, use /selectroles addrole channel:{{channel}} message_id:**{{message_id}}** role:@role",
"ROLES_UPDATED": "Roles updated"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Изменить пользователю опыт, уровень, кредиты или банк",
"DESCRIPTION": "Modify a user's experience, level, credits, or bank",
"USAGE": "[type] [@user] [int]",
"EXAMPLES": "set type:Уровень user:@Jonny_Bro#4226 int:10",
"INVALID_NUMBER": "Значение должно быть больше нуля"
"EXAMPLES": "set type:Level user:@Jonny_Bro#4226 int:10",
"INVALID_NUMBER": "The value must be greater than zero"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Изменить язык бота на сервере",
"DESCRIPTION": "Change the language of the bot on the server",
"USAGE": "[language]",
"EXAMPLES": "setlang language:Русский",
"SUCCESS": ":flag_ru: Язык сервера изменён на **{{lang}}**"
"EXAMPLES": "setlang language:English",
"SUCCESS": ":flag_us: Server language has been changed to **{{lang}}**"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Скопировать эмодзи на текущий сервер",
"DESCRIPTION": "Copy an emoji to the current server",
"USAGE": "[emoji]",
"EXAMPLES": "stealemoji emoji::coolstorybob:",
"SUCCESS": "{{emoji}} добавлен",
"ERROR": "Произошла ошибка при добавлении {{emoji}}.\n```{{e}}```"
"SUCCESS": "{{emoji}} has been added",
"ERROR": "An error occurred while adding {{emoji}}.\n```{{e}}```"
}

View file

@ -1,10 +1,10 @@
{
"DESCRIPTION": "Включить или отключить сообщения при входе пользователя на сервер",
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]",
"EXAMPLES": "welcome state:True channel:#welcome Добро пожаловать! image:True\nwelcome test",
"ENABLED": "Приветствующие сообщения включены в {{channel}}!\nИспользуйте `welcome test` для просмотра сообщения",
"DISABLED": "Приветствующие сообщения отключены",
"DEFAULT_MESSAGE": "Добро пожаловать {user}! Нас теперь {membercount}",
"IMG_WELCOME": "Добро пожаловать на {{server}}",
"TITLE": "Добро пожаловать!"
"DESCRIPTION": "Toggles welcome messages when a user joins the server",
"USAGE": "config [state] [#channel] [message] [image]\nOr [test]",
"EXAMPLES": "welcome state:True channel:#welcome Welcome! image:True\nwelcome test",
"ENABLED": "Welcome messages are enabled in {{channel}}!\nUse `welcome test` to view the message",
"DISABLED": "Welcome messages are disabled",
"DEFAULT_MESSAGE": "Welcome, {user}! We now have {membercount} members",
"IMG_WELCOME": "Welcome to {{server}}",
"TITLE": "Welcome!"
}

View file

@ -1,69 +1,69 @@
{
"ACCEPT": "Принять",
"ACTIVITY": "Активность",
"APPLY": "Применить",
"AUTHOR": "Автор",
"AVAILABLE_OPTIONS": "Доступные параметры:",
"CATEGORY": "Категория",
"CANCEL": "Отменить",
"CHANNEL": "Канал",
"CHANNELS": "Каналы",
"COLOR": "Цвет",
"CONTENT": "Содержимое",
"COMMAND": "Команда",
"CREATION": "Создан",
"CREDITS": "Кредиты",
"DATE": "Дата",
"DECLINE": "Отказаться",
"DEFEAT": "Поражение",
"DISABLE": "Выключить",
"DISABLED": "Отключено",
"DURATION": "Длительность (30s, 5m, 2h, 5d, 1w)",
"EMOJI": "Эмодзи",
"ENABLE": "Включить",
"ENABLED": "Включено",
"SERVER_ID": "ID сервера",
"MESSAGE_ID": "ID сообщения",
"USER_ID": "ID пользователя",
"ACCEPT": "Accept",
"ACTIVITY": "Activity",
"APPLY": "Apply",
"AUTHOR": "Author",
"AVAILABLE_OPTIONS": "Available options:",
"CATEGORY": "Category",
"CANCEL": "Cancel",
"CHANNEL": "Channel",
"CHANNELS": "Channels",
"COLOR": "Color",
"CONTENT": "Content",
"COMMAND": "Command",
"CREATION": "Creation",
"CREDITS": "Credits",
"DATE": "Date",
"DECLINE": "Decline",
"DEFEAT": "Defeat",
"DISABLE": "Disable",
"DISABLED": "Disabled",
"DURATION": "Duration (30s, 5m, 2h, 5d, 1w)",
"EMOJI": "Emoji",
"ENABLE": "Enable",
"ENABLED": "Enabled",
"SERVER_ID": "Server ID",
"MESSAGE_ID": "Message ID",
"USER_ID": "User ID",
"ID": "ID",
"INT": "Целое число",
"IP": "IP адрес",
"JOINED": "Присоеденился",
"LANGUAGE": "Язык",
"LEVEL": "Уровень",
"MEMBER": "Участник",
"MEMBERS": "Участники",
"MESSAGE": "Сообщение",
"MISSING": "Отсутствует",
"MODERATOR": "Модератор",
"NAME": "Название",
"NICKNAME": "Ник на сервере",
"NO": "Нет",
"NOTHING_SELECTED": "Ничего не выбрано",
"NOT_DEFINED": "Не установлено",
"OWNER": "Владелец",
"PAGE": "Страница",
"PROFILE": "Профиль",
"REASON": "Причина",
"REP": "Очки репутации",
"ROBOT": "Бот",
"ROLE": "Роль",
"ROLES": "Роли",
"SERVERS": "Сервера",
"SETTINGS": "Настройки",
"STATE": "Состояние",
"STATS": "Статистика",
"STATUS": "Статус",
"STATUS_DND": "Не беспокоить",
"STATUS_IDLE": "Неактивен",
"STATUS_OFFLINE": "Не в сети",
"STATUS_ONLINE": "В сети",
"UNKNOWN": "Неизвестно",
"USER": "Пользователь",
"USERNAME": "Имя пользователя",
"USERS": "Пользователи",
"VICTORY": "Победа",
"VIEWS": "Просмотры",
"XP": "Опыт",
"YES": "Да"
"INT": "Integer",
"IP": "IP Address",
"JOINED": "Joined",
"LANGUAGE": "Language",
"LEVEL": "Level",
"MEMBER": "Member",
"MEMBERS": "Members",
"MESSAGE": "Message",
"MISSING": "Missing",
"MODERATOR": "Moderator",
"NAME": "Name",
"NICKNAME": "Nickname",
"NO": "No",
"NOTHING_SELECTED": "Nothing selected",
"NOT_DEFINED": "Not defined",
"OWNER": "Owner",
"PAGE": "Page",
"PROFILE": "Profile",
"REASON": "Reason",
"REP": "Reputation Points",
"ROBOT": "Bot",
"ROLE": "Role",
"ROLES": "Roles",
"SERVERS": "Servers",
"SETTINGS": "Settings",
"STATE": "State",
"STATS": "Statistics",
"STATUS": "Status",
"STATUS_DND": "Do Not Disturb",
"STATUS_IDLE": "Idle",
"STATUS_OFFLINE": "Offline",
"STATUS_ONLINE": "Online",
"UNKNOWN": "Unknown",
"USER": "User",
"USERNAME": "Username",
"USERS": "Users",
"VICTORY": "Victory",
"VIEWS": "Views",
"XP": "Experience",
"YES": "Yes"
}

View file

@ -1,35 +1,35 @@
{
"AUTOROLE_CONF": "🎖️ Автоматическое назначение роли",
"BASIC_CONF": "📝 Основные настройки",
"BIRTHDAYS": "Поздравления с днём рождения",
"CAN_USE": "Можно использовать",
"CHANNELS_CONF": "🌀 Специальные каналы",
"COOLDOWNS": "Откаты",
"ERR_OCCURRED": "Упс! Что-то пошло не так.",
"ERR_OCCURRED_CONTENT": "Я постараюсь исправить это как можно скорее (можете сообщить владельцу о проблеме). А пока вы можете вернуться в панель управления.",
"FIRST_LOGIN": "{{user}} авторизовался в панели управления в первый раз! :tada:",
"GOODBYE_CONF": "😢 Сообщение при выходе пользователя с сервера",
"GOODBYE_IMG": "😢 Добавлять карточку",
"MANAGE": "Управление",
"MODLOGS": "Логи модерации",
"NEWS": "Новости бота",
"NOT_FOUND": "Упс! Страница не найдена.",
"NOT_FOUND_CONTENT": "Я не нашёл то, что вы искали. А пока вы можете вернуться в панель управления.",
"NO_CHANNEL": "Канал не выбран",
"NO_DEFENCE": "Вы беспомощны",
"NO_SERVER": "Сервер не найден",
"NO_SERVER_CONTENT": "Нечего отображать. Убедитесь, что вы вошли в систему с правильной учетной записью, и повторите попытку.",
"REP": "Команда rep",
"REPORTS": "Жалобы",
"ROB": "Защита от rob",
"SEARCH": "Поиск по серверам...",
"SELECTOR": "Выбор серверов",
"SERVERS_LIST": "Список серверов",
"SERVERS_MANAGEMENT": "Управление серверами",
"SUGGESTIONS": "Предложения",
"TOP_CREDITS": "Первый по кредитам",
"TOP_LEVEL": "Первый по уровню",
"WELCOME_CONF": "👋 Сообщение при входе пользователя на сервер",
"WELCOME_IMG": "👋 Добавлять карточку",
"WORK": "Зарплата в work"
"AUTOROLE_CONF": "🎖️ Autorole Configuration",
"BASIC_CONF": "📝 Basic Settings",
"BIRTHDAYS": "Birthday Greetings",
"CAN_USE": "Can use",
"CHANNELS_CONF": "🌀 Special Channels",
"COOLDOWNS": "Cooldowns",
"ERR_OCCURRED": "Oops! Something went wrong.",
"ERR_OCCURRED_CONTENT": "I will try to fix it as soon as possible (you can report the issue to the owner). In the meantime, you can go back to the control panel.",
"FIRST_LOGIN": "{{user}} has logged into the control panel for the first time! :tada:",
"GOODBYE_CONF": "😢 Goodbye Message",
"GOODBYE_IMG": "😢 Include Card",
"MANAGE": "Manage",
"MODLOGS": "Moderation Logs",
"NEWS": "Bot News",
"NOT_FOUND": "Oops! Page not found.",
"NOT_FOUND_CONTENT": "I couldn't find what you were looking for. In the meantime, you can go back to the control panel.",
"NO_CHANNEL": "No channel selected",
"NO_DEFENCE": "You are defenseless",
"NO_SERVER": "Server not found",
"NO_SERVER_CONTENT": "Nothing to display. Make sure you are logged in with the correct account and try again.",
"REP": "Rep Command",
"REPORTS": "Reports",
"ROB": "Rob Protection",
"SEARCH": "Search across servers...",
"SELECTOR": "Server Selector",
"SERVERS_LIST": "Server List",
"SERVERS_MANAGEMENT": "Server Management",
"SUGGESTIONS": "Suggestions",
"TOP_CREDITS": "Top Credits",
"TOP_LEVEL": "Top Level",
"WELCOME_CONF": "👋 Welcome Message",
"WELCOME_IMG": "👋 Include Card",
"WORK": "Work Salary"
}

View file

@ -1,14 +1,14 @@
{
"DESCRIPTION": "Показать список достижений пользователя",
"DESCRIPTION": "Shows a user's list of achievements",
"USAGE": "(@user)",
"EXAMPLES": "achievements\nachievements user:@Jonny_Bro#4226",
"SEND_CMD": "Используйте свою первую команду",
"CLAIM_SALARY": "Получите зарплату 10 раз",
"MARRY": "Найдите вторую половинку",
"SLOTS": "Выиграйте 3 раза подряд в слоты",
"TIP": "Поддержите разработчика",
"REP": "Достигните 20 очков репутации",
"INVITE": "Пригласите JaBa на ваш сервер",
"TITLE": "🔥 Достижения",
"PROGRESS": "Прогресс: {{now}}/{{total}} ({{percent}}%)"
"SEND_CMD": "Use your first command",
"CLAIM_SALARY": "Claim your salary 10 times",
"MARRY": "Find a partner",
"SLOTS": "Win 3 times in a row in slots",
"TIP": "Support the developer",
"REP": "Reach 20 reputation points",
"INVITE": "Invite JaBa to your server",
"TITLE": "🔥 Achievements",
"PROGRESS": "Progress: {{now}}/{{total}} ({{percent}}%)"
}

View file

@ -1,12 +1,12 @@
{
"DESCRIPTION": "Управление банковским счётом",
"DESCRIPTION": "Manages your bank account",
"USAGE": "[option] [credits/all]",
"EXAMPLES": "bank option:deposit credits:1000\nbank option:withdraw credits:all",
"OPTION": "Действие",
"DEPOSIT": "Внести",
"WITHDRAW": "Снять",
"NOT_ENOUGH_CREDIT": "У вас нет {{money}}",
"NOT_ENOUGH_BANK": "Недостаточно кредитов на банковском счету, необходимо {{money}}",
"SUCCESS_DEP": "{{money}} внесено на ваш банковский счёт",
"SUCCESS_WD": "Вы сняли {{money}} с вашего банковского счёта"
"OPTION": "Action",
"DEPOSIT": "Deposit",
"WITHDRAW": "Withdraw",
"NOT_ENOUGH_CREDIT": "You don't have {{money}}",
"NOT_ENOUGH_BANK": "Insufficient credits in your bank account, {{money}} required",
"SUCCESS_DEP": "{{money}} deposited into your bank account",
"SUCCESS_WD": "You have withdrawn {{money}} from your bank account"
}

View file

@ -1,14 +1,14 @@
{
"DESCRIPTION": "Установить дату рождения",
"DESCRIPTION": "Sets your date of birth",
"USAGE": "[day] [month] [year]",
"EXAMPLES": "birthdate day:17 month:03 year:2000",
"DAY": "День",
"MONTH": "Месяц",
"YEAR": "Год",
"INVALID_DATE": "Указана неверная дата",
"DATE_TOO_LOW": "Вам больше 80 лет? :eyes:",
"DATE_TOO_HIGH": "Хммм... Вы ещё не родились",
"HAPPY_BIRTHDAY": "День рождения",
"HAPPY_BIRTHDAY_MESSAGE": "Поздравляем {{name}} (<@{{user}}>) с днём рождения, сегодня ему(ей) исполнилось {{age}}!",
"SUCCESS": "Ваша дата рождения установлена на **{{date}}**"
"DAY": "Day",
"MONTH": "Month",
"YEAR": "Year",
"INVALID_DATE": "Invalid date provided",
"DATE_TOO_LOW": "Are you over 80 years old? :eyes:",
"DATE_TOO_HIGH": "Hmm... You haven't been born yet",
"HAPPY_BIRTHDAY": "Happy Birthday",
"HAPPY_BIRTHDAY_MESSAGE": "Happy birthday to {{name}} (<@{{user}}>)! Today, they have turned {{age}}!",
"SUCCESS": "Your date of birth has been set to **{{date}}**"
}

View file

@ -1,8 +1,8 @@
{
"DESCRIPTION": "Развестись с пользователем",
"DESCRIPTION": "Divorce a user",
"USAGE": "",
"EXAMPLES": "divorce",
"NOT_MARRIED": "Вы не состоите в браке",
"DIVORCED": "Вы развелись с {{user}}",
"DIVORCED_U": "{{user}} развёлся с вами"
"NOT_MARRIED": "You are not married",
"DIVORCED": "You have divorced {{user}}",
"DIVORCED_U": "{{user}} has divorced you"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Импортировать свой уровень из MEE6",
"DESCRIPTION": "Imports your level from MEE6",
"USAGE": "",
"EXAMPLES": "importmee6"
}

View file

@ -1,10 +1,10 @@
{
"DESCRIPTION": "Показать таблицу лидеров по кредитам, уровню или очкам репутации",
"DESCRIPTION": "Shows the leaderboard for credits, level, or reputation points",
"USAGE": "[type]",
"EXAMPLES": "leaderboard type:Уровень",
"LEVEL": "Уровень",
"MONEY": "Кредиты",
"REP": "Репутация",
"MOBILE": ":confused: Я заметил, что вы онлайн с телефона... Таблица лидеров может отображаться некорректно на маленьких экранах. Попробуйте позже с другого устройства",
"TABLE": "Таблица лидеров {{name}}"
"EXAMPLES": "leaderboard type:Level",
"LEVEL": "Level",
"MONEY": "Credits",
"REP": "Reputation",
"MOBILE": ":confused: I noticed that you're online from a mobile device... The leaderboard may not display correctly on small screens. Please try again later from a different device.",
"TABLE": "{{name}} Leaderboard"
}

View file

@ -1,16 +1,16 @@
{
"DESCRIPTION": "Женитесь на том, кого любите",
"DESCRIPTION": "Marry the one you love",
"USAGE": "[@user]",
"EXAMPLES": "marry user:@Jonny_Bro#4226",
"ALREADY_MARRIED": "Вы уже состоите в браке! Вы можете развестить с помощью команды `divorce`",
"ALREADY_MARRIED_USER": "Вы опоздали! {{user}} уже состоит в браке",
"YOURSELF": "Вы не можете жениться на себе",
"REQUEST_AUTHOR_TO_AMEMBER": "Вы уже отправили предложение {{user}}",
"REQUEST_AMEMBER_TO_AUTHOR": "{{user}} отправил(а) вам предложение! Вы можете отказать или согласиться (либо дождаться истечения срока предложения)",
"REQUEST_AMEMBER_TO_MEMBER": "{{secondUser}} уже отправил(а) предложение {{firstUser}}",
"REQUEST_MEMBER_TO_AMEMBER": "{{firstUser}} уже отправил(а) предложение {{secondUser}}! Подождите пока {{secondUser}} согласиться или откажет на предложение {{firstUser}} (либо дождитесь истечения срока предложения)",
"REQUEST": "{{to}}, вы согласны вступить в брак с {{from}}?",
"DENIED": "{{creator}}, у меня есть плохие новости... {{partner}} отказался(лась) от вашего предложение",
"SUCCESS": "🎉 Поздравляем! **{{creator}}** и **{{partner}}** теперь состоят в браке",
"BOT_USER": "Боты вечно одиноки ;("
"BOT_USER": "Bots are forever alone ;(",
"ALREADY_MARRIED": "You are already married! You can divorce using the `divorce` command",
"ALREADY_MARRIED_USER": "You're too late! {{user}} is already married",
"YOURSELF": "You cannot marry yourself",
"REQUEST_AUTHOR_TO_AMEMBER": "You have already sent a proposal to {{user}}",
"REQUEST_AMEMBER_TO_AUTHOR": "{{user}} has sent you a proposal! You can accept or decline it (or wait for the proposal to expire)",
"REQUEST_AMEMBER_TO_MEMBER": "{{secondUser}} has already sent a proposal to {{firstUser}}",
"REQUEST_MEMBER_TO_AMEMBER": "{{firstUser}} has already sent a proposal to {{secondUser}}! Please wait for {{secondUser}} to accept or decline {{firstUser}}'s proposal (or wait for the proposal to expire)",
"REQUEST": "{{to}}, are you willing to marry {{from}}?",
"DENIED": "{{creator}}, I have some bad news... {{partner}} has declined your proposal",
"SUCCESS": "🎉 Congratulations! **{{creator}}** and **{{partner}}** are now married"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Показать количество кредитов у пользователя",
"DESCRIPTION": "Shows the amount of credits for a user",
"USAGE": "(@user)",
"EXAMPLES": "money\nmoney user:@Jonny_Bro#4226",
"BOT_USER": "У него слишком много денег, я не могу вывести это число",
"TITLE": "Кредиты {{user}}"
"BOT_USER": "He has too much money, I can't output that number",
"TITLE": "{{user}}'s Credits"
}

View file

@ -1,10 +1,10 @@
{
"DESCRIPTION": "Отправить кредиты пользователю",
"DESCRIPTION": "Sends credits to a user",
"USAGE": "[@user] [amount]",
"EXAMPLES": "pay user:@Jonny_Bro#4226 amount:1000",
"BOT_USER": "Ботам не нужны деньги B)",
"YOURSELF": "Вы не можете перевести кредиты самому себе",
"INVALID_AMOUNT": "Укажите сумму",
"ENOUGH_MONEY": "У вас нет {{amount}}",
"SUCCESS": "Вы отправили {{user}} {{amount}}!"
"BOT_USER": "Bots don't need money B)",
"YOURSELF": "You cannot transfer credits to yourself",
"INVALID_AMOUNT": "Please specify an amount",
"ENOUGH_MONEY": "You don't have {{amount}}",
"SUCCESS": "You have sent {{amount}} to {{user}}!"
}

View file

@ -1,21 +1,21 @@
{
"DESCRIPTION": "Показать профиль пользователя",
"DESCRIPTION": "Shows user profile",
"USAGE": "(@user)",
"EXAMPLES": "profile\nprofile user:@Jonny_Bro#4226",
"BOT_USER": "У ботов нет профиля",
"TITLE": "Профиль {{user}}",
"LINK": "Профиль",
"LINK_TEXT": "Нажмите сюда, чтобы открыть профиль текущего сервера в панели управления",
"BIO": "🔖 Биография",
"CASH": "💵 Кредиты",
"BANK": "💳 Банк",
"GLOBAL": "🌍 Кредитов на всех серверах",
"REPUTATION": "🎩 Репутация",
"LEVEL": "📊 Уровень",
"XP": "🔮 Опыт",
"BIRTHDATE": "🎂 Дата рождения",
"LOVER": "❤ Вторая половинка",
"REGISTERED": "📅 Профиль создан",
"ACHIEVEMENTS": "🔥 Достижения",
"ACHIEVEMENTS_CONTENT": "Получите больше информации с помощью `achievements`"
"BOT_USER": "Bots don't have a profile",
"TITLE": "{{user}}'s Profile",
"LINK": "Profile",
"LINK_TEXT": "Click here to open the server profile in the control panel",
"BIO": "🔖 Bio",
"CASH": "💵 Credits",
"BANK": "💳 Bank",
"GLOBAL": "🌍 Credits across all servers",
"REPUTATION": "🎩 Reputation",
"LEVEL": "📊 Level",
"XP": "🔮 Experience",
"BIRTHDATE": "🎂 Date of Birth",
"LOVER": "❤ Partner",
"REGISTERED": "📅 Profile Created",
"ACHIEVEMENTS": "🔥 Achievements",
"ACHIEVEMENTS_CONTENT": "Get more information with </achievements:1029832475406499843>"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Дать репутацию пользователю",
"DESCRIPTION": "Gives reputation to a user",
"USAGE": "[@user]",
"EXAMPLES": "rep user:@Jonny_Bro#4226",
"COOLDOWN": "Вы должны подождать **{{time}}** до следующего использования",
"BOT_USER": "Боты и так крутые B)",
"YOURSELF": "Вы не можете дать очко репутации самому себе",
"SUCCESS": "Вы дали очко репутации {{user}}"
"COOLDOWN": "You must wait **{{time}}** before using it again",
"BOT_USER": "Bots are already cool B)",
"YOURSELF": "You cannot give reputation to yourself",
"SUCCESS": "You have given a reputation point to {{user}}"
}

View file

@ -1,14 +1,14 @@
{
"DESCRIPTION": "Попытаться ограбить пользователя",
"DESCRIPTION": "Attempts to rob a user",
"USAGE": "[@user] [amount]",
"EXAMPLES": "rob user:@Jonny_Bro#4226 amount:100",
"BOT_USER": "Вы не можете ограбить бота",
"YOURSELF": "Вы не можете ограбить себя",
"NOT_ENOUGH_AUTHOR": "У вас должно быть хотя бы {{moneyMin}}, чтобы грабить данного пользователя (сейчас у вас {{moneyCurrent}})",
"NOT_ENOUGH_MEMBER": "Вы не можете ограбить {{user}}, потому что у него нет столько кредитов",
"COOLDOWN": "🕵️ {{user}} под защитой.... Попробуйте позже",
"ROB_WON_1": "🎉 | Поздравляем! Полиция не смогла остановить вас, поэтому вы успешно украли {{money}} у {{user}}",
"ROB_WON_2": "🎉 | Вы ограбили {{user}} на {{money}}",
"ROB_LOSE_1": "🚔 | Полиция поймала вас. Теперь вы должны заплатить штраф {{fine}}. {{offset}} будет выплачено {{user}}",
"ROB_LOSE_2": "🚓 | Плохие новости... {{user}} вовремя позвонил в полицию. Вы должны заплатить штраф {{fine}} и {{offset}} будет выплачено {{user}}"
"BOT_USER": "You cannot rob a bot",
"YOURSELF": "You cannot rob yourself",
"NOT_ENOUGH_AUTHOR": "You must have at least {{moneyMin}} to rob this user (you currently have {{moneyCurrent}})",
"NOT_ENOUGH_MEMBER": "You cannot rob {{user}} because they don't have that many credits",
"COOLDOWN": "🕵️ {{user}} is under protection... Try again later",
"ROB_WON_1": "🎉 | Congratulations! The police couldn't stop you, so you successfully stole {{money}} from {{user}}",
"ROB_WON_2": "🎉 | You have robbed {{user}} of {{money}}",
"ROB_LOSE_1": "🚔 | The police caught you. Now you have to pay a fine of {{fine}}. {{offset}} will be paid to {{user}}",
"ROB_LOSE_2": "🚓 | Bad news... {{user}} called the police in time. You have to pay a fine of {{fine}} and {{offset}} will be paid to {{user}}"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Установить биографию",
"DESCRIPTION": "Sets your bio",
"USAGE": "[text]",
"EXAMPLES": "setbio text:Меня зовут Жоня :shock:",
"MAX_CHARACTERS": "Ваша биография не должна превышать 150 символов",
"SUCCESS": "Ваша биография изменена"
"EXAMPLES": "setbio text:My name is Johnny :shock:",
"MAX_CHARACTERS": "Your bio should not exceed 150 characters",
"SUCCESS": "Your bio has been changed"
}

View file

@ -1,8 +1,8 @@
{
"DESCRIPTION": "Казино \"Casino JaBa\"",
"DESCRIPTION": "Casino \"Casino JaBa\"",
"USAGE": "[amount]",
"EXAMPLES": "slots amount:100",
"DEFEAT": "{{user}} поставил {{money}} и всё проиграл",
"VICTORY": "{{user}} поставил {{money}} и выиграл {{won}}",
"NOT_ENOUGH": "У вас нет {{money}}"
"DEFEAT": "{{user}} bet {{money}} and lost it all",
"VICTORY": "{{user}} bet {{money}} and won {{won}}",
"NOT_ENOUGH": "You don't have {{money}}"
}

View file

@ -1,18 +1,18 @@
{
"DESCRIPTION": "Посмотреть или очистить историю своих транзакций",
"DESCRIPTION": "Shows or clears your transaction history",
"USAGE": "(clear)",
"EXAMPLES": "transactions\n transactions clear:True",
"CLEAR": "Очистить список транзакций?",
"CLEARED": "Список транзакций очищен",
"NO_TRANSACTIONS": "У вас нет транзакций",
"EMBED_TRANSACTIONS": "Ваши транзакции",
"BANK": "Банк",
"NUMBERS": "Угадай число",
"TTT": "Крестики-нолики",
"T_GOT": "Пополнение",
"T_SEND": "Списание",
"T_USER_GOT": "Источник",
"T_USER_SEND": "Получатель",
"T_AMOUNT": "Сумма",
"T_DATE": "Дата"
"CLEAR": "Clear the transaction list?",
"CLEARED": "Transaction list cleared",
"NO_TRANSACTIONS": "You have no transactions",
"EMBED_TRANSACTIONS": "Your Transactions",
"BANK": "Bank",
"NUMBERS": "Guess the Number",
"TTT": "Tic Tac Toe",
"T_GOT": "Deposit",
"T_SEND": "Withdrawal",
"T_USER_GOT": "Source",
"T_USER_SEND": "Recipient",
"T_AMOUNT": "Amount",
"T_DATE": "Date"
}

View file

@ -1,11 +1,11 @@
{
"DESCRIPTION": "Получить зарплату",
"DESCRIPTION": "Get your salary",
"USAGE": "",
"EXAMPLES": "work",
"COOLDOWN": "Вы должны подождать **{{time}}** до следующей зарплаты",
"AWARD": "Закончите серию чтобы получить 200 дополнительных кредитов",
"SALARY": "Зарплата",
"SALARY_CONTENT": "Вы получили {{won}}",
"STREAK": "Серия",
"STREAK_CONTENT": "🎉 Вы получили 200 дополнительных кредитов"
"COOLDOWN": "You must wait **{{time}}** for your next salary",
"AWARD": "Complete a streak to earn an additional 200 credits",
"SALARY": "Salary",
"SALARY_CONTENT": "You received {{won}}",
"STREAK": "Streak",
"STREAK_CONTENT": "🎉 You earned an additional 200 credits"
}

View file

@ -1,27 +1,27 @@
{
"DESCRIPTION": "Я говорю правду",
"DESCRIPTION": "I tell the truth",
"USAGE": "[question]",
"QUESTION": "Вопрос",
"EXAMPLES": "8ball question:JaBa крутой?",
"ANSWER": "**Вопрос:** {{question}}\n**Ответ:** {{answer}}",
"RESPONSE_1": "Бесспорно",
"RESPONSE_2": "Предрешено",
"RESPONSE_3": "Никаких сомнений",
"RESPONSE_4": "Определённо да",
"RESPONSE_5": "Можешь быть уверен в этом",
"RESPONSE_6": "Мне кажется — да",
"RESPONSE_7": "Вероятнее всего",
"RESPONSE_8": "Хорошие перспективы",
"RESPONSE_9": "Знаки говорят — да",
"RESPONSE_10": "Да",
"RESPONSE_11": "Пока не ясно, попробуй снова",
"RESPONSE_12": "Спроси позже",
"RESPONSE_13": "Лучше не рассказывать",
"RESPONSE_14": "Сейчас нельзя предсказать",
"RESPONSE_15": "Сконцентрируйся и спроси снова",
"RESPONSE_16": "Даже не думай",
"RESPONSE_17": "Мой ответ — нет",
"RESPONSE_18": "По моим данным — нет",
"RESPONSE_19": "Перспективы не очень хорошие",
"RESPONSE_20": "Весьма сомнительно"
"QUESTION": "Question",
"EXAMPLES": "8ball question:Is JaBa awesome?",
"ANSWER": "**Question:** {{question}}\n**Answer:** {{answer}}",
"RESPONSE_1": "It is certain",
"RESPONSE_2": "It is decidedly so",
"RESPONSE_3": "Without a doubt",
"RESPONSE_4": "Yes - definitely",
"RESPONSE_5": "You may rely on it",
"RESPONSE_6": "As I see it, yes",
"RESPONSE_7": "Most likely",
"RESPONSE_8": "Outlook good",
"RESPONSE_9": "Signs point to yes",
"RESPONSE_10": "Yes",
"RESPONSE_11": "Reply hazy, try again",
"RESPONSE_12": "Ask again later",
"RESPONSE_13": "Better not tell you now",
"RESPONSE_14": "Cannot predict now",
"RESPONSE_15": "Concentrate and ask again",
"RESPONSE_16": "Don't count on it",
"RESPONSE_17": "My reply is no",
"RESPONSE_18": "My sources say no",
"RESPONSE_19": "Outlook not so good",
"RESPONSE_20": "Very doubtful"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Всё как с крабом, только котик",
"DESCRIPTION": "Everything is like with a crab, but with a cat!",
"USAGE": "",
"EXAMPLES": "cat"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Получить изображение краба... да, это всё",
"DESCRIPTION": "Sends an image of a crab... that's it",
"USAGE": "",
"EXAMPLES": "crab"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Вы не поверите... изображение собачки!",
"DESCRIPTION": "Sends an image of a dog... you won't believe it!",
"USAGE": "",
"EXAMPLES": "dog"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Создать LMGTFY (давай я загуглю это для тебя) ссылку",
"DESCRIPTION": "Creates an LMGTFY (Let Me Google That For You) link",
"USAGE": "[query] [short]",
"QUERY": "Запрос",
"EXAMPLES": "lmgtfy query:Как создать Discord бота? short:False"
"QUERY": "Query",
"EXAMPLES": "lmgtfy query:How to create a Discord bot? short:False"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Калькулятор любви",
"DESCRIPTION": "Love Calculator",
"USAGE": "[@first_member] (@second_member)",
"EXAMPLES": "lovecalc first_member:@Jonny_Bro#4226\nlovecalc first_member:@Jonny_Bro#4226 second_member:@JaBa#9042",
"CONTENT": "{{firstMember}} любит {{secondMember}} на **{{percent}}%**"
"CONTENT": "{{firstMember}} loves {{secondMember}} at **{{percent}}%**"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Получить мем с выбранного сабреддита",
"DESCRIPTION": "Gets a meme from a selected subreddit",
"USAGE": "",
"EXAMPLES": "memes",
"SUBREDDIT": "Сабреддит",
"UPS": "Апвоуты"
"SUBREDDIT": "Subreddit",
"UPS": "Upvotes"
}

View file

@ -0,0 +1,12 @@
{
"DESCRIPTION": "Play Guess The Number",
"USAGE": "",
"EXAMPLES": "number",
"GAME_START": "I have chosen a number, start guessing!\nWrite STOP if you want to stop the game",
"TOO_BIG": "{{user}}, my number is **greater** than `{{number}}`",
"TOO_SMALL": "{{user}}, my number is **smaller** than `{{number}}`",
"WON": "{{winner}} has won {{credits}}",
"DEFEAT": "No one guessed the number! It was **{{number}}**",
"GAME_STATS": "🎉 | {{winner}} has guessed the number! It was **{{number}}**!\n\n**Statistics:**\n*-* __**Duration**__: {{time}}\n*-* __**Participants ({{participantCount}})**__: {{participants}}",
"GAME_RUNNING": "The game is already in progress"
}

View file

@ -0,0 +1,20 @@
{
"DESCRIPTION": "Play Tic Tac Toe",
"USAGE": "[@user]",
"EXAMPLES": "tictactoe user:@Jonny_Bro#4226",
"BOT_USER": "You cannot play against a bot!",
"YOURSELF": "You cannot play against yourself!",
"INVITE_USER": "<@{{opponent}}>, you have been invited to play Tic Tac Toe!",
"REQUEST_SEND": "Request sent to <@{{opponent}}>",
"REQUEST_WAIT": "Waiting for {{user}} to respond",
"WAITING": "Waiting for <@{{user}}> to make a move | Your emoji: {{emoji}}",
"WON": "<@{{winner}}> ({{emoji}}) has won",
"CANT_PLAY": "It's not your turn to play",
"TIE": "It's a tie",
"TIE_DESC": "No one has won",
"NO_ANSWER": "<@{{user}}> did not respond in time",
"NO_ANSWER_TITLE": "Request not accepted in time",
"NOT_ANSWERED": "<@{{user}}> did not accept the request",
"CANCELED": "Game canceled",
"CANCELED_DESC": "<@{{user}}> has declined the game"
}

View file

@ -1,8 +1,8 @@
{
"DESCRIPTION": "Установить AFK статус (пользователь который упомянет вас получит сообщение)",
"DESCRIPTION": "Sets AFK status (users who mention you will receive a message)",
"USAGE": "[message]",
"EXAMPLES": "afk message:Сру =)",
"SUCCESS": "Теперь вы AFK по причине: **{{reason}}**",
"DELETED": "**{{user}}**, ваш AFK статус удалён",
"IS_AFK": "**{{user}}** сейчас AFK, причина:\n```{{reason}}```"
"EXAMPLES": "afk message:I'm busy =)",
"SUCCESS": "You are now AFK with the reason: **{{reason}}**",
"DELETED": "**{{user}}**, your AFK status has been removed",
"IS_AFK": "**{{user}}** is currently AFK, reason:\n```{{reason}}```"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Возвращает аватар пользователя",
"DESCRIPTION": "Gets user's avatar",
"USAGE": "(@user)",
"EXAMPLES": "avatar\navatar user:@Jonny_Bro#4226"
}

View file

@ -1,8 +1,8 @@
{
"DESCRIPTION": "Список участников, которые дали буст серверу",
"DESCRIPTION": "Lists members who have boosted the server",
"USAGE": "",
"EXAMPLES": "boosters",
"BOOSTERS_LIST": "Список бустеров",
"NO_BOOSTERS": "Бусты отсутствуют",
"BOOSTER_SINCE": "Буст с"
"BOOSTERS_LIST": "Boosters List",
"NO_BOOSTERS": "No boosters",
"BOOSTER_SINCE": "Boosted since"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Показать информацию об эмодзи",
"DESCRIPTION": "Shows information about an emoji",
"USAGE": "[emoji]",
"EXAMPLES": "emoji emoji::tada:",
"TITLE": "Информация об {{emoji}}",
"ANIMATED": "Анимирован",
"LINK": "Ссылка",
"STANDART": "Стандартный эмодзи"
"TITLE": "Information about {{emoji}}",
"ANIMATED": "Animated",
"LINK": "Link",
"STANDARD": "Standard emoji"
}

View file

@ -1,19 +1,19 @@
{
"DESCRIPTION": "Показать список команд или помощь по данной команде",
"DESCRIPTION": "Shows a list of commands or help for a specific command",
"USAGE": "(command)",
"EXAMPLES": "help\nhelp command:ping",
"NOT_FOUND": "Команда {{command}} не найдена",
"COMMANDS_IN": "Доступные команды в категории \"{{category}}\":",
"FIELD_USAGE": "Использование",
"FIELD_DESCRIPTION": "Описание",
"FIELD_ALIASES": "Сокращения",
"FIELD_EXAMPLES": "Примеры",
"NO_ALIAS": "Нет сокращений",
"CMD_TITLE": "Помощь по {{cmd}}",
"INFO": "● Чтобы получить помощь по определённой команде используйте `/help [command:command_name]`",
"FIELD_PERMISSIONS": "Необходимые права",
"NO_REQUIRED_PERMISSION": "Никаких особых прав не нужно",
"TITLE": "{{name}} | Команды",
"GUILD_ONLY": "Только на сервере",
"NOT_GUILD_ONLY": "На сервере и в ЛС бота"
"NOT_FOUND": "Command {{command}} not found",
"COMMANDS_IN": "Available commands in category \"{{category}}\":",
"FIELD_USAGE": "Usage",
"FIELD_DESCRIPTION": "Description",
"FIELD_ALIASES": "Aliases",
"FIELD_EXAMPLES": "Examples",
"NO_ALIAS": "No aliases",
"CMD_TITLE": "Help for {{cmd}}",
"INFO": "● To get help for a specific command, use `/help [command:command_name]`",
"FIELD_PERMISSIONS": "Required Permissions",
"NO_REQUIRED_PERMISSION": "No special permissions required",
"TITLE": "{{name}} | Commands",
"GUILD_ONLY": "Guild Only",
"NOT_GUILD_ONLY": "Guild and DM"
}

View file

@ -1,14 +1,14 @@
{
"DESCRIPTION": "Показать информацию о Minecraft сервере",
"DESCRIPTION": "Shows information about a Minecraft server",
"USAGE": "[IP]",
"EXAMPLES": "minecraft IP:mc.hypixel.net",
"FAILED": "Сервер недоступен или доступ запрещён",
"ONLINE": "Онлайн",
"OFFLINE": "Оффлайн",
"PLAYERS": "{{count}} игрок(а/ов)",
"FIELD_VERSION": "Версия",
"FIELD_CONNECTED": "Игроков на сервере",
"FIELD_STATUS": "Статус",
"FIELD_PING": "Пинг",
"FIELD_IP": "Полный IP"
"FAILED": "Server is unreachable or access is denied",
"ONLINE": "Online",
"OFFLINE": "Offline",
"PLAYERS": "{{count}} player(s)",
"FIELD_VERSION": "Version",
"FIELD_CONNECTED": "Players Online",
"FIELD_STATUS": "Status",
"FIELD_PING": "Ping",
"FIELD_IP": "Full IP"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Показать пинг бота",
"DESCRIPTION": "Shows the bot's ping",
"USAGE": "",
"EXAMPLES": "ping",
"PONG": "Понг!",
"PING": "Мой пинг - **{{ping}}**ms"
"PONG": "Pong!",
"PING": "My ping is **{{ping}}**ms"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Создать напоминание",
"DESCRIPTION": "Creates a reminder",
"USAGE": "[time] [message]",
"EXAMPLES": "remindme time:12h message:Использовать команду work\nremindme time:5m message:Достать курицу из морозилки!",
"TIME": "Время (Например: 10s, 5m, 2h, 1d, 3w)",
"SAVED": "Напоминание `{{message}}` сохранено **{{time}}**",
"TITLE": "Напоминание от JaBa",
"CREATED": "Напоминание создано: **{{time}}**"
"EXAMPLES": "remindme time:12h message:Use the command 'work'\nremindme time:5m message:Get the chicken from the freezer!",
"TIME": "Time (e.g., 10s, 5m, 2h, 1d, 3w)",
"SAVED": "Reminder `{{message}}` saved for **{{time}}**",
"TITLE": "Reminder from JaBa",
"CREATED": "Reminder created for: **{{time}}**"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Отправить жалобу в специальный канал",
"DESCRIPTION": "Sends a report to a designated channel",
"USAGE": "[@user] (message)",
"EXAMPLES": "report user:@Jonny_Bro#4226 message:Нарушение правил",
"MISSING_CHANNEL": "Канал для жалоб не настроен",
"INVALID_USER": "Вы не можете пожаловаться на себя",
"SUCCESS": "Ваша жалоба отправлена в {{channel}}",
"TITLE": "Жалоба - {{user}}"
"EXAMPLES": "report user:@Jonny_Bro#4226 message:Violation of rules",
"MISSING_CHANNEL": "The report channel is not set up",
"INVALID_USER": "You cannot report yourself",
"SUCCESS": "Your report has been sent to {{channel}}",
"TITLE": "Report - {{user}}"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Показать информацию о сервере",
"DESCRIPTION": "Shows server information",
"USAGE": "",
"EXAMPLES": "serverinfo",
"AFK_CHANNEL": "AFK канал",
"BOOSTS": "Кол-во бустов",
"LINK": "Статистика сервера",
"LINK_TEXT": "Нажмите сюда, чтобы открыть статистику сервера в панели управления"
"AFK_CHANNEL": "AFK Channel",
"BOOSTS": "Number of Boosts",
"LINK": "Server Statistics",
"LINK_TEXT": "Click here to open the server statistics in the control panel"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Укоротить ссылку",
"DESCRIPTION": "Shortens a URL",
"USAGE": "[url]",
"EXAMPLES": "shorturl url:https://google.com",
"URL": "Ссылка"
"URL": "URL"
}

View file

@ -1,10 +1,10 @@
{
"DESCRIPTION": "Показать список администрации сервера",
"DESCRIPTION": "Shows a list of server staff members",
"USAGE": "",
"EXAMPLES": "staff",
"TITLE": "Персонал {{guild}}",
"ADMINS": "Администраторы",
"NO_ADMINS": "Нет администраторов",
"MODS": "Модераторы",
"NO_MODS": "Нет модераторов"
"TITLE": "Staff Members of {{guild}}",
"ADMINS": "Administrators",
"NO_ADMINS": "No administrators",
"MODS": "Moderators",
"NO_MODS": "No moderators"
}

View file

@ -1,17 +1,17 @@
{
"DESCRIPTION": "Показать статистику бота",
"DESCRIPTION": "Show bot statistics",
"USAGE": "",
"EXAMPLES": "stats",
"COUNTS_TITLE": "• __Статистика__",
"COUNTS_CONTENT": "`Сервера: {{servers}}`\n`Пользователи: {{users}}`",
"VERSIONS_TITLE": "• __Используется__",
"RAM_TITLE": "• __Использование ОЗУ__",
"ONLINE_TITLE": "• __Онлайн__",
"ONLINE_CONTENT": "Работаю уже {{time}}",
"MUSIC_TITLE": "• __Музыка__",
"MUSIC_CONTENT": "Играю музыку на {{count}}",
"CREDITS_TITLE": ":heart: • __Доп. информация__",
"CREDITS_CONTENT": "__**Поддержавшие**__:\n**`Добрый Спецназ#8801`** - Тестер, генератор идей\n__**Переводчики**__:\n**`[ДАННЫЕ УДАЛЕНЫ]#4507`** - :flag_ua:",
"LINKS_TITLE": "• __Ссылки__",
"MADE": "Бот создан Jonny_Bro#4226"
"COUNTS_TITLE": "• __Statistics__",
"COUNTS_CONTENT": "`Servers: {{servers}}`\n`Users: {{users}}`",
"VERSIONS_TITLE": "• __Used__",
"RAM_TITLE": "• __RAM Usage__",
"ONLINE_TITLE": "• __Online__",
"ONLINE_CONTENT": "Been online for {{time}}",
"MUSIC_TITLE": "• __Music__",
"MUSIC_CONTENT": "Playing music on {{count}} servers",
"CREDITS_TITLE": ":heart: • __Additional Information__",
"CREDITS_CONTENT": "__**Contributors**__:\n**`Добрый Спецназ`** - Tester, idea generator\n__**Translators**__:\n**`@[ДАННЫЕ УДАЛЕНЫ]`** - :flag_ua:",
"LINKS_TITLE": "• __Links__",
"MADE": "[Bot created by Jonny_Bro#4226](https://github.com/JonnyBro/JaBa)"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Отправить предложение в специальный канал",
"DESCRIPTION": "Sends a suggestion to a dedicated channel",
"USAGE": "[message]",
"EXAMPLES": "suggest message:Новый канал #nsfw :smiling_imp:",
"MISSING_CHANNEL": "Канал для предложений не настроен",
"MISSING_CONTENT": "Введите предложение",
"TITLE": "Предложение - {{user}}",
"SUCCESS": "Ваше предложение отправлено в {{channel}}"
"EXAMPLES": "suggest message:New channel #nsfw :smiling_imp:",
"MISSING_CHANNEL": "The suggestion channel is not set up",
"MISSING_CONTENT": "Please enter your suggestion",
"TITLE": "Suggestion - {{user}}",
"SUCCESS": "Your suggestion has been submitted to {{channel}}"
}

View file

@ -1,11 +1,11 @@
{
"DESCRIPTION": "Показать информацию о пользователе",
"DESCRIPTION": "Shows user information",
"USAGE": "(@user)",
"EXAMPLES": "userinfo\nuserinfo user:@Jonny_Bro#4226",
"CUSTOM": "Пользовательский статус",
"NO_ACTIVITY": "Не играет",
"NO_ROLE": "Нет роли",
"ROLE": "Высшая роль",
"NO_NICKNAME": "Нет никнейма",
"MORE_ROLES": "и ещё {{count}} роль(и/ей)"
"CUSTOM": "Custom Status",
"NO_ACTIVITY": "Not playing",
"NO_ROLE": "No role",
"ROLE": "Top Role",
"NO_NICKNAME": "No nickname",
"MORE_ROLES": "and {{count}} more role(s)"
}

View file

@ -1,19 +1,19 @@
{
"DESCRIPTION": "Получить информацию об IP адресе",
"DESCRIPTION": "Sends information about an IP address",
"USAGE": "[IP]",
"EXAMPLES": "whois IP:8.8.8.8",
"ERROR": "Произошла ошибка при получении данных об {{ip}}",
"INFO_ABOUT": "Информация об {{ip}}",
"COUNTRY": "Страна",
"REGION": "Регион",
"CITY": "Город",
"ZIP": "Почтовый индекс",
"TIMEZONE": "Часовой пояс",
"CONTINENT": "Континент",
"CURRENCY": "Валюта",
"ISP": "Провайдер",
"INFO": "Дополнительная информация",
"PROXY": "Этот IP принадлежит Tor, VPN или прокси",
"MOBILE": "Этот IP используется для мобильных данных",
"HOSTING": "Это IP принадлежит хостингу или датацентру"
"ERROR": "An error occurred while retrieving data for {{ip}}",
"INFO_ABOUT": "Information about {{ip}}",
"COUNTRY": "Country",
"REGION": "Region",
"CITY": "City",
"ZIP": "Postal Code",
"TIMEZONE": "Timezone",
"CONTINENT": "Continent",
"CURRENCY": "Currency",
"ISP": "ISP",
"INFO": "Additional Information",
"PROXY": "This IP belongs to Tor, VPN, or proxy",
"MOBILE": "This IP is used for mobile data",
"HOSTING": "This IP belongs to hosting or data center"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Проверить баланс банки",
"DESCRIPTION": "Check the balance of the jar",
"USAGE": "",
"EXAMPLES": "checkjar"
}

View file

@ -1,157 +1,157 @@
{
"BOT_USER": "Вы не можете сделать это с ботом",
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил",
"LEVEL_UP": "Вы достигли следующего уровня! Ваш новый уровень: **{{level}}**",
"GUILD_ONLY": "Данную команду можно использовать только на сервере",
"HELLO_SERVER": "Привет! Все мои команды доступны через **/** Используйте </help:1029832476077596773>, чтобы получить список команд",
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**",
"MORE_THAN_ZERO": "Укажите целое число больше 0",
"NO_ARGS": "Агрументы не требуются",
"NSFW_COMMAND": "Данную команду можно использовать только в NSFW канале",
"OPTION_NAN_ALL": "Укажите целое число больше 0 или `all`",
"OWNER_ONLY": "Данную команду может использовать только владелец бота",
"SELECT_CANCELED": "Выбор отменён",
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Сервер поддержки]({{supportLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (укажите ваш Discord тэг для выдачи ачивки, для других способов поддержки пишите в ЛС <@{{owner}}>)",
"TIMED_OUT": "Время вышло",
"JUMP_TO_PAGE": "Укажите страницу к которой хотите перейти (максимум **{{length}}**):",
"QUOTE_TITLE": "Сообщение от {{user}}",
"QUOTE_ATTACHED": "Прикреплённые файлы",
"QUOTE_JUMP": "Перейти",
"QUOTE_FOOTER": "Цитировал {{user}}",
"BOT_USER": "You cannot do this with the bot.",
"FORCE_STOP": "The game has been forcibly ended, {{user}}, nobody won (the number was {{number}}).",
"LEVEL_UP": "You have reached the next level! Your new level is: **{{level}}**",
"GUILD_ONLY": "This command can only be used on a server.",
"HELLO_SERVER": "Hello! All my commands are available through **/**. Use </help:1029832476077596773> to get a list of commands.",
"INVALID_NUMBER_RANGE": "Please specify a number between **{{min}}** and **{{max}}**.",
"MORE_THAN_ZERO": "Please specify an integer greater than 0.",
"NO_ARGS": "No arguments required.",
"NSFW_COMMAND": "This command can only be used in an NSFW channel.",
"OPTION_NAN_ALL": "Please specify an integer greater than 0 or `all`.",
"OWNER_ONLY": "Only the bot owner can use this command.",
"SELECT_CANCELED": "Selection canceled.",
"STATS_FOOTER": "● [Dashboard]({{dashboardLink}})\n● [Support Server]({{supportLink}})\n● [Invite JaBa to Your Server]({{inviteLink}})\n● [Support]({{donateLink}}) (provide your Discord tag for achievement granting, for other support methods, please DM <@{{owner}}>)",
"TIMED_OUT": "Time out.",
"JUMP_TO_PAGE": "Specify the page you want to jump to (maximum **{{length}}**):",
"QUOTE_TITLE": "Message from {{user}}",
"QUOTE_ATTACHED": "Attached files",
"QUOTE_JUMP": "Jump",
"QUOTE_FOOTER": "Quoted by {{user}}",
"PERMISSIONS": {
"CreateInstantInvite": "Создание приглашения",
"KickMembers": "Выгонять участников",
"BanMembers": "Банить участников",
"Administrator": "Администратор",
"ManageChannels": "Управлять каналами",
"ManageGuild": "Управлять сервером",
"AddReactions": "Добавлять реакции",
"ViewAuditLog": "Просматривать журнал аудита",
"PrioritySpeaker": "Приоритетный режим",
"Stream": "Видео",
"ViewChannel": "Просматривать каналы",
"SendMessages": "Отправлять сообщения",
"SendTTSMessages": "Отправка сообщений text-to-speech",
"ManageMessages": "Управлять сообщениями",
"EmbedLinks": "Встраивать ссылки",
"AttachFiles": "Прикреплять файлы",
"ReadMessageHistory": "Читать историю сообщений",
"MentionEveryone": "Упоминание *@*everyone, *@*here и всех ролей",
"UseExternalEmojis": "Использовать внешние эмодзи",
"ViewGuildInsights": "Просматривать статистику сервера",
"Connect": "Подключаться",
"Speak": "Говорить",
"MuteMembers": "Отключать участникам микрофон",
"DeafenMembers": "Отключать участникам звук",
"MoveMembers": "Перемещать участников",
"UseVAD": "Использовать режим активации по голосу",
"ChangeNickname": "Изменить никнейм",
"ManageNicknames": "Управлять никнеймами",
"ManageRoles": "Управлять ролями",
"ManageWebhooks": "Управлять вебхуками (webhooks)",
"ManageEmojisAndStickers": "Управлять эмодзи и стикерами",
"UseApplicationCommands": "Использовать команды приложения",
"ManageEvents": "Управление событиями",
"ManageThreads": "Управление ветками",
"CreatePublicThreads": "Создать публичные ветки",
"CreatePrivateThreads": "Создание приватных веток",
"UseExternalStickers": "Использовать внешние стикеры",
"SendMessagesInThreads": "Отправлять сообщения в ветках",
"UseEmbeddedActivities": "Начать активность",
"ModerateMembers": "Отправить участников подумать о своём поведении"
"CreateInstantInvite": "Create Instant Invite",
"KickMembers": "Kick Members",
"BanMembers": "Ban Members",
"Administrator": "Administrator",
"ManageChannels": "Manage Channels",
"ManageGuild": "Manage Guild",
"AddReactions": "Add Reactions",
"ViewAuditLog": "View Audit Log",
"PrioritySpeaker": "Priority Speaker",
"Stream": "Stream",
"ViewChannel": "View Channel",
"SendMessages": "Send Messages",
"SendTTSMessages": "Send Text-to-Speech Messages",
"ManageMessages": "Manage Messages",
"EmbedLinks": "Embed Links",
"AttachFiles": "Attach Files",
"ReadMessageHistory": "Read Message History",
"MentionEveryone": "Mention *@*everyone, *@*here, and all roles",
"UseExternalEmojis": "Use External Emojis",
"ViewGuildInsights": "View Guild Insights",
"Connect": "Connect",
"Speak": "Speak",
"MuteMembers": "Mute Members",
"DeafenMembers": "Deafen Members",
"MoveMembers": "Move Members",
"UseVAD": "Use Voice Activity Detection",
"ChangeNickname": "Change Nickname",
"ManageNicknames": "Manage Nicknames",
"ManageRoles": "Manage Roles",
"ManageWebhooks": "Manage Webhooks",
"ManageEmojisAndStickers": "Manage Emojis and Stickers",
"UseApplicationCommands": "Use Application Commands",
"ManageEvents": "Manage Events",
"ManageThreads": "Manage Threads",
"CreatePublicThreads": "Create Public Threads",
"CreatePrivateThreads": "Create Private Threads",
"UseExternalStickers": "Use External Stickers",
"SendMessagesInThreads": "Send Messages in Threads",
"UseEmbeddedActivities": "Start Activities",
"ModerateMembers": "Tell Members to Think about Their Behavior"
},
"NOUNS": {
"CREDIT": {
"1": "кредит",
"2": "кредита",
"5": "кредитов"
"1": "credit",
"2": "credits",
"5": "credits"
},
"CREDITS": {
"1": "кредита",
"2": "кредитов",
"5": "кредитов"
"1": "credit",
"2": "credits",
"5": "credits"
},
"COMMANDS": {
"1": "команду",
"2": "команды",
"5": "команд"
"1": "command",
"2": "commands",
"5": "commands"
},
"POINTS": {
"1": "очко",
"2": "очка",
"5": "очков"
"1": "point",
"2": "points",
"5": "points"
},
"MEMBERS": {
"1": "участник",
"2": "участника",
"5": "участников"
"1": "member",
"2": "members",
"5": "members"
},
"USERS": {
"1": "пользователь",
"2": "пользователя",
"5": "пользователей"
"1": "user",
"2": "users",
"5": "users"
},
"PLAYERS": {
"1": "игрок",
"2": "игрока",
"5": "игроков"
"1": "player",
"2": "players",
"5": "players"
},
"TRACKS": {
"1": "трек",
"2": "трека",
"5": "треков"
"1": "track",
"2": "tracks",
"5": "tracks"
},
"BOTS": {
"1": "бот",
"2": "бота",
"5": "ботов"
"1": "bot",
"2": "bots",
"5": "bots"
},
"TEXT": {
"1": "текстовый канал",
"2": "текстовых канала",
"5": "текстовых каналов"
"1": "text channel",
"2": "text channels",
"5": "text channels"
},
"VOICE": {
"1": "голосовой канал",
"2": "голосовых канала",
"5": "голосовых каналов"
"1": "voice channel",
"2": "voice channels",
"5": "voice channels"
},
"CATEGORY": {
"1": "категория",
"2": "категории",
"5": "категорий"
"1": "category",
"2": "categories",
"5": "categories"
},
"MESSAGES": {
"1": "сообщение",
"2": "сообщения",
"5": "сообщений"
"1": "message",
"2": "messages",
"5": "messages"
},
"WARNS": {
"1": "предупреждение",
"2": "предупреждения",
"5": "предупреждений"
"1": "warning",
"2": "warnings",
"5": "warnings"
},
"SECONDS": {
"1": "секунду",
"2": "секунды",
"5": "секунд"
"1": "second",
"2": "seconds",
"5": "seconds"
},
"SERVER": {
"1": "сервер",
"2": "сервера",
"5": "серверов"
"1": "server",
"2": "servers",
"5": "servers"
},
"SERVERS": {
"1": "сервере",
"2": "серверах",
"5": "серверах"
"1": "server",
"2": "servers",
"5": "servers"
},
"AGE": {
"1": "год",
"2": "года",
"5": "лет"
"1": "year",
"2": "years",
"5": "years"
}
}
}

View file

@ -1,11 +1,11 @@
{
"DESCRIPTION": "Очистка сообщений в канале",
"DESCRIPTION": "Clears messages in a channel",
"USAGE": "[option] (@user)",
"EXAMPLES": "clear option:10\nclear option:10 user:@Jonny_Bro#4226\nclear option:all",
"OPTION": "Целое число / all",
"REQUIRE_ID_USER": "Укажите пользователя или ID",
"ALL_CONFIRM": "**Все сообщения в канале будут удалены! Вы уверены?**",
"CHANNEL_CLEARED": "Канал очищен",
"CLEARED": "Было удалено {{amount}}",
"CLEARED_MEMBER": "Было удалено {{amount}} от {{user}}"
"OPTION": "Integer / all",
"REQUIRE_ID_USER": "Specify a user or ID",
"ALL_CONFIRM": "**All messages in the channel will be deleted! Are you sure?**",
"CHANNEL_CLEARED": "Channel cleared",
"CLEARED": "{{amount}} messages were deleted",
"CLEARED_MEMBER": "{{amount}} messages were deleted from {{user}}"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Снять все предупреждения с пользователя",
"DESCRIPTION": "Removes all warnings from a user",
"USAGE": "[@user]",
"EXAMPLES": "clearwarns user:@Jonny_Bro#4226",
"SUCCESS": "Предупреждения пользователя {{user}} удалены"
"SUCCESS": "Warnings of user {{user}} have been cleared"
}

View file

@ -1,35 +1,35 @@
{
"DESCRIPTION": "Управление раздачами",
"USAGE": "[create] [duration] [winners_count] [prize] [isdrop]]\nИли [reroll/end/delete] [giveaway_id]",
"DESCRIPTION": "Manages giveaways",
"USAGE": "[create] [duration] [winners_count] [prize] [isdrop]]\nOr [reroll/end/delete] [giveaway_id]",
"EXAMPLES": "create duration:1w winners_count:1 prize:Discord Nitro isdrop:False\ngiveaway reroll giveaway_id:597812898022031374",
"CREATE": "Создать раздачу",
"REROLL": "Заролить раздачу повторно",
"DELETE": "Удалить раздачу",
"END": "Закончить раздачу принудительно",
"GIVEAWAY_ID": "ID сообщения раздачи",
"WINNERS_COUNT": "Количество победителей",
"PRIZE": "Приз",
"ISDROP": "Это дроп?",
"NOT_FOUND": "Раздач с ID `{{messageId}}` не найдено",
"NOT_FOUND_ENDED": "**Оконченных** раздач с ID `{{messageId}} не найдено!`",
"MAX_DURATION": "Максимальная длительность раздачи - 10 дней",
"MAX_COUNT": "Одновременно можно создать только 5 раздач",
"TITLE": "🎉🎉 **РАЗДАЧА** 🎉🎉",
"ENDED": "🎉🎉 **РАЗДАЧА ОКОНЧЕНА** 🎉🎉",
"TIME_REMAINING": "Оставшееся время: **{duration}**",
"INVITE_PARTICIPATE": "Отреагируйте 🎉, чтобы участвовать",
"WIN_MESSAGE": "Поздравляем, {winners}! Вы выиграли **{this.prize}**",
"DRAWING": "Заканчивается: {timestamp}",
"DROP": "Будь первым кто отреагирует 🎉",
"FOOTER": "Раздача",
"NO_WINNER": "Раздача отменена, никто не участвовал.",
"WINNERS": "Победитель(и):",
"END_AT": "Закончилась:",
"HOSTED_BY": "Организатор: {this.hostedBy}",
"REROLL_CONGRAT": "🎉 Новый(е) победитель(и): {winners}! Поздравляем",
"REROLL_ERROR": "Нет действительных участников, никто не выиграл",
"GIVEAWAY_CREATED": "Раздача начата",
"GIVEAWAY_REROLLED": "Раздача перезапущена",
"GIVEAWAY_ENDED": "Раздача принудительно окончена",
"GIVEAWAY_DELETED": "Раздача удалена"
"CREATE": "Create a giveaway",
"REROLL": "Reroll a giveaway",
"DELETE": "Delete a giveaway",
"END": "Forcefully end a giveaway",
"GIVEAWAY_ID": "Giveaway message ID",
"WINNERS_COUNT": "Number of winners",
"PRIZE": "Prize",
"ISDROP": "Is it a drop?",
"NOT_FOUND": "Giveaway with ID `{{messageId}}` not found",
"NOT_FOUND_ENDED": "No **ended** giveaways found with ID `{{messageId}}`",
"MAX_DURATION": "The maximum duration for a giveaway is 10 days",
"MAX_COUNT": "You can only create a maximum of 5 giveaways simultaneously",
"TITLE": "🎉🎉 **GIVEAWAY** 🎉🎉",
"ENDED": "🎉🎉 **GIVEAWAY ENDED** 🎉🎉",
"TIME_REMAINING": "Time remaining: **{duration}**",
"INVITE_PARTICIPATE": "React with 🎉 to participate",
"WIN_MESSAGE": "Congratulations, {winners}! You won **{this.prize}**",
"DRAWING": "Ending at: {timestamp}",
"DROP": "Be the first to react with 🎉",
"FOOTER": "Giveaway",
"NO_WINNER": "Giveaway canceled, no one participated.",
"WINNERS": "Winner(s):",
"END_AT": "Ended at:",
"HOSTED_BY": "Hosted by: {this.hostedBy}",
"REROLL_CONGRAT": "🎉 New winner(s): {winners}! Congratulations",
"REROLL_ERROR": "No valid participants, no one won",
"GIVEAWAY_CREATED": "Giveaway started",
"GIVEAWAY_REROLLED": "Giveaway rerolled",
"GIVEAWAY_ENDED": "Giveaway forcibly ended",
"GIVEAWAY_DELETED": "Giveaway deleted"
}

View file

@ -1,11 +1,11 @@
{
"DESCRIPTION": "Запустить опрос в текущем канале",
"DESCRIPTION": "Starts a poll in the current channel",
"USAGE": "[question]",
"EXAMPLES": "poll question:Земля плоская?",
"QUESTION": "Текст вопроса",
"NOTHING": "Без упоминания",
"SELECT_MENTION": "Выберите упоминание:",
"POLL_SENDED": "Опрос отправлен",
"REACT": "Отреагируйте {{success}} или {{error}}!",
"TITLE": "📊 Опрос:"
"EXAMPLES": "poll question:Is the Earth flat?",
"QUESTION": "Question text",
"NOTHING": "No mention",
"SELECT_MENTION": "Select a mention:",
"POLL_SENDED": "Poll sent",
"REACT": "React with {{success}} or {{error}}!",
"TITLE": "📊 Poll:"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Разбанить пользователя на сервере",
"DESCRIPTION": "Unban a user on the server",
"USAGE": "[user_id]",
"EXAMPLES": "unban user_id:281361531411890186",
"NOT_BANNED": "Пользователь с ID **{{id}}** не найден",
"UNBANNED": "**{{id}}** разбанен"
"NOT_BANNED": "User with ID **{{id}}** not found",
"UNBANNED": "**{{id}}** has been unbanned"
}

View file

@ -1,14 +1,14 @@
{
"DESCRIPTION": "Выдать предупреждение пользователю",
"USAGE": "ПКМ на пользователя > Приложения > warn (С аватаркой JaBa)",
"DESCRIPTION": "Issues a warning to a user",
"USAGE": "Right-click on the user > Applications > warn (With JaBa avatar)",
"EXAMPLES": "warn",
"YOURSELF": "Вы не можете подать жалобу на себя",
"SUPERIOR": "Вы не можете подать жалобу на данного пользователя",
"MODAL_TITLE": "Выдать предупреждение {{nickname}}",
"MODAL_REASON": "Причина предупреждения",
"WARNED_DM": "Вы получили предупреждение на сервере **{{server}}** от пользователя **{{moderator}}** по причине **{{reason}}**",
"WARNED": "**{{user}}** получил предупреждение по причине **{{reason}}**",
"WARN": "Предупрежение",
"BAN": "Бан",
"KICK": "Кик"
"YOURSELF": "You cannot issue a warning to yourself",
"SUPERIOR": "You cannot issue a warning to this user",
"MODAL_TITLE": "Issue a warning to {{nickname}}",
"MODAL_REASON": "Reason for the warning",
"WARNED_DM": "You have received a warning on the **{{server}}** server from user **{{moderator}}** for the following reason: **{{reason}}**",
"WARNED": "**{{user}}** has been warned for the following reason: **{{reason}}**",
"WARN": "Warning",
"BAN": "Ban",
"KICK": "Kick"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Показать список нарушений пользователя",
"DESCRIPTION": "Shows a list of user's violations",
"USAGE": "[@user]",
"EXAMPLES": "warns user:@Jonny_Bro#4226",
"SANCTIONS_OF": "Нарушения {{member}}",
"NO_SANCTIONS": "У **{{member}}** нет нарушений"
"SANCTIONS_OF": "Violations of {{member}}",
"NO_SANCTIONS": "**{{member}}** has no violations"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Включить предыдущий трек",
"DESCRIPTION": "Starts the previous track",
"USAGE": "",
"EXAMPLES": "back",
"NO_PREV_SONG": "Предыдущий трек отсутствует",
"SUCCESS": "Играет предыдущий трек"
"NO_PREV_SONG": "No previous track available",
"SUCCESS": "Playing the previous track"
}

View file

@ -1,11 +1,11 @@
{
"DESCRIPTION": "Показать список доступных звуков и/или воспроизвести выбранный",
"DESCRIPTION": "Shows a list of available clips and/or plays the selected one",
"USAGE": "",
"EXAMPLES": "clips",
"QUERY": "Название клипа / list",
"CLIPS_LIST": "Список доступных клипов",
"NO_CLIP": "Данный файл не существует",
"ACTIVE_QUEUE": "Не могу воспроизвести клип, т.к. на сервере есть активная очередь",
"ACTIVE_CLIP": "Уже воспроизводится какой-то файл",
"PLAYING": "Начато проигрывание клипа **{{clip}}**"
"QUERY": "Clip name / list",
"CLIPS_LIST": "List of available clips",
"NO_CLIP": "This file does not exist",
"ACTIVE_QUEUE": "Cannot play the clip because there is an active queue on the server",
"ACTIVE_CLIP": "Another clip is already playing",
"PLAYING": "Started playing the clip **{{clip}}**"
}

View file

@ -1,14 +1,14 @@
{
"DESCRIPTION": "Выбор режима повтора",
"DESCRIPTION": "Sets the repeat mode",
"USAGE": "[option]",
"EXAMPLES": "loop option:1",
"OPTION": "Режим воспроизведения",
"AUTOPLAY": "Автовоспроизведение",
"QUEUE": "Очередь",
"TRACK": "Текущий трек",
"DISABLE": "Отключить",
"AUTOPLAY_ENABLED": "Автовоспроизведение **включено**",
"QUEUE_ENABLED": "Повтор очереди **включён**",
"TRACK_ENABLED": "Повтор текущего трека **включён**",
"LOOP_DISABLED": "Повтор **отключён**"
"OPTION": "Playback mode",
"AUTOPLAY": "Autoplay",
"QUEUE": "Queue",
"TRACK": "Current track",
"DISABLE": "Disable",
"AUTOPLAY_ENABLED": "Autoplay **enabled**",
"QUEUE_ENABLED": "Queue repeat **enabled**",
"TRACK_ENABLED": "Current track repeat **enabled**",
"LOOP_DISABLED": "Repeat **disabled**"
}

View file

@ -1,15 +1,15 @@
{
"DESCRIPTION": "Показать информацию о играющем сейчас треке",
"DESCRIPTION": "Shows information about the currently playing track",
"USAGE": "",
"EXAMPLES": "nowplaying",
"CURRENTLY_PLAYING": "Сейчас играет",
"T_TITLE": "Название",
"T_AUTHOR": "Автор",
"T_DURATION": "Длительность",
"T_DESCRIPTION": "Описание",
"NO_DESCRIPTION": "Описание отсутствует",
"REPEAT": "Повтор",
"AUTOPLAY": "Автовоспроизведение",
"QUEUE": "Очереди",
"TRACK": "Трека"
"CURRENTLY_PLAYING": "Currently playing",
"T_TITLE": "Title",
"T_AUTHOR": "Author",
"T_DURATION": "Duration",
"T_DESCRIPTION": "Description",
"NO_DESCRIPTION": "No description",
"REPEAT": "Repeat",
"AUTOPLAY": "Autoplay",
"QUEUE": "Queue",
"TRACK": "Track"
}

View file

@ -1,17 +1,17 @@
{
"DESCRIPTION": "Начать воспроизведение трека",
"DESCRIPTION": "Adds a track to the queue",
"USAGE": "[query]",
"EXAMPLES": "play query:Never Gonna Give You Up",
"QUERY": "Название / Прямая ссылка / Ссылка на YouTube, Spotify или SoundCloud",
"NO_VOICE_CHANNEL": "Вы должны находиться в голосовом канале",
"VOICE_CHANNEL_CONNECT": "Я не могу присоедениться к вашему голосовому каналу",
"RESULTS_TITLE": "Результаты поиска по \"{{query}}\"",
"NO_RESULT": "По запросу `{{query}}` ничего не найдено",
"NOW_PLAYING": "Сейчас играет **{{songName}}**",
"NOT_PLAYING": "На сервере сейчас ничего не воспроизводится",
"QUEUE_ENDED": "Очередь окончена",
"ADDED_QUEUE": "**{{songName}}** добавлен в очередь",
"STOP_DISCONNECTED": "Воспроизведение окончено, т.к. я вышел из голосового канала",
"STOP_EMPTY": "Воспроизведение окончено, т.к. все вышли из голосового канала",
"ERR_OCCURRED": "Произошла ошибка...\n```{{error}}```"
"QUERY": "Title / Direct link / YouTube, Spotify, or SoundCloud link",
"NO_VOICE_CHANNEL": "You must be in a voice channel",
"VOICE_CHANNEL_CONNECT": "I cannot connect to your voice channel",
"RESULTS_TITLE": "Search results for \"{{query}}\"",
"NO_RESULT": "No results found for `{{query}}`",
"NOW_PLAYING": "Now playing **{{songName}}**",
"NOT_PLAYING": "Nothing is currently playing on the server",
"QUEUE_ENDED": "The queue has ended",
"ADDED_QUEUE": "**{{songName}}** has been added to the queue",
"STOP_DISCONNECTED": "Playback stopped because I left the voice channel",
"STOP_EMPTY": "Playback stopped because everyone has left the voice channel",
"ERR_OCCURRED": "An error occurred...\n```{{error}}```"
}

View file

@ -1,13 +1,13 @@
{
"DESCRIPTION": "Показать очередь на воспроизведение",
"DESCRIPTION": "Shows the playback queue",
"USAGE": "",
"EXAMPLES": "queue",
"QUEUE": "Очередь",
"NO_QUEUE": "Пусто",
"DURATION": "Играю уже",
"ADDED": "Добавил",
"NEXT_PAGE": "След. страница",
"PREV_PAGE": "Пред. страница",
"JUMP_PAGE": "Перейти к странице",
"NEXT": "Далее"
"QUEUE": "Playback Queue",
"NO_QUEUE": "Empty",
"DURATION": "Currently playing for",
"ADDED": "Added by",
"NEXT_PAGE": "Next page",
"PREV_PAGE": "Previous page",
"JUMP_PAGE": "Jump to page",
"NEXT": "Next"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Перемотать текущий трек на данную позицию",
"DESCRIPTION": "Rewinds the current track to the specified position",
"USAGE": "[time]",
"EXAMPLES": "seek time:60",
"TIME": "Время в секундах",
"SUCCESS": "Трек перемотан на {{time}}"
"TIME": "Time in seconds",
"SUCCESS": "Track rewinded to {{time}}"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Перемешать очередь",
"DESCRIPTION": "Shuffles the queue",
"USAGE": "",
"EXAMPLES": "shuffle",
"SUCCESS": "Очередь успешно перемешана"
"SUCCESS": "Queue shuffled successfully"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Пропустить текущий трек",
"DESCRIPTION": "Skips the current track",
"USAGE": "",
"EXAMPLES": "skip",
"SUCCESS": "Трек пропущен"
"SUCCESS": "Track skipped"
}

View file

@ -1,9 +1,9 @@
{
"DESCRIPTION": "Перейти на заданный трек",
"DESCRIPTION": "Jumps to a specified track",
"USAGE": "[position]",
"EXAMPLES": "skipto position:3",
"POSITION": "Номер трека в очереди",
"SUCCESS": "Выполнен переход на трек под номером **{{position}}**",
"ERROR": "На позиции {{position}} ничего не найдено",
"NO_PREV_SONG": "Вы не можете перейти назад, для этого используйте команду `back`"
"POSITION": "Track number in the queue",
"SUCCESS": "Jumped to track number **{{position}}**",
"ERROR": "Nothing found at position {{position}}",
"NO_PREV_SONG": "You cannot go back, use the `back` command for that"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Остановить воспроизведение очереди",
"DESCRIPTION": "Stops and removes the queue",
"USAGE": "",
"EXAMPLES": "stop",
"SUCCESS": "Воспроизведение остановлено"
"SUCCESS": "Playback stopped"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Установить громкость бота",
"DESCRIPTION": "Sets the volume of the bot",
"USAGE": "[int]",
"EXAMPLES": "volume 50",
"SUCCESS": "Громкость установлена на **{{volume}}**"
"SUCCESS": "Volume set to **{{volume}}**"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Получить NSFW изображение",
"DESCRIPTION": "Sends NSFW image",
"USAGE": "",
"EXAMPLES": "nsfw"
}

View file

@ -1,10 +1,10 @@
{
"DESCRIPTION": "Отправить объявление на все сервера где есть JaBa",
"DESCRIPTION": "Sends an announcement to all servers where JaBa is present",
"USAGE": "[message] [tag]",
"EXAMPLES": "announcement message:Обновление v1.0! tag:True",
"TAG": "Подставить @everyone в сообщение?",
"IMPORTANT": "Важное? (Отправит в первый доступный канал на сервере, даже если не настроен News)",
"TOO_LONG": "Текст должен быть короче 1000 символов",
"TITLE": "📢 Объявление:",
"SENDED": "Обновление отправлено на все сервера"
"EXAMPLES": "announcement message:Update v1.0! tag:True",
"TAG": "Include @everyone tag in the message?",
"IMPORTANT": "Is it important? (Send to the first available channel on the server, even if News is not set up)",
"TOO_LONG": "The text must be shorter than 1000 characters",
"TITLE": "📢 Announcement:",
"SENDED": "Update sent to all servers"
}

View file

@ -1,13 +1,13 @@
{
"DESCRIPTION": "Позволяет изменять данные пользователя",
"DESCRIPTION": "Allows you to modify user's data",
"USAGE": "[set/add] [type] [@user] [int]",
"EXAMPLES": "debug set type:Уровень user:@Jonny_Bro#4226 int:100",
"TYPE": "Тип данных",
"SET": "Установить значение",
"ADD": "Добавить к значению",
"SUCCESS_LEVEL": "Уровень пользователя **{{user}}** изменён на **{{amount}}**",
"SUCCESS_XP": "XP пользователя **{{user}}** изменён на **{{amount}}**",
"SUCCESS_CREDITS": "Кредиты пользователя **{{user}}** изменены на **{{amount}}**",
"SUCCESS_BANK": "Банк пользователя **{{user}}** изменён на **{{amount}}**",
"SUCCESS_REP": "Очки репутации пользователя **{{user}}** изменены на **{{amount}}**"
"EXAMPLES": "debug set type:Level user:@Jonny_Bro#4226 int:100",
"TYPE": "Type of data",
"SET": "Set the value",
"ADD": "Add to the value",
"SUCCESS_LEVEL": "Level of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_XP": "XP of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_CREDITS": "Credits of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_BANK": "Bank of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_REP": "Reputation points of user **{{user}}** changed to **{{amount}}**"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Выполнить код",
"DESCRIPTION": "Executes the code",
"USAGE": "[code]",
"EXAMPLES": "eval code:interaction.channel.send({ content: \"Hello World!\" })",
"CODE": "Выполняемый код"
"CODE": "Code to be executed"
}

View file

@ -1,7 +1,7 @@
{
"DESCRIPTION": "Перезагрузить команду",
"DESCRIPTION": "Reloads a command",
"USAGE": "[command]",
"EXAMPLES": "reload command:help",
"NOT_FOUND": "Команда `{{command}}` не найдена",
"SUCCESS": "Команда `{{command}}` успешно перезагружена"
"NOT_FOUND": "Command `{{command}}` not found",
"SUCCESS": "Command `{{command}}` successfully reloaded"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Написать сообщение от имени бота",
"DESCRIPTION": "Sends a message on behalf of the bot",
"USAGE": "[message] (#channel)",
"EXAMPLES": "say message:Hello World!\nsay message:Hello World! channel:#новости",
"DONE": "Сообщение `{{message}}` отправлено в {{channel}}"
"EXAMPLES": "say message:Hello World!\nsay message:Hello World! channel:#news",
"DONE": "Message `{{message}}` sent in {{channel}}"
}

View file

@ -1,6 +1,6 @@
{
"DESCRIPTION": "Показать список серверов бота",
"DESCRIPTION": "Shows a list of servers where bot is",
"USAGE": "",
"EXAMPLES": "servers",
"SERVERS_LIST": "Список серверов"
"SERVERS_LIST": "List of servers"
}

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Включить или отключить автоудаление спама и ссылок-приглашений",
"DESCRIPTION": "Включить или отключить автоудаление ссылок-приглашений",
"USAGE": "[state] (#channel)",
"EXAMPLES": "automod state:True\nautomod state:False channel:#general\nautomod state:False",
"ENABLED": "Ссылки-приглашения будут удаляться автоматически\nИспользуйте `automod false #channel` для игнорирования канала",

View file

@ -2,6 +2,7 @@
"DESCRIPTION": "Женитесь на том, кого любите",
"USAGE": "[@user]",
"EXAMPLES": "marry user:@Jonny_Bro#4226",
"BOT_USER": "Боты вечно одиноки ;(",
"ALREADY_MARRIED": "Вы уже состоите в браке! Вы можете развестить с помощью команды `divorce`",
"ALREADY_MARRIED_USER": "Вы опоздали! {{user}} уже состоит в браке",
"YOURSELF": "Вы не можете жениться на себе",
@ -11,6 +12,5 @@
"REQUEST_MEMBER_TO_AMEMBER": "{{firstUser}} уже отправил(а) предложение {{secondUser}}! Подождите пока {{secondUser}} согласиться или откажет на предложение {{firstUser}} (либо дождитесь истечения срока предложения)",
"REQUEST": "{{to}}, вы согласны вступить в брак с {{from}}?",
"DENIED": "{{creator}}, у меня есть плохие новости... {{partner}} отказался(лась) от вашего предложение",
"SUCCESS": "🎉 Поздравляем! **{{creator}}** и **{{partner}}** теперь состоят в браке",
"BOT_USER": "Боты вечно одиноки ;("
"SUCCESS": "🎉 Поздравляем! **{{creator}}** и **{{partner}}** теперь состоят в браке"
}

View file

@ -1,12 +0,0 @@
{
"DESCRIPTION": "Угадай загаданное мною число",
"USAGE": "",
"EXAMPLES": "number",
"GAME_START": "Я загадал число, начинайте!\nНапишите STOP, если хотите остановить игру",
"TOO_BIG": "{{user}}, моё число **больше** чем `{{number}}`",
"TOO_SMALL": "{{user}}, моё число **меньше** чем `{{number}}`",
"WON": "{{winner}} выиграл {{credits}}",
"DEFEAT": "Никто не угадал число! Им было **{{number}}**",
"GAME_STATS": "🎉 | {{winner}} угадал число! Им было **{{number}}**!\n\n**Статистика:**\n*-* __**Длительность**__: {{time}}\n*-* __**Участники ({{participantCount}})**__: {{participants}}",
"GAME_RUNNING": "Игра уже идёт"
}

View file

@ -17,5 +17,5 @@
"LOVER": "❤ Вторая половинка",
"REGISTERED": "📅 Профиль создан",
"ACHIEVEMENTS": "🔥 Достижения",
"ACHIEVEMENTS_CONTENT": "Получите больше информации с помощью `achievements`"
"ACHIEVEMENTS_CONTENT": "Получите больше информации с помощью </achievements:1029832475406499843>"
}

View file

@ -1,20 +0,0 @@
{
"DESCRIPTION": "Крестики-нолики",
"USAGE": "[@user]",
"EXAMPLES": "tictactoe user:@Jonny_Bro#4226",
"BOT_USER": "Вы не можете играть против бота!",
"YOURSELF": "Вы не можете играть с самим собой!",
"INVITE_USER": "<@{{opponent}}>, вам предложили сыграть в крестики-нолики!",
"REQUEST_SEND": "Запрос отправлен <@{{opponent}}>",
"REQUEST_WAIT": "Ожидаю ответа {{user}}",
"WAITING": "Ожидаю ход <@{{user}}> | Ваш эмодзи: {{emoji}}",
"WON": "<@{{winner}}> ({{emoji}}) выиграл",
"CANT_PLAY": "Сейчас не ваш ход",
"TIE": "Ничья",
"TIE_DESC": "Никто не выиграл",
"NO_ANSWER": "<@{{user}}> не ответил вовремя",
"NO_ANSWER_TITLE": "Запрос не принят вовремя",
"NOT_ANSWERED": "<@{{user}}> не принял запрос",
"CANCELED": "Игра отменена",
"CANCELED_DESC": "<@{{user}}> отказался от игры"
}

View file

@ -3,7 +3,7 @@
"USAGE": "[time] [message]",
"EXAMPLES": "remindme time:12h message:Использовать команду work\nremindme time:5m message:Достать курицу из морозилки!",
"TIME": "Время (Например: 10s, 5m, 2h, 1d, 3w)",
"SAVED": "Напоминание `{{message}}` сохранено **{{time}}**",
"SAVED": "Напоминание `{{message}}` сохранено на **{{time}}**",
"TITLE": "Напоминание от JaBa",
"CREATED": "Напоминание создано: **{{time}}**"
}

View file

@ -11,7 +11,7 @@
"MUSIC_TITLE": "• __Музыка__",
"MUSIC_CONTENT": "Играю музыку на {{count}}",
"CREDITS_TITLE": ":heart: • __Доп. информация__",
"CREDITS_CONTENT": "__**Поддержавшие**__:\n**`Добрый Спецназ#8801`** - Тестер, генератор идей\n__**Переводчики**__:\n**`[ДАННЫЕ УДАЛЕНЫ]#4507`** - :flag_ua:",
"CREDITS_CONTENT": "__**Поддержавшие**__:\n**`Добрый Спецназ`** - Тестер, генератор идей\n__**Переводчики**__:\n**`[ДАННЫЕ УДАЛЕНЫ]`** - :flag_ua:",
"LINKS_TITLE": "• __Ссылки__",
"MADE": "Бот создан Jonny_Bro#4226"
"MADE": "[Бот создан Jonny_Bro#4226](https://github.com/JonnyBro/JaBa)"
}

View file

@ -1,6 +1,6 @@
{
"BOT_USER": "Вы не можете сделать это с ботом",
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил",
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил (загаданное число - {{number}})",
"LEVEL_UP": "Вы достигли следующего уровня! Ваш новый уровень: **{{level}}**",
"GUILD_ONLY": "Данную команду можно использовать только на сервере",
"HELLO_SERVER": "Привет! Все мои команды доступны через **/** Используйте </help:1029832476077596773>, чтобы получить список команд",

View file

@ -1,5 +1,5 @@
{
"DESCRIPTION": "Увімкнути або вимкнути автовидалення спаму та посилань-запрошень",
"DESCRIPTION": "Увімкнути або вимкнути автовидалення посилань-запрошень",
"USAGE": "[state] (#channel)",
"EXAMPLES": "automod state:True\nautomod state:False channel:#general\nautomod state:False",
"ENABLED": "Посилання-запрошення будуть видалятися автоматично\nВикористовуйте `automod false #channel` для ігнорування каналу",

View file

@ -2,6 +2,7 @@
"DESCRIPTION": "Одружуйтеся з тим, кого любите",
"USAGE": "[@user]",
"EXAMPLES": "marry user:@Jonny_Bro#4226",
"BOT_USER": "Боти завжди самотні ;(",
"ALREADY_MARRIED": "Ви вже одружені! Ви можете розвести за допомогою команди `divorce`",
"ALREADY_MARRIED_USER": "Ви запізнилися! {{user}} вже одружений",
"YOURSELF": "Ви не можете одружитися з собою",
@ -11,6 +12,5 @@
"REQUEST_MEMBER_TO_AMEMBER": "{{firstUser}} вже надіслав(а) пропозицію {{secondUser}}! Зачекайте, поки {{secondUser}} погодиться або відмовить на пропозицію {{firstUser}} (або дочекайтеся закінчення терміну пропозиції)",
"REQUEST": "{{to}}, ви згодні одружитися з {{from}}?",
"DENIED": "{{creator}}, у мене є погані новини... {{partner}} відмовився від вашої пропозиції",
"SUCCESS": "🎉 Вітаємо! **{{creator}}** і **{{partner}}** тепер перебувають у шлюбі",
"BOT_USER": "Боти завжди самотні ;("
"SUCCESS": "🎉 Вітаємо! **{{creator}}** і **{{partner}}** тепер перебувають у шлюбі"
}

View file

@ -17,5 +17,5 @@
"LOVER": "❤ Друга половинка",
"REGISTERED": "📅 Профіль створений",
"ACHIEVEMENTS": "🔥 Досягнення",
"ACHIEVEMENTS_CONTENT": "Отримайте більше інформації за допомогою `achievements`"
"ACHIEVEMENTS_CONTENT": "Отримайте більше інформації за допомогою </achievements:1029832475406499843>"
}

Some files were not shown because too many files have changed in this diff Show more