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({ super({
command: new SlashCommandBuilder() command: new SlashCommandBuilder()
.setName("number") .setName("number")
.setDescription(client.translate("economy/number:DESCRIPTION")) .setDescription(client.translate("fun/number:DESCRIPTION"))
.setDescriptionLocalizations({ "uk": client.translate("economy/number:DESCRIPTION", null, "uk-UA") }) .setDescriptionLocalizations({ "uk": client.translate("fun/number:DESCRIPTION", null, "uk-UA") })
.setDMPermission(false), .setDMPermission(false),
aliases: [], aliases: [],
dirname: __dirname, dirname: __dirname,
@ -33,12 +33,12 @@ class Number extends BaseCommand {
* @param {Object} data * @param {Object} data
*/ */
async execute(client, interaction, 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 = [], const participants = [],
number = client.functions.randomNum(1000, 5000); number = client.functions.randomNum(1000, 5000);
await interaction.replyT("economy/number:GAME_START"); await interaction.replyT("fun/number:GAME_START");
const gameCreatedAt = Date.now(); const gameCreatedAt = Date.now();
@ -59,7 +59,7 @@ class Number extends BaseCommand {
if (parsedNumber === number) { if (parsedNumber === number) {
const time = client.functions.convertTime(client, gameCreatedAt, false, false, data.guildData.language); const time = client.functions.convertTime(client, gameCreatedAt, false, false, data.guildData.language);
interaction.channel.send({ interaction.channel.send({
content: interaction.translate("economy/number:GAME_STATS", { content: interaction.translate("fun/number:GAME_STATS", {
winner: msg.author.toString(), winner: msg.author.toString(),
number, number,
time, time,
@ -72,7 +72,7 @@ class Number extends BaseCommand {
const won = 100 * (participants.length * 0.5); const won = 100 * (participants.length * 0.5);
interaction.channel.send({ interaction.channel.send({
content: interaction.translate("economy/number:WON", { content: interaction.translate("fun/number:WON", {
winner: msg.author.username, 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"))}`, 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({ 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({ 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) => { collector.on("end", (_, reason) => {
delete currentGames[interaction.guildId]; delete currentGames[interaction.guildId];
if (reason === "time") return interaction.editReply({ content: interaction.translate("economy/number:DEFEAT", { number }) }); 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() }) }); 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({ super({
command: new SlashCommandBuilder() command: new SlashCommandBuilder()
.setName("tictactoe") .setName("tictactoe")
.setDescription(client.translate("economy/tictactoe:DESCRIPTION")) .setDescription(client.translate("fun/tictactoe:DESCRIPTION"))
.setDescriptionLocalizations({ "uk": client.translate("economy/tictactoe:DESCRIPTION", null, "uk-UA") }) .setDescriptionLocalizations({ "uk": client.translate("fun/tictactoe:DESCRIPTION", null, "uk-UA") })
.setDMPermission(false) .setDMPermission(false)
.addUserOption(option => option.setName("user") .addUserOption(option => option.setName("user")
.setDescription(client.translate("common:USER")) .setDescription(client.translate("common:USER"))

View file

@ -62,7 +62,7 @@ class Remindme extends BaseCommand {
interaction.success("general/remindme:SAVED", { interaction.success("general/remindme:SAVED", {
message, 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 }); }, { edit: true });
} }
} }

View file

@ -1,9 +1,7 @@
const { PermissionsBitField, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js"); const { PermissionsBitField, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js");
const BaseEvent = require("../base/BaseEvent"), const BaseEvent = require("../base/BaseEvent");
xpCooldown = {},
usersMap = new Map(), const xpCooldown = {};
messageLimit = 10,
timeDifferenceMs = 5000;
class MessageCreate extends BaseEvent { class MessageCreate extends BaseEvent {
constructor() { 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; return;
} }
} }

View file

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

View file

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

View file

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

View file

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

View file

@ -1,15 +1,15 @@
{ {
"DESCRIPTION": "Включить или отключить сообщения при выходе пользователя с сервера", "DESCRIPTION": "Toggles messages when a user leaves the server",
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]", "USAGE": "config [state] [#channel] [message] [image]\nOr [test]",
"EXAMPLES": "goodbye state:True channel:#welcome Прощай! image:True\ngoodbye test", "EXAMPLES": "goodbye state:True channel:#welcome Goodbye! image:True\ngoodbye test",
"TEST": "Проверить", "TEST": "Test",
"TEST_SUCCESS": "Тест выполнен", "TEST_SUCCESS": "Test successful",
"CONFIG": "Настроить", "CONFIG": "Configure",
"IMAGE": "Добавить карточку к сообщению?", "IMAGE": "Add a card to the message?",
"MESSAGE": "Ваше сообщение (доступны подмены с помощью {user}, {server} и {membercount})", "MESSAGE": "Your message (placeholders available: {user}, {server}, and {membercount})",
"ENABLED": "Прощальные сообщения включены в {{channel}}!\nИспользуйте `goodbye test` для просмотра сообщения", "ENABLED": "Farewell messages are enabled in {{channel}}!\nUse `goodbye test` to preview the message",
"DISABLED": "Прощальные сообщения отключены", "DISABLED": "Farewell messages are disabled",
"DEFAULT_MESSAGE": "Пока, {user}! Нас теперь {membercount} без тебя :'(", "DEFAULT_MESSAGE": "Goodbye, {user}! We're now {membercount} without you :'(",
"IMG_GOODBYE": "Вышел с {{server}}", "IMG_GOODBYE": "Left {server}",
"TITLE": "До встречи!" "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]", "USAGE": "message [text]\naddrole [#channel] [message_id] [@role]",
"EXAMPLES": "selectroles message text:Выберите роль!\nselectroles addrole channel:#roles message_id:1037403109051840937 role:@Обновления", "EXAMPLES": "selectroles message text:Choose a role!\nselectroles addrole channel:#roles message_id:1037403109051840937 role:@Updates",
"MESSAGE": "Отправить сообщение в текущий канал", "MESSAGE": "Send a message in the current channel",
"ADDROLE": "Добавить/убрать роль в сообщении", "ADDROLE": "Add/remove a role to the message",
"MESSAGE_ERROR": "Сообщение не существует или отправлено не мной", "MESSAGE_ERROR": "The message does not exist or was not sent by me",
"ALREADY_IN_MENU": "Роль уже есть в списке", "ALREADY_IN_MENU": "The role is already in the menu",
"NO_ROLES": "Сообщение не имеет списка авторолей", "NO_ROLES": "The message does not have a role menu",
"SUCCESS_ADDED": "Роль **{{role}}** добавлена в список", "SUCCESS_ADDED": "Role **{{role}}** has been added to the menu",
"MESSAGE_SENT": "Сообщение отправлено в текущий голосовой чат, используйте /selectroles addrole channel:{{channel}} message_id:**{{message_id}}** role:@роль", "MESSAGE_SENT": "Message sent in the current voice channel, use /selectroles addrole channel:{{channel}} message_id:**{{message_id}}** role:@role",
"ROLES_UPDATED": "Роли обновлены" "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]", "USAGE": "[type] [@user] [int]",
"EXAMPLES": "set type:Уровень user:@Jonny_Bro#4226 int:10", "EXAMPLES": "set type:Level user:@Jonny_Bro#4226 int:10",
"INVALID_NUMBER": "Значение должно быть больше нуля" "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]", "USAGE": "[language]",
"EXAMPLES": "setlang language:Русский", "EXAMPLES": "setlang language:English",
"SUCCESS": ":flag_ru: Язык сервера изменён на **{{lang}}**" "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]", "USAGE": "[emoji]",
"EXAMPLES": "stealemoji emoji::coolstorybob:", "EXAMPLES": "stealemoji emoji::coolstorybob:",
"SUCCESS": "{{emoji}} добавлен", "SUCCESS": "{{emoji}} has been added",
"ERROR": "Произошла ошибка при добавлении {{emoji}}.\n```{{e}}```" "ERROR": "An error occurred while adding {{emoji}}.\n```{{e}}```"
} }

View file

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

View file

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

View file

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

View file

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

View file

@ -1,12 +1,12 @@
{ {
"DESCRIPTION": "Управление банковским счётом", "DESCRIPTION": "Manages your bank account",
"USAGE": "[option] [credits/all]", "USAGE": "[option] [credits/all]",
"EXAMPLES": "bank option:deposit credits:1000\nbank option:withdraw credits:all", "EXAMPLES": "bank option:deposit credits:1000\nbank option:withdraw credits:all",
"OPTION": "Действие", "OPTION": "Action",
"DEPOSIT": "Внести", "DEPOSIT": "Deposit",
"WITHDRAW": "Снять", "WITHDRAW": "Withdraw",
"NOT_ENOUGH_CREDIT": "У вас нет {{money}}", "NOT_ENOUGH_CREDIT": "You don't have {{money}}",
"NOT_ENOUGH_BANK": "Недостаточно кредитов на банковском счету, необходимо {{money}}", "NOT_ENOUGH_BANK": "Insufficient credits in your bank account, {{money}} required",
"SUCCESS_DEP": "{{money}} внесено на ваш банковский счёт", "SUCCESS_DEP": "{{money}} deposited into your bank account",
"SUCCESS_WD": "Вы сняли {{money}} с вашего банковского счёта" "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]", "USAGE": "[day] [month] [year]",
"EXAMPLES": "birthdate day:17 month:03 year:2000", "EXAMPLES": "birthdate day:17 month:03 year:2000",
"DAY": "День", "DAY": "Day",
"MONTH": "Месяц", "MONTH": "Month",
"YEAR": "Год", "YEAR": "Year",
"INVALID_DATE": "Указана неверная дата", "INVALID_DATE": "Invalid date provided",
"DATE_TOO_LOW": "Вам больше 80 лет? :eyes:", "DATE_TOO_LOW": "Are you over 80 years old? :eyes:",
"DATE_TOO_HIGH": "Хммм... Вы ещё не родились", "DATE_TOO_HIGH": "Hmm... You haven't been born yet",
"HAPPY_BIRTHDAY": "День рождения", "HAPPY_BIRTHDAY": "Happy Birthday",
"HAPPY_BIRTHDAY_MESSAGE": "Поздравляем {{name}} (<@{{user}}>) с днём рождения, сегодня ему(ей) исполнилось {{age}}!", "HAPPY_BIRTHDAY_MESSAGE": "Happy birthday to {{name}} (<@{{user}}>)! Today, they have turned {{age}}!",
"SUCCESS": "Ваша дата рождения установлена на **{{date}}**" "SUCCESS": "Your date of birth has been set to **{{date}}**"
} }

View file

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

View file

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

View file

@ -1,10 +1,10 @@
{ {
"DESCRIPTION": "Показать таблицу лидеров по кредитам, уровню или очкам репутации", "DESCRIPTION": "Shows the leaderboard for credits, level, or reputation points",
"USAGE": "[type]", "USAGE": "[type]",
"EXAMPLES": "leaderboard type:Уровень", "EXAMPLES": "leaderboard type:Level",
"LEVEL": "Уровень", "LEVEL": "Level",
"MONEY": "Кредиты", "MONEY": "Credits",
"REP": "Репутация", "REP": "Reputation",
"MOBILE": ":confused: Я заметил, что вы онлайн с телефона... Таблица лидеров может отображаться некорректно на маленьких экранах. Попробуйте позже с другого устройства", "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}}" "TABLE": "{{name}} Leaderboard"
} }

View file

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

View file

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

View file

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

View file

@ -1,9 +1,9 @@
{ {
"DESCRIPTION": "Дать репутацию пользователю", "DESCRIPTION": "Gives reputation to a user",
"USAGE": "[@user]", "USAGE": "[@user]",
"EXAMPLES": "rep user:@Jonny_Bro#4226", "EXAMPLES": "rep user:@Jonny_Bro#4226",
"COOLDOWN": "Вы должны подождать **{{time}}** до следующего использования", "COOLDOWN": "You must wait **{{time}}** before using it again",
"BOT_USER": "Боты и так крутые B)", "BOT_USER": "Bots are already cool B)",
"YOURSELF": "Вы не можете дать очко репутации самому себе", "YOURSELF": "You cannot give reputation to yourself",
"SUCCESS": "Вы дали очко репутации {{user}}" "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]", "USAGE": "[@user] [amount]",
"EXAMPLES": "rob user:@Jonny_Bro#4226 amount:100", "EXAMPLES": "rob user:@Jonny_Bro#4226 amount:100",
"BOT_USER": "Вы не можете ограбить бота", "BOT_USER": "You cannot rob a bot",
"YOURSELF": "Вы не можете ограбить себя", "YOURSELF": "You cannot rob yourself",
"NOT_ENOUGH_AUTHOR": "У вас должно быть хотя бы {{moneyMin}}, чтобы грабить данного пользователя (сейчас у вас {{moneyCurrent}})", "NOT_ENOUGH_AUTHOR": "You must have at least {{moneyMin}} to rob this user (you currently have {{moneyCurrent}})",
"NOT_ENOUGH_MEMBER": "Вы не можете ограбить {{user}}, потому что у него нет столько кредитов", "NOT_ENOUGH_MEMBER": "You cannot rob {{user}} because they don't have that many credits",
"COOLDOWN": "🕵️ {{user}} под защитой.... Попробуйте позже", "COOLDOWN": "🕵️ {{user}} is under protection... Try again later",
"ROB_WON_1": "🎉 | Поздравляем! Полиция не смогла остановить вас, поэтому вы успешно украли {{money}} у {{user}}", "ROB_WON_1": "🎉 | Congratulations! The police couldn't stop you, so you successfully stole {{money}} from {{user}}",
"ROB_WON_2": "🎉 | Вы ограбили {{user}} на {{money}}", "ROB_WON_2": "🎉 | You have robbed {{user}} of {{money}}",
"ROB_LOSE_1": "🚔 | Полиция поймала вас. Теперь вы должны заплатить штраф {{fine}}. {{offset}} будет выплачено {{user}}", "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": "🚓 | Плохие новости... {{user}} вовремя позвонил в полицию. Вы должны заплатить штраф {{fine}} и {{offset}} будет выплачено {{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]", "USAGE": "[text]",
"EXAMPLES": "setbio text:Меня зовут Жоня :shock:", "EXAMPLES": "setbio text:My name is Johnny :shock:",
"MAX_CHARACTERS": "Ваша биография не должна превышать 150 символов", "MAX_CHARACTERS": "Your bio should not exceed 150 characters",
"SUCCESS": "Ваша биография изменена" "SUCCESS": "Your bio has been changed"
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Создать LMGTFY (давай я загуглю это для тебя) ссылку", "DESCRIPTION": "Creates an LMGTFY (Let Me Google That For You) link",
"USAGE": "[query] [short]", "USAGE": "[query] [short]",
"QUERY": "Запрос", "QUERY": "Query",
"EXAMPLES": "lmgtfy query:Как создать Discord бота? short:False" "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)", "USAGE": "[@first_member] (@second_member)",
"EXAMPLES": "lovecalc first_member:@Jonny_Bro#4226\nlovecalc first_member:@Jonny_Bro#4226 second_member:@JaBa#9042", "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": "", "USAGE": "",
"EXAMPLES": "memes", "EXAMPLES": "memes",
"SUBREDDIT": "Сабреддит", "SUBREDDIT": "Subreddit",
"UPS": "Апвоуты" "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]", "USAGE": "[message]",
"EXAMPLES": "afk message:Сру =)", "EXAMPLES": "afk message:I'm busy =)",
"SUCCESS": "Теперь вы AFK по причине: **{{reason}}**", "SUCCESS": "You are now AFK with the reason: **{{reason}}**",
"DELETED": "**{{user}}**, ваш AFK статус удалён", "DELETED": "**{{user}}**, your AFK status has been removed",
"IS_AFK": "**{{user}}** сейчас AFK, причина:\n```{{reason}}```" "IS_AFK": "**{{user}}** is currently AFK, reason:\n```{{reason}}```"
} }

View file

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

View file

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

View file

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

View file

@ -1,19 +1,19 @@
{ {
"DESCRIPTION": "Показать список команд или помощь по данной команде", "DESCRIPTION": "Shows a list of commands or help for a specific command",
"USAGE": "(command)", "USAGE": "(command)",
"EXAMPLES": "help\nhelp command:ping", "EXAMPLES": "help\nhelp command:ping",
"NOT_FOUND": "Команда {{command}} не найдена", "NOT_FOUND": "Command {{command}} not found",
"COMMANDS_IN": "Доступные команды в категории \"{{category}}\":", "COMMANDS_IN": "Available commands in category \"{{category}}\":",
"FIELD_USAGE": "Использование", "FIELD_USAGE": "Usage",
"FIELD_DESCRIPTION": "Описание", "FIELD_DESCRIPTION": "Description",
"FIELD_ALIASES": "Сокращения", "FIELD_ALIASES": "Aliases",
"FIELD_EXAMPLES": "Примеры", "FIELD_EXAMPLES": "Examples",
"NO_ALIAS": "Нет сокращений", "NO_ALIAS": "No aliases",
"CMD_TITLE": "Помощь по {{cmd}}", "CMD_TITLE": "Help for {{cmd}}",
"INFO": "● Чтобы получить помощь по определённой команде используйте `/help [command:command_name]`", "INFO": "● To get help for a specific command, use `/help [command:command_name]`",
"FIELD_PERMISSIONS": "Необходимые права", "FIELD_PERMISSIONS": "Required Permissions",
"NO_REQUIRED_PERMISSION": "Никаких особых прав не нужно", "NO_REQUIRED_PERMISSION": "No special permissions required",
"TITLE": "{{name}} | Команды", "TITLE": "{{name}} | Commands",
"GUILD_ONLY": "Только на сервере", "GUILD_ONLY": "Guild Only",
"NOT_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]", "USAGE": "[IP]",
"EXAMPLES": "minecraft IP:mc.hypixel.net", "EXAMPLES": "minecraft IP:mc.hypixel.net",
"FAILED": "Сервер недоступен или доступ запрещён", "FAILED": "Server is unreachable or access is denied",
"ONLINE": "Онлайн", "ONLINE": "Online",
"OFFLINE": "Оффлайн", "OFFLINE": "Offline",
"PLAYERS": "{{count}} игрок(а/ов)", "PLAYERS": "{{count}} player(s)",
"FIELD_VERSION": "Версия", "FIELD_VERSION": "Version",
"FIELD_CONNECTED": "Игроков на сервере", "FIELD_CONNECTED": "Players Online",
"FIELD_STATUS": "Статус", "FIELD_STATUS": "Status",
"FIELD_PING": "Пинг", "FIELD_PING": "Ping",
"FIELD_IP": "Полный IP" "FIELD_IP": "Full IP"
} }

View file

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

View file

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

View file

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

View file

@ -1,9 +1,9 @@
{ {
"DESCRIPTION": "Показать информацию о сервере", "DESCRIPTION": "Shows server information",
"USAGE": "", "USAGE": "",
"EXAMPLES": "serverinfo", "EXAMPLES": "serverinfo",
"AFK_CHANNEL": "AFK канал", "AFK_CHANNEL": "AFK Channel",
"BOOSTS": "Кол-во бустов", "BOOSTS": "Number of Boosts",
"LINK": "Статистика сервера", "LINK": "Server Statistics",
"LINK_TEXT": "Нажмите сюда, чтобы открыть статистику сервера в панели управления" "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]", "USAGE": "[url]",
"EXAMPLES": "shorturl url:https://google.com", "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": "", "USAGE": "",
"EXAMPLES": "staff", "EXAMPLES": "staff",
"TITLE": "Персонал {{guild}}", "TITLE": "Staff Members of {{guild}}",
"ADMINS": "Администраторы", "ADMINS": "Administrators",
"NO_ADMINS": "Нет администраторов", "NO_ADMINS": "No administrators",
"MODS": "Модераторы", "MODS": "Moderators",
"NO_MODS": "Нет модераторов" "NO_MODS": "No moderators"
} }

View file

@ -1,17 +1,17 @@
{ {
"DESCRIPTION": "Показать статистику бота", "DESCRIPTION": "Show bot statistics",
"USAGE": "", "USAGE": "",
"EXAMPLES": "stats", "EXAMPLES": "stats",
"COUNTS_TITLE": "• __Статистика__", "COUNTS_TITLE": "• __Statistics__",
"COUNTS_CONTENT": "`Сервера: {{servers}}`\n`Пользователи: {{users}}`", "COUNTS_CONTENT": "`Servers: {{servers}}`\n`Users: {{users}}`",
"VERSIONS_TITLE": "• __Используется__", "VERSIONS_TITLE": "• __Used__",
"RAM_TITLE": "• __Использование ОЗУ__", "RAM_TITLE": "• __RAM Usage__",
"ONLINE_TITLE": "• __Онлайн__", "ONLINE_TITLE": "• __Online__",
"ONLINE_CONTENT": "Работаю уже {{time}}", "ONLINE_CONTENT": "Been online for {{time}}",
"MUSIC_TITLE": "• __Музыка__", "MUSIC_TITLE": "• __Music__",
"MUSIC_CONTENT": "Играю музыку на {{count}}", "MUSIC_CONTENT": "Playing music on {{count}} servers",
"CREDITS_TITLE": ":heart: • __Доп. информация__", "CREDITS_TITLE": ":heart: • __Additional Information__",
"CREDITS_CONTENT": "__**Поддержавшие**__:\n**`Добрый Спецназ#8801`** - Тестер, генератор идей\n__**Переводчики**__:\n**`[ДАННЫЕ УДАЛЕНЫ]#4507`** - :flag_ua:", "CREDITS_CONTENT": "__**Contributors**__:\n**`Добрый Спецназ`** - Tester, idea generator\n__**Translators**__:\n**`@[ДАННЫЕ УДАЛЕНЫ]`** - :flag_ua:",
"LINKS_TITLE": "• __Ссылки__", "LINKS_TITLE": "• __Links__",
"MADE": "Бот создан Jonny_Bro#4226" "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]", "USAGE": "[message]",
"EXAMPLES": "suggest message:Новый канал #nsfw :smiling_imp:", "EXAMPLES": "suggest message:New channel #nsfw :smiling_imp:",
"MISSING_CHANNEL": "Канал для предложений не настроен", "MISSING_CHANNEL": "The suggestion channel is not set up",
"MISSING_CONTENT": "Введите предложение", "MISSING_CONTENT": "Please enter your suggestion",
"TITLE": "Предложение - {{user}}", "TITLE": "Suggestion - {{user}}",
"SUCCESS": "Ваше предложение отправлено в {{channel}}" "SUCCESS": "Your suggestion has been submitted to {{channel}}"
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Включить предыдущий трек", "DESCRIPTION": "Starts the previous track",
"USAGE": "", "USAGE": "",
"EXAMPLES": "back", "EXAMPLES": "back",
"NO_PREV_SONG": "Предыдущий трек отсутствует", "NO_PREV_SONG": "No previous track available",
"SUCCESS": "Играет предыдущий трек" "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": "", "USAGE": "",
"EXAMPLES": "clips", "EXAMPLES": "clips",
"QUERY": "Название клипа / list", "QUERY": "Clip name / list",
"CLIPS_LIST": "Список доступных клипов", "CLIPS_LIST": "List of available clips",
"NO_CLIP": "Данный файл не существует", "NO_CLIP": "This file does not exist",
"ACTIVE_QUEUE": "Не могу воспроизвести клип, т.к. на сервере есть активная очередь", "ACTIVE_QUEUE": "Cannot play the clip because there is an active queue on the server",
"ACTIVE_CLIP": "Уже воспроизводится какой-то файл", "ACTIVE_CLIP": "Another clip is already playing",
"PLAYING": "Начато проигрывание клипа **{{clip}}**" "PLAYING": "Started playing the clip **{{clip}}**"
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,10 +1,10 @@
{ {
"DESCRIPTION": "Отправить объявление на все сервера где есть JaBa", "DESCRIPTION": "Sends an announcement to all servers where JaBa is present",
"USAGE": "[message] [tag]", "USAGE": "[message] [tag]",
"EXAMPLES": "announcement message:Обновление v1.0! tag:True", "EXAMPLES": "announcement message:Update v1.0! tag:True",
"TAG": "Подставить @everyone в сообщение?", "TAG": "Include @everyone tag in the message?",
"IMPORTANT": "Важное? (Отправит в первый доступный канал на сервере, даже если не настроен News)", "IMPORTANT": "Is it important? (Send to the first available channel on the server, even if News is not set up)",
"TOO_LONG": "Текст должен быть короче 1000 символов", "TOO_LONG": "The text must be shorter than 1000 characters",
"TITLE": "📢 Объявление:", "TITLE": "📢 Announcement:",
"SENDED": "Обновление отправлено на все сервера" "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]", "USAGE": "[set/add] [type] [@user] [int]",
"EXAMPLES": "debug set type:Уровень user:@Jonny_Bro#4226 int:100", "EXAMPLES": "debug set type:Level user:@Jonny_Bro#4226 int:100",
"TYPE": "Тип данных", "TYPE": "Type of data",
"SET": "Установить значение", "SET": "Set the value",
"ADD": "Добавить к значению", "ADD": "Add to the value",
"SUCCESS_LEVEL": "Уровень пользователя **{{user}}** изменён на **{{amount}}**", "SUCCESS_LEVEL": "Level of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_XP": "XP пользователя **{{user}}** изменён на **{{amount}}**", "SUCCESS_XP": "XP of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_CREDITS": "Кредиты пользователя **{{user}}** изменены на **{{amount}}**", "SUCCESS_CREDITS": "Credits of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_BANK": "Банк пользователя **{{user}}** изменён на **{{amount}}**", "SUCCESS_BANK": "Bank of user **{{user}}** changed to **{{amount}}**",
"SUCCESS_REP": "Очки репутации пользователя **{{user}}** изменены на **{{amount}}**" "SUCCESS_REP": "Reputation points of user **{{user}}** changed to **{{amount}}**"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Выполнить код", "DESCRIPTION": "Executes the code",
"USAGE": "[code]", "USAGE": "[code]",
"EXAMPLES": "eval code:interaction.channel.send({ content: \"Hello World!\" })", "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]", "USAGE": "[command]",
"EXAMPLES": "reload command:help", "EXAMPLES": "reload command:help",
"NOT_FOUND": "Команда `{{command}}` не найдена", "NOT_FOUND": "Command `{{command}}` not found",
"SUCCESS": "Команда `{{command}}` успешно перезагружена" "SUCCESS": "Command `{{command}}` successfully reloaded"
} }

View file

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

View file

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

View file

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

View file

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

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": "❤ Вторая половинка", "LOVER": "❤ Вторая половинка",
"REGISTERED": "📅 Профиль создан", "REGISTERED": "📅 Профиль создан",
"ACHIEVEMENTS": "🔥 Достижения", "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]", "USAGE": "[time] [message]",
"EXAMPLES": "remindme time:12h message:Использовать команду work\nremindme time:5m message:Достать курицу из морозилки!", "EXAMPLES": "remindme time:12h message:Использовать команду work\nremindme time:5m message:Достать курицу из морозилки!",
"TIME": "Время (Например: 10s, 5m, 2h, 1d, 3w)", "TIME": "Время (Например: 10s, 5m, 2h, 1d, 3w)",
"SAVED": "Напоминание `{{message}}` сохранено **{{time}}**", "SAVED": "Напоминание `{{message}}` сохранено на **{{time}}**",
"TITLE": "Напоминание от JaBa", "TITLE": "Напоминание от JaBa",
"CREATED": "Напоминание создано: **{{time}}**" "CREATED": "Напоминание создано: **{{time}}**"
} }

View file

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

View file

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

View file

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

View file

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

View file

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

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