From 6d27271d4ad670d75a23a5523ec002f771834c62 Mon Sep 17 00:00:00 2001 From: Master Kwoth Date: Mon, 29 May 2017 06:13:22 +0200 Subject: [PATCH] Only a few things with permissions left, and prefixes --- .../ModuleBehaviors/IEarlyBlocker.cs | 14 + ...gExecutor.cs => IEarlyBlockingExecutor.cs} | 4 +- .../ModuleBehaviors/IEarlyExecutor.cs | 7 + .../ModuleBehaviors/ILateBlocker.cs | 12 + .../ModuleBehaviors/ILateBlockingExecutor.cs | 7 + .../ModuleBehaviors/ILateExecutor.cs | 14 + .../DataStructures/NoPublicBotPrecondition.cs | 18 + .../Migrations/20161011200458_first.cs | 2 +- .../20170110111159_repeater-drop.cs | 2 +- ...0528001839_permissions-version.Designer.cs | 1556 +++++++++++++++++ .../20170528001839_permissions-version.cs | 23 + .../NadekoSqliteContextModelSnapshot.cs | 4 +- .../Modules/Administration/Administration.cs | 4 +- .../Commands/AutoAssignRoleCommands.cs | 4 +- .../Commands/GameChannelCommands.cs | 4 +- .../Administration/Commands/Migration.cs | 4 +- .../Administration/Commands/MuteCommands.cs | 4 +- .../Commands/PlayingRotateCommands.cs | 4 +- .../Commands/ProtectionCommands.cs | 4 +- .../Commands/RatelimitCommand.cs | 8 +- .../Commands/SelfAssignedRolesCommand.cs | 4 +- .../Administration/Commands/SelfCommands.cs | 62 +- .../Commands/ServerGreetCommands.cs | 4 +- .../Commands/UserPunishCommands.cs | 4 +- .../Administration/Commands/VcRoleCommands.cs | 6 +- .../Commands/VoicePlusTextCommands.cs | 4 +- .../CustomReactions/CustomReactions.cs | 6 +- .../Modules/Gambling/Commands/AnimalRacing.cs | 22 +- .../Gambling/Commands/CurrencyEvents.cs | 18 +- .../Gambling/Commands/DiceRollCommand.cs | 6 +- .../Gambling/Commands/FlipCoinCommand.cs | 38 +- .../Modules/Gambling/Commands/FlowerShop.cs | 20 +- .../Modules/Gambling/Commands/Slots.cs | 10 +- .../Gambling/Commands/WaifuClaimCommands.cs | 18 +- src/NadekoBot/Modules/Gambling/Gambling.cs | 26 +- .../Modules/Games/Commands/Acropobia.cs | 2 +- .../Games/Commands/CleverBotCommands.cs | 10 +- .../Games/Commands/PlantAndPickCommands.cs | 18 +- .../Modules/Games/Commands/PollCommands.cs | 173 +- .../Games/Commands/SpeedTypingCommands.cs | 12 +- .../Games/Commands/Trivia/TriviaGame.cs | 8 +- .../Modules/Games/Commands/TriviaCommands.cs | 8 +- src/NadekoBot/Modules/Music/Music.cs | 6 +- .../Permissions/Commands/BlacklistCommands.cs | 4 +- .../Permissions/Commands/CmdCdsCommands.cs | 38 +- .../Permissions/Commands/FilterCommands.cs | 4 +- .../Commands/GlobalPermissionCommands.cs | 4 +- .../Commands/ResetPermissionsCommands.cs | 8 +- .../Modules/Permissions/Permissions.cs | 4 +- src/NadekoBot/Modules/Pokemon/Pokemon.cs | 12 +- .../Modules/Searches/Commands/LoLCommands.cs | 2 +- .../Commands/StreamNotificationCommands.cs | 4 +- .../Modules/Searches/Commands/Translator.cs | 2 +- .../Utility/Commands/CommandMapCommands.cs | 4 +- .../Modules/Utility/Commands/InfoCommands.cs | 8 +- .../Utility/Commands/MessageRepeater.cs | 4 +- .../Utility/Commands/PatreonCommands.cs | 181 +- .../Modules/Utility/Commands/QuoteCommands.cs | 4 +- .../Modules/Utility/Commands/Remind.cs | 4 +- src/NadekoBot/Modules/Utility/Utility.cs | 1 - src/NadekoBot/NadekoBot.cs | 43 +- src/NadekoBot/NadekoBot.csproj | 5 +- .../Administration/GameVoiceChannelService.cs | 4 +- .../Services/Administration/MuteService.cs | 4 +- .../Administration/RatelimitService.cs | 46 +- .../Services/Administration/Ratelimiter.cs | 4 +- .../Services/Administration/SelfService.cs | 136 +- .../Services/Administration/VcRoleService.cs | 25 +- .../Services/Administration/VplusTService.cs | 4 +- .../ClashOfClans/ClashOfClansService.cs | 4 +- src/NadekoBot/Services/CommandHandler.cs | 331 +--- src/NadekoBot/Services/CurrencyHandler.cs | 21 +- .../CustomReactions/CustomReactionsService.cs | 14 +- .../Services/Database/Models/BotConfig.cs | 1 + .../Impl/GuildConfigRepository.cs | 4 - src/NadekoBot/Services/DbHandler.cs | 10 +- .../Services/Games/ChatterbotService.cs | 120 ++ src/NadekoBot/Services/Games/GamesService.cs | 146 +- src/NadekoBot/Services/Games/Poll.cs | 158 ++ src/NadekoBot/Services/Games/PollService.cs | 78 + .../Services/GreetSettingsService.cs | 4 +- src/NadekoBot/Services/Help/HelpService.cs | 32 + src/NadekoBot/Services/IImagesService.cs | 5 +- .../Services/Impl/GoogleApiService.cs | 2 +- src/NadekoBot/Services/Impl/ImagesService.cs | 15 +- src/NadekoBot/Services/Impl/Localization.cs | 4 +- src/NadekoBot/Services/Impl/NadekoStrings.cs | 2 +- src/NadekoBot/Services/Music/MusicService.cs | 22 +- .../Services/Permissions/BlacklistService.cs | 19 +- .../Services/Permissions/CmdCdService.cs | 43 +- .../Services/Permissions/FilterService.cs | 71 +- .../Permissions/PermissionsService.cs | 145 +- .../Services/Searches/SearchesService.cs | 4 +- .../Searches/StreamNotificationService.cs | 4 +- .../Services/Utility/ConverterService.cs | 4 +- .../Utility/MessageRepeaterService.cs | 2 +- .../Utility/Patreon}/PatreonData.cs | 2 +- .../Utility/Patreon}/PatreonPledge.cs | 2 +- .../Utility/Patreon}/PatreonUser.cs | 2 +- .../Services/Utility/PatreonRewardsService.cs | 162 ++ .../Services/Utility/RemindService.cs | 4 +- .../Services/Utility/RepeatRunner.cs | 2 +- src/NadekoBot/_Extensions/Extensions.cs | 4 +- .../_strings/ResponseStrings.ar.json | 783 --------- .../_strings/ResponseStrings.en-US.json | 6 +- .../_strings/ResponseStrings.es-ES.json | 783 --------- .../_strings/ResponseStrings.he-IL.json | 783 --------- .../_strings/ResponseStrings.id-ID.json | 783 --------- .../_strings/ResponseStrings.it-IT.json | 783 --------- .../_strings/ResponseStrings.ja-JP.json | 783 --------- .../_strings/ResponseStrings.ko-KR.json | 783 --------- .../_strings/ResponseStrings.nb-NO.json | 783 --------- .../_strings/ResponseStrings.pl-PL.json | 783 --------- .../_strings/ResponseStrings.pt-BR.json | 783 --------- .../_strings/ResponseStrings.ru-RU.json | 783 --------- .../_strings/ResponseStrings.sr-cyrl-rs.json | 783 --------- .../_strings/ResponseStrings.sv-SE.json | 783 --------- .../_strings/ResponseStrings.tr-TR.json | 783 --------- .../_strings/ResponseStrings.zh-CN.json | 783 --------- .../_strings/ResponseStrings.zh-TW.json | 783 --------- 120 files changed, 3033 insertions(+), 13687 deletions(-) create mode 100644 src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlocker.cs rename src/NadekoBot/DataStructures/ModuleBehaviors/{IBlockingExecutor.cs => IEarlyBlockingExecutor.cs} (77%) create mode 100644 src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyExecutor.cs create mode 100644 src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlocker.cs create mode 100644 src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlockingExecutor.cs create mode 100644 src/NadekoBot/DataStructures/ModuleBehaviors/ILateExecutor.cs create mode 100644 src/NadekoBot/DataStructures/NoPublicBotPrecondition.cs create mode 100644 src/NadekoBot/Migrations/20170528001839_permissions-version.Designer.cs create mode 100644 src/NadekoBot/Migrations/20170528001839_permissions-version.cs create mode 100644 src/NadekoBot/Services/Games/ChatterbotService.cs create mode 100644 src/NadekoBot/Services/Games/Poll.cs create mode 100644 src/NadekoBot/Services/Games/PollService.cs create mode 100644 src/NadekoBot/Services/Help/HelpService.cs rename src/NadekoBot/{Modules/Utility/Models => Services/Utility/Patreon}/PatreonData.cs (91%) rename src/NadekoBot/{Modules/Utility/Models => Services/Utility/Patreon}/PatreonPledge.cs (96%) rename src/NadekoBot/{Modules/Utility/Models => Services/Utility/Patreon}/PatreonUser.cs (97%) create mode 100644 src/NadekoBot/Services/Utility/PatreonRewardsService.cs delete mode 100644 src/NadekoBot/_strings/ResponseStrings.ar.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.es-ES.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.he-IL.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.id-ID.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.it-IT.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.ja-JP.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.ko-KR.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.nb-NO.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.pl-PL.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.pt-BR.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.ru-RU.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.sr-cyrl-rs.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.sv-SE.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.tr-TR.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.zh-CN.json delete mode 100644 src/NadekoBot/_strings/ResponseStrings.zh-TW.json diff --git a/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlocker.cs b/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlocker.cs new file mode 100644 index 00000000..e553f186 --- /dev/null +++ b/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlocker.cs @@ -0,0 +1,14 @@ +using Discord; +using Discord.WebSocket; +using System.Threading.Tasks; + +namespace NadekoBot.DataStructures.ModuleBehaviors +{ + /// + /// Implemented by modules which block execution before anything is executed + /// + public interface IEarlyBlocker + { + Task TryBlockEarly(DiscordShardedClient client, IGuild guild, IUserMessage msg); + } +} diff --git a/src/NadekoBot/DataStructures/ModuleBehaviors/IBlockingExecutor.cs b/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlockingExecutor.cs similarity index 77% rename from src/NadekoBot/DataStructures/ModuleBehaviors/IBlockingExecutor.cs rename to src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlockingExecutor.cs index 8a338e7b..f28eaf4f 100644 --- a/src/NadekoBot/DataStructures/ModuleBehaviors/IBlockingExecutor.cs +++ b/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyBlockingExecutor.cs @@ -7,12 +7,12 @@ namespace NadekoBot.DataStructures.ModuleBehaviors /// /// Implemented by modules which can execute something and prevent further commands from being executed. /// - public interface IBlockingExecutor + public interface IEarlyBlockingExecutor { /// /// Try to execute some logic within some module's service. /// /// Whether it should block other command executions after it. - Task TryExecute(DiscordShardedClient client, IGuild guild, IUserMessage msg); + Task TryExecuteEarly(DiscordShardedClient client, IGuild guild, IUserMessage msg); } } diff --git a/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyExecutor.cs b/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyExecutor.cs new file mode 100644 index 00000000..f761ef85 --- /dev/null +++ b/src/NadekoBot/DataStructures/ModuleBehaviors/IEarlyExecutor.cs @@ -0,0 +1,7 @@ +namespace NadekoBot.DataStructures.ModuleBehaviors +{ + public interface IEarlyExecutor + { + + } +} diff --git a/src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlocker.cs b/src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlocker.cs new file mode 100644 index 00000000..3b3fc020 --- /dev/null +++ b/src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlocker.cs @@ -0,0 +1,12 @@ +using Discord; +using Discord.WebSocket; +using System.Threading.Tasks; + +namespace NadekoBot.DataStructures.ModuleBehaviors +{ + public interface ILateBlocker + { + Task TryBlockLate(DiscordShardedClient client, IUserMessage msg, IGuild guild, + IMessageChannel channel, IUser user, string moduleName, string commandName); + } +} diff --git a/src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlockingExecutor.cs b/src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlockingExecutor.cs new file mode 100644 index 00000000..b4ebe54d --- /dev/null +++ b/src/NadekoBot/DataStructures/ModuleBehaviors/ILateBlockingExecutor.cs @@ -0,0 +1,7 @@ +namespace NadekoBot.DataStructures.ModuleBehaviors +{ + public interface ILateBlockingExecutor + { + + } +} diff --git a/src/NadekoBot/DataStructures/ModuleBehaviors/ILateExecutor.cs b/src/NadekoBot/DataStructures/ModuleBehaviors/ILateExecutor.cs new file mode 100644 index 00000000..3cf11603 --- /dev/null +++ b/src/NadekoBot/DataStructures/ModuleBehaviors/ILateExecutor.cs @@ -0,0 +1,14 @@ +using Discord; +using Discord.WebSocket; +using System.Threading.Tasks; + +namespace NadekoBot.DataStructures.ModuleBehaviors +{ + /// + /// Last thing to be executed, won't stop further executions + /// + public interface ILateExecutor + { + Task LateExecute(DiscordShardedClient client, IGuild guild, IUserMessage msg); + } +} diff --git a/src/NadekoBot/DataStructures/NoPublicBotPrecondition.cs b/src/NadekoBot/DataStructures/NoPublicBotPrecondition.cs new file mode 100644 index 00000000..c5e06578 --- /dev/null +++ b/src/NadekoBot/DataStructures/NoPublicBotPrecondition.cs @@ -0,0 +1,18 @@ +using Discord.Commands; +using System; +using System.Threading.Tasks; + +namespace NadekoBot.DataStructures +{ + public class NoPublicBot : PreconditionAttribute + { + public override Task CheckPermissions(ICommandContext context, CommandInfo command, IServiceProvider services) + { +#if GLOBAL_NADEKo + return Task.FromResult(PreconditionResult.FromError("Not available on the public bot")); +#else + return Task.FromResult(PreconditionResult.FromSuccess()); +#endif + } + } +} diff --git a/src/NadekoBot/Migrations/20161011200458_first.cs b/src/NadekoBot/Migrations/20161011200458_first.cs index 25b3a717..b2ad7c45 100644 --- a/src/NadekoBot/Migrations/20161011200458_first.cs +++ b/src/NadekoBot/Migrations/20161011200458_first.cs @@ -702,7 +702,7 @@ namespace NadekoBot.Migrations column: "BotConfigId"); migrationBuilder.CreateIndex( - name: "IX_Repeaters_ChannelId", + name: "IX_Repeaters_channelId", table: "Repeaters", column: "ChannelId", unique: true); diff --git a/src/NadekoBot/Migrations/20170110111159_repeater-drop.cs b/src/NadekoBot/Migrations/20170110111159_repeater-drop.cs index 386ea2dd..4193a631 100644 --- a/src/NadekoBot/Migrations/20170110111159_repeater-drop.cs +++ b/src/NadekoBot/Migrations/20170110111159_repeater-drop.cs @@ -30,7 +30,7 @@ namespace NadekoBot.Migrations }); migrationBuilder.CreateIndex( - name: "IX_Repeaters_ChannelId", + name: "IX_Repeaters_channelId", table: "Repeaters", column: "ChannelId", unique: true); diff --git a/src/NadekoBot/Migrations/20170528001839_permissions-version.Designer.cs b/src/NadekoBot/Migrations/20170528001839_permissions-version.Designer.cs new file mode 100644 index 00000000..b46dd601 --- /dev/null +++ b/src/NadekoBot/Migrations/20170528001839_permissions-version.Designer.cs @@ -0,0 +1,1556 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoContext))] + [Migration("20170528001839_permissions-version")] + partial class permissionsversion + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.1.1"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiRaidSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Action"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Seconds"); + + b.Property("UserThreshold"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("AntiRaidSetting"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiSpamIgnore", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AntiSpamSettingId"); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.HasKey("Id"); + + b.HasIndex("AntiSpamSettingId"); + + b.ToTable("AntiSpamIgnore"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiSpamSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Action"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("MessageThreshold"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("AntiSpamSetting"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("DateAdded"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlockedCmdOrMdl", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("BotConfigId1"); + + b.Property("DateAdded"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.HasIndex("BotConfigId1"); + + b.ToTable("BlockedCmdOrMdl"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BetflipMultiplier"); + + b.Property("Betroll100Multiplier"); + + b.Property("Betroll67Multiplier"); + + b.Property("Betroll91Multiplier"); + + b.Property("BufferSize"); + + b.Property("CurrencyDropAmount"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DMHelpString"); + + b.Property("DateAdded"); + + b.Property("ErrorColor"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("HelpString"); + + b.Property("Locale"); + + b.Property("MigrationVersion"); + + b.Property("MinimumBetAmount"); + + b.Property("OkColor"); + + b.Property("PermissionVersion"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.Property("TriviaCurrencyReward"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("DateAdded"); + + b.Property("SequenceNumber"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandAlias", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Mapping"); + + b.Property("Trigger"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandAlias"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("CommandName"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Seconds"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandCooldown"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandPrice", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("CommandName"); + + b.Property("DateAdded"); + + b.Property("Price"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.HasIndex("Price") + .IsUnique(); + + b.ToTable("CommandPrice"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("DateAdded"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CurrencyTransaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("DateAdded"); + + b.Property("Reason"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.ToTable("CurrencyTransactions"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CustomReaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoDeleteTrigger"); + + b.Property("DateAdded"); + + b.Property("DmResponse"); + + b.Property("GuildId"); + + b.Property("IsRegex"); + + b.Property("OwnerOnly"); + + b.Property("Response"); + + b.Property("Trigger"); + + b.HasKey("Id"); + + b.ToTable("CustomReactions"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.DiscordUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AvatarId"); + + b.Property("DateAdded"); + + b.Property("Discriminator"); + + b.Property("UserId"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasAlternateKey("UserId"); + + b.ToTable("DiscordUser"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("DateAdded"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("DateAdded"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GCChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("GCChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteByeMessagesTimer"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("CleverbotEnabled"); + + b.Property("DateAdded"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GameVoiceChannel"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("Locale"); + + b.Property("LogSettingId"); + + b.Property("MuteRoleName"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("TimeZoneId"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.Property("WarningsInitialized"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildRepeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("GuildRepeater"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelCreatedId"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelDestroyedId"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("ChannelUpdatedId"); + + b.Property("DateAdded"); + + b.Property("IsLogging"); + + b.Property("LogOtherId"); + + b.Property("LogUserPresence"); + + b.Property("LogUserPresenceId"); + + b.Property("LogVoicePresence"); + + b.Property("LogVoicePresenceId"); + + b.Property("LogVoicePresenceTTSId"); + + b.Property("MessageDeleted"); + + b.Property("MessageDeletedId"); + + b.Property("MessageUpdated"); + + b.Property("MessageUpdatedId"); + + b.Property("UserBanned"); + + b.Property("UserBannedId"); + + b.Property("UserJoined"); + + b.Property("UserJoinedId"); + + b.Property("UserLeft"); + + b.Property("UserLeftId"); + + b.Property("UserMutedId"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUnbannedId"); + + b.Property("UserUpdated"); + + b.Property("UserUpdatedId"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("DateAdded"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("DateAdded"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MutedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("MutedUserId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permissionv2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Index"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("Permissionv2"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("DateAdded"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("DateAdded"); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("DateAdded"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("DateAdded"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RewardedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AmountRewardedThisMonth"); + + b.Property("DateAdded"); + + b.Property("LastReward"); + + b.Property("PatreonUserId"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("RewardedUsers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ShopEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Index"); + + b.Property("Name"); + + b.Property("Price"); + + b.Property("RoleId"); + + b.Property("RoleName"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("ShopEntry"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ShopEntryItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("ShopEntryId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("ShopEntryId"); + + b.ToTable("ShopEntryItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SlowmodeIgnoredRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("SlowmodeIgnoredRole"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SlowmodeIgnoredUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("SlowmodeIgnoredUser"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.StartupCommand", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ChannelId"); + + b.Property("ChannelName"); + + b.Property("CommandText"); + + b.Property("DateAdded"); + + b.Property("GuildId"); + + b.Property("GuildName"); + + b.Property("Index"); + + b.Property("VoiceChannelId"); + + b.Property("VoiceChannelName"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("StartupCommand"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.UnmuteTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("UnmuteAt"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("UnmuteTimer"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.UserPokeTypes", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("UserId"); + + b.Property("type"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("PokeGame"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.VcRoleInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("RoleId"); + + b.Property("VoiceChannelId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("VcRoleInfo"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.WaifuInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AffinityId"); + + b.Property("ClaimerId"); + + b.Property("DateAdded"); + + b.Property("Price"); + + b.Property("WaifuId"); + + b.HasKey("Id"); + + b.HasIndex("AffinityId"); + + b.HasIndex("ClaimerId"); + + b.HasIndex("WaifuId") + .IsUnique(); + + b.ToTable("WaifuInfo"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.WaifuUpdate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("NewId"); + + b.Property("OldId"); + + b.Property("UpdateType"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("NewId"); + + b.HasIndex("OldId"); + + b.HasIndex("UserId"); + + b.ToTable("WaifuUpdates"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Warning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("DateAdded"); + + b.Property("Forgiven"); + + b.Property("ForgivenBy"); + + b.Property("GuildId"); + + b.Property("Moderator"); + + b.Property("Reason"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.ToTable("Warnings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.WarningPunishment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Count"); + + b.Property("DateAdded"); + + b.Property("GuildConfigId"); + + b.Property("Punishment"); + + b.Property("Time"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("WarningPunishment"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiRaidSetting", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig", "GuildConfig") + .WithOne("AntiRaidSetting") + .HasForeignKey("NadekoBot.Services.Database.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiSpamIgnore", b => + { + b.HasOne("NadekoBot.Services.Database.Models.AntiSpamSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiSpamSetting", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig", "GuildConfig") + .WithOne("AntiSpamSetting") + .HasForeignKey("NadekoBot.Services.Database.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlockedCmdOrMdl", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("BlockedCommands") + .HasForeignKey("BotConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("BlockedModules") + .HasForeignKey("BotConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandAlias", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandPrice", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("CommandPrices") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GCChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildRepeater", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("GuildRepeaters") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MutedUserId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permissionv2", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("Permissions") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ShopEntry", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ShopEntryItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ShopEntry") + .WithMany("Items") + .HasForeignKey("ShopEntryId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SlowmodeIgnoredRole", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SlowmodeIgnoredUser", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.StartupCommand", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("StartupCommands") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.UnmuteTimer", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.VcRoleInfo", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.WaifuInfo", b => + { + b.HasOne("NadekoBot.Services.Database.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId"); + + b.HasOne("NadekoBot.Services.Database.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId"); + + b.HasOne("NadekoBot.Services.Database.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("NadekoBot.Services.Database.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.WaifuUpdate", b => + { + b.HasOne("NadekoBot.Services.Database.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId"); + + b.HasOne("NadekoBot.Services.Database.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId"); + + b.HasOne("NadekoBot.Services.Database.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.WarningPunishment", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20170528001839_permissions-version.cs b/src/NadekoBot/Migrations/20170528001839_permissions-version.cs new file mode 100644 index 00000000..04df30aa --- /dev/null +++ b/src/NadekoBot/Migrations/20170528001839_permissions-version.cs @@ -0,0 +1,23 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class permissionsversion : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "PermissionVersion", + table: "BotConfig", + nullable: false, + defaultValue: 1); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "PermissionVersion", + table: "BotConfig"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 78c14cc6..546c5305 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Migrations protected override void BuildModel(ModelBuilder modelBuilder) { modelBuilder - .HasAnnotation("ProductVersion", "1.1.0-rtm-22752"); + .HasAnnotation("ProductVersion", "1.1.1"); modelBuilder.Entity("NadekoBot.Services.Database.Models.AntiRaidSetting", b => { @@ -165,6 +165,8 @@ namespace NadekoBot.Migrations b.Property("OkColor"); + b.Property("PermissionVersion"); + b.Property("RemindMessageFormat"); b.Property("RotatingStatuses"); diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 4ba3b959..ec317793 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -15,10 +15,10 @@ namespace NadekoBot.Modules.Administration public partial class Administration : NadekoTopLevelModule { private IGuild _nadekoSupportServer; - private readonly DbHandler _db; + private readonly DbService _db; private readonly AdministrationService _admin; - public Administration(DbHandler db, AdministrationService admin) + public Administration(DbService db, AdministrationService admin) { _db = db; _admin = admin; diff --git a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs index 2213b676..b7930e66 100644 --- a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs @@ -14,10 +14,10 @@ namespace NadekoBot.Modules.Administration [Group] public class AutoAssignRoleCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly AutoAssignRoleService _service; - public AutoAssignRoleCommands(AutoAssignRoleService service, DbHandler db) + public AutoAssignRoleCommands(AutoAssignRoleService service, DbService db) { _db = db; _service = service; diff --git a/src/NadekoBot/Modules/Administration/Commands/GameChannelCommands.cs b/src/NadekoBot/Modules/Administration/Commands/GameChannelCommands.cs index 85489724..46a250e1 100644 --- a/src/NadekoBot/Modules/Administration/Commands/GameChannelCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/GameChannelCommands.cs @@ -12,10 +12,10 @@ namespace NadekoBot.Modules.Administration [Group] public class GameChannelCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly GameVoiceChannelService _service; - public GameChannelCommands(GameVoiceChannelService service, DbHandler db) + public GameChannelCommands(GameVoiceChannelService service, DbService db) { _db = db; _service = service; diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 054445d8..e1497999 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -22,9 +22,9 @@ namespace NadekoBot.Modules.Administration public class Migration : NadekoSubmodule { private const int CURRENT_VERSION = 1; - private readonly DbHandler _db; + private readonly DbService _db; - public Migration(DbHandler db) + public Migration(DbService db) { _db = db; } diff --git a/src/NadekoBot/Modules/Administration/Commands/MuteCommands.cs b/src/NadekoBot/Modules/Administration/Commands/MuteCommands.cs index 90fb4199..85f075fa 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MuteCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MuteCommands.cs @@ -14,9 +14,9 @@ namespace NadekoBot.Modules.Administration public class MuteCommands : NadekoSubmodule { private readonly MuteService _service; - private readonly DbHandler _db; + private readonly DbService _db; - public MuteCommands(MuteService service, DbHandler db) + public MuteCommands(MuteService service, DbService db) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs index 1554b22d..47c39849 100644 --- a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs @@ -14,10 +14,10 @@ namespace NadekoBot.Modules.Administration public class PlayingRotateCommands : NadekoSubmodule { private static readonly object _locker = new object(); - private readonly DbHandler _db; + private readonly DbService _db; private readonly PlayingRotateService _service; - public PlayingRotateCommands(PlayingRotateService service, DbHandler db) + public PlayingRotateCommands(PlayingRotateService service, DbService db) { _db = db; _service = service; diff --git a/src/NadekoBot/Modules/Administration/Commands/ProtectionCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ProtectionCommands.cs index 1fc6682b..73bd2de0 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ProtectionCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ProtectionCommands.cs @@ -19,9 +19,9 @@ namespace NadekoBot.Modules.Administration { private readonly ProtectionService _service; private readonly MuteService _mute; - private readonly DbHandler _db; + private readonly DbService _db; - public ProtectionCommands(ProtectionService service, MuteService mute, DbHandler db) + public ProtectionCommands(ProtectionService service, MuteService mute, DbService db) { _service = service; _mute = mute; diff --git a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs index c4d3b0ca..878b4a77 100644 --- a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs @@ -15,12 +15,12 @@ namespace NadekoBot.Modules.Administration public partial class Administration { [Group] - public class RatelimitCommands : NadekoSubmodule + public class SlowModeCommands : NadekoSubmodule { - private readonly RatelimitService _service; - private readonly DbHandler _db; + private readonly SlowmodeService _service; + private readonly DbService _db; - public RatelimitCommands(RatelimitService service, DbHandler db) + public SlowModeCommands(SlowmodeService service, DbService db) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs index 95eb3a96..187ee7b8 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs @@ -18,9 +18,9 @@ namespace NadekoBot.Modules.Administration [Group] public class SelfAssignedRolesCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; - public SelfAssignedRolesCommands(DbHandler db) + public SelfAssignedRolesCommands(DbService db) { _db = db; } diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs index fbb973f5..3f75a068 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs @@ -21,14 +21,14 @@ namespace NadekoBot.Modules.Administration [Group] public class SelfCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private static readonly object _locker = new object(); private readonly SelfService _service; private readonly DiscordShardedClient _client; private readonly IImagesService _images; - public SelfCommands(DbHandler db, SelfService service, DiscordShardedClient client, + public SelfCommands(DbService db, SelfService service, DiscordShardedClient client, IImagesService images) { _db = db; @@ -203,64 +203,6 @@ namespace NadekoBot.Modules.Administration await ReplyConfirmLocalized("fwall_stop").ConfigureAwait(false); } - - //todo dm forwarding - //public async Task HandleDmForwarding(IUserMessage msg, ImmutableArray> ownerChannels) - //{ - // if (_service.ForwardDMs && ownerChannels.Length > 0) - // { - // var title = _strings.GetText("dm_from", - // NadekoBot.Localization.DefaultCultureInfo, - // typeof(Administration).Name.ToLowerInvariant()) + - // $" [{msg.Author}]({msg.Author.Id})"; - - // var attachamentsTxt = GetTextStatic("attachments", - // NadekoBot.Localization.DefaultCultureInfo, - // typeof(Administration).Name.ToLowerInvariant()); - - // var toSend = msg.Content; - - // if (msg.Attachments.Count > 0) - // { - // toSend += $"\n\n{Format.Code(attachamentsTxt)}:\n" + - // string.Join("\n", msg.Attachments.Select(a => a.ProxyUrl)); - // } - - // if (_service.ForwardDMsToAllOwners) - // { - // var allOwnerChannels = await Task.WhenAll(ownerChannels - // .Select(x => x.Value)) - // .ConfigureAwait(false); - - // foreach (var ownerCh in allOwnerChannels.Where(ch => ch.Recipient.Id != msg.Author.Id)) - // { - // try - // { - // await ownerCh.SendConfirmAsync(title, toSend).ConfigureAwait(false); - // } - // catch - // { - // _log.Warn("Can't contact owner with id {0}", ownerCh.Recipient.Id); - // } - // } - // } - // else - // { - // var firstOwnerChannel = await ownerChannels[0]; - // if (firstOwnerChannel.Recipient.Id != msg.Author.Id) - // { - // try - // { - // await firstOwnerChannel.SendConfirmAsync(title, toSend).ConfigureAwait(false); - // } - // catch - // { - // // ignored - // } - // } - // } - // } - // } [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 1d05f533..5a2f9f98 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -14,9 +14,9 @@ namespace NadekoBot.Modules.Administration public class ServerGreetCommands : NadekoSubmodule { private readonly GreetSettingsService _greetService; - private readonly DbHandler _db; + private readonly DbService _db; - public ServerGreetCommands(GreetSettingsService greetService, DbHandler db) + public ServerGreetCommands(GreetSettingsService greetService, DbService db) { _greetService = greetService; _db = db; diff --git a/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs b/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs index f56d5017..3a110f79 100644 --- a/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs @@ -19,10 +19,10 @@ namespace NadekoBot.Modules.Administration [Group] public class UserPunishCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly MuteService _muteService; - public UserPunishCommands(DbHandler db, MuteService muteService) + public UserPunishCommands(DbService db, MuteService muteService) { _db = db; _muteService = muteService; diff --git a/src/NadekoBot/Modules/Administration/Commands/VcRoleCommands.cs b/src/NadekoBot/Modules/Administration/Commands/VcRoleCommands.cs index d1746e5c..5fe31422 100644 --- a/src/NadekoBot/Modules/Administration/Commands/VcRoleCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/VcRoleCommands.cs @@ -19,9 +19,9 @@ namespace NadekoBot.Modules.Administration public class VcRoleCommands : NadekoSubmodule { private readonly VcRoleService _service; - private readonly DbHandler _db; + private readonly DbService _db; - public VcRoleCommands(VcRoleService service, DbHandler db) + public VcRoleCommands(VcRoleService service, DbService db) { _service = service; _db = db; @@ -31,7 +31,7 @@ namespace NadekoBot.Modules.Administration [RequireUserPermission(GuildPermission.ManageRoles)] [RequireUserPermission(GuildPermission.ManageChannels)] [RequireBotPermission(GuildPermission.ManageRoles)] - //todo discord.net [RequireBotPermission(GuildPermission.ManageChannels)] + //todo 999 discord.net [RequireBotPermission(GuildPermission.ManageChannels)] [RequireContext(ContextType.Guild)] public async Task VcRole([Remainder]IRole role = null) { diff --git a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs index 899cfa83..53f85510 100644 --- a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs @@ -18,9 +18,9 @@ namespace NadekoBot.Modules.Administration public class VoicePlusTextCommands : NadekoSubmodule { private readonly VplusTService _service; - private readonly DbHandler _db; + private readonly DbService _db; - public VoicePlusTextCommands(VplusTService service, DbHandler db) + public VoicePlusTextCommands(VplusTService service, DbService db) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 2b1d07c3..aacefe8d 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -15,11 +15,11 @@ namespace NadekoBot.Modules.CustomReactions public class CustomReactions : NadekoTopLevelModule { private readonly IBotCredentials _creds; - private readonly DbHandler _db; + private readonly DbService _db; private readonly CustomReactionsService _crs; private readonly DiscordShardedClient _client; - public CustomReactions(IBotCredentials creds, DbHandler db, CustomReactionsService crs, + public CustomReactions(IBotCredentials creds, DbService db, CustomReactionsService crs, DiscordShardedClient client) { _creds = creds; @@ -239,7 +239,7 @@ namespace NadekoBot.Modules.CustomReactions if ((toDelete.GuildId == null || toDelete.GuildId == 0) && Context.Guild == null) { uow.CustomReactions.Remove(toDelete); - //todo i can dramatically improve performance of this, if Ids are ordered. + //todo 91 i can dramatically improve performance of this, if Ids are ordered. _crs.GlobalReactions = _crs.GlobalReactions.Where(cr => cr?.Id != toDelete.Id).ToArray(); success = true; } diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 7c87105a..00cbf7ae 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -21,16 +21,16 @@ namespace NadekoBot.Modules.Gambling public class AnimalRacing : NadekoSubmodule { private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; private readonly DiscordShardedClient _client; public static ConcurrentDictionary AnimalRaces { get; } = new ConcurrentDictionary(); - public AnimalRacing(BotConfig bc, CurrencyHandler ch, DiscordShardedClient client) + public AnimalRacing(BotConfig bc, CurrencyService cs, DiscordShardedClient client) { _bc = bc; - _ch = ch; + _cs = cs; _client = client; } @@ -39,7 +39,7 @@ namespace NadekoBot.Modules.Gambling public async Task Race() { var ar = new AnimalRace(Context.Guild.Id, (ITextChannel)Context.Channel, Prefix, - _bc, _ch, _client,_localization, _strings); + _bc, _cs, _client,_localization, _strings); if (ar.Fail) await ReplyErrorLocalized("race_failed_starting").ConfigureAwait(false); @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Gambling await ar.JoinRace(Context.User as IGuildUser, amount); } - //todo needs to be completely isolated, shouldn't use any services in the constructor, + //todo 85 needs to be completely isolated, shouldn't use any services in the constructor, //then move the rest either to the module itself, or the service public class AnimalRace { @@ -81,7 +81,7 @@ namespace NadekoBot.Modules.Gambling private readonly ITextChannel _raceChannel; private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; private readonly DiscordShardedClient _client; private readonly ILocalization _localization; private readonly NadekoStrings _strings; @@ -89,12 +89,12 @@ namespace NadekoBot.Modules.Gambling public bool Started { get; private set; } public AnimalRace(ulong serverId, ITextChannel channel, string prefix, BotConfig bc, - CurrencyHandler ch, DiscordShardedClient client, ILocalization localization, + CurrencyService cs, DiscordShardedClient client, ILocalization localization, NadekoStrings strings) { _prefix = prefix; _bc = bc; - _ch = ch; + _cs = cs; _log = LogManager.GetCurrentClassLogger(); _serverId = serverId; _raceChannel = channel; @@ -144,7 +144,7 @@ namespace NadekoBot.Modules.Gambling var p = _participants.FirstOrDefault(); if (p != null && p.AmountBet > 0) - await _ch.AddCurrencyAsync(p.User, "BetRace", p.AmountBet, false).ConfigureAwait(false); + await _cs.AddAsync(p.User, "BetRace", p.AmountBet, false).ConfigureAwait(false); End(); return; } @@ -232,7 +232,7 @@ namespace NadekoBot.Modules.Gambling { var wonAmount = winner.AmountBet * (_participants.Count - 1); - await _ch.AddCurrencyAsync(winner.User, "Won a Race", wonAmount, true) + await _cs.AddAsync(winner.User, "Won a Race", wonAmount, true) .ConfigureAwait(false); await _raceChannel.SendConfirmAsync(GetText("animal_race"), Format.Bold(GetText("animal_race_won_money", winner.User.Mention, @@ -287,7 +287,7 @@ namespace NadekoBot.Modules.Gambling return; } if (amount > 0) - if (!await _ch.RemoveCurrencyAsync(u, "BetRace", amount, false).ConfigureAwait(false)) + if (!await _cs.RemoveAsync(u, "BetRace", amount, false).ConfigureAwait(false)) { await _raceChannel.SendErrorAsync(GetText("not_enough", _bc.CurrencySign)).ConfigureAwait(false); return; diff --git a/src/NadekoBot/Modules/Gambling/Commands/CurrencyEvents.cs b/src/NadekoBot/Modules/Gambling/Commands/CurrencyEvents.cs index 09dce420..acb1169a 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/CurrencyEvents.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/CurrencyEvents.cs @@ -36,13 +36,13 @@ namespace NadekoBot.Modules.Gambling private string _secretCode = string.Empty; private readonly DiscordShardedClient _client; private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; - public CurrencyEvents(DiscordShardedClient client, BotConfig bc, CurrencyHandler ch) + public CurrencyEvents(DiscordShardedClient client, BotConfig bc, CurrencyService cs) { _client = client; _bc = bc; - _ch = ch; + _cs = cs; } [NadekoCommand, Usage, Description, Aliases] @@ -111,7 +111,7 @@ namespace NadekoBot.Modules.Gambling { var _ = Task.Run(async () => { - await _ch.AddCurrencyAsync(arg.Author, "Sneaky Game Event", 100, false) + await _cs.AddAsync(arg.Author, "Sneaky Game Event", 100, false) .ConfigureAwait(false); try { await arg.DeleteAsync(new RequestOptions() { RetryMode = RetryMode.AlwaysFail }).ConfigureAwait(false); } @@ -137,7 +137,7 @@ namespace NadekoBot.Modules.Gambling desc, footer: footer) .ConfigureAwait(false); - await new FlowerReactionEvent(_client, _ch).Start(msg, context, amount); + await new FlowerReactionEvent(_client, _cs).Start(msg, context, amount); } } } @@ -152,18 +152,18 @@ namespace NadekoBot.Modules.Gambling private readonly ConcurrentHashSet _flowerReactionAwardedUsers = new ConcurrentHashSet(); private readonly Logger _log; private readonly DiscordShardedClient _client; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; private IUserMessage StartingMessage { get; set; } private CancellationTokenSource Source { get; } private CancellationToken CancelToken { get; } - public FlowerReactionEvent(DiscordShardedClient client, CurrencyHandler ch) + public FlowerReactionEvent(DiscordShardedClient client, CurrencyService cs) { _log = LogManager.GetCurrentClassLogger(); _client = client; - _ch = ch; + _cs = cs; Source = new CancellationTokenSource(); CancelToken = Source.Token; } @@ -210,7 +210,7 @@ namespace NadekoBot.Modules.Gambling { if (r.Emote.Name == "🌸" && r.User.IsSpecified && ((DateTime.UtcNow - r.User.Value.CreatedAt).TotalDays > 5) && _flowerReactionAwardedUsers.Add(r.User.Value.Id)) { - await _ch.AddCurrencyAsync(r.User.Value, "Flower Reaction Event", amount, false) + await _cs.AddAsync(r.User.Value, "Flower Reaction Event", amount, false) .ConfigureAwait(false); } } diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index e95534da..2b15c79d 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -220,8 +220,8 @@ namespace NadekoBot.Modules.Gambling if (num == 10) { var images = _images.Dice; - using (var imgOneStream = images[1].Value.ToStream()) - using (var imgZeroStream = images[0].Value.ToStream()) + using (var imgOneStream = images[1].ToStream()) + using (var imgZeroStream = images[0].ToStream()) { Image imgOne = new Image(imgOneStream); Image imgZero = new Image(imgZeroStream); @@ -229,7 +229,7 @@ namespace NadekoBot.Modules.Gambling return new[] { imgOne, imgZero }.Merge(); } } - using (var die = _images.Dice[num].Value.ToStream()) + using (var die = _images.Dice[num].ToStream()) { return new Image(die); } diff --git a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs index 75a1425f..98c526f9 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs @@ -18,15 +18,15 @@ namespace NadekoBot.Modules.Gambling { private readonly IImagesService _images; private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; private readonly NadekoRandom rng = new NadekoRandom(); - public FlipCoinCommands(IImagesService images, CurrencyHandler ch, BotConfig bc) + public FlipCoinCommands(IImagesService images, CurrencyService cs, BotConfig bc) { _images = images; _bc = bc; - _ch = ch; + _cs = cs; } [NadekoCommand, Usage, Description, Aliases] @@ -74,47 +74,49 @@ namespace NadekoBot.Modules.Gambling await Context.Channel.SendFileAsync(imgs.Merge().ToStream(), $"{count} coins.png").ConfigureAwait(false); } - [NadekoCommand, Usage, Description, Aliases] - public async Task Betflip(int amount, string guess) + public enum BetFlipGuess { - var guessStr = guess.Trim().ToUpperInvariant(); - if (guessStr != "H" && guessStr != "T" && guessStr != "HEADS" && guessStr != "TAILS") - return; + H = 1, + Head = 1, + Heads = 1, + T = 2, + Tail = 2, + Tails = 2 + } + [NadekoCommand, Usage, Description, Aliases] + public async Task Betflip(int amount, BetFlipGuess guess) + { if (amount < _bc.MinimumBetAmount) { await ReplyErrorLocalized("min_bet_limit", _bc.MinimumBetAmount + _bc.CurrencySign).ConfigureAwait(false); return; } - var removed = await _ch.RemoveCurrencyAsync(Context.User, "Betflip Gamble", amount, false).ConfigureAwait(false); + var removed = await _cs.RemoveAsync(Context.User, "Betflip Gamble", amount, false).ConfigureAwait(false); if (!removed) { await ReplyErrorLocalized("not_enough", _bc.CurrencyPluralName).ConfigureAwait(false); return; } - //heads = true - //tails = false - - //todo this seems stinky, no time to look at it right now - var isHeads = guessStr == "HEADS" || guessStr == "H"; - var result = false; + BetFlipGuess result; IEnumerable imageToSend; if (rng.Next(0, 2) == 1) { imageToSend = _images.Heads; - result = true; + result = BetFlipGuess.Heads; } else { imageToSend = _images.Tails; + result = BetFlipGuess.Tails; } string str; - if (isHeads == result) + if (guess == result) { var toWin = (int)Math.Round(amount * _bc.BetflipMultiplier); str = Context.User.Mention + " " + GetText("flip_guess", toWin + _bc.CurrencySign); - await _ch.AddCurrencyAsync(Context.User, "Betflip Gamble", toWin, false).ConfigureAwait(false); + await _cs.AddAsync(Context.User, "Betflip Gamble", toWin, false).ConfigureAwait(false); } else { diff --git a/src/NadekoBot/Modules/Gambling/Commands/FlowerShop.cs b/src/NadekoBot/Modules/Gambling/Commands/FlowerShop.cs index 20d4cb8f..c755cc2c 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/FlowerShop.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/FlowerShop.cs @@ -20,8 +20,8 @@ namespace NadekoBot.Modules.Gambling public class FlowerShop : NadekoSubmodule { private readonly BotConfig _bc; - private readonly DbHandler _db; - private readonly CurrencyHandler _ch; + private readonly DbService _db; + private readonly CurrencyService _cs; private readonly DiscordShardedClient _client; public enum Role @@ -34,11 +34,11 @@ namespace NadekoBot.Modules.Gambling List } - public FlowerShop(BotConfig bc, DbHandler db, CurrencyHandler ch, DiscordShardedClient client) + public FlowerShop(BotConfig bc, DbService db, CurrencyService cs, DiscordShardedClient client) { _db = db; _bc = bc; - _ch = ch; + _cs = cs; _client = client; } @@ -111,7 +111,7 @@ namespace NadekoBot.Modules.Gambling return; } - if (await _ch.RemoveCurrencyAsync(Context.User.Id, $"Shop purchase - {entry.Type}", entry.Price)) + if (await _cs.RemoveAsync(Context.User.Id, $"Shop purchase - {entry.Type}", entry.Price)) { try { @@ -120,11 +120,11 @@ namespace NadekoBot.Modules.Gambling catch (Exception ex) { _log.Warn(ex); - await _ch.AddCurrencyAsync(Context.User.Id, $"Shop error refund", entry.Price); + await _cs.AddAsync(Context.User.Id, $"Shop error refund", entry.Price); await ReplyErrorLocalized("shop_role_purchase_error").ConfigureAwait(false); return; } - await _ch.AddCurrencyAsync(entry.AuthorId, $"Shop sell item - {entry.Type}", GetProfitAmount(entry.Price)); + await _cs.AddAsync(entry.AuthorId, $"Shop sell item - {entry.Type}", GetProfitAmount(entry.Price)); await ReplyConfirmLocalized("shop_role_purchase", Format.Bold(role.Name)).ConfigureAwait(false); return; } @@ -144,7 +144,7 @@ namespace NadekoBot.Modules.Gambling var item = entry.Items.ToArray()[new NadekoRandom().Next(0, entry.Items.Count)]; - if (await _ch.RemoveCurrencyAsync(Context.User.Id, $"Shop purchase - {entry.Type}", entry.Price)) + if (await _cs.RemoveAsync(Context.User.Id, $"Shop purchase - {entry.Type}", entry.Price)) { int removed; using (var uow = _db.UnitOfWork) @@ -163,7 +163,7 @@ namespace NadekoBot.Modules.Gambling .AddField(efb => efb.WithName(GetText("name")).WithValue(entry.Name).WithIsInline(true))) .ConfigureAwait(false); - await _ch.AddCurrencyAsync(entry.AuthorId, + await _cs.AddAsync(entry.AuthorId, $"Shop sell item - {entry.Name}", GetProfitAmount(entry.Price)).ConfigureAwait(false); } @@ -174,7 +174,7 @@ namespace NadekoBot.Modules.Gambling uow._context.Set().Add(item); uow.Complete(); - await _ch.AddCurrencyAsync(Context.User.Id, + await _cs.AddAsync(Context.User.Id, $"Shop error refund - {entry.Name}", entry.Price, uow).ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Gambling/Commands/Slots.cs b/src/NadekoBot/Modules/Gambling/Commands/Slots.cs index 03afb6a9..99e1229a 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/Slots.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/Slots.cs @@ -32,13 +32,13 @@ namespace NadekoBot.Modules.Gambling //thanks to judge for helping me with this private readonly IImagesService _images; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; - public Slots(IImagesService images, BotConfig bc, CurrencyHandler ch) + public Slots(IImagesService images, BotConfig bc, CurrencyService cs) { _images = images; _bc = bc; - _ch = ch; + _cs = cs; } public class SlotMachine @@ -157,7 +157,7 @@ namespace NadekoBot.Modules.Gambling return; } - if (!await _ch.RemoveCurrencyAsync(Context.User, "Slot Machine", amount, false)) + if (!await _cs.RemoveAsync(Context.User, "Slot Machine", amount, false)) { await ReplyErrorLocalized("not_enough", _bc.CurrencySign).ConfigureAwait(false); return; @@ -209,7 +209,7 @@ namespace NadekoBot.Modules.Gambling var msg = GetText("better_luck"); if (result.Multiplier != 0) { - await _ch.AddCurrencyAsync(Context.User, $"Slot Machine x{result.Multiplier}", amount * result.Multiplier, false); + await _cs.AddAsync(Context.User, $"Slot Machine x{result.Multiplier}", amount * result.Multiplier, false); Interlocked.Add(ref _totalPaidOut, amount * result.Multiplier); if (result.Multiplier == 1) msg = GetText("slot_single", _bc.CurrencySign, 1); diff --git a/src/NadekoBot/Modules/Gambling/Commands/WaifuClaimCommands.cs b/src/NadekoBot/Modules/Gambling/Commands/WaifuClaimCommands.cs index 213a4453..a6d58fff 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/WaifuClaimCommands.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/WaifuClaimCommands.cs @@ -57,10 +57,10 @@ namespace NadekoBot.Modules.Gambling InsufficientAmount } - public WaifuClaimCommands(BotConfig bc, CurrencyHandler ch, DbHandler db) + public WaifuClaimCommands(BotConfig bc, CurrencyService cs, DbService db) { _bc = bc; - _ch = ch; + _cs = cs; _db = db; } @@ -91,7 +91,7 @@ namespace NadekoBot.Modules.Gambling { var claimer = uow.DiscordUsers.GetOrCreate(Context.User); var waifu = uow.DiscordUsers.GetOrCreate(target); - if (!await _ch.RemoveCurrencyAsync(Context.User.Id, "Claimed Waifu", amount, uow).ConfigureAwait(false)) + if (!await _cs.RemoveAsync(Context.User.Id, "Claimed Waifu", amount, uow).ConfigureAwait(false)) { result = WaifuClaimResult.NotEnoughFunds; } @@ -116,7 +116,7 @@ namespace NadekoBot.Modules.Gambling } else if (isAffinity && amount > w.Price * 0.88f) { - if (!await _ch.RemoveCurrencyAsync(Context.User.Id, "Claimed Waifu", amount, uow).ConfigureAwait(false)) + if (!await _cs.RemoveAsync(Context.User.Id, "Claimed Waifu", amount, uow).ConfigureAwait(false)) { result = WaifuClaimResult.NotEnoughFunds; } @@ -138,7 +138,7 @@ namespace NadekoBot.Modules.Gambling } else if (amount >= w.Price * 1.1f) // if no affinity { - if (!await _ch.RemoveCurrencyAsync(Context.User.Id, "Claimed Waifu", amount, uow).ConfigureAwait(false)) + if (!await _cs.RemoveAsync(Context.User.Id, "Claimed Waifu", amount, uow).ConfigureAwait(false)) { result = WaifuClaimResult.NotEnoughFunds; } @@ -230,13 +230,13 @@ namespace NadekoBot.Modules.Gambling if (w.Affinity?.UserId == Context.User.Id) { - await _ch.AddCurrencyAsync(w.Waifu.UserId, "Waifu Compensation", amount, uow).ConfigureAwait(false); + await _cs.AddAsync(w.Waifu.UserId, "Waifu Compensation", amount, uow).ConfigureAwait(false); w.Price = (int)Math.Floor(w.Price * 0.75f); result = DivorceResult.SucessWithPenalty; } else { - await _ch.AddCurrencyAsync(Context.User.Id, "Waifu Refund", amount, uow).ConfigureAwait(false); + await _cs.AddAsync(Context.User.Id, "Waifu Refund", amount, uow).ConfigureAwait(false); result = DivorceResult.Success; } @@ -278,8 +278,8 @@ namespace NadekoBot.Modules.Gambling private static readonly TimeSpan _affinityLimit = TimeSpan.FromMinutes(30); private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; - private readonly DbHandler _db; + private readonly CurrencyService _cs; + private readonly DbService _db; [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index e24caa6e..2b9cc67e 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -13,14 +13,14 @@ namespace NadekoBot.Modules.Gambling public partial class Gambling : NadekoTopLevelModule { private readonly BotConfig _bc; - private readonly DbHandler _db; - private readonly CurrencyHandler _currency; + private readonly DbService _db; + private readonly CurrencyService _currency; private string CurrencyName => _bc.CurrencyName; private string CurrencyPluralName => _bc.CurrencyPluralName; private string CurrencySign => _bc.CurrencySign; - public Gambling(BotConfig bc, DbHandler db, CurrencyHandler currency) + public Gambling(BotConfig bc, DbService db, CurrencyService currency) { _bc = bc; _db = db; @@ -71,13 +71,13 @@ namespace NadekoBot.Modules.Gambling { if (amount <= 0 || Context.User.Id == receiver.Id) return; - var success = await _currency.RemoveCurrencyAsync((IGuildUser)Context.User, $"Gift to {receiver.Username} ({receiver.Id}).", amount, false).ConfigureAwait(false); + var success = await _currency.RemoveAsync((IGuildUser)Context.User, $"Gift to {receiver.Username} ({receiver.Id}).", amount, false).ConfigureAwait(false); if (!success) { await ReplyErrorLocalized("not_enough", CurrencyPluralName).ConfigureAwait(false); return; } - await _currency.AddCurrencyAsync(receiver, $"Gift from {Context.User.Username} ({Context.User.Id}).", amount, true).ConfigureAwait(false); + await _currency.AddAsync(receiver, $"Gift from {Context.User.Username} ({Context.User.Id}).", amount, true).ConfigureAwait(false); await ReplyConfirmLocalized("gifted", amount + CurrencySign, Format.Bold(receiver.ToString())) .ConfigureAwait(false); } @@ -97,7 +97,7 @@ namespace NadekoBot.Modules.Gambling if (amount <= 0) return; - await _currency.AddCurrencyAsync(usrId, $"Awarded by bot owner. ({Context.User.Username}/{Context.User.Id})", amount).ConfigureAwait(false); + await _currency.AddAsync(usrId, $"Awarded by bot owner. ({Context.User.Username}/{Context.User.Id})", amount).ConfigureAwait(false); await ReplyConfirmLocalized("awarded", amount + CurrencySign, $"<@{usrId}>").ConfigureAwait(false); } @@ -110,7 +110,7 @@ namespace NadekoBot.Modules.Gambling var users = (await Context.Guild.GetUsersAsync()) .Where(u => u.GetRoles().Contains(role)) .ToList(); - await Task.WhenAll(users.Select(u => _currency.AddCurrencyAsync(u.Id, + await Task.WhenAll(users.Select(u => _currency.AddAsync(u.Id, $"Awarded by bot owner to **{role.Name}** role. ({Context.User.Username}/{Context.User.Id})", amount))) .ConfigureAwait(false); @@ -129,7 +129,7 @@ namespace NadekoBot.Modules.Gambling if (amount <= 0) return; - if (await _currency.RemoveCurrencyAsync(user, $"Taken by bot owner.({Context.User.Username}/{Context.User.Id})", amount, true).ConfigureAwait(false)) + if (await _currency.RemoveAsync(user, $"Taken by bot owner.({Context.User.Username}/{Context.User.Id})", amount, true).ConfigureAwait(false)) await ReplyConfirmLocalized("take", amount+CurrencySign, Format.Bold(user.ToString())).ConfigureAwait(false); else await ReplyErrorLocalized("take_fail", amount + CurrencySign, Format.Bold(user.ToString()), CurrencyPluralName).ConfigureAwait(false); @@ -143,7 +143,7 @@ namespace NadekoBot.Modules.Gambling if (amount <= 0) return; - if (await _currency.RemoveCurrencyAsync(usrId, $"Taken by bot owner.({Context.User.Username}/{Context.User.Id})", amount).ConfigureAwait(false)) + if (await _currency.RemoveAsync(usrId, $"Taken by bot owner.({Context.User.Username}/{Context.User.Id})", amount).ConfigureAwait(false)) await ReplyConfirmLocalized("take", amount + CurrencySign, $"<@{usrId}>").ConfigureAwait(false); else await ReplyErrorLocalized("take_fail", amount + CurrencySign, Format.Code(usrId.ToString()), CurrencyPluralName).ConfigureAwait(false); @@ -210,7 +210,7 @@ namespace NadekoBot.Modules.Gambling if (amount < 1) return; - if (!await _currency.RemoveCurrencyAsync(Context.User, "Betroll Gamble", amount, false).ConfigureAwait(false)) + if (!await _currency.RemoveAsync(Context.User, "Betroll Gamble", amount, false).ConfigureAwait(false)) { await ReplyErrorLocalized("not_enough", CurrencyPluralName).ConfigureAwait(false); return; @@ -227,19 +227,19 @@ namespace NadekoBot.Modules.Gambling if (rnd < 91) { str += GetText("br_win", (amount * _bc.Betroll67Multiplier) + CurrencySign, 66); - await _currency.AddCurrencyAsync(Context.User, "Betroll Gamble", + await _currency.AddAsync(Context.User, "Betroll Gamble", (int) (amount * _bc.Betroll67Multiplier), false).ConfigureAwait(false); } else if (rnd < 100) { str += GetText("br_win", (amount * _bc.Betroll91Multiplier) + CurrencySign, 90); - await _currency.AddCurrencyAsync(Context.User, "Betroll Gamble", + await _currency.AddAsync(Context.User, "Betroll Gamble", (int) (amount * _bc.Betroll91Multiplier), false).ConfigureAwait(false); } else { str += GetText("br_win", (amount * _bc.Betroll100Multiplier) + CurrencySign, 100) + " 👑"; - await _currency.AddCurrencyAsync(Context.User, "Betroll Gamble", + await _currency.AddAsync(Context.User, "Betroll Gamble", (int) (amount * _bc.Betroll100Multiplier), false).ConfigureAwait(false); } } diff --git a/src/NadekoBot/Modules/Games/Commands/Acropobia.cs b/src/NadekoBot/Modules/Games/Commands/Acropobia.cs index 6e561527..ef0c08f8 100644 --- a/src/NadekoBot/Modules/Games/Commands/Acropobia.cs +++ b/src/NadekoBot/Modules/Games/Commands/Acropobia.cs @@ -65,7 +65,7 @@ namespace NadekoBot.Modules.Games Voting } - //todo Isolate, this shouldn't print or anything like that. + //todo 85 Isolate, this shouldn't print or anything like that. public class AcrophobiaGame { private readonly ITextChannel _channel; diff --git a/src/NadekoBot/Modules/Games/Commands/CleverBotCommands.cs b/src/NadekoBot/Modules/Games/Commands/CleverBotCommands.cs index f9f6fcbd..ddf0e78d 100644 --- a/src/NadekoBot/Modules/Games/Commands/CleverBotCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/CleverBotCommands.cs @@ -13,10 +13,10 @@ namespace NadekoBot.Modules.Games [Group] public class CleverBotCommands : NadekoSubmodule { - private readonly DbHandler _db; - private readonly GamesService _games; + private readonly DbService _db; + private readonly ChatterBotService _games; - public CleverBotCommands(DbHandler db, GamesService games) + public CleverBotCommands(DbService db, ChatterBotService games) { _db = db; _games = games; @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Games { var channel = (ITextChannel)Context.Channel; - if (_games.CleverbotGuilds.TryRemove(channel.Guild.Id, out Lazy throwaway)) + if (_games.ChatterBotGuilds.TryRemove(channel.Guild.Id, out Lazy throwaway)) { using (var uow = _db.UnitOfWork) { @@ -40,7 +40,7 @@ namespace NadekoBot.Modules.Games return; } - _games.CleverbotGuilds.TryAdd(channel.Guild.Id, new Lazy(() => new ChatterBotSession(Context.Guild.Id), true)); + _games.ChatterBotGuilds.TryAdd(channel.Guild.Id, new Lazy(() => new ChatterBotSession(Context.Guild.Id), true)); using (var uow = _db.UnitOfWork) { diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 159f6865..191fd30d 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -24,16 +24,16 @@ namespace NadekoBot.Modules.Games [Group] public class PlantPickCommands : NadekoSubmodule { - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; private readonly BotConfig _bc; private readonly GamesService _games; - private readonly DbHandler _db; + private readonly DbService _db; - public PlantPickCommands(BotConfig bc, CurrencyHandler ch, GamesService games, - DbHandler db) + public PlantPickCommands(BotConfig bc, CurrencyService cs, GamesService games, + DbService db) { _bc = bc; - _ch = ch; + _cs = cs; _games = games; _db = db; } @@ -54,7 +54,7 @@ namespace NadekoBot.Modules.Games await Task.WhenAll(msgs.Where(m => m != null).Select(toDelete => toDelete.DeleteAsync())).ConfigureAwait(false); - await _ch.AddCurrencyAsync((IGuildUser)Context.User, $"Picked {_bc.CurrencyPluralName}", msgs.Count, false).ConfigureAwait(false); + await _cs.AddAsync((IGuildUser)Context.User, $"Picked {_bc.CurrencyPluralName}", msgs.Count, false).ConfigureAwait(false); var msg = await ReplyConfirmLocalized("picked", msgs.Count + _bc.CurrencySign) .ConfigureAwait(false); msg.DeleteAfter(10); @@ -67,7 +67,7 @@ namespace NadekoBot.Modules.Games if (amount < 1) return; - var removed = await _ch.RemoveCurrencyAsync((IGuildUser)Context.User, $"Planted a {_bc.CurrencyName}", amount, false).ConfigureAwait(false); + var removed = await _cs.RemoveAsync((IGuildUser)Context.User, $"Planted a {_bc.CurrencyName}", amount, false).ConfigureAwait(false); if (!removed) { await ReplyErrorLocalized("not_enough", _bc.CurrencySign).ConfigureAwait(false); @@ -88,9 +88,9 @@ namespace NadekoBot.Modules.Games msgToSend += " " + GetText("pick_sn", Prefix); IUserMessage msg; - using (var toSend = imgData.Value.ToStream()) + using (var toSend = imgData.Data.ToStream()) { - msg = await Context.Channel.SendFileAsync(toSend, imgData.Key, msgToSend).ConfigureAwait(false); + msg = await Context.Channel.SendFileAsync(toSend, imgData.Name, msgToSend).ConfigureAwait(false); } var msgs = new IUserMessage[amount]; diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index 1773c4d7..487473f0 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -3,12 +3,8 @@ using Discord.Commands; using Discord.WebSocket; using NadekoBot.Attributes; using NadekoBot.Extensions; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Text; using System.Threading.Tasks; -using NadekoBot.Services; +using NadekoBot.Services.Games; namespace NadekoBot.Modules.Games { @@ -17,12 +13,13 @@ namespace NadekoBot.Modules.Games [Group] public class PollCommands : NadekoSubmodule { - public static ConcurrentDictionary ActivePolls = new ConcurrentDictionary(); private readonly DiscordShardedClient _client; + private readonly PollService _polls; - public PollCommands(DiscordShardedClient client) + public PollCommands(DiscordShardedClient client, PollService polls) { _client = client; + _polls = polls; } [NadekoCommand, Usage, Description, Aliases] @@ -42,8 +39,7 @@ namespace NadekoBot.Modules.Games [RequireContext(ContextType.Guild)] public async Task PollStats() { - Poll poll; - if (!ActivePolls.TryGetValue(Context.Guild.Id, out poll)) + if (!_polls.ActivePolls.TryGetValue(Context.Guild.Id, out var poll)) return; await Context.Channel.EmbedAsync(poll.GetStats(GetText("current_poll_results"))); @@ -51,20 +47,7 @@ namespace NadekoBot.Modules.Games private async Task InternalStartPoll(string arg, bool isPublic = false) { - var channel = (ITextChannel)Context.Channel; - - if (string.IsNullOrWhiteSpace(arg) || !arg.Contains(";")) - return; - var data = arg.Split(';'); - if (data.Length < 3) - return; - - var poll = new Poll(_client, _strings, Context.Message, data[0], data.Skip(1), isPublic: isPublic); - if (ActivePolls.TryAdd(channel.Guild.Id, poll)) - { - await poll.StartPoll().ConfigureAwait(false); - } - else + if(await _polls.StartPoll((ITextChannel)Context.Channel, Context.Message, arg, isPublic) == false) await ReplyErrorLocalized("poll_already_running").ConfigureAwait(false); } @@ -75,151 +58,11 @@ namespace NadekoBot.Modules.Games { var channel = (ITextChannel)Context.Channel; - Poll poll; - ActivePolls.TryRemove(channel.Guild.Id, out poll); + _polls.ActivePolls.TryRemove(channel.Guild.Id, out var poll); await poll.StopPoll().ConfigureAwait(false); } } - public class Poll - { - private readonly IUserMessage _originalMessage; - private readonly IGuild _guild; - private string[] answers { get; } - private readonly ConcurrentDictionary _participants = new ConcurrentDictionary(); - private readonly string _question; - private readonly DiscordShardedClient _client; - private readonly NadekoStrings _strings; - - public bool IsPublic { get; } - - public Poll(DiscordShardedClient client, NadekoStrings strings, IUserMessage umsg, string question, IEnumerable enumerable, bool isPublic = false) - { - _client = client; - _strings = strings; - - _originalMessage = umsg; - _guild = ((ITextChannel)umsg.Channel).Guild; - _question = question; - answers = enumerable as string[] ?? enumerable.ToArray(); - IsPublic = isPublic; - } - - public EmbedBuilder GetStats(string title) - { - var results = _participants.GroupBy(kvp => kvp.Value) - .ToDictionary(x => x.Key, x => x.Sum(kvp => 1)) - .OrderByDescending(kvp => kvp.Value) - .ToArray(); - - var eb = new EmbedBuilder().WithTitle(title); - - var sb = new StringBuilder() - .AppendLine(Format.Bold(_question)) - .AppendLine(); - - var totalVotesCast = 0; - if (results.Length == 0) - { - sb.AppendLine(GetText("no_votes_cast")); - } - else - { - for (int i = 0; i < results.Length; i++) - { - var result = results[i]; - sb.AppendLine(GetText("poll_result", - result.Key, - Format.Bold(answers[result.Key - 1]), - Format.Bold(result.Value.ToString()))); - totalVotesCast += result.Value; - } - } - - - eb.WithDescription(sb.ToString()) - .WithFooter(efb => efb.WithText(GetText("x_votes_cast", totalVotesCast))); - - return eb; - } - - public async Task StartPoll() - { - _client.MessageReceived += Vote; - var msgToSend = GetText("poll_created", Format.Bold(_originalMessage.Author.Username)) + "\n\n" + Format.Bold(_question) + "\n"; - var num = 1; - msgToSend = answers.Aggregate(msgToSend, (current, answ) => current + $"`{num++}.` **{answ}**\n"); - if (!IsPublic) - msgToSend += "\n" + Format.Bold(GetText("poll_vote_private")); - else - msgToSend += "\n" + Format.Bold(GetText("poll_vote_public")); - await _originalMessage.Channel.SendConfirmAsync(msgToSend).ConfigureAwait(false); - } - - public async Task StopPoll() - { - _client.MessageReceived -= Vote; - await _originalMessage.Channel.EmbedAsync(GetStats("POLL CLOSED")).ConfigureAwait(false); - } - - private async Task Vote(SocketMessage imsg) - { - try - { - // has to be a user message - var msg = imsg as SocketUserMessage; - if (msg == null || msg.Author.IsBot) - return; - - // has to be an integer - int vote; - if (!int.TryParse(imsg.Content, out vote)) - return; - if (vote < 1 || vote > answers.Length) - return; - - IMessageChannel ch; - if (IsPublic) - { - //if public, channel must be the same the poll started in - if (_originalMessage.Channel.Id != imsg.Channel.Id) - return; - ch = imsg.Channel; - } - else - { - //if private, channel must be dm channel - if ((ch = msg.Channel as IDMChannel) == null) - return; - - // user must be a member of the guild this poll is in - var guildUsers = await _guild.GetUsersAsync().ConfigureAwait(false); - if (guildUsers.All(u => u.Id != imsg.Author.Id)) - return; - } - - //user can vote only once - if (_participants.TryAdd(msg.Author.Id, vote)) - { - if (!IsPublic) - { - await ch.SendConfirmAsync(GetText("thanks_for_voting", Format.Bold(msg.Author.Username))).ConfigureAwait(false); - } - else - { - var toDelete = await ch.SendConfirmAsync(GetText("poll_voted", Format.Bold(msg.Author.ToString()))).ConfigureAwait(false); - toDelete.DeleteAfter(5); - } - } - } - catch { } - } - - private string GetText(string key, params object[] replacements) - => _strings.GetText(key, - _guild.Id, - typeof(Games).Name.ToLowerInvariant(), - replacements); - } + } } \ No newline at end of file diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 25b7b12c..16ce3b13 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -6,7 +6,6 @@ using NadekoBot.Extensions; using NadekoBot.Modules.Games.Models; using NadekoBot.Services.Games; using Newtonsoft.Json; -using System; using System.Collections.Concurrent; using System.IO; using System.Linq; @@ -71,15 +70,10 @@ namespace NadekoBot.Modules.Games public async Task Typeadd([Remainder] string text) { var channel = (ITextChannel)Context.Channel; + if (string.IsNullOrWhiteSpace(text)) + return; - _games.TypingArticles.Add(new TypingArticle - { - Title = $"Text added on {DateTime.UtcNow} by {Context.User}", - Text = text.SanitizeMentions(), - }); - - //todo move this to service - File.WriteAllText(_games.TypingArticlesPath, JsonConvert.SerializeObject(_games.TypingArticles)); + _games.AddTypingArticle(Context.User, text); await channel.SendConfirmAsync("Added new article for typing game.").ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index 8b785dad..0521d3cc 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -22,7 +22,7 @@ namespace NadekoBot.Modules.Games.Trivia private readonly NadekoStrings _strings; private readonly DiscordShardedClient _client; private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; public IGuild Guild { get; } public ITextChannel Channel { get; } @@ -44,14 +44,14 @@ namespace NadekoBot.Modules.Games.Trivia public int WinRequirement { get; } public TriviaGame(NadekoStrings strings, DiscordShardedClient client, BotConfig bc, - CurrencyHandler ch, IGuild guild, ITextChannel channel, + CurrencyService cs, IGuild guild, ITextChannel channel, bool showHints, int winReq, bool isPokemon) { _log = LogManager.GetCurrentClassLogger(); _strings = strings; _client = client; _bc = bc; - _ch = ch; + _cs = cs; ShowHints = showHints; Guild = guild; @@ -227,7 +227,7 @@ namespace NadekoBot.Modules.Games.Trivia } var reward = _bc.TriviaCurrencyReward; if (reward > 0) - await _ch.AddCurrencyAsync(guildUser, "Won trivia", reward, true).ConfigureAwait(false); + await _cs.AddAsync(guildUser, "Won trivia", reward, true).ConfigureAwait(false); return; } diff --git a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs index f2b13e82..d38e04dd 100644 --- a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs @@ -17,15 +17,15 @@ namespace NadekoBot.Modules.Games [Group] public class TriviaCommands : NadekoSubmodule { - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; private readonly DiscordShardedClient _client; private readonly BotConfig _bc; public static ConcurrentDictionary RunningTrivias { get; } = new ConcurrentDictionary(); - public TriviaCommands(DiscordShardedClient client, BotConfig bc, CurrencyHandler ch) + public TriviaCommands(DiscordShardedClient client, BotConfig bc, CurrencyService cs) { - _ch = ch; + _cs = cs; _client = client; _bc = bc; } @@ -49,7 +49,7 @@ namespace NadekoBot.Modules.Games var showHints = !additionalArgs.Contains("nohint"); var isPokemon = additionalArgs.Contains("pokemon"); - var trivia = new TriviaGame(_strings, _client, _bc, _ch, channel.Guild, channel, showHints, winReq, isPokemon); + var trivia = new TriviaGame(_strings, _client, _bc, _cs, channel.Guild, channel, showHints, winReq, isPokemon); if (RunningTrivias.TryAdd(channel.Guild.Id, trivia)) { try diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index 35f15c98..607ad8f9 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -14,19 +14,21 @@ using System.Collections.Generic; using NadekoBot.Services.Database.Models; using System.Threading; using NadekoBot.Services.Music; +using NadekoBot.DataStructures; namespace NadekoBot.Modules.Music { + [NoPublicBot] public class Music : NadekoTopLevelModule { private static MusicService _music; private readonly DiscordShardedClient _client; private readonly IBotCredentials _creds; private readonly IGoogleApiService _google; - private readonly DbHandler _db; + private readonly DbService _db; public Music(DiscordShardedClient client, IBotCredentials creds, IGoogleApiService google, - DbHandler db, MusicService music) + DbService db, MusicService music) { _client = client; _creds = creds; diff --git a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs index 4820e8b4..4b63c967 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs @@ -23,14 +23,14 @@ namespace NadekoBot.Modules.Permissions public class BlacklistCommands : NadekoSubmodule { private readonly BlacklistService _bs; - private readonly DbHandler _db; + private readonly DbService _db; private readonly IBotCredentials _creds; private ConcurrentHashSet BlacklistedUsers => _bs.BlacklistedUsers; private ConcurrentHashSet BlacklistedGuilds => _bs.BlacklistedGuilds; private ConcurrentHashSet BlacklistedChannels => _bs.BlacklistedChannels; - public BlacklistCommands(BlacklistService bs, DbHandler db, IBotCredentials creds) + public BlacklistCommands(BlacklistService bs, DbService db, IBotCredentials creds) { _bs = bs; _db = db; diff --git a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs index 9138abc3..817d7c54 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs @@ -17,7 +17,7 @@ namespace NadekoBot.Modules.Permissions [Group] public class CmdCdsCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly CmdCdService _service; private ConcurrentDictionary> CommandCooldowns @@ -25,7 +25,7 @@ namespace NadekoBot.Modules.Permissions private ConcurrentDictionary> ActiveCooldowns => _service.ActiveCooldowns; - public CmdCdsCommands(CmdCdService service, DbHandler db) + public CmdCdsCommands(CmdCdService service, DbService db) { _service = service; _db = db; @@ -88,40 +88,6 @@ namespace NadekoBot.Modules.Permissions else await channel.SendTableAsync("", localSet.Select(c => c.CommandName + ": " + c.Seconds + GetText("sec")), s => $"{s,-30}", 2).ConfigureAwait(false); } - - public bool HasCooldown(CommandInfo cmd, IGuild guild, IUser user) - { - if (guild == null) - return false; - var cmdcds = CommandCooldowns.GetOrAdd(guild.Id, new ConcurrentHashSet()); - CommandCooldown cdRule; - if ((cdRule = cmdcds.FirstOrDefault(cc => cc.CommandName == cmd.Aliases.First().ToLowerInvariant())) != null) - { - var activeCdsForGuild = ActiveCooldowns.GetOrAdd(guild.Id, new ConcurrentHashSet()); - if (activeCdsForGuild.FirstOrDefault(ac => ac.UserId == user.Id && ac.Command == cmd.Aliases.First().ToLowerInvariant()) != null) - { - return true; - } - activeCdsForGuild.Add(new ActiveCooldown() - { - UserId = user.Id, - Command = cmd.Aliases.First().ToLowerInvariant(), - }); - var _ = Task.Run(async () => - { - try - { - await Task.Delay(cdRule.Seconds * 1000); - activeCdsForGuild.RemoveWhere(ac => ac.Command == cmd.Aliases.First().ToLowerInvariant() && ac.UserId == user.Id); - } - catch - { - // ignored - } - }); - } - return false; - } } } } diff --git a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs index 782a7f83..a19b4189 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs @@ -15,10 +15,10 @@ namespace NadekoBot.Modules.Permissions [Group] public class FilterCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly FilterService _service; - public FilterCommands(FilterService service, DbHandler db) + public FilterCommands(FilterService service, DbService db) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/Permissions/Commands/GlobalPermissionCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/GlobalPermissionCommands.cs index 0d12d651..eb60f78f 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/GlobalPermissionCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/GlobalPermissionCommands.cs @@ -16,9 +16,9 @@ namespace NadekoBot.Modules.Permissions public class GlobalPermissionCommands : NadekoSubmodule { private GlobalPermissionService _service; - private readonly DbHandler _db; + private readonly DbService _db; - public GlobalPermissionCommands(GlobalPermissionService service, DbHandler db) + public GlobalPermissionCommands(GlobalPermissionService service, DbService db) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/Permissions/Commands/ResetPermissionsCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/ResetPermissionsCommands.cs index bef22270..9787b726 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/ResetPermissionsCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/ResetPermissionsCommands.cs @@ -14,10 +14,10 @@ namespace NadekoBot.Modules.Permissions.Commands public class ResetPermissionsCommands : NadekoSubmodule { private readonly PermissionsService _service; - private readonly DbHandler _db; + private readonly DbService _db; private readonly GlobalPermissionService _globalPerms; - public ResetPermissionsCommands(PermissionsService service, GlobalPermissionService globalPerms, DbHandler db) + public ResetPermissionsCommands(PermissionsService service, GlobalPermissionService globalPerms, DbService db) { _service = service; _db = db; @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Permissions.Commands [RequireUserPermission(GuildPermission.Administrator)] public async Task ResetPermissions() { - //todo 80 move to service + //todo 50 move to service using (var uow = _db.UnitOfWork) { var config = uow.GuildConfigs.GcWithPermissionsv2For(Context.Guild.Id); @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Permissions.Commands [OwnerOnly] public async Task ResetGlobalPermissions() { - //todo 80 move to service + //todo 50 move to service using (var uow = _db.UnitOfWork) { var gc = uow.BotConfig.GetOrCreate(); diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 8d920a47..ad86c810 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -15,10 +15,10 @@ namespace NadekoBot.Modules.Permissions { public partial class Permissions : NadekoTopLevelModule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly PermissionsService _service; - public Permissions(PermissionsService service, DbHandler db) + public Permissions(PermissionsService service, DbService db) { _db = db; _service = service; diff --git a/src/NadekoBot/Modules/Pokemon/Pokemon.cs b/src/NadekoBot/Modules/Pokemon/Pokemon.cs index 460e4be8..3b8d47a4 100644 --- a/src/NadekoBot/Modules/Pokemon/Pokemon.cs +++ b/src/NadekoBot/Modules/Pokemon/Pokemon.cs @@ -15,16 +15,16 @@ namespace NadekoBot.Modules.Pokemon public class Pokemon : NadekoTopLevelModule { private readonly PokemonService _service; - private readonly DbHandler _db; + private readonly DbService _db; private readonly BotConfig _bc; - private readonly CurrencyHandler _ch; + private readonly CurrencyService _cs; - public Pokemon(PokemonService pokemonService, DbHandler db, BotConfig bc, CurrencyHandler ch) + public Pokemon(PokemonService pokemonService, DbService db, BotConfig bc, CurrencyService cs) { _service = pokemonService; _db = db; _bc = bc; - _ch = ch; + _cs = cs; } private int GetDamage(PokemonType usertype, PokemonType targetType) @@ -229,7 +229,7 @@ namespace NadekoBot.Modules.Pokemon var target = (targetUser.Id == user.Id) ? "yourself" : targetUser.Mention; if (amount > 0) { - if (!await _ch.RemoveCurrencyAsync(user, $"Poke-Heal {target}", amount, true).ConfigureAwait(false)) + if (!await _cs.RemoveAsync(user, $"Poke-Heal {target}", amount, true).ConfigureAwait(false)) { await ReplyErrorLocalized("no_currency", _bc.CurrencySign).ConfigureAwait(false); return; @@ -295,7 +295,7 @@ namespace NadekoBot.Modules.Pokemon var amount = 1; if (amount > 0) { - if (!await _ch.RemoveCurrencyAsync(user, $"{user} change type to {typeTargeted}", amount, true).ConfigureAwait(false)) + if (!await _cs.RemoveAsync(user, $"{user} change type to {typeTargeted}", amount, true).ConfigureAwait(false)) { await ReplyErrorLocalized("no_currency", _bc.CurrencySign).ConfigureAwait(false); return; diff --git a/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs b/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs index 539b11bf..9730284a 100644 --- a/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs @@ -9,7 +9,7 @@ using System.Linq; using System.Net.Http; using System.Threading.Tasks; -//todo drawing +//todo 50 drawing namespace NadekoBot.Modules.Searches { public partial class Searches diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index a8c3dec1..30e18523 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -17,10 +17,10 @@ namespace NadekoBot.Modules.Searches [Group] public class StreamNotificationCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; private readonly StreamNotificationService _service; - public StreamNotificationCommands(DbHandler db, StreamNotificationService service) + public StreamNotificationCommands(DbService db, StreamNotificationService service) { _db = db; _service = service; diff --git a/src/NadekoBot/Modules/Searches/Commands/Translator.cs b/src/NadekoBot/Modules/Searches/Commands/Translator.cs index 639c9825..1dfca6d7 100644 --- a/src/NadekoBot/Modules/Searches/Commands/Translator.cs +++ b/src/NadekoBot/Modules/Searches/Commands/Translator.cs @@ -59,7 +59,7 @@ namespace NadekoBot.Modules.Searches return; } - if (_searches.TranslatedChannels.TryRemove(channel.Id, out var throwaway)) + if (_searches.TranslatedChannels.TryRemove(channel.Id, out _)) { await ReplyConfirmLocalized("atl_stopped").ConfigureAwait(false); return; diff --git a/src/NadekoBot/Modules/Utility/Commands/CommandMapCommands.cs b/src/NadekoBot/Modules/Utility/Commands/CommandMapCommands.cs index 2f019382..65be07de 100644 --- a/src/NadekoBot/Modules/Utility/Commands/CommandMapCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/CommandMapCommands.cs @@ -20,10 +20,10 @@ namespace NadekoBot.Modules.Utility public class CommandMapCommands : NadekoSubmodule { private readonly UtilityService _service; - private readonly DbHandler _db; + private readonly DbService _db; private readonly DiscordShardedClient _client; - public CommandMapCommands(UtilityService service, DbHandler db, DiscordShardedClient client) + public CommandMapCommands(UtilityService service, DbService db, DiscordShardedClient client) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index f59cc49b..1566fd19 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -18,13 +18,13 @@ namespace NadekoBot.Modules.Utility { private readonly DiscordShardedClient _client; private readonly IStatsService _stats; - private readonly CommandHandler _ch; + private readonly CommandHandler _cmdHandler; public InfoCommands(DiscordShardedClient client, IStatsService stats, CommandHandler ch) { _client = client; _stats = stats; - _ch = ch; + _cmdHandler = ch; } [NadekoCommand, Usage, Description, Aliases] @@ -129,7 +129,7 @@ namespace NadekoBot.Modules.Utility int startCount = page * activityPerPage; StringBuilder str = new StringBuilder(); - foreach (var kvp in _ch.UserMessagesSent.OrderByDescending(kvp => kvp.Value).Skip(page * activityPerPage).Take(activityPerPage)) + foreach (var kvp in _cmdHandler.UserMessagesSent.OrderByDescending(kvp => kvp.Value).Skip(page * activityPerPage).Take(activityPerPage)) { str.AppendLine(GetText("activity_line", ++startCount, @@ -141,7 +141,7 @@ namespace NadekoBot.Modules.Utility .WithTitle(GetText("activity_page", page + 1)) .WithOkColor() .WithFooter(efb => efb.WithText(GetText("activity_users_total", - _ch.UserMessagesSent.Count))) + _cmdHandler.UserMessagesSent.Count))) .WithDescription(str.ToString())); } } diff --git a/src/NadekoBot/Modules/Utility/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Utility/Commands/MessageRepeater.cs index a2790756..fe2781ac 100644 --- a/src/NadekoBot/Modules/Utility/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Utility/Commands/MessageRepeater.cs @@ -22,9 +22,9 @@ namespace NadekoBot.Modules.Utility { private readonly MessageRepeaterService _service; private readonly DiscordShardedClient _client; - private readonly DbHandler _db; + private readonly DbService _db; - public RepeatCommands(MessageRepeaterService service, DiscordShardedClient client, DbHandler db) + public RepeatCommands(MessageRepeaterService service, DiscordShardedClient client, DbService db) { _service = service; _client = client; diff --git a/src/NadekoBot/Modules/Utility/Commands/PatreonCommands.cs b/src/NadekoBot/Modules/Utility/Commands/PatreonCommands.cs index 96becc9f..9d82fed1 100644 --- a/src/NadekoBot/Modules/Utility/Commands/PatreonCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/PatreonCommands.cs @@ -1,19 +1,12 @@ -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Threading.Tasks; +using System.Threading.Tasks; using Discord.Commands; using NadekoBot.Attributes; -using NadekoBot.Modules.Utility.Models; -using Newtonsoft.Json; -using System.Threading; using System; -using System.Collections.Immutable; using NadekoBot.Services; using NadekoBot.Services.Database.Models; using NadekoBot.Extensions; using Discord; -using NLog; +using NadekoBot.Services.Utility; namespace NadekoBot.Modules.Utility { @@ -22,27 +15,26 @@ namespace NadekoBot.Modules.Utility [Group] public class PatreonCommands : NadekoSubmodule { - //todo rename patreon thingy and move it to be a service, or a part of utility service - private readonly PatreonThingy patreon; + private readonly PatreonRewardsService _patreon; private readonly IBotCredentials _creds; private readonly BotConfig _config; - private readonly DbHandler _db; - private readonly CurrencyHandler _currency; + private readonly DbService _db; + private readonly CurrencyService _currency; - public PatreonCommands(IBotCredentials creds, BotConfig config, DbHandler db, CurrencyHandler currency) + public PatreonCommands(PatreonRewardsService p, IBotCredentials creds, BotConfig config, DbService db, CurrencyService currency) { _creds = creds; _config = config; _db = db; _currency = currency; - patreon = PatreonThingy.GetInstance(creds, db, currency); + _patreon = p; } [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] public async Task PatreonRewardsReload() { - await patreon.LoadPledges().ConfigureAwait(false); + await _patreon.LoadPledges().ConfigureAwait(false); await Context.Channel.SendConfirmAsync("👌").ConfigureAwait(false); } @@ -60,7 +52,7 @@ namespace NadekoBot.Modules.Utility int amount = 0; try { - amount = await patreon.ClaimReward(Context.User.Id).ConfigureAwait(false); + amount = await _patreon.ClaimReward(Context.User.Id).ConfigureAwait(false); } catch (Exception ex) { @@ -72,7 +64,7 @@ namespace NadekoBot.Modules.Utility await ReplyConfirmLocalized("clpa_success", amount + _config.CurrencySign).ConfigureAwait(false); return; } - var rem = (patreon.Interval - (DateTime.UtcNow - patreon.LastUpdate)); + var rem = (_patreon.Interval - (DateTime.UtcNow - _patreon.LastUpdate)); var helpcmd = Format.Code(NadekoBot.Prefix + "donate"); await Context.Channel.EmbedAsync(new EmbedBuilder().WithOkColor() .WithDescription(GetText("clpa_fail")) @@ -85,158 +77,5 @@ namespace NadekoBot.Modules.Utility } } - public class PatreonThingy - { - //todo quickly hacked while rewriting, fix this - private static PatreonThingy _instance = null; - public static PatreonThingy GetInstance(IBotCredentials creds, DbHandler db, CurrencyHandler cur) - => _instance ?? (_instance = new PatreonThingy(creds, db, cur)); - - private readonly SemaphoreSlim getPledgesLocker = new SemaphoreSlim(1, 1); - - public ImmutableArray Pledges { get; private set; } - public DateTime LastUpdate { get; private set; } = DateTime.UtcNow; - - public readonly Timer Updater; - private readonly SemaphoreSlim claimLockJustInCase = new SemaphoreSlim(1, 1); - private readonly Logger _log; - - public readonly TimeSpan Interval = TimeSpan.FromHours(1); - private IBotCredentials _creds; - private readonly DbHandler _db; - private readonly CurrencyHandler _currency; - - static PatreonThingy() { } - private PatreonThingy(IBotCredentials creds, DbHandler db, CurrencyHandler currency) - { - _creds = creds; - _db = db; - _currency = currency; - if (string.IsNullOrWhiteSpace(creds.PatreonAccessToken)) - return; - _log = LogManager.GetCurrentClassLogger(); - Updater = new Timer(async (_) => await LoadPledges(), null, TimeSpan.Zero, Interval); - } - - public async Task LoadPledges() - { - LastUpdate = DateTime.UtcNow; - await getPledgesLocker.WaitAsync(1000).ConfigureAwait(false); - try - { - var rewards = new List(); - var users = new List(); - using (var http = new HttpClient()) - { - http.DefaultRequestHeaders.Clear(); - http.DefaultRequestHeaders.Add("Authorization", "Bearer " + _creds.PatreonAccessToken); - var data = new PatreonData() - { - Links = new PatreonDataLinks() - { - next = "https://api.patreon.com/oauth2/api/campaigns/334038/pledges" - } - }; - do - { - var res = await http.GetStringAsync(data.Links.next) - .ConfigureAwait(false); - data = JsonConvert.DeserializeObject(res); - var pledgers = data.Data.Where(x => x["type"].ToString() == "pledge"); - rewards.AddRange(pledgers.Select(x => JsonConvert.DeserializeObject(x.ToString())) - .Where(x => x.attributes.declined_since == null)); - users.AddRange(data.Included - .Where(x => x["type"].ToString() == "user") - .Select(x => JsonConvert.DeserializeObject(x.ToString()))); - } while (!string.IsNullOrWhiteSpace(data.Links.next)); - } - Pledges = rewards.Join(users, (r) => r.relationships?.patron?.data?.id, (u) => u.id, (x, y) => new PatreonUserAndReward() - { - User = y, - Reward = x, - }).ToImmutableArray(); - } - catch (Exception ex) - { - _log.Warn(ex); - } - finally - { - var _ = Task.Run(async () => - { - await Task.Delay(TimeSpan.FromMinutes(5)).ConfigureAwait(false); - getPledgesLocker.Release(); - }); - } - } - - public async Task ClaimReward(ulong userId) - { - await claimLockJustInCase.WaitAsync(); - var now = DateTime.UtcNow; - try - { - var data = Pledges.FirstOrDefault(x => x.User.attributes?.social_connections?.discord?.user_id == userId.ToString()); - - if (data == null) - return 0; - - var amount = data.Reward.attributes.amount_cents; - - using (var uow = _db.UnitOfWork) - { - var users = uow._context.Set(); - var usr = users.FirstOrDefault(x => x.PatreonUserId == data.User.id); - - if (usr == null) - { - users.Add(new RewardedUser() - { - UserId = userId, - PatreonUserId = data.User.id, - LastReward = now, - AmountRewardedThisMonth = amount, - }); - - await _currency.AddCurrencyAsync(userId, "Patreon reward - new", amount, uow).ConfigureAwait(false); - - await uow.CompleteAsync().ConfigureAwait(false); - return amount; - } - - if (usr.LastReward.Month != now.Month) - { - usr.LastReward = now; - usr.AmountRewardedThisMonth = amount; - usr.PatreonUserId = data.User.id; - - await _currency.AddCurrencyAsync(userId, "Patreon reward - recurring", amount, uow).ConfigureAwait(false); - - await uow.CompleteAsync().ConfigureAwait(false); - return amount; - } - - if ( usr.AmountRewardedThisMonth < amount) - { - var toAward = amount - usr.AmountRewardedThisMonth; - - usr.LastReward = now; - usr.AmountRewardedThisMonth = amount; - usr.PatreonUserId = data.User.id; - - await _currency.AddCurrencyAsync(usr.UserId, "Patreon reward - update", toAward, uow).ConfigureAwait(false); - - await uow.CompleteAsync().ConfigureAwait(false); - return toAward; - } - } - return 0; - } - finally - { - claimLockJustInCase.Release(); - } - } - } } } \ No newline at end of file diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index 913f3906..7522ec63 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -17,9 +17,9 @@ namespace NadekoBot.Modules.Utility [Group] public class QuoteCommands : NadekoSubmodule { - private readonly DbHandler _db; + private readonly DbService _db; - public QuoteCommands(DbHandler db) + public QuoteCommands(DbService db) { _db = db; } diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index f5781b9f..f8907d17 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -18,9 +18,9 @@ namespace NadekoBot.Modules.Utility public class RemindCommands : NadekoSubmodule { private readonly RemindService _service; - private readonly DbHandler _db; + private readonly DbService _db; - public RemindCommands(RemindService service, DbHandler db) + public RemindCommands(RemindService service, DbService db) { _service = service; _db = db; diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 4fb017c0..f009e500 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -494,7 +494,6 @@ namespace NadekoBot.Services.Utility } else if (s.Embeds.Any()) { - //todo probably just go through all properties and check if they are set, if they are, add them msg += "EMBEDS: " + string.Join("\n--------\n", s.Embeds.Select(x => $"Description: {x.Description}")); } } diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index e3c20679..838a613f 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -24,6 +24,7 @@ using NadekoBot.Services.Games; using NadekoBot.Services.Administration; using NadekoBot.Services.Permissions; using NadekoBot.Services.Utility; +using NadekoBot.Services.Help; namespace NadekoBot { @@ -45,7 +46,7 @@ namespace NadekoBot public ImmutableArray AllGuildConfigs { get; } public BotConfig BotConfig { get; } - public DbHandler Db { get; } + public DbService Db { get; } public CommandService CommandService { get; } public DiscordShardedClient Client { get; } @@ -60,7 +61,7 @@ namespace NadekoBot _log = LogManager.GetCurrentClassLogger(); Credentials = new BotCredentials(); - Db = new DbHandler(Credentials); + Db = new DbService(Credentials); using (var uow = Db.UnitOfWork) { @@ -99,7 +100,7 @@ namespace NadekoBot var commandHandler = new CommandHandler(Client, CommandService, Credentials, this); var stats = new StatsService(Client, commandHandler, Credentials); var images = new ImagesService(); - var currencyHandler = new CurrencyHandler(BotConfig, Db); + var currencyHandler = new CurrencyService(BotConfig, Db); //module services //todo 90 - autodiscover, DI, and add instead of manual like this @@ -109,27 +110,36 @@ namespace NadekoBot var repeaterService = new MessageRepeaterService(Client, AllGuildConfigs); var converterService = new ConverterService(Db); #endregion + #region Searches var searchesService = new SearchesService(Client, googleApiService, Db); var streamNotificationService = new StreamNotificationService(Db, Client, strings); #endregion + var clashService = new ClashOfClansService(Client, Db, localization, strings); - var musicService = new MusicService(googleApiService, strings, localization, Db, soundcloudApiService, Credentials); + var musicService = new MusicService(googleApiService, strings, localization, Db, soundcloudApiService, Credentials, AllGuildConfigs); var crService = new CustomReactionsService(Db, Client); + var helpService = new HelpService(BotConfig); + + #region Games var gamesService = new GamesService(Client, BotConfig, AllGuildConfigs, strings, images); + var chatterBotService = new ChatterBotService(Client, AllGuildConfigs); + var pollService = new PollService(Client, strings); + #endregion + #region administration var administrationService = new AdministrationService(AllGuildConfigs, commandHandler); var greetSettingsService = new GreetSettingsService(Client, AllGuildConfigs, Db); - var selfService = new SelfService(this, commandHandler, Db, BotConfig); - var vcRoleService = new VcRoleService(Client, AllGuildConfigs); + var selfService = new SelfService(Client, this, commandHandler, Db, BotConfig, localization, strings, Credentials); + var vcRoleService = new VcRoleService(Client, AllGuildConfigs, Db); var vPlusTService = new VplusTService(Client, AllGuildConfigs, strings, Db); var muteService = new MuteService(Client, AllGuildConfigs, Db); - var ratelimitService = new RatelimitService(Client, AllGuildConfigs); + var ratelimitService = new SlowmodeService(AllGuildConfigs); var protectionService = new ProtectionService(Client, AllGuildConfigs, muteService); var playingRotateService = new PlayingRotateService(Client, BotConfig, musicService); var gameVcService = new GameVoiceChannelService(Client, Db, AllGuildConfigs); var autoAssignRoleService = new AutoAssignRoleService(Client, AllGuildConfigs); - var permissionsService = new PermissionsService(Db); + var permissionsService = new PermissionsService(Db, BotConfig); var blacklistService = new BlacklistService(BotConfig); var cmdcdsService = new CmdCdService(AllGuildConfigs); var filterService = new FilterService(AllGuildConfigs); @@ -148,9 +158,9 @@ namespace NadekoBot .Add(strings) .Add(Client) .Add(BotConfig) - .Add(currencyHandler) + .Add(currencyHandler) .Add(commandHandler) - .Add(Db) + .Add(Db) //modules .Add(utilityService) .Add(remindService) @@ -162,7 +172,10 @@ namespace NadekoBot .Add(musicService) .Add(greetSettingsService) .Add(crService) + .Add(helpService) .Add(gamesService) + .Add(chatterBotService) + .Add(pollService) .Add(administrationService) .Add(selfService) .Add(vcRoleService) @@ -228,9 +241,13 @@ namespace NadekoBot await commandHandler.StartHandling().ConfigureAwait(false); var _ = await CommandService.AddModulesAsync(this.GetType().GetTypeInfo().Assembly); -#if !GLOBAL_NADEKO - //todo uncomment this - //await CommandService.AddModuleAsync().ConfigureAwait(false); +#if GLOBAL_NADEKO + //unload modules which are not available on the public bot + CommandService + .Modules + .ToArray() + .Where(x => x.Preconditions.Any(y => y.GetType() == typeof(NoPublicBot))) + .ForEach(x => CommandService.RemoveModuleAsync(x)); #endif Ready = true; _log.Info(await stats.Print().ConfigureAwait(false)); diff --git a/src/NadekoBot/NadekoBot.csproj b/src/NadekoBot/NadekoBot.csproj index 7cdaca61..46483f4c 100644 --- a/src/NadekoBot/NadekoBot.csproj +++ b/src/NadekoBot/NadekoBot.csproj @@ -29,11 +29,8 @@ - - - @@ -87,6 +84,7 @@ + @@ -102,5 +100,6 @@ + diff --git a/src/NadekoBot/Services/Administration/GameVoiceChannelService.cs b/src/NadekoBot/Services/Administration/GameVoiceChannelService.cs index 625d6626..14f9c6c6 100644 --- a/src/NadekoBot/Services/Administration/GameVoiceChannelService.cs +++ b/src/NadekoBot/Services/Administration/GameVoiceChannelService.cs @@ -15,10 +15,10 @@ namespace NadekoBot.Services.Administration public readonly ConcurrentHashSet GameVoiceChannels = new ConcurrentHashSet(); private readonly Logger _log; - private readonly DbHandler _db; + private readonly DbService _db; private readonly DiscordShardedClient _client; - public GameVoiceChannelService(DiscordShardedClient client, DbHandler db, IEnumerable gcs) + public GameVoiceChannelService(DiscordShardedClient client, DbService db, IEnumerable gcs) { _log = LogManager.GetCurrentClassLogger(); _db = db; diff --git a/src/NadekoBot/Services/Administration/MuteService.cs b/src/NadekoBot/Services/Administration/MuteService.cs index 4f82ee03..83a48c09 100644 --- a/src/NadekoBot/Services/Administration/MuteService.cs +++ b/src/NadekoBot/Services/Administration/MuteService.cs @@ -26,9 +26,9 @@ namespace NadekoBot.Services.Administration private readonly Logger _log = LogManager.GetCurrentClassLogger(); private readonly DiscordShardedClient _client; - private readonly DbHandler _db; + private readonly DbService _db; - public MuteService(DiscordShardedClient client, IEnumerable gcs, DbHandler db) + public MuteService(DiscordShardedClient client, IEnumerable gcs, DbService db) { _client = client; _db = db; diff --git a/src/NadekoBot/Services/Administration/RatelimitService.cs b/src/NadekoBot/Services/Administration/RatelimitService.cs index 0148d535..8937761d 100644 --- a/src/NadekoBot/Services/Administration/RatelimitService.cs +++ b/src/NadekoBot/Services/Administration/RatelimitService.cs @@ -1,4 +1,5 @@ using Discord.WebSocket; +using NadekoBot.DataStructures.ModuleBehaviors; using NadekoBot.Extensions; using NadekoBot.Services.Database.Models; using NLog; @@ -6,22 +7,22 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using Discord; +using System.Threading.Tasks; namespace NadekoBot.Services.Administration { - public class RatelimitService + public class SlowmodeService : IEarlyBlocker { public ConcurrentDictionary RatelimitingChannels = new ConcurrentDictionary(); public ConcurrentDictionary> IgnoredRoles = new ConcurrentDictionary>(); public ConcurrentDictionary> IgnoredUsers = new ConcurrentDictionary>(); private readonly Logger _log; - private readonly DiscordShardedClient _client; - public RatelimitService(DiscordShardedClient client, IEnumerable gcs) + public SlowmodeService(IEnumerable gcs) { _log = LogManager.GetCurrentClassLogger(); - _client = client; IgnoredRoles = new ConcurrentDictionary>( gcs.ToDictionary(x => x.GuildId, @@ -30,24 +31,33 @@ namespace NadekoBot.Services.Administration IgnoredUsers = new ConcurrentDictionary>( gcs.ToDictionary(x => x.GuildId, x => new HashSet(x.SlowmodeIgnoredUsers.Select(y => y.UserId)))); + } - _client.MessageReceived += async (umsg) => + public async Task TryBlockEarly(DiscordShardedClient client, IGuild guild, IUserMessage usrMsg) + { + if (guild == null) + return false; + try { - try + var channel = usrMsg?.Channel as SocketTextChannel; + + if (channel == null || usrMsg == null || usrMsg.IsAuthor(client)) + return false; + if (!RatelimitingChannels.TryGetValue(channel.Id, out Ratelimiter limiter)) + return false; + + if (limiter.CheckUserRatelimit(usrMsg.Author.Id, channel.Guild.Id, usrMsg.Author as SocketGuildUser)) { - var usrMsg = umsg as SocketUserMessage; - var channel = usrMsg?.Channel as SocketTextChannel; - - if (channel == null || usrMsg == null || usrMsg.IsAuthor(client)) - return; - if (!RatelimitingChannels.TryGetValue(channel.Id, out Ratelimiter limiter)) - return; - - if (limiter.CheckUserRatelimit(usrMsg.Author.Id, channel.Guild.Id, usrMsg.Author as SocketGuildUser)) - await usrMsg.DeleteAsync(); + await usrMsg.DeleteAsync(); + return true; } - catch (Exception ex) { _log.Warn(ex); } - }; + } + catch (Exception ex) + { + _log.Warn(ex); + + } + return false; } } } diff --git a/src/NadekoBot/Services/Administration/Ratelimiter.cs b/src/NadekoBot/Services/Administration/Ratelimiter.cs index 6bc65d26..1fd17a6a 100644 --- a/src/NadekoBot/Services/Administration/Ratelimiter.cs +++ b/src/NadekoBot/Services/Administration/Ratelimiter.cs @@ -10,7 +10,7 @@ namespace NadekoBot.Services.Administration { public class Ratelimiter { - private readonly RatelimitService _svc; + private readonly SlowmodeService _svc; public class RatelimitedUser { @@ -22,7 +22,7 @@ namespace NadekoBot.Services.Administration public int MaxMessages { get; set; } public int PerSeconds { get; set; } - public Ratelimiter(RatelimitService svc) + public Ratelimiter(SlowmodeService svc) { _svc = svc; } diff --git a/src/NadekoBot/Services/Administration/SelfService.cs b/src/NadekoBot/Services/Administration/SelfService.cs index c1298f36..f3148d5a 100644 --- a/src/NadekoBot/Services/Administration/SelfService.cs +++ b/src/NadekoBot/Services/Administration/SelfService.cs @@ -1,23 +1,43 @@ -using NadekoBot.Services.Database.Models; +using Discord; +using NadekoBot.DataStructures; +using NadekoBot.DataStructures.ModuleBehaviors; +using NadekoBot.Extensions; +using NadekoBot.Services.Database.Models; +using NLog; +using System.Collections.Immutable; +using System.Linq; using System.Threading.Tasks; +using Discord.WebSocket; +using System.Collections.Generic; namespace NadekoBot.Services.Administration { - public class SelfService + public class SelfService : ILateExecutor { public volatile bool ForwardDMs; public volatile bool ForwardDMsToAllOwners; private readonly NadekoBot _bot; private readonly CommandHandler _cmdHandler; - private readonly DbHandler _db; + private readonly DbService _db; + private readonly Logger _log; + private readonly ILocalization _localization; + private readonly NadekoStrings _strings; + private readonly DiscordShardedClient _client; + private readonly IBotCredentials _creds; + private ImmutableArray> ownerChannels = new ImmutableArray>(); - public SelfService(NadekoBot bot, CommandHandler cmdHandler, DbHandler db, - BotConfig bc) + public SelfService(DiscordShardedClient client, NadekoBot bot, CommandHandler cmdHandler, DbService db, + BotConfig bc, ILocalization localization, NadekoStrings strings, IBotCredentials creds) { _bot = bot; _cmdHandler = cmdHandler; _db = db; + _log = LogManager.GetCurrentClassLogger(); + _localization = localization; + _strings = strings; + _client = client; + _creds = creds; using (var uow = _db.UnitOfWork) { @@ -37,6 +57,112 @@ namespace NadekoBot.Services.Administration await Task.Delay(400).ConfigureAwait(false); } }); + + var ___ = Task.Run(async () => + { + while (!bot.Ready) + await Task.Delay(1000); + + await Task.Delay(5000); + + _client.Guilds.SelectMany(g => g.Users); + + LoadOwnerChannels(); + + if (!ownerChannels.Any()) + _log.Warn("No owner channels created! Make sure you've specified correct OwnerId in the credentials.json file."); + else + _log.Info($"Created {ownerChannels.Length} out of {_creds.OwnerIds.Length} owner message channels."); + }); + } + + private void LoadOwnerChannels() + { + var hs = new HashSet(_creds.OwnerIds); + var channels = new Dictionary>(); + + foreach (var s in _client.Shards) + { + if (hs.Count == 0) + break; + foreach (var g in s.Guilds) + { + if (hs.Count == 0) + break; + + foreach (var u in g.Users) + { + if (hs.Remove(u.Id)) + { + channels.Add(u.Id, new AsyncLazy(async () => await u.CreateDMChannelAsync())); + if (hs.Count == 0) + break; + } + } + } + } + + ownerChannels = channels.OrderBy(x => _creds.OwnerIds.IndexOf(x.Key)) + .Select(x => x.Value) + .ToImmutableArray(); + } + + // forwards dms + public async Task LateExecute(DiscordShardedClient client, IGuild guild, IUserMessage msg) + { + if (msg.Channel is IDMChannel && ForwardDMs && ownerChannels.Length > 0) + { + var title = _strings.GetText("dm_from", + _localization.DefaultCultureInfo, + "Administration".ToLowerInvariant()) + + $" [{msg.Author}]({msg.Author.Id})"; + + var attachamentsTxt = _strings.GetText("attachments", + _localization.DefaultCultureInfo, + "Administration".ToLowerInvariant()); + + var toSend = msg.Content; + + if (msg.Attachments.Count > 0) + { + toSend += $"\n\n{Format.Code(attachamentsTxt)}:\n" + + string.Join("\n", msg.Attachments.Select(a => a.ProxyUrl)); + } + + if (ForwardDMsToAllOwners) + { + var allOwnerChannels = await Task.WhenAll(ownerChannels + .Select(x => x.Value)) + .ConfigureAwait(false); + + foreach (var ownerCh in allOwnerChannels.Where(ch => ch.Recipient.Id != msg.Author.Id)) + { + try + { + await ownerCh.SendConfirmAsync(title, toSend).ConfigureAwait(false); + } + catch + { + _log.Warn("Can't contact owner with id {0}", ownerCh.Recipient.Id); + } + } + } + else + { + var firstOwnerChannel = await ownerChannels[0]; + if (firstOwnerChannel.Recipient.Id != msg.Author.Id) + { + try + { + await firstOwnerChannel.SendConfirmAsync(title, toSend).ConfigureAwait(false); + } + catch + { + // ignored + } + } + } + } } } } diff --git a/src/NadekoBot/Services/Administration/VcRoleService.cs b/src/NadekoBot/Services/Administration/VcRoleService.cs index e04805b8..49dbe9ff 100644 --- a/src/NadekoBot/Services/Administration/VcRoleService.cs +++ b/src/NadekoBot/Services/Administration/VcRoleService.cs @@ -13,20 +13,25 @@ namespace NadekoBot.Services.Administration public class VcRoleService { private readonly Logger _log; + private readonly DbService _db; + private readonly DiscordShardedClient _client; public ConcurrentDictionary> VcRoles { get; } - public VcRoleService(DiscordShardedClient client, IEnumerable gcs) + public VcRoleService(DiscordShardedClient client, IEnumerable gcs, DbService db) { _log = LogManager.GetCurrentClassLogger(); + _db = db; + _client = client; - client.UserVoiceStateUpdated += ClientOnUserVoiceStateUpdated; + _client.UserVoiceStateUpdated += ClientOnUserVoiceStateUpdated; VcRoles = new ConcurrentDictionary>(); + var missingRoles = new List(); foreach (var gconf in gcs) { - var g = client.GetGuild(gconf.GuildId); + var g = _client.GetGuild(gconf.GuildId); if (g == null) - continue; //todo delete everything from db if guild doesn't exist? + continue; var infos = new ConcurrentDictionary(); VcRoles.TryAdd(gconf.GuildId, infos); @@ -34,11 +39,21 @@ namespace NadekoBot.Services.Administration { var role = g.GetRole(ri.RoleId); if (role == null) - continue; //todo remove this entry from db + { + missingRoles.Add(ri); + continue; + } infos.TryAdd(ri.VoiceChannelId, role); } } + if(missingRoles.Any()) + using (var uow = _db.UnitOfWork) + { + _log.Warn($"Removing {missingRoles.Count} missing roles from {nameof(VcRoleService)}"); + uow._context.RemoveRange(missingRoles); + uow.Complete(); + } } private Task ClientOnUserVoiceStateUpdated(SocketUser usr, SocketVoiceState oldState, diff --git a/src/NadekoBot/Services/Administration/VplusTService.cs b/src/NadekoBot/Services/Administration/VplusTService.cs index 48bccb9c..469aab02 100644 --- a/src/NadekoBot/Services/Administration/VplusTService.cs +++ b/src/NadekoBot/Services/Administration/VplusTService.cs @@ -22,11 +22,11 @@ namespace NadekoBot.Services.Administration private readonly ConcurrentDictionary _guildLockObjects = new ConcurrentDictionary(); private readonly DiscordShardedClient _client; private readonly NadekoStrings _strings; - private readonly DbHandler _db; + private readonly DbService _db; private readonly Logger _log; public VplusTService(DiscordShardedClient client, IEnumerable gcs, NadekoStrings strings, - DbHandler db) + DbService db) { _client = client; _strings = strings; diff --git a/src/NadekoBot/Services/ClashOfClans/ClashOfClansService.cs b/src/NadekoBot/Services/ClashOfClans/ClashOfClansService.cs index 6ea1bf41..89a6c670 100644 --- a/src/NadekoBot/Services/ClashOfClans/ClashOfClansService.cs +++ b/src/NadekoBot/Services/ClashOfClans/ClashOfClansService.cs @@ -18,14 +18,14 @@ namespace NadekoBot.Services.ClashOfClans public class ClashOfClansService { private readonly DiscordShardedClient _client; - private readonly DbHandler _db; + private readonly DbService _db; private readonly ILocalization _localization; private readonly NadekoStrings _strings; private readonly Timer checkWarTimer; public ConcurrentDictionary> ClashWars { get; set; } - public ClashOfClansService(DiscordShardedClient client, DbHandler db, ILocalization localization, NadekoStrings strings) + public ClashOfClansService(DiscordShardedClient client, DbService db, ILocalization localization, NadekoStrings strings) { _client = client; _db = db; diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index ed7d52b3..bd6152d2 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -87,20 +87,6 @@ namespace NadekoBot.Services public Task StartHandling() { - var _ = Task.Run(async () => - { - await Task.Delay(5000).ConfigureAwait(false); - - _client.Guilds.SelectMany(g => g.Users); - - LoadOwnerChannels(); - - if (!ownerChannels.Any()) - _log.Warn("No owner channels created! Make sure you've specified correct OwnerId in the credentials.json file."); - else - _log.Info($"Created {ownerChannels.Length} out of {_creds.OwnerIds.Length} owner message channels."); - }); - _client.MessageReceived += MessageReceivedHandler; _client.MessageUpdated += (oldmsg, newMsg, channel) => { @@ -126,80 +112,6 @@ namespace NadekoBot.Services return Task.CompletedTask; } - private void LoadOwnerChannels() - { - var hs = new HashSet(_creds.OwnerIds); - var channels = new Dictionary>(); - - foreach (var s in _client.Shards) - { - if(hs.Count == 0) - break; - foreach (var g in s.Guilds) - { - if(hs.Count == 0) - break; - - foreach (var u in g.Users) - { - if(hs.Remove(u.Id)) - { - channels.Add(u.Id, new AsyncLazy(async () => await u.CreateDMChannelAsync())); - if(hs.Count == 0) - break; - } - } - } - } - - ownerChannels = channels.OrderBy(x => _creds.OwnerIds.IndexOf(x.Key)) - .Select(x => x.Value) - .ToImmutableArray(); - } - ////todo cleverbot - //private async Task TryRunCleverbot(IUserMessage usrMsg, SocketGuild guild) - //{ - // if (guild == null) - // return false; - // try - // { - // var message = Games.CleverBotCommands.PrepareMessage(usrMsg, out Games.ChatterBotSession cbs); - // if (message == null || cbs == null) - // return false; - - // PermissionCache pc = Permissions.GetCache(guild.Id); - // if (!pc.Permissions.CheckPermissions(usrMsg, - // NadekoBot.Prefix + "cleverbot", - // typeof(Games).Name, - // out int index)) - // { - // //todo print in guild actually - // var returnMsg = - // $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(guild)}** is preventing this action."; - // _log.Info(returnMsg); - // return true; - // } - - // var cleverbotExecuted = await Games.CleverBotCommands.TryAsk(cbs, (ITextChannel)usrMsg.Channel, message).ConfigureAwait(false); - // if (cleverbotExecuted) - // { - // _log.Info($@"CleverBot Executed - //Server: {guild.Name} [{guild.Id}] - //Channel: {usrMsg.Channel?.Name} [{usrMsg.Channel?.Id}] - //UserId: {usrMsg.Author} [{usrMsg.Author.Id}] - //Message: {usrMsg.Content}"); - // return true; - // } - // } - // catch (Exception ex) { _log.Warn(ex, "Error in cleverbot"); } - // return false; - //} - ////todo blacklisting - //private bool IsBlacklisted(IGuild guild, IUserMessage usrMsg) => - // (guild != null && BlacklistCommands.BlacklistedGuilds.Contains(guild.Id)) || - // BlacklistCommands.BlacklistedChannels.Contains(usrMsg.Channel.Id) || - // BlacklistCommands.BlacklistedUsers.Contains(usrMsg.Author.Id); - private const float _oneThousandth = 1.0f / 1000; private Task LogSuccessfulExecution(IUserMessage usrMsg, bool exec, ITextChannel channel, params int[] execPoints) @@ -233,166 +145,66 @@ namespace NadekoBot.Services //exec.Result.ErrorReason // {4} ); } - ////todo invite filtering - //private async Task InviteFiltered(IGuild guild, IUserMessage usrMsg) - //{ - // if ((Permissions.FilterCommands.InviteFilteringChannels.Contains(usrMsg.Channel.Id) || - // Permissions.FilterCommands.InviteFilteringServers.Contains(guild.Id)) && - // usrMsg.Content.IsDiscordInvite()) - // { - // try - // { - // await usrMsg.DeleteAsync().ConfigureAwait(false); - // return true; - // } - // catch (HttpException ex) - // { - // _log.Warn("I do not have permission to filter invites in channel with id " + usrMsg.Channel.Id, ex); - // return true; - // } - // } - // return false; - //} - ////todo word filtering - //private async Task WordFiltered(IGuild guild, IUserMessage usrMsg) - //{ - // var filteredChannelWords = Permissions.FilterCommands.FilteredWordsForChannel(usrMsg.Channel.Id, guild.Id) ?? new ConcurrentHashSet(); - // var filteredServerWords = Permissions.FilterCommands.FilteredWordsForServer(guild.Id) ?? new ConcurrentHashSet(); - // var wordsInMessage = usrMsg.Content.ToLowerInvariant().Split(' '); - // if (filteredChannelWords.Count != 0 || filteredServerWords.Count != 0) - // { - // foreach (var word in wordsInMessage) - // { - // if (filteredChannelWords.Contains(word) || - // filteredServerWords.Contains(word)) - // { - // try - // { - // await usrMsg.DeleteAsync().ConfigureAwait(false); - // } - // catch (HttpException ex) - // { - // _log.Warn("I do not have permission to filter words in channel with id " + usrMsg.Channel.Id, ex); - // } - // return true; - // } - // } - // } - // return false; - //} - - private Task MessageReceivedHandler(SocketMessage msg) + private async Task MessageReceivedHandler(SocketMessage msg) { - var _ = Task.Run(async () => + await Task.Yield(); + try { - try - { - if (msg.Author.IsBot || !_bot.Ready) //no bots, wait until bot connected and initialized - return; + if (msg.Author.IsBot || !_bot.Ready) //no bots, wait until bot connected and initialized + return; - var usrMsg = msg as SocketUserMessage; - if (usrMsg == null) //has to be an user message, not system/other messages. - return; - - if (usrMsg.Author.Id == 193022505026453504) - return; + if (!(msg is SocketUserMessage usrMsg)) + return; #if !GLOBAL_NADEKO - // track how many messagges each user is sending - UserMessagesSent.AddOrUpdate(usrMsg.Author.Id, 1, (key, old) => ++old); + // track how many messagges each user is sending + UserMessagesSent.AddOrUpdate(usrMsg.Author.Id, 1, (key, old) => ++old); #endif - var channel = msg.Channel as SocketTextChannel; - var guild = channel?.Guild; + var channel = msg.Channel as ISocketMessageChannel; + var guild = (msg.Channel as SocketTextChannel)?.Guild; - await TryRunCommand(guild, channel, usrMsg); - } - catch (Exception ex) + await TryRunCommand(guild, channel, usrMsg); + } + catch (Exception ex) + { + _log.Warn("Error in CommandHandler"); + _log.Warn(ex); + if (ex.InnerException != null) { - _log.Warn("Error in CommandHandler"); - _log.Warn(ex); - if (ex.InnerException != null) - { - _log.Warn("Inner Exception of the error in CommandHandler"); - _log.Warn(ex.InnerException); - } + _log.Warn("Inner Exception of the error in CommandHandler"); + _log.Warn(ex.InnerException); } - }); - return Task.CompletedTask; + } } - public async Task TryRunCommand(SocketGuild guild, ITextChannel channel, IUserMessage usrMsg) + public async Task TryRunCommand(SocketGuild guild, ISocketMessageChannel channel, IUserMessage usrMsg) { var execTime = Environment.TickCount; foreach (var svc in _services) { - if (svc is IBlockingExecutor _executor && - await _executor.TryExecute(_client, guild, usrMsg)) + if (svc is IEarlyBlocker blocker && + await blocker.TryBlockEarly(_client, guild, usrMsg).ConfigureAwait(false)) + { + _log.Info("Blocked User: [{0}] Message: [{1}] Service: [{2}]", usrMsg.Author, usrMsg.Content, svc.GetType().Name); + return; + } + } + + var exec2 = Environment.TickCount - execTime; + + + foreach (var svc in _services) + { + if (svc is IEarlyBlockingExecutor exec && + await exec.TryExecuteEarly(_client, guild, usrMsg).ConfigureAwait(false)) { _log.Info("User [{0}] executed [{1}] in [{2}]", usrMsg.Author, usrMsg.Content, svc.GetType().Name); return; } } - - ////todo word and invite filtering - //if (guild != null && guild.OwnerId != usrMsg.Author.Id) - //{ - // if (await InviteFiltered(guild, usrMsg).ConfigureAwait(false)) - // return; - - // if (await WordFiltered(guild, usrMsg).ConfigureAwait(false)) - // return; - //} - - ////todo blacklisting - //if (IsBlacklisted(guild, usrMsg)) - // return; - - //var cleverBotRan = await Task.Run(() => TryRunCleverbot(usrMsg, guild)).ConfigureAwait(false); - //if (cleverBotRan) - // return; - - var exec2 = Environment.TickCount - execTime; - - ////todo custom reactions - //// maybe this message is a custom reaction - //// todo log custom reaction executions. return struct with info - //var cr = await Task.Run(() => CustomReactions.TryGetCustomReaction(usrMsg)).ConfigureAwait(false); - //if (cr != null) //if it was, don't execute the command - //{ - // try - // { - // if (guild != null) - // { - // PermissionCache pc = Permissions.GetCache(guild.Id); - - // if (!pc.Permissions.CheckPermissions(usrMsg, cr.Trigger, "ActualCustomReactions", - // out int index)) - // { - // //todo print in guild actually - // var returnMsg = - // $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(guild)}** is preventing this action."; - // _log.Info(returnMsg); - // return; - // } - // } - // await cr.Send(usrMsg).ConfigureAwait(false); - - // if (cr.AutoDeleteTrigger) - // { - // try { await usrMsg.DeleteAsync().ConfigureAwait(false); } catch { } - // } - // } - // catch (Exception ex) - // { - // _log.Warn("Sending CREmbed failed"); - // _log.Warn(ex); - // } - // return; - //} - var exec3 = Environment.TickCount - execTime; string messageContent = usrMsg.Content; @@ -436,13 +248,13 @@ namespace NadekoBot.Services var exec = await Task.Run(() => ExecuteCommandAsync(new CommandContext(_client, usrMsg), NadekoBot.Prefix.Length, _services, MultiMatchHandling.Best)).ConfigureAwait(false); execTime = Environment.TickCount - execTime; - ////todo permissions - //if (exec.Result.IsSuccess) - //{ + ////todo commandHandler + if (exec) + { // await CommandExecuted(usrMsg, exec.CommandInfo).ConfigureAwait(false); - // await LogSuccessfulExecution(usrMsg, exec, channel, exec2, exec3, execTime).ConfigureAwait(false); - // return; - //} + await LogSuccessfulExecution(usrMsg, exec, channel as ITextChannel, exec2, exec3, execTime).ConfigureAwait(false); + return; + } //else if (!exec.Result.IsSuccess && exec.Result.Error != CommandError.UnknownCommand) //{ // LogErroredExecution(usrMsg, exec, channel, exec2, exec3, execTime); @@ -453,20 +265,20 @@ namespace NadekoBot.Services // } // return; //} + + if (exec) + return; + } - if (usrMsg.Channel is IPrivateChannel) + foreach (var svc in _services) { - // rofl, gotta do this to prevent dm help message being sent to - // users who are voting on private polls (sending a number in a DM) - if (int.TryParse(usrMsg.Content, out int vote)) return; - - ////todo help - //await usrMsg.Channel.SendMessageAsync(Help.DMHelpString).ConfigureAwait(false); - - ////todo selfcommands - //await SelfCommands.HandleDmForwarding(usrMsg, ownerChannels).ConfigureAwait(false); + if (svc is ILateExecutor exec) + { + await exec.LateExecute(_client, guild, usrMsg).ConfigureAwait(false); + } } + } public Task ExecuteCommandAsync(CommandContext context, int argPos, IServiceProvider serviceProvider, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Exception) @@ -540,16 +352,16 @@ namespace NadekoBot.Services // } //} - ////////future - //////int price; - //////if (Permissions.CommandCostCommands.CommandCosts.TryGetValue(cmd.Aliases.First().Trim().ToLowerInvariant(), out price) && price > 0) - //////{ - ////// var success = await _ch.RemoveCurrencyAsync(context.User.Id, $"Running {cmd.Name} command.", price).ConfigureAwait(false); - ////// if (!success) - ////// { - ////// return new ExecuteCommandResult(cmd, pc, SearchResult.FromError(CommandError.Exception, $"Insufficient funds. You need {price}{NadekoBot.BotConfig.CurrencySign} to run this command.")); - ////// } - //////} + //////future + ////int price; + ////if (Permissions.CommandCostCommands.CommandCosts.TryGetValue(cmd.Aliases.First().Trim().ToLowerInvariant(), out price) && price > 0) + ////{ + //// var success = await _cs.RemoveCurrencyAsync(context.User.Id, $"Running {cmd.Name} command.", price).ConfigureAwait(false); + //// if (!success) + //// { + //// return new ExecuteCommandResult(cmd, pc, SearchResult.FromError(CommandError.Exception, $"Insufficient funds. You need {price}{NadekoBot.BotConfig.CurrencySign} to run this command.")); + //// } + ////} } ////todo perms @@ -564,12 +376,19 @@ namespace NadekoBot.Services // GlobalCommandsCooldown constant (miliseconds) if (!UsersOnShortCooldown.Add(context.Message.Author.Id)) return false; - //return SearchResult.FromError(CommandError.Exception, "You are on a global cooldown."); + //return SearchResult.FromError(CommandError.Exception, "You are on a global cooldown."); + + var commandName = cmd.Aliases.First(); + foreach (var svc in _services) + { + if (svc is ILateBlocker exec && + await exec.TryBlockLate(_client, context.Message, context.Guild, context.Channel, context.User, cmd.Module.GetTopLevelModule().Name, commandName).ConfigureAwait(false)) + { + _log.Info("Late blocking User [{0}] Command: [{1}] in [{2}]", context.User, commandName, svc.GetType().Name); + return false; + } + } - ////todo cmdcds - //if (CmdCdsCommands.HasCooldown(cmd, context.Guild, context.User)) - // return new ExecuteCommandResult(cmd, null, SearchResult.FromError(CommandError.Exception, "That command is on a cooldown for you.")); - await commands[i].ExecuteAsync(context, parseResult, serviceProvider); return true; } diff --git a/src/NadekoBot/Services/CurrencyHandler.cs b/src/NadekoBot/Services/CurrencyHandler.cs index 27fc98ee..99f1644a 100644 --- a/src/NadekoBot/Services/CurrencyHandler.cs +++ b/src/NadekoBot/Services/CurrencyHandler.cs @@ -7,20 +7,20 @@ using NadekoBot.Services.Database; namespace NadekoBot.Services { - public class CurrencyHandler + public class CurrencyService { private readonly BotConfig _config; - private readonly DbHandler _db; + private readonly DbService _db; - public CurrencyHandler(BotConfig config, DbHandler db) + public CurrencyService(BotConfig config, DbService db) { _config = config; _db = db; } - public async Task RemoveCurrencyAsync(IUser author, string reason, long amount, bool sendMessage) + public async Task RemoveAsync(IUser author, string reason, long amount, bool sendMessage) { - var success = await RemoveCurrencyAsync(author.Id, reason, amount); + var success = await RemoveAsync(author.Id, reason, amount); if (success && sendMessage) try { await author.SendErrorAsync($"`You lost:` {amount} {_config.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); } catch { } @@ -28,12 +28,11 @@ namespace NadekoBot.Services return success; } - public async Task RemoveCurrencyAsync(ulong authorId, string reason, long amount, IUnitOfWork uow = null) + public async Task RemoveAsync(ulong authorId, string reason, long amount, IUnitOfWork uow = null) { if (amount < 0) throw new ArgumentNullException(nameof(amount)); - - + if (uow == null) { using (uow = _db.UnitOfWork) @@ -61,15 +60,15 @@ namespace NadekoBot.Services return true; } - public async Task AddCurrencyAsync(IUser author, string reason, long amount, bool sendMessage) + public async Task AddAsync(IUser author, string reason, long amount, bool sendMessage) { - await AddCurrencyAsync(author.Id, reason, amount); + await AddAsync(author.Id, reason, amount); if (sendMessage) try { await author.SendConfirmAsync($"`You received:` {amount} {_config.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); } catch { } } - public async Task AddCurrencyAsync(ulong receiverId, string reason, long amount, IUnitOfWork uow = null) + public async Task AddAsync(ulong receiverId, string reason, long amount, IUnitOfWork uow = null) { if (amount < 0) throw new ArgumentNullException(nameof(amount)); diff --git a/src/NadekoBot/Services/CustomReactions/CustomReactionsService.cs b/src/NadekoBot/Services/CustomReactions/CustomReactionsService.cs index 6f5a8228..febf0943 100644 --- a/src/NadekoBot/Services/CustomReactions/CustomReactionsService.cs +++ b/src/NadekoBot/Services/CustomReactions/CustomReactionsService.cs @@ -11,7 +11,7 @@ using System.Threading.Tasks; namespace NadekoBot.Services.CustomReactions { - public class CustomReactionsService : IBlockingExecutor + public class CustomReactionsService : IEarlyBlockingExecutor { public CustomReaction[] GlobalReactions = new CustomReaction[] { }; public ConcurrentDictionary GuildReactions { get; } = new ConcurrentDictionary(); @@ -19,10 +19,10 @@ namespace NadekoBot.Services.CustomReactions public ConcurrentDictionary ReactionStats { get; } = new ConcurrentDictionary(); private readonly Logger _log; - private readonly DbHandler _db; + private readonly DbService _db; private readonly DiscordShardedClient _client; - public CustomReactionsService(DbHandler db, DiscordShardedClient client) + public CustomReactionsService(DbService db, DiscordShardedClient client) { _log = LogManager.GetCurrentClassLogger(); _db = db; @@ -90,16 +90,15 @@ namespace NadekoBot.Services.CustomReactions return greaction; } - public async Task TryExecute(DiscordShardedClient client, IGuild guild, IUserMessage msg) + public async Task TryExecuteEarly(DiscordShardedClient client, IGuild guild, IUserMessage msg) { - //todo custom reactions // maybe this message is a custom reaction - // todo log custom reaction executions. return struct with info var cr = await Task.Run(() => TryGetCustomReaction(msg)).ConfigureAwait(false); - if (cr != null) //if it was, don't execute the command + if (cr != null) { try { + //todo permissions //if (guild != null) //{ // PermissionCache pc = Permissions.GetCache(guild.Id); @@ -107,7 +106,6 @@ namespace NadekoBot.Services.CustomReactions // if (!pc.Permissions.CheckPermissions(usrMsg, cr.Trigger, "ActualCustomReactions", // out int index)) // { - // //todo print in guild actually // var returnMsg = // $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(guild)}** is preventing this action."; // _log.Info(returnMsg); diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index d96df33e..23357769 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -64,6 +64,7 @@ Nadeko Support Server: https://discord.gg/nadekobot"; public List StartupCommands { get; set; } public HashSet BlockedCommands { get; set; } public HashSet BlockedModules { get; set; } + public int PermissionVersion { get; set; } = 1; } public class BlockedCmdOrMdl : DbEntity diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index ebe41406..574d6ce4 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -126,10 +126,6 @@ namespace NadekoBot.Services.Database.Repositories.Impl .Where(gc => gc.RootPermission != null) .Include(gc => gc.RootPermission); - //todo this is possibly a disaster for performance - //What i could do instead is count the number of permissions in the permission table for this guild - // and make a for loop with those. - // or just select permissions for this guild and manually chain them for (int i = 0; i < 60; i++) { query = query.ThenInclude(gc => gc.Next); diff --git a/src/NadekoBot/Services/DbHandler.cs b/src/NadekoBot/Services/DbHandler.cs index de75a441..81e56d1d 100644 --- a/src/NadekoBot/Services/DbHandler.cs +++ b/src/NadekoBot/Services/DbHandler.cs @@ -3,17 +3,15 @@ using NadekoBot.Services.Database; namespace NadekoBot.Services { - public class DbHandler + public class DbService { private readonly DbContextOptions options; - private string connectionString { get; } + private readonly string _connectionString; - static DbHandler() { } - - public DbHandler(IBotCredentials creds) + public DbService(IBotCredentials creds) { - connectionString = creds.Db.ConnectionString; + _connectionString = creds.Db.ConnectionString; var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseSqlite(creds.Db.ConnectionString); options = optionsBuilder.Options; diff --git a/src/NadekoBot/Services/Games/ChatterbotService.cs b/src/NadekoBot/Services/Games/ChatterbotService.cs new file mode 100644 index 00000000..9690cd38 --- /dev/null +++ b/src/NadekoBot/Services/Games/ChatterbotService.cs @@ -0,0 +1,120 @@ +using Discord; +using Discord.WebSocket; +using NadekoBot.DataStructures.ModuleBehaviors; +using NadekoBot.Extensions; +using NadekoBot.Services.Database.Models; +using NLog; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Games +{ + public class ChatterBotService : IEarlyBlockingExecutor + { + private readonly DiscordShardedClient _client; + private readonly Logger _log; + + public ConcurrentDictionary> ChatterBotGuilds { get; } + + public ChatterBotService(DiscordShardedClient client, IEnumerable gcs) + { + _client = client; + _log = LogManager.GetCurrentClassLogger(); + + ChatterBotGuilds = new ConcurrentDictionary>( + gcs.Where(gc => gc.CleverbotEnabled) + .ToDictionary(gc => gc.GuildId, gc => new Lazy(() => new ChatterBotSession(gc.GuildId), true))); + } + + public string PrepareMessage(IUserMessage msg, out ChatterBotSession cleverbot) + { + var channel = msg.Channel as ITextChannel; + cleverbot = null; + + if (channel == null) + return null; + + if (!ChatterBotGuilds.TryGetValue(channel.Guild.Id, out Lazy lazyCleverbot)) + return null; + + cleverbot = lazyCleverbot.Value; + + var nadekoId = _client.CurrentUser.Id; + var normalMention = $"<@{nadekoId}> "; + var nickMention = $"<@!{nadekoId}> "; + string message; + if (msg.Content.StartsWith(normalMention)) + { + message = msg.Content.Substring(normalMention.Length).Trim(); + } + else if (msg.Content.StartsWith(nickMention)) + { + message = msg.Content.Substring(nickMention.Length).Trim(); + } + else + { + return null; + } + + return message; + } + + public async Task TryAsk(ChatterBotSession cleverbot, ITextChannel channel, string message) + { + await channel.TriggerTypingAsync().ConfigureAwait(false); + + var response = await cleverbot.Think(message).ConfigureAwait(false); + try + { + await channel.SendConfirmAsync(response.SanitizeMentions()).ConfigureAwait(false); + } + catch + { + await channel.SendConfirmAsync(response.SanitizeMentions()).ConfigureAwait(false); // try twice :\ + } + return true; + } + + public async Task TryExecuteEarly(DiscordShardedClient client, IGuild guild, IUserMessage usrMsg) + { + if (guild == null) + return false; + try + { + var message = PrepareMessage(usrMsg, out ChatterBotSession cbs); + if (message == null || cbs == null) + return false; + + //todo permissions + //PermissionCache pc = Permissions.GetCache(guild.Id); + //if (!pc.Permissions.CheckPermissions(usrMsg, + // NadekoBot.Prefix + "cleverbot", + // "Games".ToLowerInvariant(), + // out int index)) + //{ + // //todo print in guild actually + // var returnMsg = + // $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(guild)}** is preventing this action."; + // _log.Info(returnMsg); + // return true; + //} + + var cleverbotExecuted = await TryAsk(cbs, (ITextChannel)usrMsg.Channel, message).ConfigureAwait(false); + if (cleverbotExecuted) + { + _log.Info($@"CleverBot Executed +Server: {guild.Name} [{guild.Id}] +Channel: {usrMsg.Channel?.Name} [{usrMsg.Channel?.Id}] +UserId: {usrMsg.Author} [{usrMsg.Author.Id}] +Message: {usrMsg.Content}"); + return true; + } + } + catch (Exception ex) { _log.Warn(ex, "Error in cleverbot"); } + return false; + } + } +} diff --git a/src/NadekoBot/Services/Games/GamesService.cs b/src/NadekoBot/Services/Games/GamesService.cs index 459c8d32..b6349f27 100644 --- a/src/NadekoBot/Services/Games/GamesService.cs +++ b/src/NadekoBot/Services/Games/GamesService.cs @@ -28,8 +28,6 @@ namespace NadekoBot.Services.Games private readonly IImagesService _images; private readonly Logger _log; - public ConcurrentDictionary> CleverbotGuilds { get; } - public readonly string TypingArticlesPath = "data/typing_articles2.json"; public List TypingArticles { get; } = new List(); @@ -52,11 +50,6 @@ namespace NadekoBot.Services.Games }, null, TimeSpan.FromDays(1), TimeSpan.FromDays(1)); - //cleverbot - CleverbotGuilds = new ConcurrentDictionary>( - gcs.Where(gc => gc.CleverbotEnabled) - .ToDictionary(gc => gc.GuildId, gc => new Lazy(() => new ChatterBotSession(gc.GuildId), true))); - //plantpick client.MessageReceived += PotentialFlowerGeneration; GenerationChannels = new ConcurrentHashSet(gcs @@ -73,55 +66,15 @@ namespace NadekoBot.Services.Games } } - - public string PrepareMessage(IUserMessage msg, out ChatterBotSession cleverbot) + public void AddTypingArticle(IUser user, string text) { - var channel = msg.Channel as ITextChannel; - cleverbot = null; - - if (channel == null) - return null; - - Lazy lazyCleverbot; - if (!CleverbotGuilds.TryGetValue(channel.Guild.Id, out lazyCleverbot)) - return null; - - cleverbot = lazyCleverbot.Value; - - var nadekoId = _client.CurrentUser.Id; - var normalMention = $"<@{nadekoId}> "; - var nickMention = $"<@!{nadekoId}> "; - string message; - if (msg.Content.StartsWith(normalMention)) + TypingArticles.Add(new TypingArticle { - message = msg.Content.Substring(normalMention.Length).Trim(); - } - else if (msg.Content.StartsWith(nickMention)) - { - message = msg.Content.Substring(nickMention.Length).Trim(); - } - else - { - return null; - } + Title = $"Text added on {DateTime.UtcNow} by {user}", + Text = text.SanitizeMentions(), + }); - return message; - } - - public async Task TryAsk(ChatterBotSession cleverbot, ITextChannel channel, string message) - { - await channel.TriggerTypingAsync().ConfigureAwait(false); - - var response = await cleverbot.Think(message).ConfigureAwait(false); - try - { - await channel.SendConfirmAsync(response.SanitizeMentions()).ConfigureAwait(false); - } - catch - { - await channel.SendConfirmAsync(response.SanitizeMentions()).ConfigureAwait(false); // try twice :\ - } - return true; + File.WriteAllText(TypingArticlesPath, JsonConvert.SerializeObject(TypingArticles)); } public ConcurrentHashSet GenerationChannels { get; } @@ -129,8 +82,10 @@ namespace NadekoBot.Services.Games public ConcurrentDictionary> PlantedFlowers { get; } = new ConcurrentDictionary>(); //channelId/last generation public ConcurrentDictionary LastGenerations { get; } = new ConcurrentDictionary(); + + private ConcurrentDictionary _locks { get; } = new ConcurrentDictionary(); - public KeyValuePair> GetRandomCurrencyImage() + public (string Name, ImmutableArray Data) GetRandomCurrencyImage() { var rng = new NadekoRandom(); return _images.Currency[rng.Next(0, _images.Currency.Length)]; @@ -139,68 +94,61 @@ namespace NadekoBot.Services.Games private string GetText(ITextChannel ch, string key, params object[] rep) => _strings.GetText(key, ch.GuildId, "Games".ToLowerInvariant(), rep); - private Task PotentialFlowerGeneration(SocketMessage imsg) + private async Task PotentialFlowerGeneration(SocketMessage imsg) { var msg = imsg as SocketUserMessage; if (msg == null || msg.Author.IsBot) - return Task.CompletedTask; + return; var channel = imsg.Channel as ITextChannel; if (channel == null) - return Task.CompletedTask; + return; if (!GenerationChannels.Contains(channel.Id)) - return Task.CompletedTask; - - var _ = Task.Run(async () => + return; + + try { - try + var lastGeneration = LastGenerations.GetOrAdd(channel.Id, DateTime.MinValue); + var rng = new NadekoRandom(); + + if (DateTime.Now - TimeSpan.FromSeconds(_bc.CurrencyGenerationCooldown) < lastGeneration) //recently generated in this channel, don't generate again + return; + + var num = rng.Next(1, 101) + _bc.CurrencyGenerationChance * 100; + if (num > 100 && LastGenerations.TryUpdate(channel.Id, DateTime.Now, lastGeneration)) { - var lastGeneration = LastGenerations.GetOrAdd(channel.Id, DateTime.MinValue); - var rng = new NadekoRandom(); + var dropAmount = _bc.CurrencyDropAmount; - //todo i'm stupid :rofl: wtg kwoth. real async programming :100: :ok_hand: :100: :100: :thumbsup: - if (DateTime.Now - TimeSpan.FromSeconds(_bc.CurrencyGenerationCooldown) < lastGeneration) //recently generated in this channel, don't generate again - return; - - var num = rng.Next(1, 101) + _bc.CurrencyGenerationChance * 100; - - if (num > 100) + if (dropAmount > 0) { - LastGenerations.AddOrUpdate(channel.Id, DateTime.Now, (id, old) => DateTime.Now); - - var dropAmount = _bc.CurrencyDropAmount; - - if (dropAmount > 0) + var msgs = new IUserMessage[dropAmount]; + var prefix = NadekoBot.Prefix; + var toSend = dropAmount == 1 + ? GetText(channel, "curgen_sn", _bc.CurrencySign) + + " " + GetText(channel, "pick_sn", prefix) + : GetText(channel, "curgen_pl", dropAmount, _bc.CurrencySign) + + " " + GetText(channel, "pick_pl", prefix); + var file = GetRandomCurrencyImage(); + using (var fileStream = file.Data.ToStream()) { - var msgs = new IUserMessage[dropAmount]; - var prefix = NadekoBot.Prefix; - var toSend = dropAmount == 1 - ? GetText(channel, "curgen_sn", _bc.CurrencySign) - + " " + GetText(channel, "pick_sn", prefix) - : GetText(channel, "curgen_pl", dropAmount, _bc.CurrencySign) - + " " + GetText(channel, "pick_pl", prefix); - var file = GetRandomCurrencyImage(); - using (var fileStream = file.Value.ToStream()) - { - var sent = await channel.SendFileAsync( - fileStream, - file.Key, - toSend).ConfigureAwait(false); + var sent = await channel.SendFileAsync( + fileStream, + file.Name, + toSend).ConfigureAwait(false); - msgs[0] = sent; - } - - PlantedFlowers.AddOrUpdate(channel.Id, msgs.ToList(), (id, old) => { old.AddRange(msgs); return old; }); + msgs[0] = sent; } + + PlantedFlowers.AddOrUpdate(channel.Id, msgs.ToList(), (id, old) => { old.AddRange(msgs); return old; }); } } - catch (Exception ex) - { - LogManager.GetCurrentClassLogger().Warn(ex); - } - }); - return Task.CompletedTask; + } + catch (Exception ex) + { + LogManager.GetCurrentClassLogger().Warn(ex); + } + return; } } } diff --git a/src/NadekoBot/Services/Games/Poll.cs b/src/NadekoBot/Services/Games/Poll.cs new file mode 100644 index 00000000..8feb4cb5 --- /dev/null +++ b/src/NadekoBot/Services/Games/Poll.cs @@ -0,0 +1,158 @@ +using Discord; +using Discord.WebSocket; +using NadekoBot.Extensions; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Games +{ + //todo 75 rewrite + public class Poll + { + private readonly IUserMessage _originalMessage; + private readonly IGuild _guild; + private string[] answers { get; } + private readonly ConcurrentDictionary _participants = new ConcurrentDictionary(); + private readonly string _question; + private readonly DiscordShardedClient _client; + private readonly NadekoStrings _strings; + private bool running = false; + private HashSet _guildUsers; + + public event Action OnEnded = delegate { }; + + public bool IsPublic { get; } + + public Poll(DiscordShardedClient client, NadekoStrings strings, IUserMessage umsg, string question, IEnumerable enumerable, bool isPublic = false) + { + _client = client; + _strings = strings; + + _originalMessage = umsg; + _guild = ((ITextChannel)umsg.Channel).Guild; + _question = question; + answers = enumerable as string[] ?? enumerable.ToArray(); + IsPublic = isPublic; + } + + public EmbedBuilder GetStats(string title) + { + var results = _participants.GroupBy(kvp => kvp.Value) + .ToDictionary(x => x.Key, x => x.Sum(kvp => 1)) + .OrderByDescending(kvp => kvp.Value) + .ToArray(); + + var eb = new EmbedBuilder().WithTitle(title); + + var sb = new StringBuilder() + .AppendLine(Format.Bold(_question)) + .AppendLine(); + + var totalVotesCast = 0; + if (results.Length == 0) + { + sb.AppendLine(GetText("no_votes_cast")); + } + else + { + for (int i = 0; i < results.Length; i++) + { + var result = results[i]; + sb.AppendLine(GetText("poll_result", + result.Key, + Format.Bold(answers[result.Key - 1]), + Format.Bold(result.Value.ToString()))); + totalVotesCast += result.Value; + } + } + + + eb.WithDescription(sb.ToString()) + .WithFooter(efb => efb.WithText(GetText("x_votes_cast", totalVotesCast))); + + return eb; + } + + public async Task StartPoll() + { + var msgToSend = GetText("poll_created", Format.Bold(_originalMessage.Author.Username)) + "\n\n" + Format.Bold(_question) + "\n"; + var num = 1; + msgToSend = answers.Aggregate(msgToSend, (current, answ) => current + $"`{num++}.` **{answ}**\n"); + if (!IsPublic) + msgToSend += "\n" + Format.Bold(GetText("poll_vote_private")); + else + msgToSend += "\n" + Format.Bold(GetText("poll_vote_public")); + + if (!IsPublic) + _guildUsers = new HashSet((await _guild.GetUsersAsync().ConfigureAwait(false)).Select(x => x.Id)); + + await _originalMessage.Channel.SendConfirmAsync(msgToSend).ConfigureAwait(false); + running = true; + } + + public async Task StopPoll() + { + running = false; + OnEnded(_guild.Id); + await _originalMessage.Channel.EmbedAsync(GetStats("POLL CLOSED")).ConfigureAwait(false); + } + + public async Task TryVote(IUserMessage msg) + { + // has to be a user message + if (msg == null || msg.Author.IsBot || !running) + return false; + + // has to be an integer + if (!int.TryParse(msg.Content, out int vote)) + return false; + if (vote < 1 || vote > answers.Length) + return false; + + IMessageChannel ch; + if (IsPublic) + { + //if public, channel must be the same the poll started in + if (_originalMessage.Channel.Id != msg.Channel.Id) + return false; + ch = msg.Channel; + } + else + { + //if private, channel must be dm channel + if ((ch = msg.Channel as IDMChannel) == null) + return false; + + // user must be a member of the guild this poll is in + if (!_guildUsers.Contains(msg.Author.Id)) + return false; + } + + //user can vote only once + if (_participants.TryAdd(msg.Author.Id, vote)) + { + if (!IsPublic) + { + await ch.SendConfirmAsync(GetText("thanks_for_voting", Format.Bold(msg.Author.Username))).ConfigureAwait(false); + } + else + { + var toDelete = await ch.SendConfirmAsync(GetText("poll_voted", Format.Bold(msg.Author.ToString()))).ConfigureAwait(false); + toDelete.DeleteAfter(5); + } + return true; + } + return false; + } + + private string GetText(string key, params object[] replacements) + => _strings.GetText(key, + _guild.Id, + "Games".ToLowerInvariant(), + replacements); + } +} diff --git a/src/NadekoBot/Services/Games/PollService.cs b/src/NadekoBot/Services/Games/PollService.cs new file mode 100644 index 00000000..a421bd77 --- /dev/null +++ b/src/NadekoBot/Services/Games/PollService.cs @@ -0,0 +1,78 @@ +using NadekoBot.DataStructures.ModuleBehaviors; +using System; +using System.Collections.Concurrent; +using System.Linq; +using System.Threading.Tasks; +using Discord; +using Discord.WebSocket; +using NLog; + +namespace NadekoBot.Services.Games +{ + public class PollService : IEarlyBlockingExecutor + { + public ConcurrentDictionary ActivePolls = new ConcurrentDictionary(); + private readonly Logger _log; + private readonly DiscordShardedClient _client; + private readonly NadekoStrings _strings; + + public PollService(DiscordShardedClient client, NadekoStrings strings) + { + _log = LogManager.GetCurrentClassLogger(); + _client = client; + _strings = strings; + } + + public async Task StartPoll(ITextChannel channel, IUserMessage msg, string arg, bool isPublic = false) + { + if (string.IsNullOrWhiteSpace(arg) || !arg.Contains(";")) + return null; + var data = arg.Split(';'); + if (data.Length < 3) + return null; + + var poll = new Poll(_client, _strings, msg, data[0], data.Skip(1), isPublic: isPublic); + if (ActivePolls.TryAdd(channel.Guild.Id, poll)) + { + poll.OnEnded += (gid) => + { + ActivePolls.TryRemove(gid, out _); + }; + + await poll.StartPoll().ConfigureAwait(false); + return true; + } + return false; + } + + public async Task TryExecuteEarly(DiscordShardedClient client, IGuild guild, IUserMessage msg) + { + if (guild == null) + { + foreach (var kvp in ActivePolls) + { + if (!kvp.Value.IsPublic) + { + if (await kvp.Value.TryVote(msg).ConfigureAwait(false)) + return true; + } + } + return false; + } + + if (!ActivePolls.TryGetValue(guild.Id, out var poll)) + return false; + + try + { + return await poll.TryVote(msg).ConfigureAwait(false); + } + catch (Exception ex) + { + _log.Warn(ex); + } + + return false; + } + } +} diff --git a/src/NadekoBot/Services/GreetSettingsService.cs b/src/NadekoBot/Services/GreetSettingsService.cs index 4ea2df95..7e5c8128 100644 --- a/src/NadekoBot/Services/GreetSettingsService.cs +++ b/src/NadekoBot/Services/GreetSettingsService.cs @@ -14,13 +14,13 @@ namespace NadekoBot.Services { public class GreetSettingsService { - private readonly DbHandler _db; + private readonly DbService _db; public readonly ConcurrentDictionary GuildConfigsCache; private readonly DiscordShardedClient _client; private readonly Logger _log; - public GreetSettingsService(DiscordShardedClient client, IEnumerable guildConfigs, DbHandler db) + public GreetSettingsService(DiscordShardedClient client, IEnumerable guildConfigs, DbService db) { _db = db; _client = client; diff --git a/src/NadekoBot/Services/Help/HelpService.cs b/src/NadekoBot/Services/Help/HelpService.cs new file mode 100644 index 00000000..c48202da --- /dev/null +++ b/src/NadekoBot/Services/Help/HelpService.cs @@ -0,0 +1,32 @@ +using NadekoBot.DataStructures.ModuleBehaviors; +using NadekoBot.Services.Database.Models; +using System.Threading.Tasks; +using Discord; +using Discord.WebSocket; +using System; + +namespace NadekoBot.Services.Help +{ + public class HelpService : ILateExecutor + { + private readonly BotConfig _bc; + + public HelpService(BotConfig bc) + { + _bc = bc; + } + + public async Task LateExecute(DiscordShardedClient client, IGuild guild, IUserMessage msg) + { + try + { + if(guild == null) + await msg.Channel.SendMessageAsync(_bc.DMHelpString).ConfigureAwait(false); + } + catch (Exception) + { + //ignore + } + } + } +} diff --git a/src/NadekoBot/Services/IImagesService.cs b/src/NadekoBot/Services/IImagesService.cs index eb2ba920..0a76175d 100644 --- a/src/NadekoBot/Services/IImagesService.cs +++ b/src/NadekoBot/Services/IImagesService.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Collections.Immutable; namespace NadekoBot.Services @@ -9,8 +8,8 @@ namespace NadekoBot.Services ImmutableArray Heads { get; } ImmutableArray Tails { get; } - ImmutableArray>> Currency { get; } - ImmutableArray>> Dice { get; } + ImmutableArray<(string, ImmutableArray)> Currency { get; } + ImmutableArray> Dice { get; } ImmutableArray SlotBackground { get; } ImmutableArray> SlotEmojis { get; } diff --git a/src/NadekoBot/Services/Impl/GoogleApiService.cs b/src/NadekoBot/Services/Impl/GoogleApiService.cs index 6be8089c..edc0df7a 100644 --- a/src/NadekoBot/Services/Impl/GoogleApiService.cs +++ b/src/NadekoBot/Services/Impl/GoogleApiService.cs @@ -162,7 +162,7 @@ namespace NadekoBot.Services.Impl return toReturn; } - //todo AsyncEnumerable + public async Task> GetVideoDurationsAsync(IEnumerable videoIds) { var videoIdsList = videoIds as List ?? videoIds.ToList(); diff --git a/src/NadekoBot/Services/Impl/ImagesService.cs b/src/NadekoBot/Services/Impl/ImagesService.cs index 3c28049b..4bce6148 100644 --- a/src/NadekoBot/Services/Impl/ImagesService.cs +++ b/src/NadekoBot/Services/Impl/ImagesService.cs @@ -1,6 +1,5 @@ using NLog; using System; -using System.Collections.Generic; using System.Collections.Immutable; using System.Diagnostics; using System.IO; @@ -30,11 +29,10 @@ namespace NadekoBot.Services.Impl public ImmutableArray Heads { get; private set; } public ImmutableArray Tails { get; private set; } + + public ImmutableArray<(string, ImmutableArray)> Currency { get; private set; } - //todo C#7 tuples - public ImmutableArray>> Currency { get; private set; } - - public ImmutableArray>> Dice { get; private set; } + public ImmutableArray> Dice { get; private set; } public ImmutableArray SlotBackground { get; private set; } public ImmutableArray> SlotNumbers { get; private set; } @@ -59,15 +57,12 @@ namespace NadekoBot.Services.Impl Tails = File.ReadAllBytes(_tailsPath).ToImmutableArray(); Currency = Directory.GetFiles(_currencyImagesPath) - .Select(x => new KeyValuePair>( - Path.GetFileName(x), - File.ReadAllBytes(x).ToImmutableArray())) + .Select(x => (Path.GetFileName(x), File.ReadAllBytes(x).ToImmutableArray())) .ToImmutableArray(); Dice = Directory.GetFiles(_diceImagesPath) .OrderBy(x => int.Parse(Path.GetFileNameWithoutExtension(x))) - .Select(x => new KeyValuePair>(x, - File.ReadAllBytes(x).ToImmutableArray())) + .Select(x => File.ReadAllBytes(x).ToImmutableArray()) .ToImmutableArray(); SlotBackground = File.ReadAllBytes(_slotBackgroundPath).ToImmutableArray(); diff --git a/src/NadekoBot/Services/Impl/Localization.cs b/src/NadekoBot/Services/Impl/Localization.cs index 8f4e720e..d4befd71 100644 --- a/src/NadekoBot/Services/Impl/Localization.cs +++ b/src/NadekoBot/Services/Impl/Localization.cs @@ -10,13 +10,13 @@ namespace NadekoBot.Services public class Localization : ILocalization { private readonly Logger _log; - private readonly DbHandler _db; + private readonly DbService _db; public ConcurrentDictionary GuildCultureInfos { get; } public CultureInfo DefaultCultureInfo { get; private set; } = CultureInfo.CurrentCulture; private Localization() { } - public Localization(string defaultCulture, IDictionary cultureInfoNames, DbHandler db) + public Localization(string defaultCulture, IDictionary cultureInfoNames, DbService db) { _log = LogManager.GetCurrentClassLogger(); _db = db; diff --git a/src/NadekoBot/Services/Impl/NadekoStrings.cs b/src/NadekoBot/Services/Impl/NadekoStrings.cs index c283f582..a8128a33 100644 --- a/src/NadekoBot/Services/Impl/NadekoStrings.cs +++ b/src/NadekoBot/Services/Impl/NadekoStrings.cs @@ -61,7 +61,7 @@ namespace NadekoBot.Services } public string GetText(string key, ulong guildId, string lowerModuleTypeName, params object[] replacements) => - GetText(key, _localization.GetCultureInfo(guildId), lowerModuleTypeName); + GetText(key, _localization.GetCultureInfo(guildId), lowerModuleTypeName, replacements); public string GetText(string key, CultureInfo cultureInfo, string lowerModuleTypeName) { diff --git a/src/NadekoBot/Services/Music/MusicService.cs b/src/NadekoBot/Services/Music/MusicService.cs index d206efb3..09daa70e 100644 --- a/src/NadekoBot/Services/Music/MusicService.cs +++ b/src/NadekoBot/Services/Music/MusicService.cs @@ -10,6 +10,7 @@ using NLog; using System.IO; using VideoLibrary; using System.Net.Http; +using System.Collections.Generic; namespace NadekoBot.Services.Music { @@ -20,16 +21,17 @@ namespace NadekoBot.Services.Music private readonly IGoogleApiService _google; private readonly NadekoStrings _strings; private readonly ILocalization _localization; - private readonly DbHandler _db; + private readonly DbService _db; private readonly Logger _log; private readonly SoundCloudApiService _sc; private readonly IBotCredentials _creds; + private readonly ConcurrentDictionary _defaultVolumes; public ConcurrentDictionary MusicPlayers { get; } = new ConcurrentDictionary(); public MusicService(IGoogleApiService google, - NadekoStrings strings, ILocalization localization, DbHandler db, - SoundCloudApiService sc, IBotCredentials creds) + NadekoStrings strings, ILocalization localization, DbService db, + SoundCloudApiService sc, IBotCredentials creds, IEnumerable gcs) { _google = google; _strings = strings; @@ -41,6 +43,8 @@ namespace NadekoBot.Services.Music try { Directory.Delete(MusicDataPath, true); } catch { } + _defaultVolumes = new ConcurrentDictionary(gcs.ToDictionary(x => x.GuildId, x => x.DefaultMusicVolume)); + Directory.CreateDirectory(MusicDataPath); } @@ -57,12 +61,14 @@ namespace NadekoBot.Services.Music return MusicPlayers.GetOrAdd(guildId, server => { - float vol;// SpecificConfigurations.Default.Of(server.Id).DefaultMusicVolume; - using (var uow = _db.UnitOfWork) + var vol = _defaultVolumes.GetOrAdd(guildId, (id) => { - //todo move to cached variable - vol = uow.GuildConfigs.For(guildId, set => set).DefaultMusicVolume; - } + using (var uow = _db.UnitOfWork) + { + return uow.GuildConfigs.For(guildId, set => set).DefaultMusicVolume; + } + }); + var mp = new MusicPlayer(voiceCh, textCh, vol, _google); IUserMessage playingMessage = null; IUserMessage lastFinishedMessage = null; diff --git a/src/NadekoBot/Services/Permissions/BlacklistService.cs b/src/NadekoBot/Services/Permissions/BlacklistService.cs index 58087a1f..65324083 100644 --- a/src/NadekoBot/Services/Permissions/BlacklistService.cs +++ b/src/NadekoBot/Services/Permissions/BlacklistService.cs @@ -1,14 +1,18 @@ -using NadekoBot.Services.Database.Models; +using NadekoBot.DataStructures.ModuleBehaviors; +using NadekoBot.Services.Database.Models; using System.Collections.Concurrent; using System.Linq; +using Discord; +using Discord.WebSocket; +using System.Threading.Tasks; namespace NadekoBot.Services.Permissions { - public class BlacklistService + public class BlacklistService : IEarlyBlocker { - public ConcurrentHashSet BlacklistedUsers { get; set; } - public ConcurrentHashSet BlacklistedGuilds { get; set; } - public ConcurrentHashSet BlacklistedChannels { get; set; } + public ConcurrentHashSet BlacklistedUsers { get; } + public ConcurrentHashSet BlacklistedGuilds { get; } + public ConcurrentHashSet BlacklistedChannels { get; } public BlacklistService(BotConfig bc) { @@ -17,5 +21,10 @@ namespace NadekoBot.Services.Permissions BlacklistedGuilds = new ConcurrentHashSet(blacklist.Where(bi => bi.Type == BlacklistType.Server).Select(c => c.ItemId)); BlacklistedChannels = new ConcurrentHashSet(blacklist.Where(bi => bi.Type == BlacklistType.Channel).Select(c => c.ItemId)); } + + public Task TryBlockEarly(DiscordShardedClient client, IGuild guild, IUserMessage usrMsg) + => Task.FromResult((guild != null && BlacklistedGuilds.Contains(guild.Id)) || + BlacklistedChannels.Contains(usrMsg.Channel.Id) || + BlacklistedUsers.Contains(usrMsg.Author.Id)); } } diff --git a/src/NadekoBot/Services/Permissions/CmdCdService.cs b/src/NadekoBot/Services/Permissions/CmdCdService.cs index 6c0adf77..0a1cbf47 100644 --- a/src/NadekoBot/Services/Permissions/CmdCdService.cs +++ b/src/NadekoBot/Services/Permissions/CmdCdService.cs @@ -1,11 +1,15 @@ -using NadekoBot.Services.Database.Models; +using NadekoBot.DataStructures.ModuleBehaviors; +using NadekoBot.Services.Database.Models; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using Discord; +using Discord.WebSocket; +using System.Threading.Tasks; namespace NadekoBot.Services.Permissions { - public class CmdCdService + public class CmdCdService : ILateBlocker { public ConcurrentDictionary> CommandCooldowns { get; } public ConcurrentDictionary> ActiveCooldowns { get; } = new ConcurrentDictionary>(); @@ -16,6 +20,41 @@ namespace NadekoBot.Services.Permissions gcs.ToDictionary(k => k.GuildId, v => new ConcurrentHashSet(v.CommandCooldowns))); } + + public Task TryBlockLate(DiscordShardedClient client, IUserMessage msg, IGuild guild, + IMessageChannel channel, IUser user, string moduleName, string commandName) + { + if (guild == null) + return Task.FromResult(false); + var cmdcds = CommandCooldowns.GetOrAdd(guild.Id, new ConcurrentHashSet()); + CommandCooldown cdRule; + if ((cdRule = cmdcds.FirstOrDefault(cc => cc.CommandName == commandName.ToLowerInvariant())) != null) + { + var activeCdsForGuild = ActiveCooldowns.GetOrAdd(guild.Id, new ConcurrentHashSet()); + if (activeCdsForGuild.FirstOrDefault(ac => ac.UserId == user.Id && ac.Command == commandName.ToLowerInvariant()) != null) + { + return Task.FromResult(true); + } + activeCdsForGuild.Add(new ActiveCooldown() + { + UserId = user.Id, + Command = commandName.ToLowerInvariant(), + }); + var _ = Task.Run(async () => + { + try + { + await Task.Delay(cdRule.Seconds * 1000); + activeCdsForGuild.RemoveWhere(ac => ac.Command == commandName.ToLowerInvariant() && ac.UserId == user.Id); + } + catch + { + // ignored + } + }); + } + return Task.FromResult(false); + } } public class ActiveCooldown diff --git a/src/NadekoBot/Services/Permissions/FilterService.cs b/src/NadekoBot/Services/Permissions/FilterService.cs index 732d8c41..4e10a441 100644 --- a/src/NadekoBot/Services/Permissions/FilterService.cs +++ b/src/NadekoBot/Services/Permissions/FilterService.cs @@ -1,12 +1,21 @@ -using NadekoBot.Services.Database.Models; +using NadekoBot.DataStructures.ModuleBehaviors; +using NadekoBot.Services.Database.Models; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using Discord; +using Discord.WebSocket; +using System.Threading.Tasks; +using NadekoBot.Extensions; +using Discord.Net; +using NLog; namespace NadekoBot.Services.Permissions { - public class FilterService + public class FilterService : IEarlyBlocker { + private readonly Logger _log; + public ConcurrentHashSet InviteFilteringChannels { get; } public ConcurrentHashSet InviteFilteringServers { get; } @@ -34,6 +43,8 @@ namespace NadekoBot.Services.Permissions public FilterService(IEnumerable gcs) { + _log = LogManager.GetCurrentClassLogger(); + InviteFilteringServers = new ConcurrentHashSet(gcs.Where(gc => gc.FilterInvites).Select(gc => gc.GuildId)); InviteFilteringChannels = new ConcurrentHashSet(gcs.SelectMany(gc => gc.FilterInvitesChannelIds.Select(fci => fci.ChannelId))); @@ -46,5 +57,61 @@ namespace NadekoBot.Services.Permissions WordFilteringChannels = new ConcurrentHashSet(gcs.SelectMany(gc => gc.FilterWordsChannelIds.Select(fwci => fwci.ChannelId))); } + //todo ignore guild admin + public async Task TryBlockEarly(DiscordShardedClient client, IGuild guild, IUserMessage msg) + => await FilterInvites(client, guild, msg) || await FilterWords(client, guild, msg); + + public async Task FilterWords(DiscordShardedClient client, IGuild guild, IUserMessage usrMsg) + { + if (guild is null) + return false; + + var filteredChannelWords = FilteredWordsForChannel(usrMsg.Channel.Id, guild.Id) ?? new ConcurrentHashSet(); + var filteredServerWords = FilteredWordsForServer(guild.Id) ?? new ConcurrentHashSet(); + var wordsInMessage = usrMsg.Content.ToLowerInvariant().Split(' '); + if (filteredChannelWords.Count != 0 || filteredServerWords.Count != 0) + { + foreach (var word in wordsInMessage) + { + if (filteredChannelWords.Contains(word) || + filteredServerWords.Contains(word)) + { + try + { + await usrMsg.DeleteAsync().ConfigureAwait(false); + } + catch (HttpException ex) + { + _log.Warn("I do not have permission to filter words in channel with id " + usrMsg.Channel.Id, ex); + } + return true; + } + } + } + return false; + } + + public async Task FilterInvites(DiscordShardedClient client, IGuild guild, IUserMessage usrMsg) + { + if (guild is null) + return false; + + if ((InviteFilteringChannels.Contains(usrMsg.Channel.Id) || + InviteFilteringServers.Contains(guild.Id)) && + usrMsg.Content.IsDiscordInvite()) + { + try + { + await usrMsg.DeleteAsync().ConfigureAwait(false); + return true; + } + catch (HttpException ex) + { + _log.Warn("I do not have permission to filter invites in channel with id " + usrMsg.Channel.Id, ex); + return true; + } + } + return false; + } } } diff --git a/src/NadekoBot/Services/Permissions/PermissionsService.cs b/src/NadekoBot/Services/Permissions/PermissionsService.cs index 8541b129..a26b3d38 100644 --- a/src/NadekoBot/Services/Permissions/PermissionsService.cs +++ b/src/NadekoBot/Services/Permissions/PermissionsService.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using NadekoBot.DataStructures.ModuleBehaviors; using NadekoBot.Services.Database.Models; using NLog; using System; @@ -6,25 +7,27 @@ using System.Collections.Concurrent; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; +using Discord; +using Discord.WebSocket; namespace NadekoBot.Services.Permissions { - public class PermissionsService + public class PermissionsService : ILateBlocker { - private readonly DbHandler _db; + private readonly DbService _db; private readonly Logger _log; //guildid, root permission public ConcurrentDictionary Cache { get; } = new ConcurrentDictionary(); - public PermissionsService(DbHandler db) + public PermissionsService(DbService db, BotConfig bc) { _log = LogManager.GetCurrentClassLogger(); _db = db; var sw = Stopwatch.StartNew(); - TryMigratePermissions(); + TryMigratePermissions(bc); using (var uow = _db.UnitOfWork) { foreach (var x in uow.GuildConfigs.Permissionsv2ForAll()) @@ -59,61 +62,67 @@ namespace NadekoBot.Services.Permissions return pc; } - private void TryMigratePermissions() + private void TryMigratePermissions(BotConfig bc) { var log = LogManager.GetCurrentClassLogger(); using (var uow = _db.UnitOfWork) { - var oldCache = new ConcurrentDictionary(uow.GuildConfigs - .OldPermissionsForAll() - .Where(x => x.RootPermission != null) // there is a check inside already, but just in case - .ToDictionary(k => k.GuildId, - v => new OldPermissionCache() - { - RootPermission = v.RootPermission, - Verbose = v.VerbosePermissions, - PermRole = v.PermissionRole - })); - - if (oldCache.Any()) + if (bc.PermissionVersion <= 1) { - log.Info("Old permissions found. Performing one-time migration to v2."); - var i = 0; - foreach (var oc in oldCache) - { - if (i % 3 == 0) - log.Info("Migrating Permissions #" + i + " - GuildId: " + oc.Key); - i++; - var gc = uow.GuildConfigs.GcWithPermissionsv2For(oc.Key); - - var oldPerms = oc.Value.RootPermission.AsEnumerable().Reverse().ToList(); - uow._context.Set().RemoveRange(oldPerms); - gc.RootPermission = null; - if (oldPerms.Count > 2) - { - - var newPerms = oldPerms.Take(oldPerms.Count - 1) - .Select(x => x.Tov2()) - .ToList(); - - var allowPerm = Permissionv2.AllowAllPerm; - var firstPerm = newPerms[0]; - if (allowPerm.State != firstPerm.State || - allowPerm.PrimaryTarget != firstPerm.PrimaryTarget || - allowPerm.SecondaryTarget != firstPerm.SecondaryTarget || - allowPerm.PrimaryTargetId != firstPerm.PrimaryTargetId || - allowPerm.SecondaryTargetName != firstPerm.SecondaryTargetName) - newPerms.Insert(0, Permissionv2.AllowAllPerm); - Cache.TryAdd(oc.Key, new PermissionCache + log.Info("Permission version is 1, upgrading to 2."); + var oldCache = new ConcurrentDictionary(uow.GuildConfigs + .OldPermissionsForAll() + .Where(x => x.RootPermission != null) // there is a check inside already, but just in case + .ToDictionary(k => k.GuildId, + v => new OldPermissionCache() { - Permissions = new PermissionsCollection(newPerms), - Verbose = gc.VerbosePermissions, - PermRole = gc.PermissionRole, - }); - gc.Permissions = newPerms; + RootPermission = v.RootPermission, + Verbose = v.VerbosePermissions, + PermRole = v.PermissionRole + })); + + if (oldCache.Any()) + { + log.Info("Old permissions found. Performing one-time migration to v2."); + var i = 0; + foreach (var oc in oldCache) + { + if (i % 3 == 0) + log.Info("Migrating Permissions #" + i + " - GuildId: " + oc.Key); + i++; + var gc = uow.GuildConfigs.GcWithPermissionsv2For(oc.Key); + + var oldPerms = oc.Value.RootPermission.AsEnumerable().Reverse().ToList(); + uow._context.Set().RemoveRange(oldPerms); + gc.RootPermission = null; + if (oldPerms.Count > 2) + { + + var newPerms = oldPerms.Take(oldPerms.Count - 1) + .Select(x => x.Tov2()) + .ToList(); + + var allowPerm = Permissionv2.AllowAllPerm; + var firstPerm = newPerms[0]; + if (allowPerm.State != firstPerm.State || + allowPerm.PrimaryTarget != firstPerm.PrimaryTarget || + allowPerm.SecondaryTarget != firstPerm.SecondaryTarget || + allowPerm.PrimaryTargetId != firstPerm.PrimaryTargetId || + allowPerm.SecondaryTargetName != firstPerm.SecondaryTargetName) + newPerms.Insert(0, Permissionv2.AllowAllPerm); + Cache.TryAdd(oc.Key, new PermissionCache + { + Permissions = new PermissionsCollection(newPerms), + Verbose = gc.VerbosePermissions, + PermRole = gc.PermissionRole, + }); + gc.Permissions = newPerms; + } } + log.Info("Permission migration to v2 is done."); } - log.Info("Permission migration to v2 is done."); + + uow.BotConfig.GetOrCreate().PermissionVersion = 2; uow.Complete(); } } @@ -151,5 +160,39 @@ namespace NadekoBot.Services.Permissions return old; }); } + + public async Task TryBlockLate(DiscordShardedClient client, IUserMessage msg, IGuild guild, IMessageChannel channel, IUser user, string moduleName, string commandName) + { + await Task.Yield(); + if (guild == null) + { + + return false; + } + + var resetCommand = commandName == "resetperms"; + + //todo perms + PermissionCache pc = GetCache(guild.Id); + if (!resetCommand && !pc.Permissions.CheckPermissions(msg, commandName, moduleName, out int index)) + { + var returnMsg = $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand((SocketGuild)guild)}** is preventing this action."; + return true; + //return new ExecuteCommandResult(cmd, pc, SearchResult.FromError(CommandError.Exception, returnMsg)); + } + + + if (moduleName == "Permissions") + { + var roles = (user as SocketGuildUser)?.Roles ?? ((IGuildUser)user).RoleIds.Select(x => guild.GetRole(x)).Where(x => x != null); + if (!roles.Any(r => r.Name.Trim().ToLowerInvariant() == pc.PermRole.Trim().ToLowerInvariant()) && user.Id != ((IGuildUser)user).Guild.OwnerId) + { + return true; + //return new ExecuteCommandResult(cmd, pc, SearchResult.FromError(CommandError.Exception, $"You need the **{pc.PermRole}** role in order to use permission commands.")); + } + } + + return false; + } } } diff --git a/src/NadekoBot/Services/Searches/SearchesService.cs b/src/NadekoBot/Services/Searches/SearchesService.cs index 53b9cabb..951b01da 100644 --- a/src/NadekoBot/Services/Searches/SearchesService.cs +++ b/src/NadekoBot/Services/Searches/SearchesService.cs @@ -17,7 +17,7 @@ namespace NadekoBot.Services.Searches { private readonly DiscordShardedClient _client; private readonly IGoogleApiService _google; - private readonly DbHandler _db; + private readonly DbService _db; private readonly Logger _log; public ConcurrentDictionary TranslatedChannels { get; } = new ConcurrentDictionary(); @@ -31,7 +31,7 @@ namespace NadekoBot.Services.Searches public List WowJokes { get; } = new List(); public List MagicItems { get; } = new List(); - public SearchesService(DiscordShardedClient client, IGoogleApiService google, DbHandler db) + public SearchesService(DiscordShardedClient client, IGoogleApiService google, DbService db) { _client = client; _google = google; diff --git a/src/NadekoBot/Services/Searches/StreamNotificationService.cs b/src/NadekoBot/Services/Searches/StreamNotificationService.cs index 1fcaacb5..871a680d 100644 --- a/src/NadekoBot/Services/Searches/StreamNotificationService.cs +++ b/src/NadekoBot/Services/Searches/StreamNotificationService.cs @@ -19,11 +19,11 @@ namespace NadekoBot.Services.Searches private bool firstStreamNotifPass { get; set; } = true; private readonly ConcurrentDictionary _cachedStatuses = new ConcurrentDictionary(); - private readonly DbHandler _db; + private readonly DbService _db; private readonly DiscordShardedClient _client; private readonly NadekoStrings _strings; - public StreamNotificationService(DbHandler db, DiscordShardedClient client, NadekoStrings strings) + public StreamNotificationService(DbService db, DiscordShardedClient client, NadekoStrings strings) { _db = db; _client = client; diff --git a/src/NadekoBot/Services/Utility/ConverterService.cs b/src/NadekoBot/Services/Utility/ConverterService.cs index 081a8d53..38fc7f9a 100644 --- a/src/NadekoBot/Services/Utility/ConverterService.cs +++ b/src/NadekoBot/Services/Utility/ConverterService.cs @@ -17,9 +17,9 @@ namespace NadekoBot.Services.Utility private readonly Logger _log; private Timer _timer; private readonly TimeSpan _updateInterval = new TimeSpan(12, 0, 0); - private readonly DbHandler _db; + private readonly DbService _db; - public ConverterService(DbHandler db) + public ConverterService(DbService db) { _log = LogManager.GetCurrentClassLogger(); _db = db; diff --git a/src/NadekoBot/Services/Utility/MessageRepeaterService.cs b/src/NadekoBot/Services/Utility/MessageRepeaterService.cs index 2997b983..5ca40d1c 100644 --- a/src/NadekoBot/Services/Utility/MessageRepeaterService.cs +++ b/src/NadekoBot/Services/Utility/MessageRepeaterService.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; namespace NadekoBot.Services.Utility { + //todo 50 rewrite public class MessageRepeaterService { //messagerepeater @@ -23,7 +24,6 @@ namespace NadekoBot.Services.Utility #else await Task.Delay(30000).ConfigureAwait(false); #endif - //todo this is pretty terrible :kms: no time Repeaters = new ConcurrentDictionary>(gcs .ToDictionary(gc => gc.GuildId, gc => new ConcurrentQueue(gc.GuildRepeaters diff --git a/src/NadekoBot/Modules/Utility/Models/PatreonData.cs b/src/NadekoBot/Services/Utility/Patreon/PatreonData.cs similarity index 91% rename from src/NadekoBot/Modules/Utility/Models/PatreonData.cs rename to src/NadekoBot/Services/Utility/Patreon/PatreonData.cs index c56a89b1..c57ea817 100644 --- a/src/NadekoBot/Modules/Utility/Models/PatreonData.cs +++ b/src/NadekoBot/Services/Utility/Patreon/PatreonData.cs @@ -1,6 +1,6 @@ using Newtonsoft.Json.Linq; -namespace NadekoBot.Modules.Utility.Models +namespace NadekoBot.Services.Utility.Patreon { public class PatreonData { diff --git a/src/NadekoBot/Modules/Utility/Models/PatreonPledge.cs b/src/NadekoBot/Services/Utility/Patreon/PatreonPledge.cs similarity index 96% rename from src/NadekoBot/Modules/Utility/Models/PatreonPledge.cs rename to src/NadekoBot/Services/Utility/Patreon/PatreonPledge.cs index e37157e9..7193718c 100644 --- a/src/NadekoBot/Modules/Utility/Models/PatreonPledge.cs +++ b/src/NadekoBot/Services/Utility/Patreon/PatreonPledge.cs @@ -1,4 +1,4 @@ -namespace NadekoBot.Modules.Utility.Models +namespace NadekoBot.Services.Utility.Patreon { public class Attributes { diff --git a/src/NadekoBot/Modules/Utility/Models/PatreonUser.cs b/src/NadekoBot/Services/Utility/Patreon/PatreonUser.cs similarity index 97% rename from src/NadekoBot/Modules/Utility/Models/PatreonUser.cs rename to src/NadekoBot/Services/Utility/Patreon/PatreonUser.cs index 8f83f1c0..f054544b 100644 --- a/src/NadekoBot/Modules/Utility/Models/PatreonUser.cs +++ b/src/NadekoBot/Services/Utility/Patreon/PatreonUser.cs @@ -1,4 +1,4 @@ -namespace NadekoBot.Modules.Utility.Models +namespace NadekoBot.Services.Utility.Patreon { public class DiscordConnection { diff --git a/src/NadekoBot/Services/Utility/PatreonRewardsService.cs b/src/NadekoBot/Services/Utility/PatreonRewardsService.cs new file mode 100644 index 00000000..09b90ea6 --- /dev/null +++ b/src/NadekoBot/Services/Utility/PatreonRewardsService.cs @@ -0,0 +1,162 @@ +using NadekoBot.Services.Database.Models; +using NadekoBot.Services.Utility.Patreon; +using Newtonsoft.Json; +using NLog; +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Linq; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Utility +{ + public class PatreonRewardsService + { + private readonly SemaphoreSlim getPledgesLocker = new SemaphoreSlim(1, 1); + + public ImmutableArray Pledges { get; private set; } + public DateTime LastUpdate { get; private set; } = DateTime.UtcNow; + + public readonly Timer Updater; + private readonly SemaphoreSlim claimLockJustInCase = new SemaphoreSlim(1, 1); + private readonly Logger _log; + + public readonly TimeSpan Interval = TimeSpan.FromHours(1); + private IBotCredentials _creds; + private readonly DbService _db; + private readonly CurrencyService _currency; + + private PatreonRewardsService(IBotCredentials creds, DbService db, CurrencyService currency) + { + _creds = creds; + _db = db; + _currency = currency; + if (string.IsNullOrWhiteSpace(creds.PatreonAccessToken)) + return; + _log = LogManager.GetCurrentClassLogger(); + Updater = new Timer(async (_) => await LoadPledges(), null, TimeSpan.Zero, Interval); + } + + public async Task LoadPledges() + { + LastUpdate = DateTime.UtcNow; + await getPledgesLocker.WaitAsync(1000).ConfigureAwait(false); + try + { + var rewards = new List(); + var users = new List(); + using (var http = new HttpClient()) + { + http.DefaultRequestHeaders.Clear(); + http.DefaultRequestHeaders.Add("Authorization", "Bearer " + _creds.PatreonAccessToken); + var data = new PatreonData() + { + Links = new PatreonDataLinks() + { + next = "https://api.patreon.com/oauth2/api/campaigns/334038/pledges" + } + }; + do + { + var res = await http.GetStringAsync(data.Links.next) + .ConfigureAwait(false); + data = JsonConvert.DeserializeObject(res); + var pledgers = data.Data.Where(x => x["type"].ToString() == "pledge"); + rewards.AddRange(pledgers.Select(x => JsonConvert.DeserializeObject(x.ToString())) + .Where(x => x.attributes.declined_since == null)); + users.AddRange(data.Included + .Where(x => x["type"].ToString() == "user") + .Select(x => JsonConvert.DeserializeObject(x.ToString()))); + } while (!string.IsNullOrWhiteSpace(data.Links.next)); + } + Pledges = rewards.Join(users, (r) => r.relationships?.patron?.data?.id, (u) => u.id, (x, y) => new PatreonUserAndReward() + { + User = y, + Reward = x, + }).ToImmutableArray(); + } + catch (Exception ex) + { + _log.Warn(ex); + } + finally + { + var _ = Task.Run(async () => + { + await Task.Delay(TimeSpan.FromMinutes(5)).ConfigureAwait(false); + getPledgesLocker.Release(); + }); + } + } + + public async Task ClaimReward(ulong userId) + { + await claimLockJustInCase.WaitAsync(); + var now = DateTime.UtcNow; + try + { + var data = Pledges.FirstOrDefault(x => x.User.attributes?.social_connections?.discord?.user_id == userId.ToString()); + + if (data == null) + return 0; + + var amount = data.Reward.attributes.amount_cents; + + using (var uow = _db.UnitOfWork) + { + var users = uow._context.Set(); + var usr = users.FirstOrDefault(x => x.PatreonUserId == data.User.id); + + if (usr == null) + { + users.Add(new RewardedUser() + { + UserId = userId, + PatreonUserId = data.User.id, + LastReward = now, + AmountRewardedThisMonth = amount, + }); + + await _currency.AddAsync(userId, "Patreon reward - new", amount, uow).ConfigureAwait(false); + + await uow.CompleteAsync().ConfigureAwait(false); + return amount; + } + + if (usr.LastReward.Month != now.Month) + { + usr.LastReward = now; + usr.AmountRewardedThisMonth = amount; + usr.PatreonUserId = data.User.id; + + await _currency.AddAsync(userId, "Patreon reward - recurring", amount, uow).ConfigureAwait(false); + + await uow.CompleteAsync().ConfigureAwait(false); + return amount; + } + + if (usr.AmountRewardedThisMonth < amount) + { + var toAward = amount - usr.AmountRewardedThisMonth; + + usr.LastReward = now; + usr.AmountRewardedThisMonth = amount; + usr.PatreonUserId = data.User.id; + + await _currency.AddAsync(usr.UserId, "Patreon reward - update", toAward, uow).ConfigureAwait(false); + + await uow.CompleteAsync().ConfigureAwait(false); + return toAward; + } + } + return 0; + } + finally + { + claimLockJustInCase.Release(); + } + } + } +} diff --git a/src/NadekoBot/Services/Utility/RemindService.cs b/src/NadekoBot/Services/Utility/RemindService.cs index 0ce2ed6c..9fad924b 100644 --- a/src/NadekoBot/Services/Utility/RemindService.cs +++ b/src/NadekoBot/Services/Utility/RemindService.cs @@ -31,9 +31,9 @@ namespace NadekoBot.Services.Utility private readonly CancellationToken cancelAllToken; private readonly BotConfig _config; private readonly DiscordShardedClient _client; - private readonly DbHandler _db; + private readonly DbService _db; - public RemindService(DiscordShardedClient client, BotConfig config, DbHandler db) + public RemindService(DiscordShardedClient client, BotConfig config, DbService db) { _config = config; _client = client; diff --git a/src/NadekoBot/Services/Utility/RepeatRunner.cs b/src/NadekoBot/Services/Utility/RepeatRunner.cs index 3a1db8b7..e1b42aea 100644 --- a/src/NadekoBot/Services/Utility/RepeatRunner.cs +++ b/src/NadekoBot/Services/Utility/RepeatRunner.cs @@ -27,7 +27,7 @@ namespace NadekoBot.Services.Utility Repeater = repeater; Channel = channel; - //todo @.@ fix all of this + //todo 40 @.@ fix all of this Guild = client.GetGuild(repeater.GuildId); if (Guild != null) Task.Run(Run); diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index 13df5a43..b2a337e2 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -21,8 +21,8 @@ namespace NadekoBot.Extensions public static bool IsAuthor(this IMessage msg, IDiscordClient client) => msg.Author?.Id == client.CurrentUser.Id; - private static readonly IEmote arrow_left = Emote.Parse("⬅"); - private static readonly IEmote arrow_right = Emote.Parse("➡"); + private static readonly IEmote arrow_left = new Emoji("⬅"); + private static readonly IEmote arrow_right = new Emoji("➡"); public static string ToBase64(this string plainText) { diff --git a/src/NadekoBot/_strings/ResponseStrings.ar.json b/src/NadekoBot/_strings/ResponseStrings.ar.json deleted file mode 100644 index 50d681f3..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.ar.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "تم الاسنيلاء على القاعدة ,او مدمرة", - "clashofclans_base_already_destroyed": "القاعدة مدمرة", - "clashofclans_base_already_unclaimed": "تلك القاعدة غير محتلة", - "clashofclans_base_destroyed": "** تدمير** القاعدة #{0} في الحرب ضد {1}", - "clashofclans_base_unclaimed": "{0}**قد تنازل**عن قاعدة #{1} في الحرب ضد {2}", - "clashofclans_claimed_base": "{0} استولى على قاعدة #{1} في الحرب ضد {2}", - "clashofclans_claimed_other": "@{0} أنت استوليت بالفعل قاعدة # {1}. لا يمكنك المطالبة بوحدة جديدة.", - "clashofclans_claim_expired": "الاستولى من @{0} في الحرب ضد {1} قد انته.", - "clashofclans_enemy": "عدو", - "clashofclans_info_about_war": "معلومات عن الحرب ضد {0}", - "clashofclans_invalid_base_number": "رقم القاعدة خطأ.", - "clashofclans_invalid_size": "غير متاح حجم الحرب.", - "clashofclans_list_active_wars": "قائمة الحرب القائمة", - "clashofclans_not_claimed": "غير محتلة", - "clashofclans_not_partic": "انت لست مدرج في هذه الحرب", - "clashofclans_not_partic_or_destroyed": "@{0} لست مشارك في الحرب , او ان القاعدة قد تدمرت", - "clashofclans_no_active_wars": "لا توجد حروب ناشطة", - "clashofclans_size": "حجم", - "clashofclans_war_already_started": "الحرب ضد {0} قد بدأت", - "clashofclans_war_created": "أنشئت حرب ضد {0}.", - "clashofclans_war_ended": "الحرب ضد {0} قد انتهت", - "clashofclans_war_not_exist": "هذه الحرب لا توجد", - "clashofclans_war_started": "الحرب ضد {0} قد بدأت", - "customreactions_all_stats_cleared": "كل خصائص الرموز التعبيرية المخصصى خالية", - "customreactions_deleted": "تم محي الرمز التعبيري المخصص", - "customreactions_insuff_perms": "أذونات غير كافية. البوت بحاجة الى تصريح المالك لتعديل الرد التفاعلي , وايضا المدير لتخصيص الرد التفاعلي", - "customreactions_list_all": "فائمة الرموز التعبيرية المخصصة", - "customreactions_name": "الرموز التعبيرية المخصصة", - "customreactions_new_cust_react": "رمز تعبيري مخصص جديد", - "customreactions_no_found": "لم يوجد هذا الرمز", - "customreactions_no_found_id": "الرمز التعبيري المخصص ليس موجود حسب المدخل", - "customreactions_response": "الإستجاب", - "customreactions_stats": "احصائيات الرموز التعبيرية مخصصة", - "customreactions_stats_cleared": "الخصائص خالية {0} للترميز التفاعلي", - "customreactions_stats_not_found": "لا يوجد خصائص مفعلة متاحة , لم يتم اتخاذ اي اجراء.", - "customreactions_trigger": "تفعيل", - "nsfw_autohentai_stopped": "Autohentai توقف", - "nsfw_not_found": "لا توجد نتائج.", - "pokemon_already_fainted": "{0} قد اغمي عليه", - "pokemon_already_full": "{0} عنده من قبل HP كامل", - "pokemon_already_that_type": "لديك النوع التالي {0}.", - "pokemon_attack": "استخدام {0}{1} على {2}{3} لضرر {4}.", - "pokemon_cant_attack_again": "لا يمكنك الهجوم مرة أخرى دون انتقام!", - "pokemon_cant_attack_yourself": "لا يمكنك الهجوم على نفسك.", - "pokemon_fainted": "{0} اغمى عليه.", - "pokemon_healed": "عالج {0} باستخدام واحد {1} .", - "pokemon_hp_remaining": "{0} لديه {1} HP متبقي.", - "pokemon_invalid_move": "لا يمكنك استخدام {0}. اكتب \"{1}ml\" لروئية لائحة التحريكات التي يمكنك استخدمها.", - "pokemon_moves": "حرك القائمة الى {0} نوع .", - "pokemon_not_effective": "غير فعالة.", - "pokemon_no_currency": "لاتملك ما يكفي {0} .", - "pokemon_revive_other": "أحيا {0} باستخدام {1} .", - "pokemon_revive_yourself": "لقد احبيبت تقسك باستخدام واحد {0}.", - "pokemon_settype_success": "لقد تم تغير النوع الى {0} مقابل {1} .", - "pokemon_somewhat_effective": "انها فعالة إلى حد ما.", - "pokemon_super_effective": "انها فعالة جدا .", - "pokemon_too_many_moves": "لقد استخدمت اكثر من حركة في صف . لا تستطيع التحرك .", - "pokemon_type_of_user": "نوع {0} هو {1} .", - "pokemon_user_not_found": "المستخدم غير متاح .", - "pokemon_you_fainted": "لقد اغمى عليك , لا تيستطيع التحرك !", - "administration_aar_disabled": "**تعين دور ** على ضخول مستخدم**تم تعطيله **.", - "administration_aar_enabled": "**تعين دور ** على ضخول مستخدم**تم تشغيله **.", - "administration_attachments": "مرفق .", - "administration_avatar_changed": "تغير المظهر .", - "administration_bandm": "تم طردك من السيرفر {0} .\nالسبب : {1} .", - "administration_banned_pl": "تم طردك .", - "administration_banned_user": "المستخدم مطرود .", - "administration_bot_name": "تغير اسم البوت الى {0} .", - "administration_bot_status": "خصائص البوت غيرت الى {0}.", - "administration_byedel_off": "تم تعطيل الحذف الالي لرسالة الوداع.", - "administration_byedel_on": "سيتم حذف رسالة الوداع بعد {0} ثواني .", - "administration_byemsg_cur": "رسالة الوداع حاليا : {0} .", - "administration_byemsg_enable": "تفعيل رسالة الوداع بكتابة {0} .", - "administration_byemsg_new": "وضع رسالة وداع جديدة .", - "administration_bye_off": "اعلان رسالة الوداع غير مفعلة .", - "administration_bye_on": "اعلان رسالة الوداع مفعلة في هذه القناة .", - "administration_ch_name_change": "تم تغير اسم القناة .", - "administration_ch_old_name": "الاسم القديم .", - "administration_ch_topic_change": "تم تغير موضوع القناة.", - "administration_cleaned_up": "تم تنظيف المحتوى .", - "administration_content": "المحتوى .", - "administration_cr": "تم انشاء دور {0}.", - "administration_createtextchan": "تم انشاء قناة رسائل {0} .", - "administration_createvoich": "تم أنشاء قناة الصوت {0}.", - "administration_deafen": "تم الطرش بنجاح .", - "administration_deleted_server": "حذف السيرفر {0}.", - "administration_delmsg_off": "تم وقف الحذف الالي لأوامر الاستدعاء الناجحة.", - "administration_delmsg_on": "سيتم الغاء الامر تلقائيا بعد التنفيذ .", - "administration_deltextchan": "تم حذف قناة الرسائل {0}.", - "administration_delvoich": "قناة الصوت {0} قد أحذفت.", - "administration_dm_from": "رسالة خاصة من", - "administration_donadd": "تم اضافة متبرع جديد بنجاح . اجمالي تبرعات هذا المستخدم {0} 👑", - "administration_donators": "شكرا للجميع في القائمة التالية على مساهمتهم في تحقيق هذا المشروع!", - "administration_fwall_start": "سوف ارسل الرسائل الخاصة الى جميع المالكين.", - "administration_fwall_stop": "سوف ارسل الرسائل الخاصة الى المالك الأول فقط.", - "administration_fwdm_start": "من الان فصاعدا سوف أرسل الرسائل الخاصة.", - "administration_fwdm_stop": "من الان فصاعدا سوف أتوقف عن أرسال الرسائل الخاصة.", - "administration_greetdel_off": "تم تعطيل الحذف الالي لرسائل التحية.", - "administration_greetdel_on": "سوف يتم حذف رسائل التحية بعد {0} ثانية.", - "administration_greetdmmsg_cur": "الرسالة الخاصة الحالية للتحية : {0}", - "administration_greetdmmsg_enable": "تمكين DM رسائل التحية عن طريق كتابة {0}", - "administration_greetdmmsg_new": "تم تثبيت رسالة التحية عبر رسالة خاصة.", - "administration_greetdm_off": "تم تعطيل الإعلان عن التحية عبر الرسائل الخاصة.", - "administration_greetdm_on": "تم تفعيل الإعلان عن التحية عبر الرسائل الخاصة.", - "administration_greetmsg_cur": "رسالة التحية الحالية : {0}", - "administration_greetmsg_enable": "يتم تفعيل رسائل التحية بكتابة {0}", - "administration_greetmsg_new": "وضع رسالة تحية جديدة.", - "administration_greet_off": "اعلان التحية غير مفعل .", - "administration_greet_on": "اعلان التحية مفعل في هذه القناة .", - "administration_hierarchy": "ليس باستطاعتك ان تستخدم هذا الأمر على المستخدمين بدور اعلى من دورك او مساوا له في سلم الأدوار.", - "administration_images_loaded": "تحميل الصور بعد {0} ثواني!", - "administration_invalid_format": "ادخال خاطئ .", - "administration_invalid_params": "معلمات غير صالحة.\n", - "administration_joined": "انضم {0} الى {1}", - "administration_kickdm": "لقد تم طردك من {0} السيرفر.\nالسبب: {1}", - "administration_kicked_user": "تم طرد المستخدم .", - "administration_lang_list": "قائمة اللغات .", - "administration_lang_set": "لغة سيرفرك الان {0}-{1}", - "administration_lang_set_bot": "لغة الألي إفتراضياً الآن {0} - {1}", - "administration_lang_set_bot_show": "تم ضبط لغة البوت الى {0} - {1}", - "administration_lang_set_fail": "فشل الضبط المحلي . قم بزيارة قائمة مساعدة الاوامر .", - "administration_lang_set_show": "لغة السيرفر مضبوطة الى {0} - {1} .", - "administration_left": "{0} ترك {1}", - "administration_left_server": "خرج من السيرفر {0}", - "administration_log": "تسجيل هذا الحدث في القناة {0} .", - "administration_log_all": "تسجيل جميع الاحداث في هذه القناة .", - "administration_log_disabled": "تم تعطيل التسجيل.", - "administration_log_events": "قائمة الاحداث التي يمكنك التسجيل بها .", - "administration_log_ignore": "التسجيل سيتجاهل {0}", - "administration_log_not_ignore": "التسجيل لن يتجاهل {0}", - "administration_log_stop": "تم ايقاف تسجيل الحدث {0}.", - "administration_menrole": "{0} قد استند إلى ذكر الأدوار التالية", - "administration_message_from_bo": "رسالة من {0} `[ مالك البوت ]`:", - "administration_message_sent": "تم ارسال الرسالة .", - "administration_moved": "{0} تم تحريك من {1} الى {2} .", - "administration_msg_del": "تم حذف الرسالة في {0}#", - "administration_msg_update": "تم تحديث الرسالة في {0}#", - "administration_muted_pl": "صامتة .", - "administration_muted_sn": "صامتة .", - "administration_mute_error": "ليس لدي الأذن الازم لذلك على ما يبدو.", - "administration_mute_role_set": "ضبط اسكات لدور جديد .", - "administration_need_admin": "أحتاج الى الأذن \"Administrator\" للقيام بذلك.", - "administration_new_msg": "رسالة جديدة .", - "administration_new_nick": "لقب جديد .", - "administration_new_topic": "موضوع جديد .", - "administration_nick_change": "تغير اللقب .", - "administration_no_server": "لم أجد هذا السيرجر", - "administration_no_shard_id": "لم يوجد مشاركة مع صاحب ID", - "administration_old_msg": "رسائل قديمة .", - "administration_old_nick": "لقب قديم .", - "administration_old_topic": "موضوع قديم .", - "administration_perms": "خطأ . على الاغلب لا امتلك الصلاحيات الكافية .", - "administration_perms_reset": "جميع الأذون في السيرفر أعاد تعيينهم.", - "administration_prot_active": "الحماية فعالة .", - "administration_prot_disable": "تم تعطيل {0} على هذا السيرفر.", - "administration_prot_enable": "{0} مفعل", - "administration_prot_error": "خطأ. أحتاج الى الأذن ManageRoles", - "administration_prot_none": "لس هنالك حماية فغالة.", - "administration_raid_cnt": "يجب أن يكون المستخدم عتبة بين {0} و {1}.", - "administration_raid_stats": "إذا {0} أو أكثر من المستخدمين الانضمام في {1} ثواني، سوف {2} لهم.", - "administration_raid_time": "يجب أن يكون الوقت بين {0} و {1} ثواني.", - "administration_rar": "تم حذف جميع الادوار من هذا المستخدم {0} .", - "administration_rar_err": "فشل حذف الدور . لا امتلك الصلاحيات الكافية .", - "administration_rc": "تم تغيير لون الدور{0} .", - "administration_rc_not_exist": "الدور غير موجود.", - "administration_rc_params": "المعلمات المحددة غير صالحة.", - "administration_rc_perms": "حدث خطأ بسبب لون غير صالح أو أذونات غير كافية.", - "administration_remrole": "تم ازالة دور {0} من المستخدم {1}", - "administration_remrole_err": "فشل حذف الدور. لا امتلك الصلاحيات الكافية .", - "administration_renrole": "تغير اسم الدور .", - "administration_renrole_err": "فشل تغير الاسم . لا امتلك الصلاحيات الكافية .", - "administration_renrole_perms": "لا يمكنك تعديل أدوار أعلى من أعلى دورك", - "administration_reprm": "إزالة رسالة اللعب: {0}", - "administration_role_added": "دور {0} تم أضيفت إلى القائمة.", - "administration_role_clean": "{0} لم يتم العثور.تم تنظيفه", - "administration_role_in_list": "دور {0} موجود بالفعل في القائمة.", - "administration_ropl_added": "اضافة .", - "administration_ropl_disabled": " تعطيل دوار وضع اللعب ", - "administration_ropl_enabled": "تشغيل دوار وضع اللعب ", - "administration_ropl_list": "هذه قائمة من الحالات الدورية:{0}", - "administration_ropl_not_set": "لم يتعين اوضاع اللعب الدوري.", - "administration_self_assign_already": "لديك بالفعل الدور{0}.", - "administration_self_assign_already_excl": "لديك بالفعل دور{0} الحصري المعين لك.", - "administration_self_assign_excl": "الادوار المخصصة للتعين الذاتي الان اصبحت خاصة!", - "administration_self_assign_list": "هنالك {0} ادور مخصصة للتعين الذاتي .", - "administration_self_assign_not": "الدور غير مخصص للتعين الذاتي .", - "administration_self_assign_not_have": "ليس لديك دور {0}.", - "administration_self_assign_no_excl": "الادوار المخصصة للتعين الذاتي الان اصبحت غير خاصة!", - "administration_self_assign_perms": "لا أست", - "administration_self_assign_rem": "{0} تمت إزالته من قائمة الأدوار الذاتية التعيين.", - "administration_self_assign_remove": "انت لا تملك هذا الدور {0} بعد الان.", - "administration_self_assign_success": "لقد اصبحت تملك هذا الدور {0} .", - "administration_setrole": "تم اضافة الدور {0} بنجاح الى مستخدم {1}.", - "administration_setrole_err": "فشل اضافة الدور . لا امتلك الاذن الكافي .", - "administration_set_avatar": "مظهر جديد ضبط .", - "administration_set_channel_name": "ضبط اسم قناة جديد.", - "administration_set_game": "تم اضافة لعبة جديدة !", - "administration_set_stream": "تم اضافة بث جديد !", - "administration_set_topic": "اسند موضوع جديد للقناة.", - "administration_shard_reconnected": "شارد {0} اعيدت أتصالها.", - "administration_shard_reconnecting": "شارد {0} يعادة الاتصال.", - "administration_shutting_down": "جاري الأغلاق.", - "administration_slowmode_desc": "لا يمكن للمستخدمين إرسال أكثر من {0} رسائل كل {1} ثواني.", - "administration_slowmode_disabled": "الوضع البطيئ تم ايقافه .", - "administration_slowmode_init": "الوضع البطيئ تم تفعيله .", - "administration_soft_banned_pl": "حظر ناعم (رفض)", - "administration_spam_ignore": "{0} سيتجاهل هذه القناة.", - "administration_spam_not_ignore": "{0} لم يعد يتجاهل هذه القناة.", - "administration_spam_stats": "إذا نشر مستخدم {0} نفس الرسائل على التوالي، فسوف أفعل {1} ببهم.\n __ignoredChannels__: {2}", - "administration_text_chan_created": "قناة كتبه صنعت", - "administration_text_chan_destroyed": "تدمير قناة المراسلة .", - "administration_undeafen": "ازالة عدم السماع بنجاح .", - "administration_unmuted_sn": "إلغاء الصامت", - "administration_username": "اسم المستخدم", - "administration_username_changed": "اسم المستخدم تغير", - "administration_users": "المستخدمين .", - "administration_user_banned": "المستخدم مطرود .", - "administration_user_chat_mute": "{0} تم **صامتة** من الدردشة.", - "administration_user_chat_unmute": "{0} تم **إلغاء صامتة** من الدردشة.", - "administration_user_joined": "تم اضافة مستخدم .", - "administration_user_left": "المستخدم غادر", - "administration_user_muted": "{0} تم **صامتة** من الدردشة والدردشة الصوتية.", - "administration_user_role_add": "أضافة دور المستخدم", - "administration_user_role_rem": "إزالة دور المستخدم", - "administration_user_status_change": "{0} اصبح الان {1}", - "administration_user_unmuted": "{0} اصبح ** صامت ** في المراسلة والمحادثة .", - "administration_user_vjoined": "{0} اشترك ب {1} قناة الصوت .", - "administration_user_vleft": "{0} خرج من {1} قناة الصوت .", - "administration_user_vmoved": "{0} تغير من {1} الى {2} قناة الصوتية.", - "administration_user_voice_mute": "{0} تم **اسكات الصوت**", - "administration_user_voice_unmute": "{0} تم ازالة **اسكات الصوت**", - "administration_voice_chan_created": "انشاء قناة صوت", - "administration_voice_chan_destroyed": "تدمير قناة الصوت", - "administration_vt_disabled": "ايقاف خصائص الصوت والكتابة", - "administration_vt_enabled": "تفعيل خصائص الصوت والكتابة", - "administration_vt_exit": "ليس لدي اذن ** إدارة الأدوار ** و / أو ** إدارة القنوات ** ، لذلك لا أستطيع تشغيل `صوت + النص` على السيرفر {0}.", - "administration_vt_no_admin": "انت تفعيل / تعطيل هذه الميزة و ** ليس لدي أذونات ADMINISTRATOR **. قد يتسبب ذلك في بعض المشكلات، وسيكون عليك تنظيف القنوات النصية بنفسك بعد ذلك.", - "administration_vt_perms": "أطلب على الاقل اذن ** إدارة الأدوار ** و ** إدارة القنوات ** لتمكين هذه الميزة. (مفضل إذن الإدارة )", - "administration_xmuted_text": "المستخدم (0) من كتابة الرسائل", - "administration_xmuted_text_and_voice": "المستخدم (0) من الكتابة ومحادثة الصوت", - "administration_xmuted_voice": "المستخدم {0} من محادثة الصوت", - "administration_sbdm": "لقد تم حظرك من {0} مزود.\nالسبب: {1}", - "administration_user_unbanned": "ازالة الطرد عن المستخدم", - "administration_migration_done": "تمت الهجرة !", - "adminsitration_migration_error": "حدث خطأ أثناء الترحيل، راجع وحدة تحكم بوت للحصول على مزيد من المعلومات.", - "administration_presence_updates": "التحديث الحالي", - "administration_sb_user": "المستخدم طرد-مخفض", - "gambling_awarded": "تم منح {0} الى {1}", - "gambling_better_luck": "حظا اوفر المرة القادمة ^_^", - "gambling_br_win": "مبارك لقد فزت {0} دحرجة فوق {1}", - "gambling_deck_reshuffled": "خلط ورق اللعب مرة ثانية", - "gambling_flipped": "قلب {0}", - "gambling_flip_guess": "لقد خمنتها ! فزت {0}", - "gambling_flip_invalid": "رقم خطأ غير مخصص . بأمكانك قلب 1 الى {0} عملة نقدية", - "gambling_flowerreaction_desc": "اضف الى {0} للحصول على الرمز التفاعلي ل{1}", - "gambling_flowerreaction_footer": "الحدث مستمر لغاية {0} ساعة", - "gambling_flowerreaction_title": "وردة الرمز التفاعلي بدأت !", - "gambling_gifted": "لقد اهدا {0} الى {1}", - "gambling_has": "{0} يملك {1}", - "gambling_heads": "رأس", - "gambling_leaderboard": "قائمة المتصدرين", - "gambling_mass_award": "تم مكافئة {0} الى {1} المستخدم من دور {2}.", - "gambling_max_bet_limit": "لايمكنك المزايدة اكثر من {0}", - "gambling_min_bet_limit": "لا يمكنك المزايدة اقل من {0}", - "gambling_not_enough": "انت لا تملك ما يكفي {0}", - "gambling_no_more_cards": "لا مزيد للورق على الطاولة", - "gambling_raffled_user": "بيع المستخدم يانصيب", - "gambling_roll": "لقد دحرجت {0}", - "gambling_slot_bet": "المزايدة", - "gambling_slot_jackpot": "WOAAHHHHHH!!! مبارك !!! {0}", - "gambling_slot_single": "اشارة {0}, *{1}", - "gambling_slot_three": "واو ! محظوظ! ثلاثة من نوع ! * {0}", - "gambling_slot_two": "عمل جيد ! اثنين {0} - مزايدة *{1}", - "gambling_slot_won": "فزت", - "gambling_sneakygamestatus_desc": "يجب على المستخدمين كتابة رمز سري للحصول على {0}.\nتستمر {1} ثانية. لا تخبر أحدا. شهه.", - "gambling_sneakygamestatus_end": " حدث SneakyGame انتهى . {0} المستخدمين استلمت الجوائز.", - "gambling_sneakygamestatus_title": "حدث SneakyGameStatus قد بدأ", - "gambling_tails": "ذيل", - "gambling_take": "بنجاح اخذت {0} من {1}", - "gambling_take_fail": "لم استطع اخذ {0} من {1} بسبب المستخدم لا يملك ما يكفي من {2}!", - "help_back_to_toc": "العودة الى TOC", - "help_bot_owner_only": "فقط مالك البوت", - "help_channel_permission": "مطلوب {0} للسماح بالقناة", - "help_cmdlist_donate": "يمكنك بدعم المشروع في <{patreon: <{0 او في <{1}> :paypal", - "help_cmd_and_alias": "الأوامر والأسماء المستعارة", - "help_commandlist_regen": "قائمة الأوامر مجددة.", - "help_commands_instr": "اكتب `{0}h اسم الامر` لرؤية المساعدة اللازمة لذلك الامر. مثال `e.g. `{0}h >8ball", - "help_command_not_found": "لا استطيع ان اجد الامر . الرجاء تأكد من وجود الامر قبل المحاولة التالية", - "help_desc": "وصف", - "help_donate": "يمكنكم الدعم مشروع NadekoBot في <{Patreon <{0 او في <{1}> PayPal\nلا تنسى تترك اسمك في ديسكورد او الID في علبة الرسالة.\n\n** شكراً لكم **♥️", - "help_guide": "** قائمة الأوامر **: <{0}>\n** يمكن العثور على أدلة الاستضافة والمستندات هنا **: <{1}>", - "help_list_of_commands": "قاىمة الأوامر", - "help_list_of_modules": "قائمة الوحدات", - "help_modules_footer": "اكتب `{0}cmds اسم وحدة الامر ` لرؤية قائمة الاوامر في تلك الوحدة `eg `{0}cmds games", - "help_module_not_found": "تلك الوحدة غير موجودة.", - "help_server_permission": "يتطلب {0} أذن من السيرفر", - "help_table_of_contents": "جدول المحتويات", - "help_usage": "الأستعمال", - "nsfw_autohentai_started": "بدأت أوتوهنتاي. إعادة نشر كل {0} s مع إحدى العلامات التالية: {1}", - "nsfw_tag": "ربط", - "gambling_animal_race": "سباق الحيوانات", - "gambling_animal_race_failed": "فشل في البدء لعدم وجود مشاركين كفاية", - "gambling_animal_race_full": "امتلئ السباق ! البدء فورا.", - "gambling_animal_race_join": "{0} انضم بصفة {1}", - "gambling_animal_race_join_bet": "{0} انضم بصفة {1} و راهن {2}!", - "gambling_animal_race_join_instr": "اكتب {0}jr للانضمام إلى السباق.", - "gambling_animal_race_starting": "البدء خلال 20 ثانية او عند اكتمال العدد في الغرفة", - "gambling_animal_race_starting_with_x": "البدء مع {0} مشتركين.", - "gambling_animal_race_won": "{0} بصفة {1} فاز بالسباق!", - "gambling_animal_race_won_money": "{0} بصفة {1} فاز بالسباق وايضا {2}!", - "gambling_dice_invalid_number": "تم تحديد رقم غير صالح. يمكنك لف النرد {0} - {1} في مرة واحد.", - "gambling_dice_rolled": "دحرج {0}", - "gambling_dice_rolled_num": "دحرج النرد : {0}", - "gambling_race_failed_starting": "فشل بداية السباق. ربما سباق آخر في طور الحدوت.", - "gambling_race_not_exist": "لا يوجد سباق على هذا الموزع", - "gambling_second_larger_than_first": "الرقم الثانيي يجب ان يكون اكبر من الرقم الاول.", - "gambling_changes_of_heart": "تغير بالخاطر", - "gambling_claimed_by": "المطالبة", - "gambling_divorces": "طلاق", - "gambling_likes": "اعجاب", - "gambling_price": "ثمن", - "gambling_waifus_none": "لم يتم المطلبة بأي waifus بعد.", - "gambling_waifus_top_waifus": "افضل Waifus", - "gambling_waifu_affinity_already": "تم تعيين تقاربك بالفعل على Waifus أو كنت تحاول إزالة تقاربك أثناء عدم وجود واحد.", - "gambling_waifu_affinity_changed": "تغير إنجذابهم من {0} الى {1}\n*هذا مشكوك فيه أدبياً.*🤔 ", - "gambling_waifu_affinity_cooldown": "يجب ان تنتظر {0} ساعات و {1} دقائق إذا اردت تغيير انجذابك مرة أخرى.", - "gambling_waifu_affinity_reset": "تم إعادته إنجذابك. ليس لديك أي شخص تحبه.", - "gambling_waifu_affinity_set": "يريد ان يكون {0} وايفو. كيوووت 3>", - "gambling_waifu_claimed": "امتلك {0} waifu مقابل {1}!", - "gambling_waifu_divorced_like": "لقد طلقت waifu التي معجبة بك. أنت الوحش بلا قلب.\n{0} تلقى {1} كتعويض.", - "gambling_waifu_egomaniac": "لا يمكنك تعيين تقارب لنفسك، انت إغومانياك.", - "gambling_waifu_fulfilled": "🎉 يتم الوفاء بحبهم! 🎉\nقيمة {0} الجديدة {1}!", - "gambling_waifu_isnt_cheap": "ليس هنلك waifu بذلك الرخيص. يجب أن تدفع {0} على الأقل للحصول على waifu، حتى لو كانت قيمتها الفعلية أقل.", - "gambling_waifu_not_enough": "يجب أن تدفع {0} أو أكثر للمطالبة بذلك waifu!", - "gambling_waifu_not_yours": "هذه ليست زوجنك", - "gambling_waifu_not_yourself": "لا يمكنك المطالبة بنفسك.", - "gambling_waifu_recent_divorce": "كنت مطلقا مؤخرا. يجب عليك الانتظار {0} ساعة و {1} دقائق للطلاق مرة أخرى.", - "gambling_nobody": "لا أحد", - "gambling_waifu_divorced_notlike": "لقد طلقت waifu التي لا تحبك . لقد تلقيت {0}", - "games_8ball": "8 كرة", - "games_acrophobia": "رهاب الأجسام.", - "games_acro_ended_no_sub": "اللعبة انتهت بدون اي اخضاع.", - "games_acro_no_votes_cast": "لم يحتسب الاصوات . اللعبة انتهت بدون فائز.", - "games_acro_nym_was": "كان الاختصار {0}", - "games_acro_running": "Acrophobia game قيد التشغيل بالفعل في هذه القناة.", - "games_acro_started": "بدأت اللعبة. إنشاء جملة مع الاختصار التالي : {0}.", - "games_acro_started_footer": "لديك {0} ثانية لعمل اخضاع.", - "games_acro_submit": "{0} اعتمد حكمهم .({1} الاجمالي)", - "games_acro_vote": "تصويت بكتابة رقم من الاخضاع.", - "games_acro_vote_cast": "{0} وضعوا اصواتهم !", - "games_acro_winner": "الفائز هو {0} مع {1} من النقاط.", - "games_acro_winner_only": "{0} هو الفائزالوحيد كونه المستخدم الذي أرسل تقريرا!", - "games_question": "سؤال", - "games_rps_draw": "انها التعادل! اختار كلاهما {0}.", - "games_rps_win": "{0} فاز! {1} هزم على {2}.", - "games_submissions_closed": "اغلاق الاخضاع", - "gambling_animal_race_already_started": "سباق الحيوانات جاهز للركض.", - "gambling_total_average": "المجموع: {0} المعدل: {1}", - "games_category": "قوائم", - "games_cleverbot_disabled": "ايقاف البوت الذكي في هذا السيرفر", - "games_cleverbot_enabled": "تفعيل البوت الذكي في هذا السيرفر", - "games_curgen_disabled": "تم تعطيل توليد العملة في هذه القناة.", - "games_curgen_enabled": "تم تفعيل توليد العملة على هذه القناة.", - "games_curgen_pl": "{0} عشوائي {1} ظهر!", - "games_curgen_sn": "ظهر عشوائي {0}!", - "games_failed_loading_question": "فشل في تحميل السؤال", - "games_game_started": "بدأت اللعبة", - "games_hangman_game_started": "بدأت لعبة Hangman", - "games_hangman_running": "Hangman game قيد التشغيل بالفعل في هذه القناة.", - "games_hangman_start_errored": "بدأ hangman خطأ...", - "games_hangman_types": "قائمة \"{0} hangman\" أنواع المصطلحات:", - "games_leaderboard": "قائمة المتصدرين", - "games_not_enough": "انت لا تملك ما يكفي من{0}", - "games_no_results": "لا يوجد ناتج", - "games_picked": "حمل {0}", - "games_planted": "{0} زرع {1}", - "games_trivia_already_running": "لعبة Trivia تعمل على هذا السيرفر.", - "games_trivia_game": "لعبة Trivia", - "games_trivia_guess": "{0} لقد حزرها ! الجواب كان : {1}", - "games_trivia_none": "Trivia لا تعمل على هذا السيرفر.", - "games_trivia_points": "{0} لديه {1} نقطة", - "games_trivia_stopping": "التوقف بعد هذا السؤال", - "games_trivia_times_up": "انتهى الوقت ! الاجابة الصحيحة كانت {0}", - "games_trivia_win": "{0} حزر الاجابة وفاز باللعبة ! الاجابة كانت : {1}", - "games_ttt_against_yourself": "لا يمكنك اللعب ضد نفسك.", - "games_ttt_already_running": "TicTacToe Game قيد التشغيل بالفعل في هذه القناة.", - "games_ttt_a_draw": "تعادل !", - "games_ttt_created": "تم انتاج لعبة TicTacToe.", - "games_ttt_has_won": "{0} لقد فاز!", - "games_ttt_matched_three": "تطابق ثلاث", - "games_ttt_no_moves": "لا تحركات متبقية!", - "games_ttt_time_expired": "نفذ الوقت !", - "games_ttt_users_move": "حركة {0}.", - "games_vs": "{0} ضد {1}", - "music_attempting_to_queue": "جار محاولة تشغيل قائمة انتظار الأغاني {0} ...", - "music_autoplay_disabled": "تم تعطيل التشغيل التلقائي.", - "music_autoplay_enabled": "تم تفعيلل التشغيل التلقائي.", - "music_defvol_set": "تم ضبط مستوى الصوت الافتراضي على {0}٪", - "music_dir_queue_complete": "اكتمال دليل قائمة الانتظار", - "music_fairplay": "اللعب العادل", - "music_finished_song": "انتهت الاغنية", - "music_fp_disabled": "تم تعطيل اللعب العادل.", - "music_fp_enabled": "تم تفعيل اللعب العادل.", - "music_from_position": "من الوضع", - "music_id": "المعرف", - "music_invalid_input": "مدخل غير صالح.", - "music_max_playtime_none": "حد تشغيل المويسيقى ليس له حد الآن.", - "music_max_playtime_set": "يتم تعيين أقصى وقت تشغيل إلى {0} ثانية (ث).", - "music_max_queue_unlimited": "أقصى حجم لقائمة انتظار الموسيقى ضبط إلى غير محدود.", - "music_max_queue_x": "يتم تعيين الحد الأقصى لحجم قائمة انتظار الموسيقى إلى {0} المسار .", - "music_must_be_in_voice": "يجب أن تكون في القناة الصوتية على هذا السيرفر.", - "music_name": "اسم الاغنية", - "music_now_playing": "الان تسمع اغنية", - "music_no_player": "لايوجد موسيقى ", - "music_no_search_results": "لم يتم ايجاد البحث", - "music_paused": "توقف تشغيل الموسيقى مؤقتا.", - "music_player_queue": "قائمة انتظار اللاعبين - صفحة {0} / {1}", - "music_playing_song": "تشغيل الاغنية", - "music_playlists": "`#{0}` - **{1}** بواسطة *{2}* ({3} اغاني)", - "music_playlists_page": "صفحة {0} من قوائم التشغيل المحفوظة", - "music_playlist_deleted": "تم حذف قائمة التشغيل.", - "music_playlist_delete_fail": "فشل حذف قائمة التشغيل هذه. إما أنها غير موجودة، أو أنك لست مؤلفها.", - "music_playlist_id_not_found": "قائمة التشغيل مع هذا المعرف غير موجود.", - "music_playlist_queue_complete": "قائمة انتظار قائمة التشغيل كاملة.", - "music_playlist_saved": "حفظ قائمة التشغيل", - "music_play_limit": "{0} ث الحد", - "music_queue": "قائمة الانتظار", - "music_queued_song": "قائمة انتظار الاغاني", - "music_queue_cleared": "تم حذف قائمة انتظار الموسيقى.", - "music_queue_full": "قائمة الانتظار ممتلئة في {0} / {0}.", - "music_removed_song": "ازالة الاغنية", - "music_repeating_cur_song": "اعادة تشغيل الاغنية الحالية", - "music_repeating_playlist": "تكرار قائمة التشغيل", - "music_repeating_track": "تكرار المسار للموسيقى", - "music_repeating_track_stopped": "توقيف تكرار المسار الحالي", - "music_resumed": "تم استئناف تشغيل الموسيقى.", - "music_rpl_disabled": "تم تعطيل قائمة التشغيل المتكررة.", - "music_rpl_enabled": "تم تمكين قائمة التشغيل المتكرر.", - "music_set_music_channel": "وسوف أخرج الآن اللعب، والانتهاء، وأوقفت مؤقتا وإزالة الأغاني في هذه القناة.", - "music_skipped_to": "تخطي الى `{0}:{1}`", - "music_songs_shuffled": "خلط الاغاني", - "music_song_moved": "تحريك الاغنية", - "music_time_format": "{0}س {1}د {2}ث", - "music_to_position": "الى مكان", - "music_unlimited": "غير محدود", - "music_volume_input_invalid": "يجب أن يكون درجة الصوت بين 0 و 100", - "music_volume_set": "ضبط درجة الصوت الى {0}%", - "permissions_acm_disable": "تم تعطيل استخدام جميع وحدات الامر على القناة {0}.", - "permissions_acm_enable": "تم تفعيل استخدام جميع وحدات الامر على القناة {0}.", - "permissions_allowed": "السماح", - "permissions_arm_disable": "تعطيل استخدام جميع وحدات الامر للدور {0}.", - "permissions_arm_enable": "تفعيل استخدام جميع وحدات الامر للدور {0}.", - "permissions_asm_disable": " تعطيل استخدام جميع وحدات الامر على هذا السيرفر.", - "permissions_asm_enable": "تفعيل استخدام جميع وحدات الامر على هذا السيرفر.", - "permissions_aum_disable": "تعطيل استخدام جميع وحدات الامر للمستخدم {0}.", - "permissions_aum_enable": "تفعيل استخدام جميع وحدات الامر للمستخدم {0}.", - "permissions_blacklisted": "القائمة السوداء {0} مع المعرف {1}", - "permissions_cmdcd_add": "الامر {0} الان لديه {1}ث ليصبح جاهز.", - "permissions_cmdcd_cleared": "الأمر {0} ليس له أي تباطؤ الآن وقد تم إزالة جميع حالات التباطؤ الحالية.", - "permissions_cmdcd_none": "لم يتم تعيين أي تهدئة الأوامر.", - "permissions_command_costs": "تكلفة الامر", - "permissions_cx_disable": "ايقاف الاستخدام في {0} {1} على قناة {2}.", - "permissions_cx_enable": "تفعيل الاستخدام في {0} {1} على قناة {2}", - "permissions_denied": "رفض", - "permissions_filter_word_add": "تم اضافة الكلمة {0} الى قائمة الكلمات المصفاة.", - "permissions_filter_word_list": "قائمة الكلمات المصفاة.", - "permissions_filter_word_remove": "ازالة الكلمة {0} من لائحة الكلمات المصفاة .", - "permissions_invalid_second_param_between": "المعامل الثاني غير صحيح. (يجب أن تكون رقما بين {0} و {1})", - "permissions_invite_filter_channel_off": "الدعوات المصفاة تم ايقافها في هذه القناة.", - "permissions_invite_filter_channel_on": "الدعوات المصفاة مفعلة في هذه القناة.", - "permissions_invite_filter_server_off": "الدعوات المصفاة تم ايقافها في هذا السيرفر.", - "permissions_invite_filter_server_on": "الدعوات المصفاة مفعلة في هذا السيرفر.", - "permissions_moved_permission": "تحريك الاذن {0} من #{1} الى #{2}", - "permissions_not_found": "لا استطيع ايجاد الاذن في الدليل", - "permissions_no_costs": "لم يوضع تكلفة.", - "permissions_of_command": "الامر", - "permissions_of_module": "وحدة", - "permissions_page": "صفحة السماحات {0}", - "permissions_permrole": "وضع السماح للدور هو {0}", - "permissions_permrole_changed": "المستخدم يتطلب {0} دور للتمكن من تعديل الاذونات.", - "permissions_perm_out_of_range": "لم اجد الاذن في القائمة.", - "permissions_removed": "ازالة الاذن #{0} - {1} ", - "permissions_rx_disable": "ايقاف الاستخدام {0} {1} للدور{2}", - "permissions_rx_enable": "تفعيل الاستخدام {0} {1} للدور{2}", - "permissions_sec": "ثواني.", - "permissions_sx_disable": "ايقاف استخدام {0} {1} في هذا السيرفر", - "permissions_sx_enable": "تفعيل استخدام {0} {1} في هذا السيرفر", - "permissions_unblacklisted": "ازالة من قائمة السوداء {0} للمعرف {1}", - "permissions_uneditable": "لا يتعدل", - "permissions_ux_disable": "ايقاف الاستخدام {0} {1} للمستخدم {2}", - "permissions_ux_enable": "تفعيل الاستخدام {0} {1} للمستخدم {2}", - "permissions_verbose_false": "لن اقوم بأظهار اي تحذير للاذونات.", - "permissions_verbose_true": "سوف اظهر تحذير الاذونات.", - "permissions_word_filter_channel_off": "ايقاف تصفية الكلمات في هذه القناة.", - "permissions_word_filter_channel_on": "تفعيل تصفية الكلمات في هذه القناة.", - "permissions_word_filter_server_off": "ايقاف تصفية الكلمات في هذا السيرفر.", - "permissions_word_filter_server_on": "تفعيل تصفية الكلمات في هذا السيرفر.", - "searches_abilities": "قدرات", - "searches_anime_no_fav": "لا يوجد انمي مفضل بعد", - "searches_atl_ad_started": "البدء بالترجمة الفورية للمسجات في هذه القناة . رسائل المستخدم سيتم الغائها تلقائيا.", - "searches_atl_removed": "تمت إزالة لغة الترجمة التلقائية.", - "searches_atl_set": "تم تعيين لغة الترجمة التلقائية إلى {0}>{1}", - "searches_atl_started": "بدء الترجمة التلقائية للرسائل على هذه القناة.", - "searches_atl_stopped": "تم إيقاف الترجمة التلقائية للرسائل على هذه القناة.", - "searches_bad_input_format": "ادخال خطأ للصيغة, او شيء ما حدث بالخطأ.", - "searches_card_not_found": "لم استطع ايجاد هذه البطاقة.", - "searches_catfact": "واقعية", - "searches_chapters": "فصول", - "searches_comic_number": "رسوم متحركة #", - "searches_compet_loses": "خسائر تنافسية", - "searches_compet_played": "لعب تنافسي", - "searches_compet_rank": "مرتبة تنافسية", - "searches_compet_wins": "فوز تنافسي", - "searches_completed": "منتهي", - "searches_condition": "شرط", - "searches_cost": "تكلفة", - "searches_date": "موعد", - "searches_define": "تحديد:", - "searches_dropped": "اسقاط", - "searches_episodes": "حلقة", - "searches_error_occured": "حدث خطأ", - "searches_example": "مثال", - "searches_failed_finding_anime": "فشل ايجاد ذلك الانمي", - "searches_failed_finding_manga": "فشل ايجاد ذلك المانجا", - "searches_genres": "الانواع", - "searches_hashtag_error": "فشل العثور على تعريف لهذه العلامة.", - "searches_height_weight": "طول/وزن", - "searches_height_weight_val": "{0} م / {1} كجم", - "searches_humidity": "رطوبة", - "searches_image_search_for": "بحث الصورة في:", - "searches_imdb_fail": "فشل ايجاد ذلك الفيلم.", - "searches_invalid_lang": "لغة المصدر أو الهدف غير صالحة", - "searches_jokes_not_loaded": "النكت غير محملة", - "searches_latlong": "خط العرض/طول", - "searches_level": "مستوى", - "searches_list_of_place_tags": "قائمة {0} الامان المعلمة", - "searches_location": "المكان", - "searches_magicitems_not_loaded": "العناصر السحرية غير محملة.", - "searches_mal_profile": "{0} مال الصورة الشخصية ", - "searches_mashape_api_missing": "لم يحدد مالك بوت MashapeApiKey. لا يمكنك استخدام هذه الوظيفة.", - "searches_min_max": "ادنى/ اعلى", - "searches_no_channel_found": "القناة غير موجودة", - "searches_no_results": "لا توجد نتائج.", - "searches_on_hold": "على- الانتظار", - "searches_original_url": "الرابط الاصلي", - "searches_osu_api_key": "مطلوب مفتاح osu! API", - "searches_osu_failed": "فشل استرداد osu! التوقيع.", - "searches_over_x": "تم ايجاد اكثر من {0} صورة . عرض عشوائي{0}", - "searches_ow_user_not_found": "المستخدم ليس موجود! يرجى التحقق من المنطقة و BattleTag قبل المحاولة مرة أخرى.", - "searches_plan_to_watch": "خطط للمشاهدة", - "searches_platform": "منصة", - "searches_pokemon_ability_none": "لم يتم العثور على أي قدرة.", - "searches_pokemon_none": "لم اجد اليوكمون.", - "searches_profile_link": "رابط الملف الشخصي:", - "searches_quality": "الجودة:", - "searches_quick_playtime": "وقت اللعب السريع", - "searches_quick_wins": "الفوز السريع", - "searches_rating": "الترتيب", - "searches_score": "مجموع النقاط:", - "searches_search_for": "البحث عن:", - "searches_shorten_fail": "فشل تقصير الربط", - "searches_short_url": "عنوان الرابط قصير", - "searches_something_went_wrong": "هناك خطأ ما.", - "searches_specify_search_params": "يرجى تحديد معلمات البحث.", - "searches_status": "الحالة", - "searches_store_url": "حفظ الرابط", - "searches_streamer_offline": "ستريمر {0} غير متواجد حاليا.", - "searches_streamer_online": "ستريمر {0} على الإنترنت مع {1} من المشاهدين.", - "searches_streams_following": "انت تتابع {0} بث على هذا السيرفر", - "searches_streams_none": "انت لا تتابع اي بث على هذا السيرفر", - "searches_stream_no": "لا يوجد مثل هذا البث.", - "searches_stream_not_exist": "البث على الاغلب غير موجود.", - "searches_stream_removed": "تمت إزالة بث {0} '({1}) من الإشعارات.", - "searches_stream_tracked": "سوف اعلم هذه القناة عند تغير الحالة.", - "searches_sunrise": "شروق الشمس", - "searches_sunset": "غروب الشمس", - "searches_temperature": "درجة الحرارة", - "searches_title": "عنوان:", - "searches_top_3_fav_anime": "اعلى 3 أنيمي مفضلة:", - "searches_translation": "ترجمة:", - "searches_types": "الأنواع", - "searches_ud_error": "فشل العثور على تعريف لهذا المصطلح.", - "searches_url": "رابط", - "searches_viewers": "متابعين", - "searches_watching": "مشاهدة", - "searches_wikia_error": "فشل العثور على هذا المصطلح على wikia المحدد.", - "searches_wikia_input_error": "الرجاء إدخال وتحديد wikia ، يليه طلب البحث.", - "searches_wiki_page_not_found": "الصفحة غير موجودة.", - "searches_wind_speed": "سرعة الرياح", - "searches_x_most_banned_champs": "معظم الأبطال المحظورة {0}", - "searches_yodify_error": "أخفق تعديل الجملة.", - "utiliity_joined": "انضم", - "utility_activity_line": "{0} .` {1} [{2: F2} / s] - {3} al'iijmali", - "utility_activity_page": "صفحة النشاط #{0}", - "utility_activity_users_total": "{0} مجموع المستخدمين.", - "utility_author": "مؤلف", - "utility_botid": "بوت ID", - "utility_calcops": "قائمة الوظائف في الأمر {0} كلك", - "utility_channelid": "{0} من هذه القناة هو {1}", - "utility_channel_topic": "موضوع القناة", - "utility_commands_ran": "تم تشغيل الأوامر", - "utility_convert": "{0} {1} يساوي {2} {3}", - "utility_convertlist": "الوحدات التي يمكن استخدامها من قبل المحول", - "utility_convert_not_found": "لا يمكنني تحويل {0} الى {1}: الوحة غير موجودة", - "utility_convert_type_error": "لا يمكن تحويل {0} إلى {1}: أنواع الوحدات غير متساوية", - "utility_created_at": "أنشئت في", - "utility_csc_join": "انضممت الى قناة تقاطع السيرفارات", - "utility_csc_leave": "مغادرة قناة تقاطع السيرفارات ", - "utility_csc_token": "هذا csc قطعة", - "utility_custom_emojis": "الرمز التعبيري المخصص", - "utility_error": "خطأ", - "utility_features": "الميزات\n", - "utility_id": "الهوية\n", - "utility_index_out_of_range": "القائمة خارج النطاق.", - "utility_inrole_list": "قائمة المستخدمين في {0} دور", - "utility_inrole_not_allowed": "لا يسمح لك باستخدام هذا الأمر في الأدوار التي تملك الكثير من المستخدمين فيها لكي تمنع الإساءة", - "utility_invalid_value": "قيمة {0} غير صالحة", - "utility_joined_discord": "انضم إلى ديسكورد", - "utility_joined_server": "انضم إلى السيرفر", - "utility_listservers": "الهوية: {0}\nالأعضاء: {1}\nهوية المالك: {2}", - "utility_listservers_none": "لم يتم ايجاد سيرفر على تلك الصفحة", - "utility_list_of_repeaters": "قائمة المكررين", - "utility_members": "اعضاء", - "utility_memory": "ذاكرة", - "utility_messages": "رسالة", - "utility_message_repeater": "مكرر رسائل", - "utility_name": "الاسم", - "utility_nickname": "الاسم المستعار", - "utility_nobody_playing_game": "لا احد يلعب تلك اللعبة", - "utility_no_active_repeaters": "لا نشاط للمكريرن", - "utility_no_roles_on_page": "لا يوجد ادوار في هذه الصفحة", - "utility_no_shards_on_page": "لا توجد شارد في هذه الصفحة.", - "utility_no_topic_set": "لم يضبط الموضوع", - "utility_owner": "مالك", - "utility_owner_ids": "صاحب IDs", - "utility_presence": "حضور", - "utility_presence_txt": "{0} سيرفرز\n{1} قناة الرسائل\n{2} قناة الصوت", - "utility_quotes_deleted": "تم حذف جميع علامات الاقتباس باستخدام كلمة رئيسية {0}", - "utility_quotes_page": "صفحة {0} من علامات الاقتباس", - "utility_quotes_page_none": "لا توجد علامات اقتباس لهذا المعرف في هذه الصفحة.", - "utility_quotes_remove_none": "لم يتم العثور على علامات الاقتباس التي يمكنك إزالة.", - "utility_quote_added": "تمت إضافة اقتباس", - "utility_quote_deleted": "تم حذف الاقتباس #{0}", - "utility_region": "منطقة", - "utility_registered_on": "مسجل في", - "utility_remind": "سأذكر {0} إلى {1} في {2} `({3: d.M.yyyy.} في {4: س: د})`", - "utility_remind_invalid_format": " تنسيق الوقت ليس صالحا. تحقق من قائمة الأوامر.", - "utility_remind_template": "تذكير جديد قالب مضبوط", - "utility_repeater": "تكرار {0} كل {1} يوم ، {2} ساعة و {3} دقيقة (دقائق).", - "utility_repeaters_list": "قائمة المكررين", - "utility_repeaters_none": "لا يوجد مكررين على هذا السيرفر", - "utility_repeater_stopped": "#{0} توقف", - "utility_repeat_invoke_none": "لم اجد رسائل مكررة على هذا السيرفر", - "utility_result": "ناتج", - "utility_roles": "دور", - "utility_roles_all_page": "صفحة #{0} لجميع الادوار على هذا السيرفر", - "utility_roles_page": "صفحة #{0} من الادوار ل {1}", - "utility_rrc_no_colors": "لا توجد ألوان بالتنسيق الصحيح. استخدم `# 00ff00` على سبيل المثال.", - "utility_rrc_start": "بدأ تدوير لون الدور{0}", - "utility_rrc_stop": "توقف الألوان الدورية لدور {0}", - "utility_serverid": "{0} من هذا السيرفر{1}", - "utility_server_info": "معلومات السيرفر", - "utility_shard": "شارد", - "utility_shard_stats": "وضع شارد", - "utility_shard_stats_txt": "شارد ** # {0} ** في حالة {1} مع سيرفارات {2}", - "utility_showemojis": "**الاسم:** {0} **الرابط:**{1}", - "utility_showemojis_none": "لم يتم العثور على رموز تعبيرية خاصة.", - "utility_stats_songs": "تشغيل الأغاني {0}. {1} في قائمة الانتظار.", - "utility_text_channels": "قناة الرسائل", - "utility_togtub_room_link": "إليك رابط غرفتك:", - "utility_uptime": "مدة التشغيل", - "utility_userid": "{0} للمستخدم {1} هو {2}", - "utility_users": "المستخدمين", - "utility_voice_channels": "قناة الصوت", - "gambling_animal_race_already_in": "لقد انضممت بالفعل لهذا السباق!", - "games_current_poll_results": "نتائج الاستطلاع الحالية", - "games_no_votes_cast": "لا اصوات وضعت", - "games_poll_already_running": "يتم تشغيل الاستطلاع بالفعل على هذا السيرفر", - "games_poll_created": "📃 {0} قام بإنشاء استطلاع يتطلب انتباهك:", - "games_poll_result": "`{0}.` {1} مع {2} اصوات.", - "games_poll_voted": "{0} صوت.", - "games_poll_vote_private": "ارسل لي رسالة خاصة بعدد الاجوبة المطابقة", - "games_poll_vote_public": "ارسل رسالة هنا بعدد الاجوبة المطابقة", - "games_thanks_for_voting": "شكرا للتصويت {0}", - "games_x_votes_cast": "مجموع الاصوات{0}", - "games_pick_pl": "التقطهم بكتابة `{0} pick`", - "games_pick_sn": "التقطها بكتابة `{0} pick`", - "gambling_no_users_found": "لم يتم العثور على مستخدم", - "gambling_page": "صفحة {0}", - "administration_must_be_in_voice": "يجب أن تكون في قناة الصوت على هذا السيرفر", - "administration_no_vcroles": "لا توجد أدوار لقنوات الصوت", - "administration_user_muted_time": "{0} تم **كتم صوت ** من الدردشة النصية والصوتية لمدة {1} دقيقة", - "administration_vcrole_added": "سيحصل المستخدمون الذين ينضمون إلى القناة الصوتية {0} على الدور {1}.", - "administration_vcrole_removed": "لن يحصل المستخدمون الذين ينضمون إلى القناة الصوتية {0} على دور.", - "administration_vc_role_list": "ادوار قناة الصوت", - "customreactions_crad_disabled": "لن يتم حذف الرسالة التي تؤدي إلى تفاعل الرموز مخصص مع المعرف {0} تلقائيا", - "customreactions_crad_enabled": "سيتم حذف الرسالة التي تؤدي إلى تفاعل مخصص مع المعرف {0} تلقائيا.", - "customreactions_crdm_disabled": "لن يتم إرسال رسالة الاستجابة لتفاعل مخصص مع المعرف {0} ك DM.", - "customreactions_crdm_enabled": "سيتم إرسال رسالة الاستجابة لتفاعل مخصص مع المعرف {0} ك DM.", - "utility_aliases_none": "لم يتم العثور على اسم مستعار", - "utility_alias_added": "كتابة {0} ستصبح الآن اسما مستعار ل {1}.", - "utility_alias_list": "قائمة الأسماء المستعارة", - "utility_alias_removed": "تفعيل {0} لم يعد له اسم مستعار.", - "utility_alias_remove_fail": "فعلت {0} لا تملك اسم مستعار.", - "searches_compet_playtime": "تنافسية وقت اللعب", - "administration_channel": "قناة", - "administration_command_text": "امر نصي", - "administration_kicked_pl": "طرد", - "administration_moderator": "مشرف", - "administration_page": "صفحة {0}", - "administration_reason": "سبب", - "administration_scadd": "تمت إضافة أمر بدء التشغيل الجديد.", - "administration_scrm": "تمت إزالة أمر بدء التشغيل بنجاح.", - "administration_scrm_fail": "لم يتم العثور على أمر بدء التشغيل.", - "administration_server": "سيرفر", - "administration_startcmdlist_none": "لا توجد أوامر بدء التشغيل في هذه الصفحة.", - "administration_startcmds_cleared": "مسح جميع أوامر بدء التشغيل.", - "administration_unbanned_user": "المستخدم {0} اصبح غير محظور.", - "administration_user_not_found": "المستخدم ليس موجود.", - "administration_user_warned": "تم تحذير المستخدم {0}.", - "administration_user_warned_and_punished": "تم تحذير المستخدم {0} وتم تطبيق العقوبة {1}", - "administration_warned_on": "تم تحذيره على سيرفر {0}", - "administration_warned_on_by": "على {0} في {1} بواسطة {2}", - "administration_warnings_cleared": "تم مسح جميع التحذيرات {0}.", - "administration_warnings_none": "لا يوجد تحذير في هذه الصفحة", - "administration_warnlog_for": "سجل التحذير ل {0}", - "administration_warnpl_none": "لم يتم تعيين عقوبات.", - "administration_warn_cleared_by": "تم حذفها بواسطة {0}", - "administration_warn_punish_list": "تحذير قائمة العقاب", - "administration_warn_punish_rem": "امتلاك {0} تحذيرات لن تؤدي إلى عقاب.", - "administration_warn_punish_set": "سأطبق {0} عقوبة على المستخدمين الذين لديهم {1} تحذيرات.", - "administration_slowmodewl_role_start": "سيتجاهل الوضع البطيئ هذا الدور {0}", - "administration_slowmodewl_role_stop": "الوضع البطيئ لن يتجاهل هذا الدور {0} بعد الان", - "administration_slowmodewl_user_start": "الوضع البطيئ سيتجاهل المستخدم {0}", - "administration_slowmodewl_user_stop": "الوضع البطيئ لن يتجاهل هذا المستخدم {0} بعد الان", - "utility_clpa_fail": "أخفق المطالبة بالمكافآت بسبب أحد الأسباب التالية:", - "utility_clpa_fail_already": "ربما تكون قد تلقيت بالفعل مكافأتك لهذا الشهر. يمكنك الحصول على المكافآت مرة واحدة فقط في الشهر إلا إذا قمت بزيادة تعهدك.", - "utility_clpa_fail_already_title": "تم مكافأتك بالفعل", - "utility_clpa_fail_conn": "حساب Discord الخاص بك قد لا يكون مربوط مع Patreon . إذا كنت غير متأكد ما يعني ذلك، أو لا تعرف كيفية توصيله - عليك أن تذهب إلى [Patreon إعدادات حساب الصفحة] (https://patreon.com/settings/account)\nوانقر على زر \"الاتصال إلى Discord \".", - "utility_clpa_fail_conn_title": "حساب Discord غير متصل", - "utility_clpa_fail_sup": "كي تكون مؤهلا للحصول على المكافأة، يجب أن تدعم المشروع على باترون. يمكنك استخدام الأمر {0} للحصول على الرابط.", - "utility_clpa_fail_sup_title": "لا تدعم", - "utility_clpa_fail_wait": "عليك أن تنتظر بضع ساعات بعد تقديم التعهد، إذا لم تقم بذلك، حاول مرة أخرى في وقت لاحق.", - "utility_clpa_fail_wait_title": "انتظر بعض الوقت", - "utility_clpa_success": "لقد تلقيت {0} شكرا لدعم المشروع!", - "utility_clpa_too_early": "يمكن المطالبة بالمكافآت في أو بعد 5 من كل شهر.", - "searches_time": "الوقت {0} هو {1} - {2}", - "administration_rh": "تعيين عرض دور التحالف {0} إلى {1}.", - "gambling_name": "اسم", - "gambling_shop": "متجر", - "gambling_shop_item_add": "تمت إضافة عنصر التسوق", - "gambling_shop_none": "لم يتم العثور على عنصر تسوق في هذه الصفحة.", - "gambling_shop_role": "ستحصل على دور {0}.", - "gambling_type": "نوع", - "utility_clpa_next_update": "التحديث التالي في {0}", - "administration_global_perms_reset": "تمت إعادة تعيين الأذونات العامة.", - "administration_gvc_disabled": "تم تعطيل ميزة قناة صوت اللعبة على هذا السيرفر.", - "administration_gvc_enabled": "{0} هي قناة صوت اللعبة الآن.", - "administration_not_in_voice": "أنت لست في قناة صوتية على هذا السيرفر.", - "gambling_item": "عنصر", - "gambling_out_of_stock": "إنتهى من المخزن.", - "gambling_random_unique_item": "عنصر فريد عشوائي.", - "gambling_shop_buy_error": "خطأ ارسال العنصر. لقد تم رد الأموال إليك.", - "gambling_shop_item_not_found": "لم يتم العثور على أي عنصر في هذا الفهرس.", - "gambling_shop_item_purchase": "شراء العنصر بناجح.", - "gambling_shop_item_rm": "تمت إزالة عنصر التسوق", - "gambling_shop_item_wrong_type": "ذلك الادخال للتسوق لا يدعم اضافة العنصر", - "gambling_shop_list_item_added": "تمت إضافة العنصر بنجاح.", - "gambling_shop_list_item_not_unique": "تمت إضافة هذا العنصر من قبل.", - "gambling_shop_purchase": "الشراء على السيرفر {0}", - "gambling_shop_role_not_found": "الدور الذي يتم بيعه لم يعد موجودا.", - "gambling_shop_role_purchase": "لقد اشتريت الدور {0} بنجاح.", - "gambling_shop_role_purchase_error": "حدث خطأ أثناء تعيين الدور. تم رد أموال عملية الشراء.", - "gambling_unique_items_left": "{0} العناصر الفريدة المتبقية.", - "permissions_blocked_commands": "الأوامر المحظورة", - "permissions_blocked_modules": "وحدات الامر المحظورة", - "permissions_gcmd_add": "تم تعطيل الأمر {0} على كافة السيرفرات.", - "permissions_gcmd_remove": "تم تفعيل الأمر {0} على كافة السيرفرات.", - "permissions_gmod_add": "وحدات الامر {0} تم ايقافها على كل السيرفرات", - "permissions_gmod_remove": "وحدات الامر {0} تم تفعيلها على كل السيرفرات", - "permissions_lgp_none": "لا يوجد حظر للاوامر أو الوحدات النمطية" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.en-US.json b/src/NadekoBot/_strings/ResponseStrings.en-US.json index 97320628..a5e7b5d5 100644 --- a/src/NadekoBot/_strings/ResponseStrings.en-US.json +++ b/src/NadekoBot/_strings/ResponseStrings.en-US.json @@ -605,9 +605,9 @@ "utility_convert_not_found": "Cannot convert {0} to {1}: units not found", "utility_convert_type_error": "Cannot convert {0} to {1}: types of unit are not equal", "utility_created_at": "Created at", - "utility_csc_join": "Joined cross server channel.", - "utility_csc_leave": "Left cross server channel.", - "utility_csc_token": "This is your CSC token", + "utility_chc_join": "Joined cross server channel.", + "utility_chc_leave": "Left cross server channel.", + "utility_chc_token": "This is your CSC token", "utility_custom_emojis": "Custom emojis", "utility_error": "Error", "utility_features": "Features", diff --git a/src/NadekoBot/_strings/ResponseStrings.es-ES.json b/src/NadekoBot/_strings/ResponseStrings.es-ES.json deleted file mode 100644 index f9f32c84..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.es-ES.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Esa base ya fue reclamada o destruida.", - "clashofclans_base_already_destroyed": "Esa base ya fue destruida.", - "clashofclans_base_already_unclaimed": "Esa base no ha sido reclamada.", - "clashofclans_base_destroyed": "**Destruida** la base #{0} en la guerrra contra {1}", - "clashofclans_base_unclaimed": "{0} ha **liberado** la base #{1} en la guerra contra {2}", - "clashofclans_claimed_base": "{0} reclamó la base #{1} en la guerra contra {2}", - "clashofclans_claimed_other": "@{0} Ya has reclamado la base #{1}. No puedes reclamar otra.", - "clashofclans_claim_expired": "La reclamación de @{0} en la guerra contra {1} ha expirado.", - "clashofclans_enemy": "Enemigo", - "clashofclans_info_about_war": "Información sobre la guerra contra {0}", - "clashofclans_invalid_base_number": "Número de base inválido.", - "clashofclans_invalid_size": "No es un tamaño de guerra válido.", - "clashofclans_list_active_wars": "Lista de guerras activas", - "clashofclans_not_claimed": "no reclamada", - "clashofclans_not_partic": "No estás participando en esa guerra.", - "clashofclans_not_partic_or_destroyed": "@{0} No estás participando en esa guerra o esa base ya fue destruida.", - "clashofclans_no_active_wars": "No hay guerra activa.", - "clashofclans_size": "Tamaño", - "clashofclans_war_already_started": "La guerra contra {0} ya ha iniciado.", - "clashofclans_war_created": "La guerra contra {0} ha sido creada.", - "clashofclans_war_ended": "La guerra contra {0} ha terminado.", - "clashofclans_war_not_exist": "Esa guerra no existe.", - "clashofclans_war_started": "¡La guerra contra {0} ha iniciado!", - "customreactions_all_stats_cleared": "Las estadísticas de los comandos personalizados han sido borradas.", - "customreactions_deleted": "Comando personalizado eliminado", - "customreactions_insuff_perms": "Insuficientes permisos. Necesitas administrar propiamente el Bot para comandos globales y ser administrador del servidor para locales.", - "customreactions_list_all": "Lista de todos los comandos personalizados", - "customreactions_name": "Comandos personalizados", - "customreactions_new_cust_react": "Nuevo comando personalizado", - "customreactions_no_found": "No se ha encontrado el comando.", - "customreactions_no_found_id": "No se ha encontrado ningún comando con esa ID.", - "customreactions_response": "Respuesta", - "customreactions_stats": "Estadísticas de los comandos personales", - "customreactions_stats_cleared": "Estadísticas borradas para el comando personalizado {0}.", - "customreactions_stats_not_found": "No se encontraron estadísticas.", - "customreactions_trigger": "Escribe", - "nsfw_autohentai_stopped": "Hentai automático detenido.", - "nsfw_not_found": "Sin resultados.", - "pokemon_already_fainted": "{0} ya ha sido derrotado.", - "pokemon_already_full": "{0} ya tiene todo su HP.", - "pokemon_already_that_type": "Tu tipo ya es {0}", - "pokemon_attack": "usó {0}{1} en {2}{3} y le hizo {4} de daño.", - "pokemon_cant_attack_again": "¡No puedes atacar de nuevo sin ser atacado!", - "pokemon_cant_attack_yourself": "No puedes atacarte a ti mismo.", - "pokemon_fainted": "¡{0} ha sido derrotado!", - "pokemon_healed": "se curó {0} con una {1}", - "pokemon_hp_remaining": "{0} le queda {1} de HP.", - "pokemon_invalid_move": "No puedes usar {0}. Escribe `{1}ml` para ver la lista de movimientos que puedes usar.", - "pokemon_moves": "Lista de movimientos para el tipo {0}", - "pokemon_not_effective": "No es efectivo.", - "pokemon_no_currency": "No tienes suficientes {0}", - "pokemon_revive_other": "revivido {0} con una {1}", - "pokemon_revive_yourself": "Te has revivido con una {0}", - "pokemon_settype_success": "Tu tipo ha cambiado a {0} por una {1}", - "pokemon_somewhat_effective": "Es efectivo.", - "pokemon_super_effective": "¡Es superefectivo!", - "pokemon_too_many_moves": "¡Has usado muchos movimientos seguidos, así que no puedes moverte!", - "pokemon_type_of_user": "El tipo de {0} es {1}", - "pokemon_user_not_found": "No encuentro ese usuario.", - "pokemon_you_fainted": "¡Ya no puedes continuar!", - "administration_aar_disabled": "**Rol autoasignable** en usuarios que ingresen **desactivado**.", - "administration_aar_enabled": "**Rol autoasignable** en usuarios que ingresen **activado**.", - "administration_attachments": "Adjuntos", - "administration_avatar_changed": "Avatar cambiado", - "administration_bandm": "Has sido bloqueado del servidor {0}. \nRazón: {1}", - "administration_banned_pl": "bloqueados", - "administration_banned_user": "Usuario bloqueado", - "administration_bot_name": "Cambiado el nombre del Bot a {0}", - "administration_bot_status": "Cambiado el estado del bot a {0}", - "administration_byedel_off": "Eliminación automática de mensajes de despedida desactivada.", - "administration_byedel_on": "Los mensajes de despedida serán eliminados después de {0} segundos.", - "administration_byemsg_cur": "El mensaje de despedida actual es: {0}", - "administration_byemsg_enable": "Activa los mensajes de despedida escribiendo {0}", - "administration_byemsg_new": "Nuevo mensaje de despedida configurado.", - "administration_bye_off": "Anuncio de despedida desactivado.", - "administration_bye_on": "Anuncio de despedida activado en este canal.", - "administration_ch_name_change": "Nombre del canal cambiado.", - "administration_ch_old_name": "Nombre anterior", - "administration_ch_topic_change": "Tema del canal cambiado", - "administration_cleaned_up": "Ordenado.", - "administration_content": "Contenido", - "administration_cr": "Rol creado con éxito {0}", - "administration_createtextchan": "Canal de texto {0} creado.", - "administration_createvoich": "Canal de voz {0} creado.", - "administration_deafen": "Ensordecimiento satisfactorio.", - "administration_deleted_server": "Servidor {0} eliminado", - "administration_delmsg_off": "Detenida la eliminación automática de comandos de invocación.", - "administration_delmsg_on": "Eliminación automática de comandos de invocación activada.", - "administration_deltextchan": "Canal de texto {0} eliminado.", - "administration_delvoich": "Canal de voz {0} eliminado.", - "administration_dm_from": "MP de", - "administration_donadd": "Añadido nuevo donador satisfactoriamente. Total donado por este usuario: {0} 👑", - "administration_donators": "¡Gracias a las personas enlistadas por apoyar el proyecto!", - "administration_fwall_start": "Redirigiré los MPs a todos los administradores.", - "administration_fwall_stop": "Redirigiré los MPs solamente al primer administrador.", - "administration_fwdm_start": "Redirigiré los MPs desde ahora.", - "administration_fwdm_stop": "Ya no redirigiré los MPs.", - "administration_greetdel_off": "Eliminación automática de los mensajes de bienvenida desactivada.", - "administration_greetdel_on": "Los mensajes de bienvenida serán eliminados después de {0} segundos.", - "administration_greetdmmsg_cur": "Actual mensaje de bienvenida por MP: {0}", - "administration_greetdmmsg_enable": "Activa los mensajes de bienvenida por MP escribiendo {0}", - "administration_greetdmmsg_new": "Nuevo mensaje de bienvenida por MP configurado.", - "administration_greetdm_off": "Anuncio de bienvenida por MP desactivado.", - "administration_greetdm_on": "Anuncio de bienvenida por MP activado.", - "administration_greetmsg_cur": "Mensaje de bienvenida actual: {0}", - "administration_greetmsg_enable": "Activa los mensajes de bienvenida escribiendo {0}", - "administration_greetmsg_new": "Nuevo mensaje de bienvenida configurado.", - "administration_greet_off": "Anuncio de bienvenida desactivado.", - "administration_greet_on": "Anuncio de bienvenida activado en este canal.", - "administration_hierarchy": "No puedes usar este comando con usuarios que tienen un rol más alto o igual al tuyo.", - "administration_images_loaded": "¡Imágenes cargadas después de {0} segundos!", - "administration_invalid_format": "Formato de entrada no válido.", - "administration_invalid_params": "Parámetros no válidos.", - "administration_joined": "{0} ha entrado {1}", - "administration_kickdm": "Has sido expulsado del servidor {0}.\nRazón: {1}", - "administration_kicked_user": "Usuario expulsado:", - "administration_lang_list": "Lista de lenguajes", - "administration_lang_set": "El lenguaje local del servidor ahora es {0} - {1}", - "administration_lang_set_bot": "Lenguaje local por defecto del Bot ahora es {0} - {1}", - "administration_lang_set_bot_show": "Lenguaje del Bot configurado a {0} - {1}", - "administration_lang_set_fail": "No pude configurar el lenguaje local. Revisa la ayuda.", - "administration_lang_set_show": "El lenguaje del servidor fue configurado a {0} - {1}", - "administration_left": "{0} ha salido {1}", - "administration_left_server": "Servidor abandonado {0}", - "administration_log": "Registrando los eventos de {0} en este canal.", - "administration_log_all": "Registrando todos los eventos en este canal.", - "administration_log_disabled": "Registro deshabilitado.", - "administration_log_events": "Registro de eventos a los que te puedes suscribir:", - "administration_log_ignore": "El registro ignorará {0}.", - "administration_log_not_ignore": "El registro no ignorará {0}.", - "administration_log_stop": "El registro de los eventos de {0} fue detenido.", - "administration_menrole": "{0} ha pedido mención de los siguientes roles:", - "administration_message_from_bo": "Mensaje de {0} `[Administrador del Bot]`:", - "administration_message_sent": "Mensaje enviado.", - "administration_moved": "{0} movido de {1} a {2}", - "administration_msg_del": "Mensaje eliminado en #{0}", - "administration_msg_update": "Mensaje actualizado en #{0}", - "administration_muted_pl": "Silenciados.", - "administration_muted_sn": "Silenciado.", - "administration_mute_error": "No tengo los permisos necesarios.", - "administration_mute_role_set": "Nuevo rol de Silenciar definido.", - "administration_need_admin": "Necesito permisos de **administrador** para hacer eso.", - "administration_new_msg": "Nuevo mensaje.", - "administration_new_nick": "Nuevo apodo.", - "administration_new_topic": "Nuevo tema.", - "administration_nick_change": "Apodo cambiado.", - "administration_no_server": "No se puede encontrar ese servidor.", - "administration_no_shard_id": "No encontré un fragmento con esa ID.", - "administration_old_msg": "Mensaje anterior", - "administration_old_nick": "Apodo anterior", - "administration_old_topic": "Tema anterior", - "administration_perms": "Error. Creo que no tengo suficientes permisos.", - "administration_perms_reset": "Los permisos de este servidor han sido reiniciados.", - "administration_prot_active": "Protecciones activas", - "administration_prot_disable": "{0} ha sido **desactivado** en este servidor.", - "administration_prot_enable": "{0} activado", - "administration_prot_error": "Error. Necesito permisos para administrar roles.", - "administration_prot_none": "Sin protección activada.", - "administration_raid_cnt": "La entrada del usuario debe ser entre {0} y {1}.", - "administration_raid_stats": "Si {0} o más usuarios entran entre {1} segundos, los voy a {2}", - "administration_raid_time": "El tiempo debe ser entre {0} y {1} segundos.", - "administration_rar": "He removido todos los roles del usuario {0}", - "administration_rar_err": "No pude remover los roles. No tengo suficientes permisos.", - "administration_rc": "El color del rol {0} ha sido cambiado.", - "administration_rc_not_exist": "Ese rol no existe.", - "administration_rc_params": "Los parámetros especificados no son válidos.", - "administration_rc_perms": "Error debido a un color no válido o insuficiencia de permisos.", - "administration_remrole": "He removido satisfactoriamente el rol {0} del usuario {1}.", - "administration_remrole_err": "No pude remover el rol. Insuficientes permisos.", - "administration_renrole": "Rol renombrado.", - "administration_renrole_err": "No pude renombrar el rol. No tengo suficientes permisos.", - "administration_renrole_perms": "No puedes editar roles con más poder que el tuyo.", - "administration_reprm": "Removido el mensaje de estado: {0}", - "administration_role_added": "El rol {0} ha sido añadido a la lista.", - "administration_role_clean": "No encontré {0}.", - "administration_role_in_list": "El rol {0} ya está en la lista.", - "administration_ropl_added": "Añadido.", - "administration_ropl_disabled": "Rotación de estados desactivada.", - "administration_ropl_enabled": "Rotación de estado activada.", - "administration_ropl_list": "Aquí está la lista de rotaciones de estado: {0}", - "administration_ropl_not_set": "No hay rotaciones de estado configuradas.", - "administration_self_assign_already": "Ya tienes el rol {0}.", - "administration_self_assign_already_excl": "Ya tienes el rol autoasignable exclusivo {0}.", - "administration_self_assign_excl": "Ahora los roles autoasignables son exclusivos.", - "administration_self_assign_list": "Hay {0} roles autoasignables.", - "administration_self_assign_not": "Ese rol no es autoasignable.", - "administration_self_assign_not_have": "No tienes el rol {0}.", - "administration_self_assign_no_excl": "Los roles autoasignables ya no son exclusivos.", - "administration_self_assign_perms": "No puedo añadirte ese rol. No puedo añadirle roles a administradores u otros roles con rangos más altos.", - "administration_self_assign_rem": "{0} ha sido removido de la lista de roles autoasignables.", - "administration_self_assign_remove": "Ya no tienes el rol {0}.", - "administration_self_assign_success": "Ahora tienes el rol {0}.", - "administration_setrole": "Añadido satisfactoriamente el rol {0} al usuario {1}.", - "administration_setrole_err": "No pude añadir el rol. Insuficientes permisos.", - "administration_set_avatar": "Nuevo avatar configurado.", - "administration_set_channel_name": "Nuevo nombre del canal configurado.", - "administration_set_game": "Nuevo juego configurado.", - "administration_set_stream": "Nueva transmisión configurada.", - "administration_set_topic": "Nuevo tema del canal configurado.", - "administration_shard_reconnected": "Fragmento {0} reconectado.", - "administration_shard_reconnecting": "Reconectando fragmento {0}.", - "administration_shutting_down": "Apagando", - "administration_slowmode_desc": "Los usuarios no pueden enviar más de {0} mensajes cada {1} segundos.", - "administration_slowmode_disabled": "Modo lento desactivado.", - "administration_slowmode_init": "Modo lento iniciado", - "administration_soft_banned_pl": "advertidos (expulsado)", - "administration_spam_ignore": "{0} ignorará este canal.", - "administration_spam_not_ignore": "{0} no ignorará este canal.", - "administration_spam_stats": "Si un usuario publica {0} el mismo mensaje rápidamente, voy a {1}.\n__CanalesIgnorados__: {2}", - "administration_text_chan_created": "Canal de texto creado.", - "administration_text_chan_destroyed": "Canal de texto removido.", - "administration_undeafen": "Ensordecimiento removido.", - "administration_unmuted_sn": "Desilenciado", - "administration_username": "Nombre de usuario", - "administration_username_changed": "Nombre de usuario cambiado", - "administration_users": "Usuarios", - "administration_user_banned": "Usuario bloqueado", - "administration_user_chat_mute": "{0} ha sido **silenciado** del chat.", - "administration_user_chat_unmute": "{0} ha sido **desilenciado** del chat.", - "administration_user_joined": "Usuario se unió.", - "administration_user_left": "Usuario se fue.", - "administration_user_muted": "{0} ha sido **silenciado** de chat y voz.", - "administration_user_role_add": "Rol del usuario añadido", - "administration_user_role_rem": "Rol del usuario removido", - "administration_user_status_change": "{0} ahora está {1}", - "administration_user_unmuted": "{0} ha sido **desilenciado** de chat y voz.", - "administration_user_vjoined": "{0} ha entrado al canal de voz {1}.", - "administration_user_vleft": "{0} ha salido del canal de voz {1}.", - "administration_user_vmoved": "{0} movido del canal de voz {1} a {2}.", - "administration_user_voice_mute": "{0} ha sido **silenciado de voz**", - "administration_user_voice_unmute": "{0} ha sido **desilenciado de voz**.", - "administration_voice_chan_created": "Canal de voz creado", - "administration_voice_chan_destroyed": "Canal de voz destruido", - "administration_vt_disabled": "Desactivada la opción de voz + texto.", - "administration_vt_enabled": "Activada la opción de voz + texto.", - "administration_vt_exit": "No tengo los permisos para **administrar roles** y/o **administrar canales**, así que no puedo ejecutar `voz+texto` en el servidor {0}.", - "administration_vt_no_admin": "Estás activando o desactivando esto y **no poseo permisos de ADMINISTRADOR**. Esto puede causar problemas y tendrás que arreglar los canales tú mismo después.", - "administration_vt_perms": "Necesito permisos para **administrar roles** y **administrar canales** para hacer esto. De preferencia permisos de Administración.", - "administration_xmuted_text": "Usuario {0} de chat.", - "administration_xmuted_text_and_voice": "Usuario {0} de chat y voz.", - "administration_xmuted_voice": "Usuario {0} del chat de voz", - "administration_sbdm": "Has sido advertido en el servidor {0}. \nRazón: {1}", - "administration_user_unbanned": "Usuario desbloqueado:", - "administration_migration_done": "¡Migración terminada!", - "adminsitration_migration_error": "Error al migrar, revisa la consola para más información.", - "administration_presence_updates": "Actualizaciones de presencia", - "administration_sb_user": "Usuario advertido", - "gambling_awarded": "le ha regalado {0} a {1}", - "gambling_better_luck": "Suerte la próxima.", - "gambling_br_win": "¡Felicitaciones! Ganaste {0} por sacar sobre {1}.", - "gambling_deck_reshuffled": "Mazo reconstruido.", - "gambling_flipped": "lanzó {0}", - "gambling_flip_guess": "¡Adivinaste! Ganas {0}", - "gambling_flip_invalid": "Número especificado no es válido. Puedes lanzar de 1 a {0} monedas.", - "gambling_flowerreaction_desc": "Añade la reacción {0} a este mensaje para obtener {1} ", - "gambling_flowerreaction_footer": "Este evento estará activo por {0} horas.", - "gambling_flowerreaction_title": "¡Inicia el evento de reacción!", - "gambling_gifted": "le ha regalado {0} a {1}", - "gambling_has": "{0} tiene {1}", - "gambling_heads": "Cara", - "gambling_leaderboard": "Marcador", - "gambling_mass_award": "Enviados {0} a {1} usuarios en el rol {2}.", - "gambling_max_bet_limit": "No puedes apostar más de {0}", - "gambling_min_bet_limit": "No puedes apostar menos de {0}", - "gambling_not_enough": "No tienes suficientes {0}", - "gambling_no_more_cards": "No hay más cartas en el mazo.", - "gambling_raffled_user": "Usuario escogido:", - "gambling_roll": "Sacaste {0}.", - "gambling_slot_bet": "Apostó", - "gambling_slot_jackpot": "¡Cielos! ¡Felicitaciones! x{0}", - "gambling_slot_single": "Solo una {0}, x{1}", - "gambling_slot_three": "¡Guau! ¡Suertudo! ¡Tres iguales! x{0}", - "gambling_slot_two": "¡Buen trabajo! Dos {0} - Apostado x{1}", - "gambling_slot_won": "Ganó", - "gambling_sneakygamestatus_desc": "Los usuarios deben escribir un código secreto para obtener {0}. Quedan {1} segundos. No le digas a nadie.", - "gambling_sneakygamestatus_end": "El evento de EstadoEscurridizo ha terminado. {0} recibieron el premio.", - "gambling_sneakygamestatus_title": "Evento de EstadoEscurridizo iniciado", - "gambling_tails": "Cruz", - "gambling_take": "le quitó {0} a {1}", - "gambling_take_fail": "no pudo quitarle {0} a {1} porque el usuario no tiene tal cantidad de {2}.", - "help_back_to_toc": "Regresar a la tabla de contenidos", - "help_bot_owner_only": "Solo el dueño del Bot.", - "help_channel_permission": "Requiere {0} permisos del canal.", - "help_cmdlist_donate": "Puedes apoyar el proyecto en Patreon: <{0}> o PayPal: <{1}>", - "help_cmd_and_alias": "Comandos y alias", - "help_commandlist_regen": "Lista de comandos regenerada.", - "help_commands_instr": "Escribe `{0}h NombreDelComando` para recibir ayuda específica. Ej: `{0}h >8ball`", - "help_command_not_found": "No puedo encontrar ese comando. Por favor verifica que el comando exista antes de tratar de nuevo.", - "help_desc": "Descripción", - "help_donate": "Puedes apoyar el proyecto de NadekoBot en\nPatreon <{0}> o\nPayPal <{1}>\nNo olvides dejar tu usuario de Discord o ID en el mensaje.\n\n*Gracias** ♥", - "help_guide": "**Lista de comandos**. <{0}>\n**Las guías para albergar y documentos pueden ser encontrados aquí**: <{1}>", - "help_list_of_commands": "Lista de comandos", - "help_list_of_modules": "Lista de módulos", - "help_modules_footer": "Escribe `{0}cmds NombreDelMódulo` para obtener una lista de comandos en ese módulo. Ej: `{0}cmds games`", - "help_module_not_found": "Ese módulo no existe.", - "help_server_permission": "Requiere {0} permisos del servidor", - "help_table_of_contents": "Tabla de contenidos", - "help_usage": "Uso", - "nsfw_autohentai_started": "Hentai automático iniciado. Publicando cada {0}s con los siguientes tags: \n{1}", - "nsfw_tag": "Tag", - "gambling_animal_race": "Carrera de animales", - "gambling_animal_race_failed": "No pude iniciar la carrera porque no hay suficientes participantes.", - "gambling_animal_race_full": "¡Todo listo! ¡Allá vamos!", - "gambling_animal_race_join": "{0} entró como un {1}", - "gambling_animal_race_join_bet": "{0} entró como un {1} y apostó {2}.", - "gambling_animal_race_join_instr": "Escribe {0}jr para entrar en la carrera.", - "gambling_animal_race_starting": "Empezaremos en 20 segundos o cuando ya no haya lugar.", - "gambling_animal_race_starting_with_x": "Empezando con {0} participantes.", - "gambling_animal_race_won": "{0} como un {1} ganó la carrera.", - "gambling_animal_race_won_money": "{0} como un {1} ganó la carrera y {2}.", - "gambling_dice_invalid_number": "Número especificado no válido. Puedes lanzar {0}-{1} dados a la vez.", - "gambling_dice_rolled": "sacaste {0}", - "gambling_dice_rolled_num": "Dado lanzado: {0}", - "gambling_race_failed_starting": "No pude iniciar la carrera. Probablemente otra está en curso.", - "gambling_race_not_exist": "No hay carrera en este servidor.", - "gambling_second_larger_than_first": "El segundo número debe ser más largo que el primero.", - "gambling_changes_of_heart": "Cambios de opinión", - "gambling_claimed_by": "Reclamado por", - "gambling_divorces": "Divorcios", - "gambling_likes": "Le gusta", - "gambling_price": "Precio", - "gambling_waifus_none": "Ninguna waifu ha sido reclamada aún.", - "gambling_waifus_top_waifus": "Top de waifus", - "gambling_waifu_affinity_already": "tu afinidad ya ha sido configurada hacia esa waifu o intentas remover tu afinidad sin tenerla.", - "gambling_waifu_affinity_changed": "cambió su afinidad de {0} a {1}.\n\n*Esto es moralmente cuestionable.* 🤔", - "gambling_waifu_affinity_cooldown": "Debes esperar {0} horas y {1} minutos para cambair tu afinidad otra vez.", - "gambling_waifu_affinity_reset": "Tu afinidad ha sido reiniciada. Ya no tienes una persona que te guste.", - "gambling_waifu_affinity_set": "quiere ser la waifu de {0}. Aww <3", - "gambling_waifu_claimed": "reclamó a {0} como su waifu por {1}", - "gambling_waifu_divorced_like": "Te has divorciado de una waifu que te quería. Monstruo sin corazón. {0} recibió {1} como compensación.", - "gambling_waifu_egomaniac": "no puedes configurar tu afinidad hacia ti mismo, ególatra.", - "gambling_waifu_fulfilled": "🎉 ¡Su amor es correspondido! 🎉\n¡El nuevo valor de {0} es {1}!", - "gambling_waifu_isnt_cheap": "Ninguna waifu es tan barata. Debes pagar al menos {0} para obtener una waifu, aunque su valor actual sea menor.", - "gambling_waifu_not_enough": "¡Debes pagar {0} o más para reclamar esa waifu!", - "gambling_waifu_not_yours": "Esa waifu no es tuya.", - "gambling_waifu_not_yourself": "No puedes reclamarte a ti mismo.", - "gambling_waifu_recent_divorce": "Te divorciaste recientemente. Debes esperar {0} horas y {1} minutos para divorciarte otra vez.", - "gambling_nobody": "Nadie", - "gambling_waifu_divorced_notlike": "Te has divorciado de una waifu que no te quería. Recibes {0} de regreso.", - "games_8ball": "Bola 8", - "games_acrophobia": "Acrofobia", - "games_acro_ended_no_sub": "El juego terminó sin oraciones.", - "games_acro_no_votes_cast": "Nadie votó. El juego ha terminado sin ganador.", - "games_acro_nym_was": "El acrónimo era {0}.", - "games_acro_running": "Acrofobia ya se está ejecutando en este canal.", - "games_acro_started": "Inicia el juego. Crea una oración con el siguiente acrónimo: {0}.", - "games_acro_started_footer": "Tienes {0} segundos para enviar tu oración.", - "games_acro_submit": "{0} enviaron sus oraciones. ({1} en total)", - "games_acro_vote": "Vota escribiendo el número correspondiente.", - "games_acro_vote_cast": "¡{0} votó!", - "games_acro_winner": "El ganador es {0} con {1} puntos.", - "games_acro_winner_only": "¡{0} gana por ser el único que envió una oración!", - "games_question": "Pregunta", - "games_rps_draw": "¡Empate! Ambos eligieron {0}", - "games_rps_win": "¡{0} gana! {1} vence {2}", - "games_submissions_closed": "Envíos cerrados", - "gambling_animal_race_already_started": "La carrera de animales ya está en ejecución.", - "gambling_total_average": "Total: {0} Promedio: {1}", - "games_category": "Categoría", - "games_cleverbot_disabled": "Cleverbot desactivado en este servidor.", - "games_cleverbot_enabled": "Cleverbot activado en este servidor.", - "games_curgen_disabled": "La generación de moneda ha sido desactivada en este canal.", - "games_curgen_enabled": "La generación de moneda ha sido activada en este canal.", - "games_curgen_pl": "{0} {1} aparecieron.", - "games_curgen_sn": "¡Una {0} apareció!", - "games_failed_loading_question": "No pude cargar la pregunta.", - "games_game_started": "Juego iniciado", - "games_hangman_game_started": "Juego del ahorcado iniciado", - "games_hangman_running": "Un juego del ahorcado ya se está ejecutando en este canal.", - "games_hangman_start_errored": "Error iniciando el ahorcado.", - "games_hangman_types": "Lista de \"{0}hangman\" términos:", - "games_leaderboard": "Marcador", - "games_not_enough": "No tienes suficientes {0}", - "games_no_results": "Sin resultados", - "games_picked": "recogió {0}", - "games_planted": "{0} plantó {1}", - "games_trivia_already_running": "Ya se está ejecutando una trivia en este servidor.", - "games_trivia_game": "Trivia", - "games_trivia_guess": "¡{0} adivinó! La respuesta era: {1}", - "games_trivia_none": "No se está ejecutando ninguna trivia en este servidor.", - "games_trivia_points": "{0} tiene {1} puntos", - "games_trivia_stopping": "La trivia se detendrá luego de esta pregunta.", - "games_trivia_times_up": "¡Tiempo! La respuesta correcta era {0}", - "games_trivia_win": "¡{0} adivinó y ganó el juego! La respuesta era: {1}", - "games_ttt_against_yourself": "No puedes jugar contra ti mismo.", - "games_ttt_already_running": "El juego de Tres en raya ya se ha iniciado en este canal.", - "games_ttt_a_draw": "¡Empate!", - "games_ttt_created": "ha creado un juego de Tres en raya.", - "games_ttt_has_won": "¡{0} gana!", - "games_ttt_matched_three": "Hizo coincidir tres", - "games_ttt_no_moves": "¡No quedan más movimientos!", - "games_ttt_time_expired": "¡Tiempo!", - "games_ttt_users_move": "Movimiento de {0}", - "games_vs": "{0} vs {1}", - "music_attempting_to_queue": "Intentando añadir a la cola {0} canciones...", - "music_autoplay_disabled": "Reproducción automática desactivada.", - "music_autoplay_enabled": "Reproducción automática activada.", - "music_defvol_set": "El volumen por defecto configurado es {0}%", - "music_dir_queue_complete": "Directorio completo", - "music_fairplay": "Juego limpio", - "music_finished_song": "Canción finalizada", - "music_fp_disabled": "Juego limpio desactivado.", - "music_fp_enabled": "Juego limpio activado.", - "music_from_position": "De la posición", - "music_id": "ID", - "music_invalid_input": "Entrada no válida.", - "music_max_playtime_none": "Tiempo de reproducción sin límite.", - "music_max_playtime_set": "Tiempo de reproducción máximo configurado en {0} segundo(s).", - "music_max_queue_unlimited": "Tamaño máximo de la cola configurada en ilimitado.", - "music_max_queue_x": "Tamaño máximo de la cola configurado en {0} canción(es).", - "music_must_be_in_voice": "Tienes que estar en un canal de voz.", - "music_name": "Nombre", - "music_now_playing": "Reproduciendo", - "music_no_player": "No hay reproducción activa.", - "music_no_search_results": "Sin resultados.", - "music_paused": "Música pausada.", - "music_player_queue": "Cola - Página {0}/{1}", - "music_playing_song": "Reproduciendo", - "music_playlists": "`#{0}` - **{1}** por *{2}* ({3} canciones)", - "music_playlists_page": "Página {0} de listas de reproducción guardadas.", - "music_playlist_deleted": "Lista de reproducción eliminada.", - "music_playlist_delete_fail": "No pude eliminar esa lista. O no existe, o no eres el autor.", - "music_playlist_id_not_found": "No existe una lista con tal ID.", - "music_playlist_queue_complete": "Cola de lista de reproducción completa.", - "music_playlist_saved": "Lista de reproducción guardada", - "music_play_limit": "Límite de {0}", - "music_queue": "Cola.", - "music_queued_song": "Canción en cola.", - "music_queue_cleared": "Se eliminó la cola de música.", - "music_queue_full": "La cola está llena con {0}/{0}.", - "music_removed_song": "Canción eliminada", - "music_repeating_cur_song": "Repitiendo la canción actual", - "music_repeating_playlist": "Repitiendo lista de reproducción", - "music_repeating_track": "Repitiendo canción", - "music_repeating_track_stopped": "Repetición de la canción actual detenida.", - "music_resumed": "Reproducción resumida", - "music_rpl_disabled": "Repetición de listas de reproducción desactivada.", - "music_rpl_enabled": "Repetición de listas de reproducción activada.", - "music_set_music_channel": "Desde ahora publicaré la reproducción, finalización, pausa y eliminación de canciones en este canal.", - "music_skipped_to": "Saltado a `{0}:{1}`", - "music_songs_shuffled": "Canciones reorganizadas.", - "music_song_moved": "Canción movida", - "music_time_format": "{0}h {1}m {2}s", - "music_to_position": "A la posición", - "music_unlimited": "ilimitada", - "music_volume_input_invalid": "El volumen debe ser entre 0 y 100.", - "music_volume_set": "Volumen definido en {0}%", - "permissions_acm_disable": "Desactivado el uso de todos los módulos en el canal {0}.", - "permissions_acm_enable": "Activado el uso de todos los módulos en el canal {0}.", - "permissions_allowed": "Permitido", - "permissions_arm_disable": "Desactivado el uso de todos los módulos para el rol {0}.", - "permissions_arm_enable": "Activado el uso de todos los módulos para el rol {0}.", - "permissions_asm_disable": "Desactivado el uso de todos los módulos en este servidor.", - "permissions_asm_enable": "Activado el uso de todo los módulos en este servidor.", - "permissions_aum_disable": "Desactivado el uso de todos los módulos para el usuario {0}.", - "permissions_aum_enable": "Activado el uso de todos los módulos para el usuario {0}.", - "permissions_blacklisted": "Enviado a la lista negra a: {0} con la ID: {1}", - "permissions_cmdcd_add": "El comando {0} ahora tiene {1} de enfriamiento.", - "permissions_cmdcd_cleared": "El comando {0} ya no tiene enfriamiento y todos los tiempos de enfriamiento han sido reiniciados.", - "permissions_cmdcd_none": "No se ha configurado tiempo de enfriamiento.", - "permissions_command_costs": "Costo del comando", - "permissions_cx_disable": "Desactivado el uso de {0} {1} en el canal {2}.", - "permissions_cx_enable": "Activado el uso de {0} {1} en el canal {2}.", - "permissions_denied": "Prohibido", - "permissions_filter_word_add": "Se ha añadido la palabra {0} a la lista de palabras filtradas.", - "permissions_filter_word_list": "Lista de palabras filtradas", - "permissions_filter_word_remove": "Removida la palabra {0} de la lista de palabras filtradas.", - "permissions_invalid_second_param_between": "Segundo parámetro no válido. (Debe ser un número entre {0} y {1})", - "permissions_invite_filter_channel_off": "Filtro de invitaciones desactivado en este canal.", - "permissions_invite_filter_channel_on": "Filtro de invitaciones activado en este canal.", - "permissions_invite_filter_server_off": "Filtro de invitaciones desactivado en este servidor.", - "permissions_invite_filter_server_on": "Filtro de invitaciones activado en este servidor.", - "permissions_moved_permission": "Permiso {0} movido de #{1} a #{2}", - "permissions_not_found": "No puedo encontrar el permiso en #{0}", - "permissions_no_costs": "No hay costo configurado.", - "permissions_of_command": "comando", - "permissions_of_module": "módulo", - "permissions_page": "Página de permisos {0}", - "permissions_permrole": "El rol de permisos actual es {0}", - "permissions_permrole_changed": "Los usuarios ahora requieren el rol {0} para editar permisos.", - "permissions_perm_out_of_range": "No se encontraron permisos.", - "permissions_removed": "permisos removidos #{0} - {1}", - "permissions_rx_disable": "Desactivado el uso de {0} {1} para el rol {2}.", - "permissions_rx_enable": "Activado el uso de {0} {1} para el rol {2}.", - "permissions_sec": "seg.", - "permissions_sx_disable": "Desactivado el uso de {0} {1} en este servidor.", - "permissions_sx_enable": "Activado el uso de {0} {1} en este servidor.", - "permissions_unblacklisted": "Removido de la lista negra a: {0} con la ID: {1}", - "permissions_uneditable": "ineditable", - "permissions_ux_disable": "Desactivado el uso de {0} {1} para el usuario {2}.", - "permissions_ux_enable": "Activado el uso de {0} {1} para el usuario {2}.", - "permissions_verbose_false": "No mostraré más advertencias de permisos.", - "permissions_verbose_true": "Desde ahora mostraré las advertencias de permisos.", - "permissions_word_filter_channel_off": "Filtro de groserías desactivado en este canal.", - "permissions_word_filter_channel_on": "Filtro de groserías activado en este canal.", - "permissions_word_filter_server_off": "Filtro de groserías desactivado en este servidor.", - "permissions_word_filter_server_on": "Filtro de groserías activado en este servidor.", - "searches_abilities": "Habilidades", - "searches_anime_no_fav": "No tiene anime favorito aún", - "searches_atl_ad_started": "Iniciada la traducción automática de mensajes en este canal. Los mensajes del usuario serán eliminados automáticamente.", - "searches_atl_removed": "tu lenguaje de traducción automática ha sido removido.", - "searches_atl_set": "Tu lenguaje de traducción automática ha sido configurado a {0}>{1}", - "searches_atl_started": "Iniciada la traducción automática de mensajes en este canal.", - "searches_atl_stopped": "Detenida la traducción automática de mensajes en este canal.", - "searches_bad_input_format": "Mal formato o algo salió mal.", - "searches_card_not_found": "No encontré esa carta.", - "searches_catfact": "hecho", - "searches_chapters": "Capítulos", - "searches_comic_number": "Cómic #", - "searches_compet_loses": "Pérdidas en competitivo", - "searches_compet_played": "Juegos en competitivo", - "searches_compet_rank": "Rango en competitivo", - "searches_compet_wins": "Victorias en competitivo", - "searches_completed": "Completadas", - "searches_condition": "Condición", - "searches_cost": "Costo", - "searches_date": "Fecha", - "searches_define": "Defininir:", - "searches_dropped": "Dejadas de ver", - "searches_episodes": "Episodios", - "searches_error_occured": "Ocurrió un error.", - "searches_example": "Ejemplo", - "searches_failed_finding_anime": "No encontré ese anime.", - "searches_failed_finding_manga": "No encontré ese manga.", - "searches_genres": "Géneros", - "searches_hashtag_error": "No encontré una definición para ese tag.", - "searches_height_weight": "Altura/Peso", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Humedad", - "searches_image_search_for": "Búsqueda de imagen para:", - "searches_imdb_fail": "No encontré esa película.", - "searches_invalid_lang": "Fuente o lenguaje no válido.", - "searches_jokes_not_loaded": "No se cargaron las bromas.", - "searches_latlong": "Lat/Long", - "searches_level": "Nivel", - "searches_list_of_place_tags": "Lista de tags en {0}place", - "searches_location": "Locación", - "searches_magicitems_not_loaded": "Objetos mágicos no cargados.", - "searches_mal_profile": "Perfil de MAL de {0}", - "searches_mashape_api_missing": "El dueño del Bot no especificó una MashapeApiKey. No puedes usar esto.", - "searches_min_max": "Mín/Máx", - "searches_no_channel_found": "No encontré ese canal.", - "searches_no_results": "Sin resultados.", - "searches_on_hold": "En espera", - "searches_original_url": "Enlace original", - "searches_osu_api_key": "Se requiere una clave de API de osu!", - "searches_osu_failed": "No pude encontrar esa firma de osu!", - "searches_over_x": "Encontré alrededor de {0} imágenes. Mostrando {0} aleatorias.", - "searches_ow_user_not_found": "¡Usuario no encontrado! Por favor revisa la región y BattleTag antes de intentar de nuevo.", - "searches_plan_to_watch": "Planeadas ver", - "searches_platform": "Plataforma", - "searches_pokemon_ability_none": "No encontré tal habilidad.", - "searches_pokemon_none": "No encontré ese Pokémon.", - "searches_profile_link": "Enlace al perfil:", - "searches_quality": "Atributo:", - "searches_quick_playtime": "Reproducción rápida:", - "searches_quick_wins": "Victorias rápidas", - "searches_rating": "Rating", - "searches_score": "Puntuación:", - "searches_search_for": "Búsqueda para:", - "searches_shorten_fail": "No pude acortar ese enlace.", - "searches_short_url": "Enlace acortado", - "searches_something_went_wrong": "Algo salió mal.", - "searches_specify_search_params": "Por favor especifica parámetros de búsqueda.", - "searches_status": "Estado", - "searches_store_url": "Guardar enlace", - "searches_streamer_offline": "El usuario {0} está desconectado.", - "searches_streamer_online": "El usuario {0} está en línea con {1} espectadores.", - "searches_streams_following": "Estás siguiendo {0} transmisiones en este servidor.", - "searches_streams_none": "No estás siguiendo ninguna transmisión en este servidor.", - "searches_stream_no": "No existe esa transmisión.", - "searches_stream_not_exist": "La transmisión probablemente no existe.", - "searches_stream_removed": "Removida la transmisión de {0} ({1}) de las notificaciones.", - "searches_stream_tracked": "Notificaré en este canal cuando el estado cambie.", - "searches_sunrise": "Salida del sol", - "searches_sunset": "Puesta del sol", - "searches_temperature": "Temperatura", - "searches_title": "Título:", - "searches_top_3_fav_anime": "Top 3 de anime favoritos:", - "searches_translation": "Traducción:", - "searches_types": "Tipos:", - "searches_ud_error": "No pude encontrar una definición para ese término.", - "searches_url": "Enlace", - "searches_viewers": "Espectadores", - "searches_watching": "Mirando", - "searches_wikia_error": "No pude encontrar ese término en la Wikia especificada.", - "searches_wikia_input_error": "Por favor ingresa la Wikia seguido por el término de búsqueda.", - "searches_wiki_page_not_found": "Página no encontrada.", - "searches_wind_speed": "Velocidad del viento", - "searches_x_most_banned_champs": "Los {0} campeones más bloqueados", - "searches_yodify_error": "No pude yodificar tu oración", - "utiliity_joined": "Entró", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} en total", - "utility_activity_page": "Página de actividad #{0}", - "utility_activity_users_total": "{0} usuarios en total.", - "utility_author": "Autor", - "utility_botid": "ID del Bot", - "utility_calcops": "Lista de funciones en el comando {0}calc", - "utility_channelid": "{0} de este canal es {1}", - "utility_channel_topic": "Tema del canal", - "utility_commands_ran": "Comandos ejecutados", - "utility_convert": "{0} {1} es igual a {2} {3}", - "utility_convertlist": "Unidades que pueden ser usadas por el conversor", - "utility_convert_not_found": "No pude convertir {0} a {1}: Unidades no encontradas", - "utility_convert_type_error": "No pude convertir {0} a {1}: el tipo de unidad no es igual", - "utility_created_at": "Creada el", - "utility_csc_join": "Entró al canal del cruce de servidor.", - "utility_csc_leave": "Salió del canal del cruce de servidor.", - "utility_csc_token": "Este es tu token CSC", - "utility_custom_emojis": "Emoticones personales", - "utility_error": "Error", - "utility_features": "Características", - "utility_id": "ID", - "utility_index_out_of_range": "Entrada fuera de rango", - "utility_inrole_list": "Lista de usuarios en el rol {0}", - "utility_inrole_not_allowed": "No tienes permitido usar este comando en roles con muchos usuarios para prevenir abuso.", - "utility_invalid_value": "Valor en {0} no válido.", - "utility_joined_discord": "Ingresó a Discord", - "utility_joined_server": "Ingresó al servidor", - "utility_listservers": "ID: {0}\nMiembros: {1}\nIDs de dueños: {2}", - "utility_listservers_none": "No encontré servidores en esa página.", - "utility_list_of_repeaters": "Lista de repetidores", - "utility_members": "Miembros", - "utility_memory": "Memoria", - "utility_messages": "Mensajes", - "utility_message_repeater": "Repetidor de mensajes", - "utility_name": "Nombre", - "utility_nickname": "Apodo", - "utility_nobody_playing_game": "Nadie está jugando eso.", - "utility_no_active_repeaters": "No hay repeticiones activas", - "utility_no_roles_on_page": "No hay roles en esta página.", - "utility_no_shards_on_page": "No hay fragmentos en esta página.", - "utility_no_topic_set": "No hay tema configurado.", - "utility_owner": "Dueño", - "utility_owner_ids": "ID del dueño", - "utility_presence": "Presencia", - "utility_presence_txt": "{0} servidores\n{2} canales de texto\n{2} canales de voz", - "utility_quotes_deleted": "Eliminadas todas las citas con la palabra clave {0}", - "utility_quotes_page": "Página {0} de citas", - "utility_quotes_page_none": "No hay citas en esta página", - "utility_quotes_remove_none": "No hay citas que puedas remover", - "utility_quote_added": "Cita añadida", - "utility_quote_deleted": "Cita #{0} eliminada.", - "utility_region": "Región", - "utility_registered_on": "Registrado el", - "utility_remind": "Le recordaré a {0} que {1} en {2} `({3:d.M.yyyy.} a las {4:HH:mm})`", - "utility_remind_invalid_format": "Formato de tiempo no válido. Revisa la lista de comandos.", - "utility_remind_template": "Nueva plantilla de recordatorio configurada.", - "utility_repeater": "Repitiendo {0} cada {1} día(s), {2} hora(s) y {3} minuto(s).", - "utility_repeaters_list": "Lista de repeticiones", - "utility_repeaters_none": "No hay repetidores ejecutándose.", - "utility_repeater_stopped": "#{0} detenido.", - "utility_repeat_invoke_none": "No hay repeticiones de mensajes en este servidor.", - "utility_result": "Resultado", - "utility_roles": "Roles", - "utility_roles_all_page": "Página #{0} de todos los roles en este servidor.", - "utility_roles_page": "Página #{0} de roles para {1}", - "utility_rrc_no_colors": "Los colores no están en el formato correcto. Usa `#00ff00` por ejemplo.", - "utility_rrc_start": "Iniciada la rotación de colores para el rol {0}.", - "utility_rrc_stop": "Detenida la rotación de colores para el rol {0}", - "utility_serverid": "{0} de este servidor es {1}", - "utility_server_info": "Información del servidor", - "utility_shard": "Fragmento.", - "utility_shard_stats": "Estadísticas del fragmento.", - "utility_shard_stats_txt": "Fragmento **#{0}** está en estado {1} con {2} servidores.", - "utility_showemojis": "**Nombre:** {0} **Enlace:** {1}", - "utility_showemojis_none": "No encontré emoticones especiales.", - "utility_stats_songs": "Reproduciendo {0} canciones, {1} en cola.", - "utility_text_channels": "Canales de texto", - "utility_togtub_room_link": "Aquí está el enlace a tu cuarto:", - "utility_uptime": "Tiempo en línea", - "utility_userid": "{0} del usuario {1} es {2}", - "utility_users": "Usuarios", - "utility_voice_channels": "Canales de voz", - "gambling_animal_race_already_in": "¡Ya entraste a esta carrera!", - "games_current_poll_results": "Resultados de la encuesta", - "games_no_votes_cast": "Sin votos.", - "games_poll_already_running": "Ya hay una encuesta en ejecución.", - "games_poll_created": "📃 {0} ha creado una encuesta que requiere de tu atención.", - "games_poll_result": "`{0}.` {1} con {2} votos.", - "games_poll_voted": "{0} votó.", - "games_poll_vote_private": "Envíame un mensaje privado con el número correspondiente a la respuesta.", - "games_poll_vote_public": "Envía un mensaje aquí con el número correspondiente a la respuesta.", - "games_thanks_for_voting": "Gracias por votar, {0}", - "games_x_votes_cast": "{0} votos totales.", - "games_pick_pl": "Tómalas escribiendo `{0}pick`", - "games_pick_sn": "Tómala escribiendo `{0}pick`", - "gambling_no_users_found": "No encontré ese usuario.", - "gambling_page": "página {0}", - "administration_must_be_in_voice": "debes estar en un canal de voz.", - "administration_no_vcroles": "No hay roles para el canal de voz.", - "administration_user_muted_time": "{0} ha sido **silenciado** de chat y voz por {1} minutos.", - "administration_vcrole_added": "Los usuarios que entren al canal de voz {0} obtendrán el rol {1}.", - "administration_vcrole_removed": "Los usuarios que entren al canal de voz {0} ya no obtendrán un rol.", - "administration_vc_role_list": "Roles para el canal de voz", - "customreactions_crad_disabled": "El mensaje de ejecución del comando personalizado con la ID {0} no será eliminado automáticamente.", - "customreactions_crad_enabled": "El mensaje de ejecución del comando personalizado con la ID {0} será eliminado automáticamente.", - "customreactions_crdm_disabled": "Respuesta del mensaje para el comando personalizado con la ID {0} no será enviada como MP.", - "customreactions_crdm_enabled": "Respuesta del mensaje para el comando personalizado con la ID {0} será enviada como MP.", - "utility_aliases_none": "No encontré ningún alias.", - "utility_alias_added": "Escribir {0} ahora será un alias de {1}.", - "utility_alias_list": "Lista de alias", - "utility_alias_removed": "El comando {0} ya no tiene un alias.", - "utility_alias_remove_fail": "El comando {0} no tiene un alias.", - "searches_compet_playtime": "Tiempo de juego en competitivo", - "administration_channel": "Canal", - "administration_command_text": "Comando de texto", - "administration_kicked_pl": "Expulsados", - "administration_moderator": "Moderador", - "administration_page": "Página {0}", - "administration_reason": "Razón", - "administration_scadd": "Nuevo comando de inicio añadido.", - "administration_scrm": "Comando de inicio removido satisfactoriamente.", - "administration_scrm_fail": "Comando de inicio no encontrado.", - "administration_server": "Servidor", - "administration_startcmdlist_none": "No hay comandos de inicio en esta página.", - "administration_startcmds_cleared": "Reiniciados todos los comandos de inicio.", - "administration_unbanned_user": "El usuario {0} ha sido desbloqueado.", - "administration_user_not_found": "No encuentro tal usuario.", - "administration_user_warned": "El usuario {0} ha sido advertido.", - "administration_user_warned_and_punished": "El usuario {0} ha sido advertido y el castigo {0} ha sido aplicado.", - "administration_warned_on": "Advertido en el servidor {0}", - "administration_warned_on_by": "El {0} a las {1} por {2}", - "administration_warnings_cleared": "Todas las advertencias han sido reiniciadas por {0}.", - "administration_warnings_none": "No hay advertencias en esta página.", - "administration_warnlog_for": "Registro de advertencias para {0}", - "administration_warnpl_none": "No hay castigos configurados.", - "administration_warn_cleared_by": "Reiniciados por {0}", - "administration_warn_punish_list": "Lista de castigos de advertencia", - "administration_warn_punish_rem": "Tener {0} advertencias ya no ejecutará un castigo.", - "administration_warn_punish_set": "Aplicaré el castigo {0} a los usuarios con {1} advertecias.", - "administration_slowmodewl_role_start": "El modo lento ahora ignorará el rol {0}.", - "administration_slowmodewl_role_stop": "El modo lento ya no ignorará el rol {0}.", - "administration_slowmodewl_user_start": "El modo lento ignorará al usuario {0}.", - "administration_slowmodewl_user_stop": "El modo lento ya no ignorará al usuario {0}.", - "utility_clpa_fail": "Imposible reclamar recompensas debido a una de las siguientes razones:", - "utility_clpa_fail_already": "Tal vez ya has recibido tu recompensa de este mes. Puedes recibir recompensa solo una vez cada mes a menos que incrementes el monto.", - "utility_clpa_fail_already_title": "Ya recompensado", - "utility_clpa_fail_conn": "Puede que tu cuenta de Discord no esté conectada a Patreon. Si no estás seguro de lo que significa, o no sabes cómo conectarla, tienes que ir a la página de configuración de Patreon (https://patreon.com/settings/account) y presionar el botón de 'conectar a Discord'.", - "utility_clpa_fail_conn_title": "Cuenta de Discord no conectada.", - "utility_clpa_fail_sup": "Para elegir una recompensa, debes apoyar el proyecto en Patreon. Puedes usar el comando {0} para obtener el enlace.", - "utility_clpa_fail_sup_title": "No apoyando", - "utility_clpa_fail_wait": "Tienes que esperar algunas horas después de hacer tu colaboración, sino, trata otra vez más tarde.", - "utility_clpa_fail_wait_title": "Espera un tiempo", - "utility_clpa_success": "Has recibido {0} ¡Gracias por apoyar el proyecto!", - "utility_clpa_too_early": "Las recompensas pueden ser reclamadas el día 5 de cada mes.", - "searches_time": "El tiempo en {0} es {1} - {2}.", - "administration_rh": "Configura la exposición del rol de gremio {0} a {1}.", - "gambling_name": "Nombre", - "gambling_shop": "Tienda", - "gambling_shop_item_add": "Objeto añadido", - "gambling_shop_none": "No hay objetos en esta página.", - "gambling_shop_role": "Obtendrás el rol {0}.", - "gambling_type": "Tipo", - "utility_clpa_next_update": "Próxima actualización en {0}", - "administration_global_perms_reset": "Los permisos globales han sido reiniciados.", - "administration_gvc_disabled": "El canal de juego por voz ha sido desactivado.", - "administration_gvc_enabled": "{0} ahora es un canal de juego por voz.", - "administration_not_in_voice": "No estás en un canal de voz en este servidor.", - "gambling_item": "Objeto", - "gambling_out_of_stock": "No disponible", - "gambling_random_unique_item": "Objeto aleatorio único", - "gambling_shop_buy_error": "Error enviando el mensaje privado. Se te ha reembolsado.", - "gambling_shop_item_not_found": "No se encontró ningún objeto.", - "gambling_shop_item_purchase": "Compra satisfactoria.", - "gambling_shop_item_rm": "Objeto removido.", - "gambling_shop_item_wrong_type": "No se admite ese tipo de objeto.", - "gambling_shop_list_item_added": "Objeto añadido stisfactoriamente.", - "gambling_shop_list_item_not_unique": "Ese objeto ya ha sido añadido.", - "gambling_shop_purchase": "Compra en el servidor {0}", - "gambling_shop_role_not_found": "El rol que está siendo vendido no existe.", - "gambling_shop_role_purchase": "Has comprado satisfactoriamente el rol {0}", - "gambling_shop_role_purchase_error": "Error asignando el rol. Has recibido un reembolso.", - "gambling_unique_items_left": "{0} objetos únicos restantes.", - "permissions_blocked_commands": "Comandos bloqueados", - "permissions_blocked_modules": "Módulos bloqueados", - "permissions_gcmd_add": "El comando {0} ha sido desactivado en todos los servidores.", - "permissions_gcmd_remove": "El comando {0} ha sido activado en todos los servidores.", - "permissions_gmod_add": "El módulo {0} ha sido desactivado en todos los servidores.", - "permissions_gmod_remove": "El módulo {0} ha sido activado en todos los servidores.", - "permissions_lgp_none": "No hay comandos o módulos bloqueados." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.he-IL.json b/src/NadekoBot/_strings/ResponseStrings.he-IL.json deleted file mode 100644 index 8eb1ce53..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.he-IL.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "הבסיס הזה נתפס או נהרס.", - "clashofclans_base_already_destroyed": "הבסיס הזה כבר נהרס.", - "clashofclans_base_already_unclaimed": "הבסיס הזה לא נתפס.", - "clashofclans_base_destroyed": "הבסיס #{0} **הושמד** במלחמה נגד {1}", - "clashofclans_base_unclaimed": "{0} **שיחרר** את בסיס #{0} במלחמה נגד {2}", - "clashofclans_claimed_base": "{0} תפס את בסיס #{1} במלחמה נגד {2}", - "clashofclans_claimed_other": "@{0} אתה כבר תפסת את בסיס #{1}. אינך יכול לתפוס אחד חדש", - "clashofclans_claim_expired": "", - "clashofclans_enemy": "אויב", - "clashofclans_info_about_war": "מידע על המלחה נגד {0}", - "clashofclans_invalid_base_number": "מספר בסיס שגוי", - "clashofclans_invalid_size": "לא גודל מלחמה נכון.", - "clashofclans_list_active_wars": "רשימת מלחמות פעילות", - "clashofclans_not_claimed": "לא תפוס", - "clashofclans_not_partic": "אתה לא משתתף במלחמה הזאת", - "clashofclans_not_partic_or_destroyed": "@{0} אתה כנראה לא משתתף במלחמה הזאת או הבסיס הזה כבר הושמד.", - "clashofclans_no_active_wars": "אין מלחמות פעילות.", - "clashofclans_size": "גודל", - "clashofclans_war_already_started": "המלחה נגד {0} כבר התחילה.", - "clashofclans_war_created": "מלחמה נגד {0} נוצרה.", - "clashofclans_war_ended": "המלחמה נגד {0} נגמרה.", - "clashofclans_war_not_exist": "המלחמה הזאת לא קיימת.", - "clashofclans_war_started": "מלחמה נגד {0} התחילה!", - "customreactions_all_stats_cleared": "כל הסטטיסטיקה של התגובות מתאם נמחקו.", - "customreactions_deleted": "תגובות מתאם נמחקו", - "customreactions_insuff_perms": "אין מספיק רשות, מתחייבת בעלות של הבוט בשביל תגובות מתאם גלובליות, ומנהג בשביל תגובות מתאם של הרשת.", - "customreactions_list_all": "רשימה של כל התגובות מתאם", - "customreactions_name": "תגובות מתאם", - "customreactions_new_cust_react": "תגובות מתאם חדשות", - "customreactions_no_found": "לא נמצאו תגובות מתאם.", - "customreactions_no_found_id": "לא נמצאו תגובות מתאם אם הזהות הזאת.", - "customreactions_response": "תגובה", - "customreactions_stats": "נתוני תגובות מותאמות", - "customreactions_stats_cleared": "", - "customreactions_stats_not_found": "", - "customreactions_trigger": "", - "nsfw_autohentai_stopped": "אוטוהנטאי הפסיק", - "nsfw_not_found": "לא נמצאו תוצאות.", - "pokemon_already_fainted": "{0} כבר התעלף.", - "pokemon_already_full": "{0} כבר בחיים מלאים.", - "pokemon_already_that_type": "הסוג שלך הוא כבר {0}", - "pokemon_attack": "{0}{1} שומש על {2}{3} שעשה {4} נזק.", - "pokemon_cant_attack_again": "אתה לא יכול לתקוף שוב שד שיתקפו אותך.", - "pokemon_cant_attack_yourself": "אתה לא יכול לתקוף את עצמך.", - "pokemon_fainted": "{0} נתעלף.", - "pokemon_healed": "{0} רופה עם {1} אחד.", - "pokemon_hp_remaining": "ל{0} נשארו {1} חיים.", - "pokemon_invalid_move": "אתה לא יכול להשתמש ב{0}. תרשום \"{1}ml\" כדי לראות את רשימת המהלכים שאת יכול להשתמש בהם.", - "pokemon_moves": "רשימת המהלכים לסוג {0}", - "pokemon_not_effective": "זה לא אפקטיבי.", - "pokemon_no_currency": "איך לך מספיק {0}", - "pokemon_revive_other": "{0} הוחזר לתחייה עם {1} אחד.", - "pokemon_revive_yourself": "החזרתה את אצמך עם {1} אחד.", - "pokemon_settype_success": "הסוג שלך שונה ל{0} בתמורה ל{1}.", - "pokemon_somewhat_effective": "זה טיפה אפקטיבי.", - "pokemon_super_effective": "זה ממש אפקטיבי!", - "pokemon_too_many_moves": "השתמשת ביותר מדי מהלכים אז אתה לך יכול לזוז.", - "pokemon_type_of_user": "הסוג של {0} הוא {1}", - "pokemon_user_not_found": "משתמש לא נמצא.", - "pokemon_you_fainted": "את\\ה התעלפת אז את\\ה לא יכול לזוז.", - "administration_aar_disabled": "**נתינת תפקיד אוטומטי** כאשר משתמש מתווסף **הופסקה** כעת.", - "administration_aar_enabled": "**נתינת תפקיד אוטומטי** כאשר משתמש מתווסף **התחילה** כעת.", - "administration_attachments": "קבצים מצורפים ", - "administration_avatar_changed": "תמונת פרופיל שונתה", - "administration_bandm": "אתה הוסרת משרת {0}.\nסיבה: {1}", - "administration_banned_pl": "מגורש", - "administration_banned_user": "משתמש גורש", - "administration_bot_name": "השם של הבוט השתנה ל{0}", - "administration_bot_status": "הסטטוס של הבוט השתנה ל{0}", - "administration_byedel_off": "ההסרה האוטומטית של הודאת השלום לא בשימוש.", - "administration_byedel_on": "הודאת השלום תמחק בעוד {0} שניות.", - "administration_byemsg_cur": "הודעת עזיבה נוכחית: {0}", - "administration_byemsg_enable": "אפשור הודאת שלום דרך כתיבת {0}", - "administration_byemsg_new": "התראת עזיבה חדשה הוגדרה.", - "administration_bye_off": "התראת עזיבה לא פעילה.", - "administration_bye_on": "התראת עזיבה הופעלה עבור ערוץ זה.", - "administration_ch_name_change": "השם של הערוץ השתנה", - "administration_ch_old_name": "שם ישן", - "administration_ch_topic_change": "נושא ערוץ שונה", - "administration_cleaned_up": "נוקה.", - "administration_content": "תוכן", - "administration_cr": "תפקיד נוצר בהצלחה {0}", - "administration_createtextchan": "ערוץ טקסט {0} נוצר.", - "administration_createvoich": "ערוץ קול {0} נוצר.", - "administration_deafen": "החרשה הצליחה.", - "administration_deleted_server": "השרת {0} נמחק", - "administration_delmsg_off": "", - "administration_delmsg_on": "", - "administration_deltextchan": "ערוץ טקסט {0} נמחק.", - "administration_delvoich": "ערוץ קול {0} נמחק.", - "administration_dm_from": "הודאה פרטית מ{0}", - "administration_donadd": "תורם חדש הוסף בהצלחה. כמות כוללת שנתרמה ממשתמש זה: {0} 👑 ", - "administration_donators": "תודה לאנשים המצורפים למטה על הצלחת הפרויקט!", - "administration_fwall_start": "אני האביר את ההודאות הפרטיות לכל הבעלים.", - "administration_fwall_stop": "אני האביר את ההודאות הפרטיות לבעלים הראשונים.", - "administration_fwdm_start": "אני האביר את ההודאות הפרטיות מעכשיו.", - "administration_fwdm_stop": "אני אפסיק להעביר את ההודאות הפרטיות מעכשיו.", - "administration_greetdel_off": "מחיקה אוטומטית של הודאות ברכה הופסקה.", - "administration_greetdel_on": "הודאות ", - "administration_greetdmmsg_cur": "הודאה פרטית נוכחית: {0}", - "administration_greetdmmsg_enable": "", - "administration_greetdmmsg_new": "", - "administration_greetdm_off": "", - "administration_greetdm_on": "", - "administration_greetmsg_cur": "", - "administration_greetmsg_enable": "", - "administration_greetmsg_new": "", - "administration_greet_off": "הודאות ברכה בוטלו.", - "administration_greet_on": "הודאות ברכה הופעלו עבור ערוץ זה.", - "administration_hierarchy": "אתה לא יכול להשתמש בפקודה זו על משתמשים עם תפקיד שווה או גבוהה ממך בדירוג.", - "administration_images_loaded": "התמונות יעלו אחרי {0} שניות.", - "administration_invalid_format": "הפורמט המבוקש שגוי.", - "administration_invalid_params": "פרמטרים לא חוקיים.", - "administration_joined": "{0} הצטרף {1} \n", - "administration_kickdm": "אתה הוסרת מהשרת {0} בגלל הסיבה: {1}", - "administration_kicked_user": "משתמש נבעט.", - "administration_lang_list": "רשימה של כל השפות", - "administration_lang_set": "", - "administration_lang_set_bot": "", - "administration_lang_set_bot_show": "שפת הבוט שונתה מ{0} ל{1}.", - "administration_lang_set_fail": "", - "administration_lang_set_show": "שפת שרת זה מוגדרת כ- {0} - {1}", - "administration_left": "{0} עזב {1}", - "administration_left_server": "{0} עזב את השרת", - "administration_log": "רישום של האירוע {0} בערוץ זה.", - "administration_log_all": "רישום כל האירועים בערוץ זה.", - "administration_log_disabled": "הרישום הופסק.", - "administration_log_events": "תרשום את האירועים שאתה יכול להירשם אליהם.", - "administration_log_ignore": "הרישום יתעלם מ{0}", - "administration_log_not_ignore": "הרישום לא יתעלם מ{0}", - "administration_log_stop": "הרישום לאירוע {0} נפסק.", - "administration_menrole": "", - "administration_message_from_bo": "הודעה מ{0} ׳[מנהל הבוט]׳", - "administration_message_sent": "הודעה נשלחה.", - "administration_moved": "{0} עבר מ{1} ל{2}.", - "administration_msg_del": "הודעה נמחקה ב#{0}", - "administration_msg_update": "הודעה עדכנה ב#{0}", - "administration_muted_pl": "מושתק", - "administration_muted_sn": "מושתק", - "administration_mute_error": "כנראה שאין לי הרשאה לזה.", - "administration_mute_role_set": "תפקיד מושתק חדש נוצר.", - "administration_need_admin": "אני צריך אישור **מנהל** כדי לעשות את זה.", - "administration_new_msg": "הודעה חדשה", - "administration_new_nick": "כינוי חדש", - "administration_new_topic": "נושא חדש", - "administration_nick_change": "כינוי שונה", - "administration_no_server": "לא ניתן למצוא את השרת", - "administration_no_shard_id": "", - "administration_old_msg": "הודעה ישנה", - "administration_old_nick": "כינוי ישן", - "administration_old_topic": "נושא ישן", - "administration_perms": "שגיאה. כנראה אין לי את האישורים המתאימים.", - "administration_perms_reset": "ההרשאות לשרת זה התחדשו.", - "administration_prot_active": "הגנות פועלות", - "administration_prot_disable": "{0} **הופסק** בשרת זה.", - "administration_prot_enable": "{0} אופשר.", - "administration_prot_error": "שגיאה. אני צריך אישור **ManageRole**", - "administration_prot_none": "אין הגנות פעילות", - "administration_raid_cnt": "הסף של המשתמש צריך להיות בין {0} ל{1}.", - "administration_raid_stats": "אם {0} או יותר משתמשים יצטרפו בעוד {1} שניות, אני {2} אותם.", - "administration_raid_time": "הזמן חייב להיות בין {0} ו{1} שניות.", - "administration_rar": "כל התפקידים הוסרו בהצלחה ממשתמש {0}", - "administration_rar_err": "הסרת התפקיד נכשלה. אין לי מספיק הרשאות.", - "administration_rc": "הצבע של {0} התפקיד היה שונה.", - "administration_rc_not_exist": "התפקיד הזה לא קיים.", - "administration_rc_params": "הפרמטר המבוקש אינו חוקי.", - "administration_rc_perms": "השגייה התרחשה בגלל צבע לא נכון או חוסר הרשאות.", - "administration_remrole": "התפקיד {0} הוסר בהצלחה ממשתמש {0}", - "administration_remrole_err": "הסרת התפקיד נחשלה. אני לי מספיק הרשאות.", - "administration_renrole": "שם התפקיד השתנה.", - "administration_renrole_err": "שינוי התפקיד מחשל. אני לי מספיק הרשאות.", - "administration_renrole_perms": "אתה לא יכול לעדכן תפקידים גבוהים משלך.", - "administration_reprm": "ההודאה המוקלטת הוסרה: {0}", - "administration_role_added": "תפקיד {0} הוסף לרשימה.", - "administration_role_clean": "{0} לא נמצא. נוקה.", - "administration_role_in_list": "התפקיד {0} כבר נמצא ברשימה.", - "administration_ropl_added": "הוסף.", - "administration_ropl_disabled": "סטטוס משתנה הופסק.", - "administration_ropl_enabled": "סטטוס משתנה הותחל.", - "administration_ropl_list": "הנה רשימה של סטטוסים מסתובבים: {0}", - "administration_ropl_not_set": "לא נקבע סטטוס משתנה.", - "administration_self_assign_already": "יש לך כבר {0} תפקיד.", - "administration_self_assign_already_excl": "", - "administration_self_assign_excl": "", - "administration_self_assign_list": "", - "administration_self_assign_not": "", - "administration_self_assign_not_have": "אין לך {0} תפקיד.", - "administration_self_assign_no_excl": "", - "administration_self_assign_perms": "", - "administration_self_assign_rem": "", - "administration_self_assign_remove": "אין לך את התפקיד {0}.", - "administration_self_assign_success": "יש לך את התפקיד {0}.", - "administration_setrole": "", - "administration_setrole_err": "", - "administration_set_avatar": "תמונת הפרופיל הוספה.", - "administration_set_channel_name": "שם הערוץ החדש נקבע.", - "administration_set_game": "משחק חדש נוצר.", - "administration_set_stream": "", - "administration_set_topic": "", - "administration_shard_reconnected": "", - "administration_shard_reconnecting": "", - "administration_shutting_down": "קורס", - "administration_slowmode_desc": "משתמשים לא יכולים לשלוח יותר מ{0} הודאות כל {1} שניות.", - "administration_slowmode_disabled": "מצב איתי הופסק.", - "administration_slowmode_init": "מצב איתי הותחל.", - "administration_soft_banned_pl": "הסרה קלה (גורש)", - "administration_spam_ignore": "{0} יתעלם מערוץ זה.", - "administration_spam_not_ignore": "{0} לא יתעלם מערוץ זה.", - "administration_spam_stats": "", - "administration_text_chan_created": "ערוץ כתב נוצר.", - "administration_text_chan_destroyed": "ערוץ כתב הושמד.", - "administration_undeafen": "", - "administration_unmuted_sn": "", - "administration_username": "שם משתמש", - "administration_username_changed": "שם משתמש שונה", - "administration_users": "משתמשים", - "administration_user_banned": "משתמש מורחק", - "administration_user_chat_mute": "", - "administration_user_chat_unmute": "", - "administration_user_joined": "משתמש הצתרף", - "administration_user_left": "משתמש עזב ", - "administration_user_muted": "", - "administration_user_role_add": "התפקיד של המשתמש הוסף.", - "administration_user_role_rem": "התפקיד של שמשתמש הורד.", - "administration_user_status_change": "{0} עכשיו {1}", - "administration_user_unmuted": "", - "administration_user_vjoined": "{0} הצטרף ל{1} ערוץ קול.", - "administration_user_vleft": "{0} עזב מ{1} ערוץ קול.", - "administration_user_vmoved": "{0} עבר מ{1} ל{2} ערוץ קול.", - "administration_user_voice_mute": "", - "administration_user_voice_unmute": "", - "administration_voice_chan_created": "ערוץ קול הוצר", - "administration_voice_chan_destroyed": "ערוץ קול מושמד", - "administration_vt_disabled": "תכונה של קול + טקסט מכובה.", - "administration_vt_enabled": "תכונה של קול + טקסק אופשרה.", - "administration_vt_exit": "אין לי רשות **נהל תפקידים** וגם/או **נהל ערוצים**, אז אני לא יכול להריץ `קול+טקסט` על {0} רשת.", - "administration_vt_no_admin": "אתה מאפשר/שולל את התכונה הזאת ו**לי אין רשות של מנהל**. זה יכול לגרום לכמה בעיות, ואתה תתצרך לנקות את ערוצי הטקסט בעצמך אחר כך.", - "administration_vt_perms": "אני חייב לפחות **נהל תפקידים** ו**נהל ערוצים** הרשאות כדי לאפשר את התכונה הזאת. (רשות של מנהל מועדפת)", - "administration_xmuted_text": "משתמש {0} מטקסט צ׳אט", - "administration_xmuted_text_and_voice": "משתמש {0} מטקסט וקול צ׳אט", - "administration_xmuted_voice": "משתמש {0} מערוץ קול.", - "administration_sbdm": "", - "administration_user_unbanned": "", - "administration_migration_done": "נדידה גמורה!", - "adminsitration_migration_error": "שגיעה בזמן הנדידה, תבדוק את ה מסוף בקרה של הבוט בשביל יותר מידע.\n\n ", - "administration_presence_updates": "עדכון נוכחות", - "administration_sb_user": "", - "gambling_awarded": "העניק {0} ל{1}", - "gambling_better_luck": "בהצלחה בפעם הבאה ^_^", - "gambling_br_win": "מזל טוב! אתה ניצחת {0} עבור זה שגלגלת מעבר מ{1}", - "gambling_deck_reshuffled": "חסיפה מעורבבת.", - "gambling_flipped": "הפך {0}.", - "gambling_flip_guess": "אתה ניחשת את זה! ניצחת {0}", - "gambling_flip_invalid": "המספר שצוין אינו חוקי. אתה יכול להעיף 1 עד {0} מטבעות.", - "gambling_flowerreaction_desc": "תצרף תגובה {0} להודעה הזאת כדי לקבל {1}.", - "gambling_flowerreaction_footer": "האירוע הזה פעיל עד {0} שעות.", - "gambling_flowerreaction_title": "אירוע תגובות הפרח התחיל!", - "gambling_gifted": "נתן מתנה של {0} ל{1}", - "gambling_has": "{0} יש {1}", - "gambling_heads": "ראש", - "gambling_leaderboard": "לוח תוצאות", - "gambling_mass_award": "הוענק {0} ל {1} למשתמשים מ{2} תפקיד.", - "gambling_max_bet_limit": "אתה לא יכול להמר יותר מ-{0}", - "gambling_min_bet_limit": "אתה לא יכול להמר פחות מ-{0}", - "gambling_not_enough": "אין לך מספיך {0}", - "gambling_no_more_cards": "אין יותר קלפים בחפיסה.", - "gambling_raffled_user": "משתמש הגרלות", - "gambling_roll": "אתה גלגלת {0}.", - "gambling_slot_bet": "להמר", - "gambling_slot_jackpot": "ווווווווווווואאווו!!! מזל טוב!!! x{0}", - "gambling_slot_single": "{0} יחיד, x{1}", - "gambling_slot_three": "וואו! בר מזל! שלושה מאותו הסוג! x{0}", - "gambling_slot_two": "עבודה טובה! שני {0} - ההימור x{1}", - "gambling_slot_won": "זכית", - "gambling_sneakygamestatus_desc": "משתמשים חייבים להקליד קוד סודי כדי לקבל {0}. נמשך {1} שניות. אל תספר לאף אחד. ששש.", - "gambling_sneakygamestatus_end": "האירוע של משחקערמומי הסתיים. {0} משתמשים קיבלו את הפרס.", - "gambling_sneakygamestatus_title": "משחקערמומיסטטוס אירוע התחיל", - "gambling_tails": "זנב", - "gambling_take": "בהצלחה נלקח {0} מ{1}", - "gambling_take_fail": "לא הצליח לקחת {0} מ{1} משום שלמשתמש אין כל כך הרבה {2}!", - "help_back_to_toc": "חזר לToC", - "help_bot_owner_only": "מנהל של הבוט בלבד", - "help_channel_permission": "מתחייבת {0} רשות ערוץ.", - "help_cmdlist_donate": "אתה יכול לתמוח בפרוייקט על Patreon: <{0}> או Paypal: <{1}>", - "help_cmd_and_alias": "פקודות וכינויים", - "help_commandlist_regen": "רשימת הפיקוד התחדשה.", - "help_commands_instr": "", - "help_command_not_found": "אני לא יכול למצוא את הפקודה הזאת. בבקשה תוודא שהפקודה הזאת נמצאת לפני שתנסה שוב.", - "help_desc": "תאור", - "help_donate": "אתה יכול למתוח את הנאדקובוט פרוייקט על Patreon <{0}> או Paypal <{1}>\nאל תשכח להשאיר את השם של הדיסקורד שלך או הזהוי בהודעה.\n\n**תודה** ♥️", - "help_guide": "**רשימה של פקודות**: <{0}>\n**מדריכי אירוך ומסמכים אפשר למצוא כאן**: <{1}>", - "help_list_of_commands": "רשימה של פקודות", - "help_list_of_modules": "רשימה של מודולים", - "help_modules_footer": "", - "help_module_not_found": "המודול הזה לא קיים.", - "help_server_permission": "נדרשת {0} רשות השרת.", - "help_table_of_contents": "תוכן העניינים", - "help_usage": "נוהג", - "nsfw_autohentai_started": "הנטאי אוטומטי התחיל. פורסים מחדש כל {0}ש עם אחד מהתגים הבאים:\n{1}", - "nsfw_tag": "תג", - "gambling_animal_race": "מרוץ בעלי חיים", - "gambling_animal_race_failed": "נכשל להתחיל מכיוון שלא היו מספיק משתתפים.", - "gambling_animal_race_full": "המרוץ מלא! מתחיל מיד.", - "gambling_animal_race_join": "{0} הצתרף כ{1}", - "gambling_animal_race_join_bet": "{0} הצתרף כ{1} והימר {2}!", - "gambling_animal_race_join_instr": "תרשום jr{0} כדי להצתרף למרוץ.", - "gambling_animal_race_starting": "מתחיל ב20 שניות או מתי שהחדר מלא.", - "gambling_animal_race_starting_with_x": "מתחיל עם {0} משתתפים.", - "gambling_animal_race_won": "{0} כ{1} ניצח במרוץ!", - "gambling_animal_race_won_money": "{0} כ{1} ניצח במרוץ ו{2}!", - "gambling_dice_invalid_number": "המספר שצוין אינו חוקי. אתה יכול לגלגל {0}-{1} קוביות בבת אחת.", - "gambling_dice_rolled": "גלגל {0}", - "gambling_dice_rolled_num": "הקוביה גלגלה: {0}", - "gambling_race_failed_starting": "נכשל להתחיל את המרוץ. יכול להיות שמרוץ אחר כבר פעיל.", - "gambling_race_not_exist": "אין מרוץ קיים ברשת הזאת.", - "gambling_second_larger_than_first": "המספר השני חייב להיות גדול יותר מהמספר הראשון.", - "gambling_changes_of_heart": "שינויים של הלב", - "gambling_claimed_by": "נתבע על ידי", - "gambling_divorces": "גירושים", - "gambling_likes": "מחבב", - "gambling_price": "מחיר", - "gambling_waifus_none": "שום וואיפוס נתבעו עדיין.", - "gambling_waifus_top_waifus": "וואיפוס ראשיות", - "gambling_waifu_affinity_already": "הזיקה שלך כבר מוגדרת לוואיפו הזאת או שאתה מנסה להסיר את ההזיקה שלך בזמן שאין לך אחת.", - "gambling_waifu_affinity_changed": "שינה את הזיקה שלהם מ{0} ל{1}\n\n*זה מפקפק באופן מוסרי.* 🤔", - "gambling_waifu_affinity_cooldown": "אתה חייב לחכות {0} שעות ו{1} דקות כדי לשנות את הזיקה שלך עוד פעם.", - "gambling_waifu_affinity_reset": "הזיקה שלך אופסה. אין לך יותר אדם שאתה מחבב.", - "gambling_waifu_affinity_set": "רוצה להיות וואיפו של {0}. אוו 3>", - "gambling_waifu_claimed": "תבע {0} כהוואיפו שלהם בשביל {1}!", - "gambling_waifu_divorced_like": "אתה גירשת וואיפו שאוהבת אותך. אתה מפלצת חסרת לב.\n{0} קיבל {1} כפיצוי.", - "gambling_waifu_egomaniac": "אתה לא יכול להגדיר זיקה לעצמך, אתה אגומניאק.", - "gambling_waifu_fulfilled": "🎉 האהבה שלהם התגשמה! 🎉\nהערך החדש של {0} הוא {1}", - "gambling_waifu_isnt_cheap": "שום וואיפו כל כך זולה. אתה חייב לשלם לפחות {0} כדי להדיג וואיפו, אפילו אם הערך האמיתי שלהם נמוך יותר.", - "gambling_waifu_not_enough": "אתה חייב לשלם {0} או יותר בשביל לתבוע את הוואיפו הזאת!", - "gambling_waifu_not_yours": "הוואיפו הזאת לא שלך.", - "gambling_waifu_not_yourself": "אתה לא יכול לתבע את עצמך.", - "gambling_waifu_recent_divorce": "אתה התגרשת לא מזמן. אתה צריך לחכות {0} שעות ו{1} דקות כדי להתגרש עוד פעם.", - "gambling_nobody": "אף אחד", - "gambling_waifu_divorced_notlike": "אתה גירשת וואיפו שלא מחבבת אותך. אתה קיבלת {0} בחזרה.", - "games_8ball": "8כדור", - "games_acrophobia": "פחד גבהים", - "games_acro_ended_no_sub": "המשחק הסתיים ללא הגשות.", - "games_acro_no_votes_cast": "אין הצבעות. המשחק הסתיים ללא מנצח.", - "games_acro_nym_was": "ראשי התיבות היו {0}.", - "games_acro_running": "משחק פחד גבהים כבר פועל בערוץ הזה.", - "games_acro_started": "המשחק התחיל. תכינו משפט עם הראשי התיבות הבאים: {0}.", - "games_acro_started_footer": "יש לך {0} שניות כדי לעשות הגשה.", - "games_acro_submit": "{0} הגיש את המשפט שלהם. ({1} בסכם)", - "games_acro_vote": "תצביע על ידי הקלדת מספר ההגשה", - "games_acro_vote_cast": "{0} הצביעו!", - "games_acro_winner": "המנצח הוא {0} עם {1} נקודות", - "games_acro_winner_only": "{0} המנצח בגלל שהוא המשתמש היחיד שעשה הגשה!", - "games_question": "שאלה", - "games_rps_draw": "זה תיקו! שניהם הרימו {0}", - "games_rps_win": "{0} ניצח! {1} מביס {2}", - "games_submissions_closed": "ההגשות סגורות", - "gambling_animal_race_already_started": "מרוץ חיות כבר התחיל.", - "gambling_total_average": "סה\"כ: {0} ממוצע: {1}", - "games_category": "קטגוריה", - "games_cleverbot_disabled": "קלברבוט מכובה על השרת הזה.", - "games_cleverbot_enabled": "קלברבוט מופעל על השרת הזה.", - "games_curgen_disabled": "דור המטבע מופעל על הערוץ הזה.", - "games_curgen_enabled": "דור המטבע מכובה על הערוץ הזה.", - "games_curgen_pl": "{0} מקרי {1} הופיע!", - "games_curgen_sn": "מקרי {0} הופיע!", - "games_failed_loading_question": "נכשל לטעון שאלה.", - "games_game_started": "משחק התחיל", - "games_hangman_game_started": "משחק איש תלוי התחיל", - "games_hangman_running": "משחק איש תלוי בל פעיל על הערוץ הזה.", - "games_hangman_start_errored": "שגיאה בהתחלה של איש תלוי", - "games_hangman_types": "רשימה של \"{0}איש תלוי\" סוגי טווח:", - "games_leaderboard": "לוח תוצאות", - "games_not_enough": "אין לך מספיק {0}", - "games_no_results": "אין תוצאות", - "games_picked": "תלש {0}", - "games_planted": "{0} שתל {1}", - "games_trivia_already_running": "משחק טריוויה כבר פועל ברשת הזאת.", - "games_trivia_game": "משחק טריוויה", - "games_trivia_guess": "{0} ניחש את זה! התשובה הייתה: {1}", - "games_trivia_none": "משחק טריוויה לא פעיל על השרת הזה.", - "games_trivia_points": "{0} יש {1} נקודות", - "games_trivia_stopping": "עוצר אחרי השאלה הזאת.", - "games_trivia_times_up": "הזמן עבר! התשובה הנכונה הייתה {0}", - "games_trivia_win": "{0} ניחש את זה וניצח במשחק! התשובה הייתה: {1}", - "games_ttt_against_yourself": "אתה לא יכול לשחק נגד עצמך.", - "games_ttt_already_running": "משחק איקס ועיגולים כבר פעיל על הערוץ הזה.", - "games_ttt_a_draw": "תיקו!", - "games_ttt_created": "יצר משחק של איקס ועיגולים.", - "games_ttt_has_won": "{0} ניצח!", - "games_ttt_matched_three": "שלושה מתאימים", - "games_ttt_no_moves": "אין יותר מהלכים!", - "games_ttt_time_expired": "הזמן עבר!", - "games_ttt_users_move": "המהלך של {0}", - "games_vs": "{0} נגד {1}", - "music_attempting_to_queue": "מנסה לשים {0} שירים בתור...", - "music_autoplay_disabled": "הפעלה אוטומטית מכובה.", - "music_autoplay_enabled": "הפעלה אוטומטית מופעלה.", - "music_defvol_set": "ווליום ברירת מחדל מכוון ל%{0}", - "music_dir_queue_complete": "תור מנחה מושלם.", - "music_fairplay": "לנגןהוגן", - "music_finished_song": "שיר הסיים", - "music_fp_disabled": "לנגן הוגן מכובה.", - "music_fp_enabled": "לנגן הוגן מופעל.", - "music_from_position": "מתוך עמדה", - "music_id": "זהוי", - "music_invalid_input": "קלט לא תקין.", - "music_max_playtime_none": "מקסימום פלייטיים אין הגבלה עכשיו.", - "music_max_playtime_set": "מקסימום פלייטיים קבע ל{0} שניות.", - "music_max_queue_unlimited": "גודל התור של מקסימום מוזיקה קבע ללא הגבלה.", - "music_max_queue_x": "הגודל של מקסימום תור מוזיקה קבע ל{0} מסלול(ים).", - "music_must_be_in_voice": "אתה חייב להיות בערוץ קול על השרת הזה.", - "music_name": "שם", - "music_now_playing": "עכשיו מנגן", - "music_no_player": "אין נגן מוזיקה פעיל.", - "music_no_search_results": "אין תוצאות חיפוש", - "music_paused": "השמעת מוזיקה נעצרה.", - "music_player_queue": "תור השחקן - עמוד {0}/{1}", - "music_playing_song": "מנגן שיר", - "music_playlists": "`#{0}` - **{1}** by *{2}* ({3} שירים)", - "music_playlists_page": "עמוד {0} של פלייליסטים שמורים", - "music_playlist_deleted": "פלייליסט נמחק.", - "music_playlist_delete_fail": "נכשל לנסות למחוק אל הפלייליסט הזה. זה אולי לא קיים, או שאתה לא מחברו.", - "music_playlist_id_not_found": "פלייליסט עם הזהוי הזה לא קיים.", - "music_playlist_queue_complete": "תור הפלייליסט שלם.", - "music_playlist_saved": "פליילסט נשמר", - "music_play_limit": "{0} הגבלה", - "music_queue": "תור", - "music_queued_song": "שיר בתור", - "music_queue_cleared": "תור המוזיקה נוקה.", - "music_queue_full": "התור מלא ב{0}/{0}", - "music_removed_song": "שיר מחוק", - "music_repeating_cur_song": "חוזרים על השיר הנוכחי", - "music_repeating_playlist": "חוזרים על הפלייליסט", - "music_repeating_track": "", - "music_repeating_track_stopped": "", - "music_resumed": "", - "music_rpl_disabled": "", - "music_rpl_enabled": "", - "music_set_music_channel": "", - "music_skipped_to": "", - "music_songs_shuffled": "", - "music_song_moved": "", - "music_time_format": "", - "music_to_position": "", - "music_unlimited": "", - "music_volume_input_invalid": "", - "music_volume_set": "", - "permissions_acm_disable": "", - "permissions_acm_enable": "", - "permissions_allowed": "מותר", - "permissions_arm_disable": "", - "permissions_arm_enable": "", - "permissions_asm_disable": "", - "permissions_asm_enable": "", - "permissions_aum_disable": "", - "permissions_aum_enable": "", - "permissions_blacklisted": "", - "permissions_cmdcd_add": "", - "permissions_cmdcd_cleared": "", - "permissions_cmdcd_none": "", - "permissions_command_costs": "", - "permissions_cx_disable": "", - "permissions_cx_enable": "", - "permissions_denied": "נשלל", - "permissions_filter_word_add": "", - "permissions_filter_word_list": "", - "permissions_filter_word_remove": "", - "permissions_invalid_second_param_between": "", - "permissions_invite_filter_channel_off": "", - "permissions_invite_filter_channel_on": "", - "permissions_invite_filter_server_off": "", - "permissions_invite_filter_server_on": "", - "permissions_moved_permission": "", - "permissions_not_found": "", - "permissions_no_costs": "", - "permissions_of_command": "", - "permissions_of_module": "", - "permissions_page": "", - "permissions_permrole": "", - "permissions_permrole_changed": "", - "permissions_perm_out_of_range": "", - "permissions_removed": "", - "permissions_rx_disable": "", - "permissions_rx_enable": "", - "permissions_sec": "", - "permissions_sx_disable": "", - "permissions_sx_enable": "", - "permissions_unblacklisted": "", - "permissions_uneditable": "", - "permissions_ux_disable": "", - "permissions_ux_enable": "", - "permissions_verbose_false": "", - "permissions_verbose_true": "", - "permissions_word_filter_channel_off": "", - "permissions_word_filter_channel_on": "", - "permissions_word_filter_server_off": "", - "permissions_word_filter_server_on": "", - "searches_abilities": "", - "searches_anime_no_fav": "", - "searches_atl_ad_started": "", - "searches_atl_removed": "הפרוש המידי שלך לשפה זאת הוסרה.", - "searches_atl_set": "", - "searches_atl_started": "", - "searches_atl_stopped": "", - "searches_bad_input_format": "", - "searches_card_not_found": "", - "searches_catfact": "", - "searches_chapters": "", - "searches_comic_number": "", - "searches_compet_loses": "", - "searches_compet_played": "", - "searches_compet_rank": "", - "searches_compet_wins": "", - "searches_completed": "", - "searches_condition": "", - "searches_cost": "", - "searches_date": "", - "searches_define": "", - "searches_dropped": "", - "searches_episodes": "", - "searches_error_occured": "שגיעה נוצרה", - "searches_example": "דוגמה", - "searches_failed_finding_anime": "מציאת האנימה נחשל.", - "searches_failed_finding_manga": "מציאת המנגה נחשלה", - "searches_genres": "ג'אנר", - "searches_hashtag_error": "", - "searches_height_weight": "גובה/משקל", - "searches_height_weight_val": "{0}מ'/{1}ק\"ג", - "searches_humidity": "לחות", - "searches_image_search_for": "חיפוש תמונה של:", - "searches_imdb_fail": "מציאת מסרט נחשל.", - "searches_invalid_lang": "מקור או שפה לא נכונה.", - "searches_jokes_not_loaded": "בדיחה לא הועלתה.", - "searches_latlong": "", - "searches_level": "רמה", - "searches_list_of_place_tags": "", - "searches_location": "מיקום", - "searches_magicitems_not_loaded": "חפץ הקסם לא הועלה.", - "searches_mal_profile": "", - "searches_mashape_api_missing": "", - "searches_min_max": "הכי פחות/הרבה", - "searches_no_channel_found": "", - "searches_no_results": "אין תוצעות", - "searches_on_hold": "במעצר", - "searches_original_url": "הקישור המקורי", - "searches_osu_api_key": "", - "searches_osu_failed": "", - "searches_over_x": "", - "searches_ow_user_not_found": "", - "searches_plan_to_watch": "מתקבן לראות", - "searches_platform": "פלטפורמה", - "searches_pokemon_ability_none": "יכולת לא נמצאה", - "searches_pokemon_none": "פוקמון לא נמצא", - "searches_profile_link": "קישור פרופיל:", - "searches_quality": "איכות:", - "searches_quick_playtime": "", - "searches_quick_wins": "ניצחונות מהירים", - "searches_rating": "דירוג", - "searches_score": "ניקוד:", - "searches_search_for": "חיפוש של:", - "searches_shorten_fail": "קיצר שורת הקישור נחשל", - "searches_short_url": "קישור קצר", - "searches_something_went_wrong": "משהו השתבש", - "searches_specify_search_params": "", - "searches_status": "", - "searches_store_url": "קישור החנות", - "searches_streamer_offline": "", - "searches_streamer_online": "", - "searches_streams_following": "", - "searches_streams_none": "", - "searches_stream_no": "", - "searches_stream_not_exist": "", - "searches_stream_removed": "", - "searches_stream_tracked": "", - "searches_sunrise": "זריחה", - "searches_sunset": "שקיעה", - "searches_temperature": "טמפרטורה", - "searches_title": "", - "searches_top_3_fav_anime": "שלושת האנימות הטובות ביותר:", - "searches_translation": "פרוש:", - "searches_types": "סוגים", - "searches_ud_error": "מציעת הפרושים של המוסג הזה נחשל.", - "searches_url": "קישור", - "searches_viewers": "צופים", - "searches_watching": "צופה", - "searches_wikia_error": "", - "searches_wikia_input_error": "", - "searches_wiki_page_not_found": "העמוד לא נמצא", - "searches_wind_speed": "מהירות הרוח", - "searches_x_most_banned_champs": "", - "searches_yodify_error": "", - "utiliity_joined": "הצתרף", - "utility_activity_line": "", - "utility_activity_page": "", - "utility_activity_users_total": "", - "utility_author": "יוצר", - "utility_botid": "מס' זהות של הבוט", - "utility_calcops": "", - "utility_channelid": "", - "utility_channel_topic": "", - "utility_commands_ran": "", - "utility_convert": "", - "utility_convertlist": "", - "utility_convert_not_found": "", - "utility_convert_type_error": "", - "utility_created_at": "", - "utility_csc_join": "", - "utility_csc_leave": "", - "utility_csc_token": "", - "utility_custom_emojis": "", - "utility_error": "", - "utility_features": "", - "utility_id": "", - "utility_index_out_of_range": "", - "utility_inrole_list": "", - "utility_inrole_not_allowed": "", - "utility_invalid_value": "", - "utility_joined_discord": "", - "utility_joined_server": "", - "utility_listservers": "מס' זהות: {0}\nמשתמשים: {1}\nבעלי המס' זהות: {2}", - "utility_listservers_none": "", - "utility_list_of_repeaters": "", - "utility_members": "משתמשים", - "utility_memory": "זיכרון", - "utility_messages": "הודאות", - "utility_message_repeater": "", - "utility_name": "שם", - "utility_nickname": "כינוי", - "utility_nobody_playing_game": "אף אחד לא משחק במשחק הזה", - "utility_no_active_repeaters": "", - "utility_no_roles_on_page": "", - "utility_no_shards_on_page": "", - "utility_no_topic_set": "", - "utility_owner": "בעלים", - "utility_owner_ids": "מס' זהות של הבעלים", - "utility_presence": "", - "utility_presence_txt": "", - "utility_quotes_deleted": "מחק את כל הציטוטים עם {0} מילות המפתח.", - "utility_quotes_page": "עמוד {0} של ציטוטים.", - "utility_quotes_page_none": "אין ציטוטים בעמוד זה.", - "utility_quotes_remove_none": "", - "utility_quote_added": "", - "utility_quote_deleted": "", - "utility_region": "", - "utility_registered_on": "", - "utility_remind": "", - "utility_remind_invalid_format": "", - "utility_remind_template": "", - "utility_repeater": "", - "utility_repeaters_list": "", - "utility_repeaters_none": "", - "utility_repeater_stopped": "", - "utility_repeat_invoke_none": "", - "utility_result": "", - "utility_roles": "", - "utility_roles_all_page": "", - "utility_roles_page": "", - "utility_rrc_no_colors": "", - "utility_rrc_start": "", - "utility_rrc_stop": "", - "utility_serverid": "", - "utility_server_info": "", - "utility_shard": "", - "utility_shard_stats": "", - "utility_shard_stats_txt": "", - "utility_showemojis": "", - "utility_showemojis_none": "", - "utility_stats_songs": "", - "utility_text_channels": "", - "utility_togtub_room_link": "", - "utility_uptime": "", - "utility_userid": "{0} של המשתמש {1} הינו {2}", - "utility_users": "משתמשים", - "utility_voice_channels": "", - "gambling_animal_race_already_in": "אתה כבר חלק מהמרוץ הזה.", - "games_current_poll_results": "", - "games_no_votes_cast": "", - "games_poll_already_running": "", - "games_poll_created": "", - "games_poll_result": "", - "games_poll_voted": "{0} הצביע.", - "games_poll_vote_private": "", - "games_poll_vote_public": "", - "games_thanks_for_voting": "תודה שהצבעתת {0}", - "games_x_votes_cast": "", - "games_pick_pl": "בחר אותם על ידי הקלדת `{0}בחר`", - "games_pick_sn": "", - "gambling_no_users_found": "משתמש לא נמצא.", - "gambling_page": "דף {0}", - "administration_must_be_in_voice": "אתה חייב להיות בערוץ קול.", - "administration_no_vcroles": "", - "administration_user_muted_time": "", - "administration_vcrole_added": "", - "administration_vcrole_removed": "", - "administration_vc_role_list": "", - "customreactions_crad_disabled": "", - "customreactions_crad_enabled": "", - "customreactions_crdm_disabled": "", - "customreactions_crdm_enabled": "", - "utility_aliases_none": "", - "utility_alias_added": "", - "utility_alias_list": "", - "utility_alias_removed": "", - "utility_alias_remove_fail": "", - "searches_compet_playtime": "", - "administration_channel": "", - "administration_command_text": "", - "administration_kicked_pl": "", - "administration_moderator": "", - "administration_page": "", - "administration_reason": "", - "administration_scadd": "", - "administration_scrm": "", - "administration_scrm_fail": "", - "administration_server": "", - "administration_startcmdlist_none": "", - "administration_startcmds_cleared": "", - "administration_unbanned_user": "", - "administration_user_not_found": "", - "administration_user_warned": "", - "administration_user_warned_and_punished": "", - "administration_warned_on": "", - "administration_warned_on_by": "", - "administration_warnings_cleared": "", - "administration_warnings_none": "", - "administration_warnlog_for": "", - "administration_warnpl_none": "", - "administration_warn_cleared_by": "", - "administration_warn_punish_list": "", - "administration_warn_punish_rem": "", - "administration_warn_punish_set": "", - "administration_slowmodewl_role_start": "", - "administration_slowmodewl_role_stop": "", - "administration_slowmodewl_user_start": "", - "administration_slowmodewl_user_stop": "", - "utility_clpa_fail": "", - "utility_clpa_fail_already": "", - "utility_clpa_fail_already_title": "", - "utility_clpa_fail_conn": "", - "utility_clpa_fail_conn_title": "", - "utility_clpa_fail_sup": "", - "utility_clpa_fail_sup_title": "", - "utility_clpa_fail_wait": "", - "utility_clpa_fail_wait_title": "", - "utility_clpa_success": "", - "utility_clpa_too_early": "", - "searches_time": "", - "administration_rh": "", - "gambling_name": "", - "gambling_shop": "", - "gambling_shop_item_add": "", - "gambling_shop_none": "", - "gambling_shop_role": "", - "gambling_type": "", - "utility_clpa_next_update": "", - "administration_global_perms_reset": "", - "administration_gvc_disabled": "", - "administration_gvc_enabled": "", - "administration_not_in_voice": "", - "gambling_item": "", - "gambling_out_of_stock": "", - "gambling_random_unique_item": "", - "gambling_shop_buy_error": "", - "gambling_shop_item_not_found": "", - "gambling_shop_item_purchase": "", - "gambling_shop_item_rm": "", - "gambling_shop_item_wrong_type": "", - "gambling_shop_list_item_added": "", - "gambling_shop_list_item_not_unique": "", - "gambling_shop_purchase": "", - "gambling_shop_role_not_found": "", - "gambling_shop_role_purchase": "", - "gambling_shop_role_purchase_error": "", - "gambling_unique_items_left": "", - "permissions_blocked_commands": "", - "permissions_blocked_modules": "", - "permissions_gcmd_add": "", - "permissions_gcmd_remove": "", - "permissions_gmod_add": "", - "permissions_gmod_remove": "", - "permissions_lgp_none": "" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.id-ID.json b/src/NadekoBot/_strings/ResponseStrings.id-ID.json deleted file mode 100644 index c460c0aa..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.id-ID.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Markas itu telah diklaim atau dihancurkan.", - "clashofclans_base_already_destroyed": "Markas itu telah dihancurkan.", - "clashofclans_base_already_unclaimed": "Markas itu belum diklaim.", - "clashofclans_base_destroyed": "**DIHANCURKAN** markas #{0} di sebuah perang melawan {1}", - "clashofclans_base_unclaimed": "{0} telah **MEMBATALKAN KLAIM** markas #{1} di sebuah perang melawan {2}", - "clashofclans_claimed_base": "{0} Telah mengklaim sebuah markas #{1} di perang melawan {2}", - "clashofclans_claimed_other": "@{0} Anda telah mengklaim markas #{1}. Anda tidak bisa mengklaim lagi.", - "clashofclans_claim_expired": "Klaim dari @{0} di sebuah perang melawan {1} telah kadaluarsa.", - "clashofclans_enemy": "Musuh", - "clashofclans_info_about_war": "Info tentang perang melawan {0}", - "clashofclans_invalid_base_number": "Jumlah markas yang salah.", - "clashofclans_invalid_size": "Bukan ukuran perang yang benar.", - "clashofclans_list_active_wars": "Daftar perang aktif.", - "clashofclans_not_claimed": "Tidak diklaim.", - "clashofclans_not_partic": "Anda tidak berpartisipasi di perang itu.", - "clashofclans_not_partic_or_destroyed": "@{0} Antara anda tidak berpartisipasi di perang itu, atau markas itu telah dihancurkan.", - "clashofclans_no_active_wars": "Tidak ada perang aktif.", - "clashofclans_size": "Ukuran", - "clashofclans_war_already_started": "Perang melawan {0} telah dimulai.", - "clashofclans_war_created": "Telah membuat perang melawan {0}.", - "clashofclans_war_ended": "Perang melawan {0} telah selesai.", - "clashofclans_war_not_exist": "Perang itu tidak ada.", - "clashofclans_war_started": "Perang melawan {0} mulai!", - "customreactions_all_stats_cleared": "Semua reaksi kustom telah dibersihkan.", - "customreactions_deleted": "Reaksi kustom telah dihapus.", - "customreactions_insuff_perms": "Izin anda kurang. Dibutuhkan kepemilikan Bot untuk reaksi kostum global, dan Administrator untuk reaksi kustom server.", - "customreactions_list_all": "Daftar dari semua reaksi kustom.", - "customreactions_name": "Reaksi kustom.", - "customreactions_new_cust_react": "Reaksi kustom baru", - "customreactions_no_found": "Tidak ada reaksi kustom yang ditemukan.", - "customreactions_no_found_id": "Tidak ada reaksi kustom ditemukan dengan id itu.", - "customreactions_response": "Tanggapan.", - "customreactions_stats": "Status reaksi kustom", - "customreactions_stats_cleared": "Status dibersihkan untuk reaksi kustom {0}.", - "customreactions_stats_not_found": "Tidak ada data untuk aksi itu, aksi tidak dilakukan.", - "customreactions_trigger": "Aksi", - "nsfw_autohentai_stopped": "Autohentai berhenti.", - "nsfw_not_found": "Tidak ada hasil yang ditemukan.", - "pokemon_already_fainted": "{0} sudah pingsan.", - "pokemon_already_full": "{0} sudah memiliki HP penuh.", - "pokemon_already_that_type": "Tipe anda sudah {0}", - "pokemon_attack": "Digunakan {0}{1} di {2}{3} untuk {4} HP.", - "pokemon_cant_attack_again": "Anda tidak bisa menyerang lagi tanpa serangan balik!", - "pokemon_cant_attack_yourself": "Anda tidak bisa menyerang diri sendiri.", - "pokemon_fainted": "{0} telah pingsan!", - "pokemon_healed": "{0} disembuhkan dengan satu {1}", - "pokemon_hp_remaining": "{0} memiliki {1} HP tersisa.", - "pokemon_invalid_move": "Anda tidak bisa menggunakan {0}. Ketik '{1}ml' untuk melihat daftar gerakan yang anda bisa gunakan.", - "pokemon_moves": "Daftar gerakan untuk tipe {0}", - "pokemon_not_effective": "Itu tidak efektif.", - "pokemon_no_currency": "Anda tidak memiliki cukup {0}", - "pokemon_revive_other": "{0} Dihidupkan dengan satu {1}", - "pokemon_revive_yourself": "Anda menghidupkan diri sendiri dengan satu {0}", - "pokemon_settype_success": "Tipe anda telah diganti ke {0} untuk sebuah {1}", - "pokemon_somewhat_effective": "Itu cukup efektif.", - "pokemon_super_effective": "Itu sangatlah efektif!", - "pokemon_too_many_moves": "Anda menggunakan terlalu banyak gerakan, jadi anda tidak bisa bergerak!", - "pokemon_type_of_user": "Tipe dari {0} adalah {1}.", - "pokemon_user_not_found": "Pengguna tidak ditemukan.", - "pokemon_you_fainted": "Anda pingsan, jadi anda tidak bisa bergerak!", - "administration_aar_disabled": "**Penetapan role otomatis** ketika user bergabung sekarang telah **non aktif**.", - "administration_aar_enabled": "**Penetapan role otomatis** ketika user bergabung sekarang telah **aktif**.", - "administration_attachments": "Lampiran", - "administration_avatar_changed": "Avatar diubah.", - "administration_bandm": "Anda telah diban dari server {0}. \nAlasan: {1}", - "administration_banned_pl": "'banned'", - "administration_banned_user": "Pengguna 'banned'", - "administration_bot_name": "Nama bot diubah ke {0}", - "administration_bot_status": "Status bot diubah ke {0}.", - "administration_byedel_off": "Penghapusan otomatis dari pesan 'bye' telah dimatikan.", - "administration_byedel_on": "Pesan 'bye' akan dihapus setelah {0} detik.", - "administration_byemsg_cur": "Pesan 'bye' sekarang: {0}", - "administration_byemsg_enable": "Nyalakan pesan 'bye' dengan menggunakan {0}", - "administration_byemsg_new": "Pesan tinggal baru tersetel.", - "administration_bye_off": "Pengumuman tinggal dimatikan.", - "administration_bye_on": "Pengumuman tinggal dinyalakan di channel ini.", - "administration_ch_name_change": "Nama Channel telah diubah.", - "administration_ch_old_name": "Nama lama.", - "administration_ch_topic_change": "Topik channel diubah.", - "administration_cleaned_up": "Dibersihkan.", - "administration_content": "Konten", - "administration_cr": "Berhasil membuat peran {0}.", - "administration_createtextchan": "Channel teks {0} telah dibuat.", - "administration_createvoich": "Channel suara {0} telah dibuat.", - "administration_deafen": "Penulian berhasil.", - "administration_deleted_server": "Server {0} dihapus", - "administration_delmsg_off": "Penghapusan otomatis telah diberhentikan karena invokasi pemerintah yang berhasil.", - "administration_delmsg_on": "Sekarang akan secara otomatis menghapus invokasi perintah yang sukses.", - "administration_deltextchan": "Channel teks {0} dihapus.", - "administration_delvoich": "Channel suara {0} dihapus.", - "administration_dm_from": "Pesan dari", - "administration_donadd": "Berhasil menambahkan donatur baru. Jumlah donasi dari user ini: {0} 👑", - "administration_donators": "Terima kasih untuk orang yang terdaftar dibawah untuk menciptakan proyek ini!", - "administration_fwall_start": "Saya akan meneruskan DM kepada semua pemilik.", - "administration_fwall_stop": "Saya akan meneruskan DM hanya ke pemilik pertama.", - "administration_fwdm_start": "Saya akan meneruskan DM mulai dari sekarang.", - "administration_fwdm_stop": "Saya akan berhenti meneruskan DM mulai dari sekarang.", - "administration_greetdel_off": "Penghapusan pesan sapaan otomatis telah dinonaktifkan.", - "administration_greetdel_on": "Pesan pesan sapaan akan dihapus setelah {0} detik.", - "administration_greetdmmsg_cur": "Pesan sapa DM sekarang: {0}", - "administration_greetdmmsg_enable": "Aktifkan pesan sapa DM dengan mengetik {0}", - "administration_greetdmmsg_new": "Pesan sapa DM baru telah diset.", - "administration_greetdm_off": "Pengumuman sapa DM dinonaktifkan.", - "administration_greetdm_on": "Pengumuman sapa DM diaktifkan.", - "administration_greetmsg_cur": "Pesan sapa sekarang: {0}", - "administration_greetmsg_enable": "Aktifkan pesan sapa dengan mengetik {0}", - "administration_greetmsg_new": "Pesan sapa baru telah diset.", - "administration_greet_off": "Pengumuman sapa dinonaktifkan.", - "administration_greet_on": "Pengumuman sapa diaktifkan di channel ini.", - "administration_hierarchy": "Anda tidak bisa menggunakkan perintah ini pada pengguna dengan peran yang lebih tinggi atau setara dengan anda di dalam hierarki peran.", - "administration_images_loaded": "Gambar ditampilkan setelah {0} detik!", - "administration_invalid_format": "Format input tidak valid.", - "administration_invalid_params": "Parameter tidak valid.", - "administration_joined": "{0} telah bergabung {1}", - "administration_kickdm": "Anda telah dikeluarkan dari server (0}.\nAlasan: {1}", - "administration_kicked_user": "Pengguna dikeluarkan", - "administration_lang_list": "Daftar bahasa-bahasa", - "administration_lang_set": "Bahasa server anda sekarang adalah {0} - {1}", - "administration_lang_set_bot": "Bahasa asli bot sekarang adalah {0} - {1}", - "administration_lang_set_bot_show": "Bahasa bot di set ke {0} - {1}", - "administration_lang_set_fail": "Gagal mengatur bahasa. Kunjungi bantuan untuk perintah ini.", - "administration_lang_set_show": "Bahasa perintah ini sekarang di set ke {0} - {1}", - "administration_left": "{0} telah pergi {1}", - "administration_left_server": "Meninggalkan server {0}", - "administration_log": "Mencatat {0} event di channel ini.", - "administration_log_all": "Mencatat semua event di channel ini.", - "administration_log_disabled": "Pencatatan dinonaktifkan.", - "administration_log_events": "Event - event catatan yang anda dapat berlangganan:", - "administration_log_ignore": "Pencatatan akan mengabaikan {0}", - "administration_log_not_ignore": "Pencatatatn tidak akan mengabaikan {0}", - "administration_log_stop": "Berhenti mencatat event {0}.", - "administration_menrole": "{0} telah menyebut peran - peran berikut", - "administration_message_from_bo": "Pesan dari {0} `[Pemilik Bot]`:", - "administration_message_sent": "Pesan terkirim.", - "administration_moved": "{0} telah pindah dari {1} ke {2}", - "administration_msg_del": "Pesan dihapus dalam #{0}", - "administration_msg_update": "Pesan diperbarui dalam #{0}", - "administration_muted_pl": "Didiamkan.", - "administration_muted_sn": "Didiamkan.", - "administration_mute_error": "Kemungkinan besar saya tidak punya izin yang dibutuhkan untuk itu.", - "administration_mute_role_set": "Peran diam baru telah diset", - "administration_need_admin": "Saya butuh izin **Administrasi** untuk melakukan itu.", - "administration_new_msg": "Pesan baru", - "administration_new_nick": "Nama panggilan baru", - "administration_new_topic": "Topik baru", - "administration_nick_change": "Nama panggilan diubah", - "administration_no_server": "Tidak dapat menemukan server itu", - "administration_no_shard_id": "Tidak ada potongan dengan ID itu ditemukan.", - "administration_old_msg": "Pesan lama", - "administration_old_nick": "Nama panggilan lama", - "administration_old_topic": "Topik lama", - "administration_perms": "Error. Kemungkinan besar saya tidak punya izin yang cukup.", - "administration_perms_reset": "Izin untuk server ini telah diatur ulang.", - "administration_prot_active": "Perlindungan aktif", - "administration_prot_disable": "{0} telah **dinonaktifkan** pada server ini.", - "administration_prot_enable": "{0} diaktifkan", - "administration_prot_error": "Error. Saya butuh izin ManageRoles", - "administration_prot_none": "Tidak ada perlindungan diaktifkan.", - "administration_raid_cnt": "Batas user harus diantara {0} dan {1}.", - "administration_raid_stats": "Jika {0} atau lebih user bergabung dalam {1} detik, Saya akan {2} mereka.", - "administration_raid_time": "Waktu harus berada diantara {0} dan {1} detik.", - "administration_rar": "Berhasil menghapus semua peran dari user {0}", - "administration_rar_err": "Gagal menghapus peran. Saya tidak punya izin.", - "administration_rc": "Warna dari peran {0} telah diubah.", - "administration_rc_not_exist": "Peran itu tidak ada.", - "administration_rc_params": "Parameter yang ditentukan tidak valid.", - "administration_rc_perms": "Error disebabkan warna tidak valid atau tidak punya izin.", - "administration_remrole": "Berhasil menghapus peran {0} dari user {1}", - "administration_remrole_err": "Gagal menghapus peran. Saya tidak punya izin.", - "administration_renrole": "Nama peran diubah.", - "administration_renrole_err": "Gagal merubah nama peran. Saya tidak punya izin.", - "administration_renrole_perms": "Anda tidak dapat mengedit peran yang lebih tinggi daripada peran tertinggi anda.", - "administration_reprm": "Pesan yang diputar: {0} telah dihapus", - "administration_role_added": "Peran {0} telah ditambahkan ke daftar.", - "administration_role_clean": "{0} tidak ditemukan. Telah dibersihkan.", - "administration_role_in_list": "Peran {0} sudah ada di dalam daftar.", - "administration_ropl_added": "Ditambahkan.", - "administration_ropl_disabled": "Status bermain berotasi dinonaktifkan.", - "administration_ropl_enabled": "Status bermain berotasi diaktifkan", - "administration_ropl_list": "Ini adalah daftar status-status yang berotasi:\n{0}", - "administration_ropl_not_set": "Tidak ada status bermain berotasi yang diset.", - "administration_self_assign_already": "Anda sudah memiliki {0} peran.", - "administration_self_assign_already_excl": "Anda sudah memiliki {0} peran eksklusif yang ditetapkan sendiri.", - "administration_self_assign_excl": "Peran yang ditetapkan sendiri sekarang eksklusif!", - "administration_self_assign_list": "Ada {0} peran yang ditetapkan sendiri", - "administration_self_assign_not": "Peran itu tidak dapat ditetapkan sendiri.", - "administration_self_assign_not_have": "Anda tidak memiliki {0} peran.", - "administration_self_assign_no_excl": "Peran yang ditetapkan sendiri sekarang tidak eksklusif!", - "administration_self_assign_perms": "Saya tidak dapat menambahkan peran itu pada anda. 'Saya tidak dapat menambahkan peran kepada pemilik atau peran lain yang lebih tinggi daripada peran saya di dalam hierarki peran.'", - "administration_self_assign_rem": "{0} telah dihapus dari daftar peran yang dapat ditetapkan sendiri.", - "administration_self_assign_remove": "Anda tidak lagi memiliki peran {0}.", - "administration_self_assign_success": "Anda sekarang memiliki peran {0}.", - "administration_setrole": "Berhasil menambahkan peran {0} ke user {1}", - "administration_setrole_err": "Gagal menambahkan peran. Saya tidak punya izin.", - "administration_set_avatar": "Avatar baru telah diset!", - "administration_set_channel_name": "Nama channel baru telah diset.", - "administration_set_game": "Permainan baru telah diset!", - "administration_set_stream": "Aliran baru telah diset!", - "administration_set_topic": "Topik channel baru telah diset!", - "administration_shard_reconnected": "Potongan {0} telah tersambung ulang.", - "administration_shard_reconnecting": "Potongan {0} sedang menyambung ulang.", - "administration_shutting_down": "Mematikan", - "administration_slowmode_desc": "User tidak dapat mengirim lebih dari {0} pesan setiap {1} detik.", - "administration_slowmode_disabled": "Mode lambat dimatikan.", - "administration_slowmode_init": "Mode lambat dinyalakan.", - "administration_soft_banned_pl": "Ban halus (Dikeluarkan)", - "administration_spam_ignore": "{0} akan mengabaikan channel ini.", - "administration_spam_not_ignore": "{0} tidak lagi akan mengabaikan channel ini.", - "administration_spam_stats": "Jika user memposting {0} pesan yang sama secara berurutan, Saya akan {1} mereka.\n __IgnoredChannels__: {2} ", - "administration_text_chan_created": "Channel teks telah dibuat.", - "administration_text_chan_destroyed": "Channel teks telah dihancurkan.", - "administration_undeafen": "penulian nonaktif.", - "administration_unmuted_sn": "Non-bisukan", - "administration_username": "Nama pengguna", - "administration_username_changed": "Nama pengguna telah diubah", - "administration_users": "Para pengguna", - "administration_user_banned": "Pengguna dilarang", - "administration_user_chat_mute": "{0} telah **didiamkan** dari chatting.", - "administration_user_chat_unmute": "{0} telah **tidak didiamkan** dari chatting.", - "administration_user_joined": "User bergabung", - "administration_user_left": "User pergi", - "administration_user_muted": "{0} telah **didiamkan** dari chat teks dan suara", - "administration_user_role_add": "Peran pengguna telah ditambahkan", - "administration_user_role_rem": "Peran pengguna telah dihapuskan", - "administration_user_status_change": "{0} sekarang adalah {1}", - "administration_user_unmuted": "{0} telah **tidak didiamkan** dari chat teks dan suara.", - "administration_user_vjoined": "{0} telah bergabung di channel suara {1} .", - "administration_user_vleft": "{0} telah meninggalkan channel suara {1}.", - "administration_user_vmoved": "{0} berpindah dari channel suara {1} ke {2}.", - "administration_user_voice_mute": "{0} telah **dibisukan**", - "administration_user_voice_unmute": "{0} telah di **voice non-bisukan**.", - "administration_voice_chan_created": "Channel suara telah dibuat", - "administration_voice_chan_destroyed": "Channel suara telah dihancurkan", - "administration_vt_disabled": "Fitur suara + teks dinonaktifkan.", - "administration_vt_enabled": "Fitur suara + teks diaktfikan.", - "administration_vt_exit": "Saya tidak memiliki izin **mengatur peran** dan/atau **mengatur channel**, jadi saya tidak dapat menjalankan 'suara+teks' di server {0}.", - "administration_vt_no_admin": "Anda mengaktifkan/menonaktifkan fitur ini dan **Saya tidak punya izin administrator**. Ini dapat menyebabkan beberapa isu, dan anda harus membersihkan sendiri channel-channel teks setelahnya.", - "administration_vt_perms": "Saya membutuhkan setidaknya izin **mengatur peran** dan **mengatur channel** untuk mengaktifkan fitur ini. (lebih memilih izin administrasi)", - "administration_xmuted_text": "User {0} dari chat teks", - "administration_xmuted_text_and_voice": "User {0} dari chat teks dan suara", - "administration_xmuted_voice": "Pengguna {0} dari chat suara", - "administration_sbdm": "Anda telah diban halus dari server {0}.\nAlasan: {1}", - "administration_user_unbanned": "Pengguna telah di unban", - "administration_migration_done": "Migrasi selesai!", - "adminsitration_migration_error": "Error ketika migrasi, cek konsol bot untuk informasi lebih lanjut.", - "administration_presence_updates": "Pembaharuan kehadiran", - "administration_sb_user": "Pengguna diban halus", - "gambling_awarded": "Telah menyerahkan {0} ke {1}", - "gambling_better_luck": "Semoga lebih beruntung lain kali ^_^", - "gambling_br_win": "Selamat! Kamu memenangkan {0} karena hasil diatas {1}", - "gambling_deck_reshuffled": "Deck telah dikocok ulang.", - "gambling_flipped": "Terlemparkan {0}.", - "gambling_flip_guess": "Anda berhasil menebaknya! Anda memenangkan {0}", - "gambling_flip_invalid": "Angka tidak valid tertera. Anda dapat meleparkan 1 sampai {0} koin.", - "gambling_flowerreaction_desc": "Tambahkan reaksi {0} pada pesan ini untuk mendapatkan {1}␣", - "gambling_flowerreaction_footer": "Event ini akan aktif selama {0} jam.", - "gambling_flowerreaction_title": "Event reaksi bunga telah dimulai!", - "gambling_gifted": "Telah menghadiahi {0} ke {1}", - "gambling_has": "{0} memiliki {1}", - "gambling_heads": "Kepala", - "gambling_leaderboard": "Leaderboard", - "gambling_mass_award": "Diserahkan {0} sampai {1} pengguna dari peran {2}.", - "gambling_max_bet_limit": "Anda tidak bisa bertaruh lebih dari {0}", - "gambling_min_bet_limit": "Anda tidak bisa bertaruh kurang dari {0}", - "gambling_not_enough": "Anda tidak memiliki cukup {0}", - "gambling_no_more_cards": "Tidak ada lagi kartu di dalam deck.", - "gambling_raffled_user": "Pengguna yang diundi", - "gambling_roll": "Kamu mendapatkan {0}.", - "gambling_slot_bet": "Bertaruh", - "gambling_slot_jackpot": "WOAAHHHHHH!!! Selamat!!! x{0} ", - "gambling_slot_single": "Sebuah {0}, x{1}", - "gambling_slot_three": "Wow! Beruntung! Three of a kind! x{0}", - "gambling_slot_two": "Good job! Dua {0} - bertaruh x{1}", - "gambling_slot_won": "Menang", - "gambling_sneakygamestatus_desc": "User harus mengetikkan kode rahasia untuk mendapatkan {0}.\nBerlangsung selama {1} detik. Jangan bilang bilang. Shhh.", - "gambling_sneakygamestatus_end": "Event SneakyGame berakhir. {0} pengguna telah menerima hadiah.", - "gambling_sneakygamestatus_title": "Event SneakyGameStatus telah dimulai", - "gambling_tails": "Ekor", - "gambling_take": "berhasil mengambil {0} dari {1}", - "gambling_take_fail": "tidak dapat mengambil {0} dari{1} karena user itu tidak memiliki {2} sebanyak itu!", - "help_back_to_toc": "Kembali ke ToC", - "help_bot_owner_only": "Hanya untuk pemilik bot", - "help_channel_permission": "Memerlukan izin {0} channel.", - "help_cmdlist_donate": "Anda dapat mendukung project ini di patreon: <{0}> atau paypal: <{1}>", - "help_cmd_and_alias": "Daftar perintah dan alias", - "help_commandlist_regen": "Daftar perintah telah dibuat ulang.", - "help_commands_instr": "Ketik '{0}h CommandName' untuk melihat bantuan untuk perintah tersebut. Contoh '{0}h >8ball'", - "help_command_not_found": "Saya tidak dapat menemukan perintah itu. Tolong verifikasi perintah itu ada sebelum mencoba lagi.", - "help_desc": "Deskripsi", - "help_donate": "Anda dapat mendukung projek NadekoBot di\nPatreon <{0}> atau\nPaypal <{1}>\nJangan lupa untuk meninggalkan nama atau ID Discord anda di dalam pesan.\n\n**Terima kasih**♥️ ", - "help_guide": "**Daftar perintah**: <{0}>\n**Panduan dan dokumentasi hosting dapat ditemukan disini**: <{1}>", - "help_list_of_commands": "Daftar perintah", - "help_list_of_modules": "Daftar modul", - "help_modules_footer": "Ketik '{0}cmds ModuleName' untuk mendapatkan daftar perintah di dalam modul tersebut. Contoh '{0}cmds games'", - "help_module_not_found": "Modul tersebut tidak ada.", - "help_server_permission": "Memerlukan izin {0} server.", - "help_table_of_contents": "Daftar isi", - "help_usage": "Penggunaan", - "nsfw_autohentai_started": "Autohentai dimulai. Posting ulang setiap {0} detik dengan satu dari tanda berikut:\n{1}", - "nsfw_tag": "Tanda", - "gambling_animal_race": "Balap hewan", - "gambling_animal_race_failed": "Gagal memulai karena tidak cukup peserta.", - "gambling_animal_race_full": "Balapan penuh!! Segera memulai.", - "gambling_animal_race_join": "{0} bergabung sebagai seekor {1}", - "gambling_animal_race_join_bet": "{0} bergabung sebagai seekor {1} dan bertaruh {2}!", - "gambling_animal_race_join_instr": "Ketik {0}jr untuk mengikuti balapan.", - "gambling_animal_race_starting": "Dimulai dalam 20 detik atau ketika telah penuh.", - "gambling_animal_race_starting_with_x": "Memulai dengan {0} peserta.", - "gambling_animal_race_won": "{0} sebagai {1} Memenangkan balapan!", - "gambling_animal_race_won_money": "{0} sebagai {1} Memenangkan balapan dan {2}!", - "gambling_dice_invalid_number": "Angka tidak valid. Anda dapat melemparkan {0}-{1} dadu bersamaan.", - "gambling_dice_rolled": "mendapatkan {0}", - "gambling_dice_rolled_num": "Dadu yang dilemparkan: {0}", - "gambling_race_failed_starting": "Gagal memulai balapan. Balapan lain mungkin sedang berlangsung.", - "gambling_race_not_exist": "Tidak ada balapan di server ini", - "gambling_second_larger_than_first": "Angka kedua harus lebih besar daripada angka pertama.", - "gambling_changes_of_heart": "Perubahan hati", - "gambling_claimed_by": "Diklaim oleh", - "gambling_divorces": "Perceraian", - "gambling_likes": "Suka", - "gambling_price": "Harga", - "gambling_waifus_none": "Tidak ada waifu yang belum diklaim.", - "gambling_waifus_top_waifus": "Top Waifu", - "gambling_waifu_affinity_already": "Afinitas anda sudah ditetapkan ke waifu tersebut atau anda sedang mencoba menghilangkan afinitas tanpa mempunyainya.", - "gambling_waifu_affinity_changed": "Mengubah afinitas mereka dari {0} ke {1}\n\n*Ini dapat ditanyakan moralitasnya.* 🤔", - "gambling_waifu_affinity_cooldown": "Anda harus menunggu {0} jam dan {1} menit untuk mengubah afinitas anda lagi.", - "gambling_waifu_affinity_reset": "Afinitas anda telah diulang. Anda tidak lagi memiliki seseorang yang anda sukai.", - "gambling_waifu_affinity_set": "ingin menjadi waifu si {0}. Aww <3", - "gambling_waifu_claimed": "mengklaim {0} sebagai waifu dia seharga {1}!", - "gambling_waifu_divorced_like": "Kamu telah menceraikan waifu yang menyukaimu. Kamu monster tanpa hati.\n{0} menerima {1} sebagai kompensasi.", - "gambling_waifu_egomaniac": "Anda tidak bisa merubah afinitas ke diri sendiri, anda egois.", - "gambling_waifu_fulfilled": "🎉 Cinta mereka dipenuhi! 🎉\nNilai {0} sekarang adalah {1}!", - "gambling_waifu_isnt_cheap": "Tidak ada waifu semurah itu. Anda harus membayar setidaknya {0} untuk mendapatkan waifu, meskipun harga mereka lebih rendah.", - "gambling_waifu_not_enough": "Anda harus membayar {0} atau lebih untuk mengklaim waifu tersebut!", - "gambling_waifu_not_yours": "Waifu itu bukan milikmu.", - "gambling_waifu_not_yourself": "Anda tidak bisa mengklaim diri sendiri.", - "gambling_waifu_recent_divorce": "Anda baru saja bercerai. Anda harus menunggu {0} jam dan {1} menit untuk bercerai lagi.", - "gambling_nobody": "Tidak seorangpun", - "gambling_waifu_divorced_notlike": "Anda telah menceraikan waifu yang tidak menyukaimu. Anda menerima {0} kembali.", - "games_8ball": "8ball", - "games_acrophobia": "Acrophobia", - "games_acro_ended_no_sub": "Permainan selesai tanpa pengajuan.", - "games_acro_no_votes_cast": "Tidak ada pilihan dikirim. Permainan selesai tanpa adanya pemenang.", - "games_acro_nym_was": "Akronim adalah {0}.", - "games_acro_running": "Permainan Acrophobia sudah berlangsung di channel ini.", - "games_acro_started": "Permainan dimulai. Buat sebuah kalimat dengan akronim berikut: {0}.", - "games_acro_started_footer": "Anda memiliki {0} detik untuk mengirimkan pengajuan.", - "games_acro_submit": "{0} mengirim kalimat mereka. (total {1})", - "games_acro_vote": "Pilih dengan mengetik nomor dari pengajuan.", - "games_acro_vote_cast": "{0} mengirimkan pilihan mereka!", - "games_acro_winner": "Pemenangnya adalah {0} dengan {1} poin.", - "games_acro_winner_only": "{0} adalah pemenang karena merupakan satu-satunya pengguna yang mengajukan submisi!", - "games_question": "Pertanyaan", - "games_rps_draw": "Sebuah seri! Keduanya memilih {0}", - "games_rps_win": "{0} menang! {1} mengalahkan {2}", - "games_submissions_closed": "Waktu pengajuan selesai.", - "gambling_animal_race_already_started": "Animal Race telah berlangsung.", - "gambling_total_average": "Total: {0} Rata - rata: {0}", - "games_category": "Kategori", - "games_cleverbot_disabled": "Cleverbot dinonaktifkan di server ini.", - "games_cleverbot_enabled": "Cleverbot diaktifkan di server ini", - "games_curgen_disabled": "Pembuatan mata uang telah dinonaktifkan di channel ini.", - "games_curgen_enabled": "Pembuatan mata uang telah diaktifkan di channel ini.", - "games_curgen_pl": "{0} acak {1} telah muncul!", - "games_curgen_sn": "Sebuah {0} muncul!", - "games_failed_loading_question": "Gagal memuat pertanyaan", - "games_game_started": "Permainan dimulai", - "games_hangman_game_started": "Permainan Hangman dimulai", - "games_hangman_running": "Permainan Hangman telah berlangsung di channel ini", - "games_hangman_start_errored": "Ada kesalahan saat memulai Hangman", - "games_hangman_types": "Daftar dari \"{0}hangman\" tipe istilah:", - "games_leaderboard": "Leaderboard", - "games_not_enough": "Anda tidak punya cukup {0}", - "games_no_results": "Tidak ada hasil", - "games_picked": "memilih {0}", - "games_planted": "{0} menanam {1}", - "games_trivia_already_running": "Permainan trivia sedang berlangsung di server ini.", - "games_trivia_game": "Permainan Trivia", - "games_trivia_guess": "{0} menebaknya! Jawabannya adalah: {1}", - "games_trivia_none": "Tidak ada trivia yang sedang berlangsung di server ini.", - "games_trivia_points": "{0} memiliki {1} poin", - "games_trivia_stopping": "Berhenti setelah pertanyaan ini.", - "games_trivia_times_up": "Waktu habis! Jawaban yang benar adalah {0}", - "games_trivia_win": "{0} berhasil menebaknya dan memenangkan permainan! Jawabannya adalah: {1}", - "games_ttt_against_yourself": "Anda tidak bisa bermain melawan diri sendiri.", - "games_ttt_already_running": "Permainan TicTacToe sedang berlangsung di channel ini.", - "games_ttt_a_draw": "Sebuah seri!", - "games_ttt_created": "telah membuat permainan TicTacToe.", - "games_ttt_has_won": "{0} telah menang!", - "games_ttt_matched_three": "Mendapat tiga.", - "games_ttt_no_moves": "TIdak ada jalan tersisa!", - "games_ttt_time_expired": "Waktu habis!", - "games_ttt_users_move": "Giliran {0}", - "games_vs": "{0} vs {1}", - "music_attempting_to_queue": "Mencoba untuk mengantri {0} lagu...", - "music_autoplay_disabled": "Autoplay dimatikan.", - "music_autoplay_enabled": "Autoplay diaktifkan.", - "music_defvol_set": "Volume awal di set ke {0}%", - "music_dir_queue_complete": "Antrian direktori selesai.", - "music_fairplay": "fairplay", - "music_finished_song": "Lagu selesai", - "music_fp_disabled": "Fair play dimatikan.", - "music_fp_enabled": "Fair play diaktifkan.", - "music_from_position": "Dari posisi", - "music_id": "id", - "music_invalid_input": "Input tidak valid.", - "music_max_playtime_none": "Sekarang, waktu bermain maksimal tidak memiliki batas.", - "music_max_playtime_set": "Batas waktu bermain di set ke {0} detik.", - "music_max_queue_unlimited": "Antrian maks untuk musik di set ke tidak terbatas.", - "music_max_queue_x": "Antrian maks untuk musik di set ke {0} lagu.", - "music_must_be_in_voice": "Anda harus berada di dalam channel suara di server ini.", - "music_name": "Nama", - "music_now_playing": "Sekarang memutar", - "music_no_player": "Tidak ada pemutar musik yang aktif.", - "music_no_search_results": "Tidak ada hasil pencarian.", - "music_paused": "Pemutaran musik berhenti sebentar.", - "music_player_queue": "Antrian pemutar musik - Halaman {0}/{1}", - "music_playing_song": "Memutar lagu", - "music_playlists": "`#{0}` - **{1}** oleh *{2}* ({3} lagu)", - "music_playlists_page": "Halaman {1} playlist yang tersimpan", - "music_playlist_deleted": "Playlist dihapus", - "music_playlist_delete_fail": "Gagal untuk menghapus playlist. Playlist tidak ditemukan, atau anda bukan pemilik playlist tersebut.", - "music_playlist_id_not_found": "Playlist dengan ID tersebut tidak ditemukan.", - "music_playlist_queue_complete": "Antrian playlist selesai.", - "music_playlist_saved": "Playlist disimpan", - "music_play_limit": "Batasan milik {0}", - "music_queue": "Antrian", - "music_queued_song": "Antrian lagu", - "music_queue_cleared": "Antrian lagu dibersihkan", - "music_queue_full": "Antrian penuh pada {0}/{0}.", - "music_removed_song": "Menghapus lagu", - "music_repeating_cur_song": "Mengulang lagu yang diputar saat ini", - "music_repeating_playlist": "Mengulang playlist", - "music_repeating_track": "Musik diulang", - "music_repeating_track_stopped": "Pengulangan musik diberhentikan.", - "music_resumed": "Pemutaran kembali lagu dilanjutkan.", - "music_rpl_disabled": "Pengulangan playlist dibatalkan.", - "music_rpl_enabled": "Pengulangan playlist diaktifkan", - "music_set_music_channel": "Sekarang saya akan mengeluarkan lagu yang sedang diputar, yang telah diputar, yang dihentikan dan menghapus lagu-lagu di channel ini.", - "music_skipped_to": "Lewat ke `{0}:{1}`", - "music_songs_shuffled": "Lagu diacak", - "music_song_moved": "Lagu dipindahkan", - "music_time_format": "{0}jam {1}menit {2}detik", - "music_to_position": "Pada posisi", - "music_unlimited": "tidak terbatas", - "music_volume_input_invalid": "Volume harus di antara 0 dan 100", - "music_volume_set": "Volume diset pada {0}%", - "permissions_acm_disable": "Menonaktifkan pemakaian dari SEMUA MODUL pada channel {0}.", - "permissions_acm_enable": "Mengaktifkan pemakaian dari SEMUA MODUL pada channel {0}.", - "permissions_allowed": "Diizinkan", - "permissions_arm_disable": "Menonaktifkan pemakaian dari SEMUA MODUL untuk peran {0}.", - "permissions_arm_enable": "Mengaktifkan pemakaian dari SEMUA MODUL untuk peran {0}.", - "permissions_asm_disable": "Menonaktifkan pemakaian dari SEMUA MODUL di server ini.", - "permissions_asm_enable": "Mengaktifkan pemakaian dari SEMUA MODUL di server ini.", - "permissions_aum_disable": "Menonaktifkan pemakaian dari SEMUA MODUL untuk pengguna {0}.", - "permissions_aum_enable": "Mengaktifkan pemakaian dari SEMUA MODUL untuk pengguna {0}.", - "permissions_blacklisted": "Mendaftarhitamkan {0} dengan ID {1}", - "permissions_cmdcd_add": "Perintah {0} sekarang memiliki jeda selama {1} detik.", - "permissions_cmdcd_cleared": "Perintah {0} sekarang tidak memiliki jeda dan semua jeda yang ada telah dibersihkan.", - "permissions_cmdcd_none": "Tidak ada perintah jeda yang ditentukan.", - "permissions_command_costs": "Harga perintah", - "permissions_cx_disable": "Menonaktifkan pemakaian pada {0} {1} pada channel {2}.", - "permissions_cx_enable": "Mengaktifkan pemakaian pada {0} {1} pada channel {2}.", - "permissions_denied": "Ditolak", - "permissions_filter_word_add": "Menambahkan kata {0} pada daftar saringan kata.", - "permissions_filter_word_list": "Daftar saringan kata-kata", - "permissions_filter_word_remove": "Mencabut kata {0} dari daftar saringan kata-kata.", - "permissions_invalid_second_param_between": "Parameter kedua salah (Harus nomor diantara {0} dan {1})", - "permissions_invite_filter_channel_off": "Penyaringan undangan dinonaktifkan di channel ini.", - "permissions_invite_filter_channel_on": "Penyaringan undangan diaktifkan di server ini.", - "permissions_invite_filter_server_off": "Penyaringan undangan dinonaktifkan di server ini.", - "permissions_invite_filter_server_on": "Penyaringan undangan diaktifkan di server ini.", - "permissions_moved_permission": "Memindakan izin {0} dari #{1} kepada #{2}", - "permissions_not_found": "Tidak dapat menemukan izin pada indeks #{0}", - "permissions_no_costs": "Tidak ada biaya di set.", - "permissions_of_command": "perintah", - "permissions_of_module": "modul", - "permissions_page": "Halaman perizinan {0}", - "permissions_permrole": "Peran izin sekarang adalah {0}", - "permissions_permrole_changed": "Pengguna memerlukan {0} peran untuk dapat merubah izin.", - "permissions_perm_out_of_range": "Izin tidak ditemukan dalam indeks tersebut.", - "permissions_removed": "Mencabut izin #{0} - {1}", - "permissions_rx_disable": "Menonaktifkan pemakaian pada {0} {1} untuk peran {2}.", - "permissions_rx_enable": "Mengaktifkan pemakaian pada {0} {1} untuk peran {2}.", - "permissions_sec": "sec.", - "permissions_sx_disable": "Menonaktifkan pemakaian dari {0} {1} pada server ini.", - "permissions_sx_enable": "Mengaktifkan pemakaian dari {0} {1} pada server ini.", - "permissions_unblacklisted": "Menghapus {0} dengan ID {1} dari daftar hitam", - "permissions_uneditable": "tidak dapat diganti", - "permissions_ux_disable": "Menonaktifkan pemakaian dari {0} {1} untuk {2} pengguna.", - "permissions_ux_enable": "Mengaktifkan pemakaian dari {0} {1} untuk {2} pengguna.", - "permissions_verbose_false": "Saya tidak akan lagi memperlihatkan izin peringatan.", - "permissions_verbose_true": "Sekarang saya akan memperlihatkan izin peringatan.", - "permissions_word_filter_channel_off": "Penyaringan kata pada channel ini dinonaktifkan.", - "permissions_word_filter_channel_on": "Penyaringan kata pada channel ini diaktifkan.", - "permissions_word_filter_server_off": "Penyaringan kata pada server ini dinonaktifkan.", - "permissions_word_filter_server_on": "Penyaringan kata pada server ini diaktifkan.", - "searches_abilities": "Kemampuan", - "searches_anime_no_fav": "Belum ada anime favorit", - "searches_atl_ad_started": "Memulai terjemahan otomatis dari pesan di channel ini. Pesan pengguna akan otomatis dihapus.", - "searches_atl_removed": "Terjemahan bahasa otomatis anda telah dicabut.", - "searches_atl_set": "Terjemahan bahasa otomatis anda telah diset pada {0}>{1}", - "searches_atl_started": "Memulai terjemahan otomatis dari pesan-pesan di channel ini.", - "searches_atl_stopped": "Menghentikan terjemahan otomatis dari pesan-pesan di channel ini.", - "searches_bad_input_format": "Format input buruk, atau terjadi kesalahan.", - "searches_card_not_found": "Tidak dapat menemukan kartu tersebut.", - "searches_catfact": "fakta", - "searches_chapters": "Bab", - "searches_comic_number": "Komik #", - "searches_compet_loses": "Kekalahan kompetitif", - "searches_compet_played": "Kompetitif yang dimainkan", - "searches_compet_rank": "Tingkat kompetitif", - "searches_compet_wins": "Kemenangan kompetitif", - "searches_completed": "Selesai", - "searches_condition": "Kondisi", - "searches_cost": "Biaya", - "searches_date": "Tanggal", - "searches_define": "Jelaskan:", - "searches_dropped": "Terjatuh.", - "searches_episodes": "Episode", - "searches_error_occured": "Kesalahan terjadi.", - "searches_example": "Contoh", - "searches_failed_finding_anime": "Gagal menemukan animu tersebut", - "searches_failed_finding_manga": "Gagal menemukan mango tersebut", - "searches_genres": "Aliran", - "searches_hashtag_error": "Gagal menemukan definisi dari label tersebut.", - "searches_height_weight": "Tinggi/Berat", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Kelembaban", - "searches_image_search_for": "Pencarian gambar untuk:", - "searches_imdb_fail": "Gagal untuk menemukan film tersebut.", - "searches_invalid_lang": "Kesalahan sumber atau target bahasa.", - "searches_jokes_not_loaded": "Candaan tidak dimuat.", - "searches_latlong": "Lintang/Bujur", - "searches_level": "Tingkat", - "searches_list_of_place_tags": "Daftar dari {0}tempat yang ditandai", - "searches_location": "Lokasi", - "searches_magicitems_not_loaded": "Barang barang sihir tidak dimuat.", - "searches_mal_profile": "Profil MAL {0}", - "searches_mashape_api_missing": "Pemilik Bot tidak menentukan MashapeApiKey. Anda tidak dapat menggunakan fungsi ini.", - "searches_min_max": "Min/Maks", - "searches_no_channel_found": "Channel tidak ditemukan.", - "searches_no_results": "Hasil tidak ditemukan.", - "searches_on_hold": "Tertahan", - "searches_original_url": "url asli", - "searches_osu_api_key": "Sebuah osu! API key diperlukan.", - "searches_osu_failed": "Gagal mengambil tanda osu!", - "searches_over_x": "Ditemukan diantara {0} gambar. Memperlihatkan acak {0}.", - "searches_ow_user_not_found": "Pengguna tidak ditemukan! Silahkan cek daerah dan BattleTag sebelum mencoba lagi.", - "searches_plan_to_watch": "Rencana untuk menonton", - "searches_platform": "Peron", - "searches_pokemon_ability_none": "Kemampuan tidak ditemukan.", - "searches_pokemon_none": "Pokemon tidak ditemukan.", - "searches_profile_link": "Tautan profil:", - "searches_quality": "Kualitas", - "searches_quick_playtime": "Waktu bermain cepat", - "searches_quick_wins": "Kemenangan cepat", - "searches_rating": "Penilaian", - "searches_score": "Skor:", - "searches_search_for": "Pencarian untuk:", - "searches_shorten_fail": "Gagal untuk mempersingkat url tersebut.", - "searches_short_url": "Url pendek", - "searches_something_went_wrong": "Ada sesuatu yang salah.", - "searches_specify_search_params": "Harap menentukan parameter pencarian.", - "searches_status": "Status", - "searches_store_url": "Menyimpan url", - "searches_streamer_offline": "Streamer {0} sedang offline.", - "searches_streamer_online": "Streamer {0} online dengan {1} penonton.", - "searches_streams_following": "Anda mengikuti {0} stream di server ini.", - "searches_streams_none": "Anda tidak mengikuti stream di server ini.", - "searches_stream_no": "Stream tidak ditemukan.", - "searches_stream_not_exist": "Stream mungkin tidak ada.", - "searches_stream_removed": "Menghilangkan {0} stream ({1}) dari notifikasi.", - "searches_stream_tracked": "Saya akan memberitahu channel ini saat status berubah.", - "searches_sunrise": "Matahari terbit", - "searches_sunset": "Matahari terbenam", - "searches_temperature": "Temperatur", - "searches_title": "Judul:", - "searches_top_3_fav_anime": "Top 3 favorit anime:", - "searches_translation": "Terjemahan:", - "searches_types": "Tipe", - "searches_ud_error": "Gagal menemukan definisi untuk istilah tersebut", - "searches_url": "Url", - "searches_viewers": "Penonton", - "searches_watching": "Menonton", - "searches_wikia_error": "Gagal menemukan istilah tersebut dalam wikia yang ditentukan.", - "searches_wikia_input_error": "Harap memasukkan target wikia, diikuti dengan pertanyaan pencarian.", - "searches_wiki_page_not_found": "Halaman tidak ditemukan.", - "searches_wind_speed": "Kecepatan angin", - "searches_x_most_banned_champs": "{0} champion paling sering di ban", - "searches_yodify_error": "Gagal menyodifikasi kalimat anda.", - "utiliity_joined": "Bergabung", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} total", - "utility_activity_page": "Halaman aktifitas #{0}", - "utility_activity_users_total": "{0} total pengguna.", - "utility_author": "Penulis", - "utility_botid": "ID Bot", - "utility_calcops": "Daftar fungsi di perintah {0)calc", - "utility_channelid": "{0} dari channel ini adalah {1}", - "utility_channel_topic": "Topik channel", - "utility_commands_ran": "Perintah dijalankan", - "utility_convert": "{0} {1} sama dengan {2} {3}", - "utility_convertlist": "Satuan yang dapat digunakan oleh converter", - "utility_convert_not_found": "Tidak bisa mengubah {0} menjadi {1}: satuan tidak ditemukan", - "utility_convert_type_error": "Tidak dapat mengubah {0} ke {1}: tipe untuk tidak sama", - "utility_created_at": "Dibuat di", - "utility_csc_join": "Mengikuti saluran silang server.", - "utility_csc_leave": "Saluran silang server ditinggalkan.", - "utility_csc_token": "Ini adalah token CSC anda", - "utility_custom_emojis": "emoji kustom", - "utility_error": "Kesalahan", - "utility_features": "Ciri - ciri", - "utility_id": "ID", - "utility_index_out_of_range": "Indeks di luar jarak.", - "utility_inrole_list": "Daftar pengguna pada peran {0}", - "utility_inrole_not_allowed": "Anda tidak diizinkan untuk menggunakan perintah ini pada peran dengan banyak pengguna di dalamnya untuk mencegah penyalahgunaan.", - "utility_invalid_value": "Nilai {0} salah.", - "utility_joined_discord": "Bergabung Discord", - "utility_joined_server": "Bergabung server", - "utility_listservers": "ID: {0}\nAnggota: {1}\nID Pemilik: {2}", - "utility_listservers_none": "Server tidak ditemukan di halaman tersebut.", - "utility_list_of_repeaters": "Daftar dari pengulangan", - "utility_members": "Anggota", - "utility_memory": "Memori", - "utility_messages": "Pesan", - "utility_message_repeater": "Pengulang pesan", - "utility_name": "Nama", - "utility_nickname": "Nama panggilan", - "utility_nobody_playing_game": "Tidak seorangpun memainkan game tersebut", - "utility_no_active_repeaters": "Tidak ada pengulangan aktif.", - "utility_no_roles_on_page": "Tidak ada peran di halaman ini.", - "utility_no_shards_on_page": "Tidak ada pecahan di halaman ini.", - "utility_no_topic_set": "Tidak ada topik yang ditentukan", - "utility_owner": "Pemilik", - "utility_owner_ids": "IDs pemilik", - "utility_presence": "Kehadiran", - "utility_presence_txt": "{0} Servers\n{1} Channel Teks\n{2} Channel Suara", - "utility_quotes_deleted": "Menghapus semua kutipan dengan {0} kata kunci.", - "utility_quotes_page": "Halaman {0} dari kutipan", - "utility_quotes_page_none": "Tidak ada kutipan pada halaman ini.", - "utility_quotes_remove_none": "Tidak ditemukan kutipan yang dapat anda hapus.", - "utility_quote_added": "Kutipan ditambahkan", - "utility_quote_deleted": "Kutipan #{0} dihapus.", - "utility_region": "Wilayah", - "utility_registered_on": "Terdaftar pada", - "utility_remind": "Saya akan mengigatakn {0} untuk {1} dalam {2} '({3:d:M.yyyy.} saat {4:HH:mm}", - "utility_remind_invalid_format": "Bukan format waktu yang benar. Silakan periksa daftar perintah.", - "utility_remind_template": "Template mengingatkan baru disetel.", - "utility_repeater": "Mengulang {0} setiap {1} hari, {2} jam dan {3} menit.", - "utility_repeaters_list": "Daftar pemutaran.", - "utility_repeaters_none": "Tidak ada pemutaran di server ini.", - "utility_repeater_stopped": "#{0} berhenti.", - "utility_repeat_invoke_none": "Tidak ada pesan mengulang ditemukan di server ini.", - "utility_result": "Hasil", - "utility_roles": "Peran", - "utility_roles_all_page": "Halaman #{0} dari semua peran di server ini:", - "utility_roles_page": "Halaman #{0} dari peran untuk {1}", - "utility_rrc_no_colors": "Tidak ada warna di format benar. Gunakan '#00ff00' sebagai contoh.", - "utility_rrc_start": "Memulai pemutaran di peran {0}.", - "utility_rrc_stop": "Memberhentikan warna memutar untuk peran {0}", - "utility_serverid": "{0} pada server ini adalah {1}", - "utility_server_info": "Info server", - "utility_shard": "Pecahan", - "utility_shard_stats": "Statistik pecahan", - "utility_shard_stats_txt": "Pecahan **#{0}** sedang di dalam keadaan {1} di {2} server.", - "utility_showemojis": "**Nama:** {0} **Tautan:** {1}", - "utility_showemojis_none": "Emojis khusus tidak ditemukan.", - "utility_stats_songs": "Memainkan {0} lagu, {1} menunggu", - "utility_text_channels": "Channel teks", - "utility_togtub_room_link": "Ini adalah tautan untuk ruangan anda:", - "utility_uptime": "Uptime", - "utility_userid": "{0} dari pengguna {1} adalah {2}", - "utility_users": "Pengguna", - "utility_voice_channels": "Channel suara", - "gambling_animal_race_already_in": "Anda telah bergabung pada perlombaan ini!", - "games_current_poll_results": "Hasil pemilihan saat ini", - "games_no_votes_cast": "Tidak ada suara terkirim.", - "games_poll_already_running": "Pemilihan telah dimulai di server ini.", - "games_poll_created": "📃 {0} telah membuat pemilihan yang memerlukan perhatian anda:", - "games_poll_result": "'{0}.' {1} dengan {2} suara.", - "games_poll_voted": "{0} memilih.", - "games_poll_vote_private": "Kirim saya pesan pribadi dengan angka yang sesuai dari jawaban.", - "games_poll_vote_public": "Kirim pesan dengan menggunakan nomor dari jawaban.", - "games_thanks_for_voting": "Terima kasih telah memilih, {0}", - "games_x_votes_cast": "{0} total suara dikirim.", - "games_pick_pl": "Mengambil barang tersebut dengan mengetik `{0}ambil`", - "games_pick_sn": "Ambil dengan mengetik '{0}pick'", - "gambling_no_users_found": "Pengguna tidak ditemukan.", - "gambling_page": "halaman {0}", - "administration_must_be_in_voice": "Anda harus berada pada channel suara di server ini.", - "administration_no_vcroles": "Tidak ada peran untuk saluran suara.", - "administration_user_muted_time": "{0} telah **dibisukan** dari teks dan saluran suara selama {1} menit.", - "administration_vcrole_added": "Pengguna yang bergabung {0} channel suara akan mendapatkan peran {1}.", - "administration_vcrole_removed": "Pengguna yang bergabung {0} channel suara tidak lagi mendapatkan peran.", - "administration_vc_role_list": "Peran channel suara", - "customreactions_crad_disabled": "Mereaksi reaksi kustom menggunakan pesan dengan id {0} tidak akan dihapus secara otomatis.", - "customreactions_crad_enabled": "Mereaksikan reaksi kustom menggunakan pesan dengan id {0} akan dihapus secara otomatis.", - "customreactions_crdm_disabled": "Pesan respon untuk reaksi kustom dengan id {0} tidak akan dikirim sebagai DM.", - "customreactions_crdm_enabled": "Pesan respon untuk reaksi kustom dengan id {0} akan dikirim sebagai DM.", - "utility_aliases_none": "Alias tidak ditemukan", - "utility_alias_added": "Mengetik {0} sekarang akan menjadi alias dari {1}.", - "utility_alias_list": "Daftar alias", - "utility_alias_removed": "Perintah {0} sekarang tidak memiliki alias.", - "utility_alias_remove_fail": "Perintah {0} tidak mempunyai alias.", - "searches_compet_playtime": "Waktu bermain kompetitif", - "administration_channel": "Saluran", - "administration_command_text": "Teks perintah", - "administration_kicked_pl": "Ditendang", - "administration_moderator": "Moderator", - "administration_page": "Halaman {0}", - "administration_reason": "Alasan", - "administration_scadd": "Perintah startup ditambahkan.", - "administration_scrm": "Penghilangan perintah startup sukses.", - "administration_scrm_fail": "Perintah startup tidak ditemukan.", - "administration_server": "Server", - "administration_startcmdlist_none": "Tidak ada perintah startup dihalaman ini.", - "administration_startcmds_cleared": "Membersihkan semua perintah startup.", - "administration_unbanned_user": "Pengguna {0} telah dinonlarangkan.", - "administration_user_not_found": "Pengguna tidak ditemukan", - "administration_user_warned": "Pengguna {0} telah diperingatkan.", - "administration_user_warned_and_punished": "Pengguna {0} telah diperingatkan dan hukuman {1} diberikan.", - "administration_warned_on": "Diperingatkan di server {0}", - "administration_warned_on_by": "Di {0} saat {1} oleh {2}", - "administration_warnings_cleared": "Semua peringatan telah dibersihkan untuk {0}.", - "administration_warnings_none": "Tidak ada peringatan dihalaman ini.", - "administration_warnlog_for": "Berkas peringatan untuk {0}", - "administration_warnpl_none": "Tidak ada hukuman ditetapkan.", - "administration_warn_cleared_by": "Dibersihkan oleh {0}", - "administration_warn_punish_list": "Daftar peringatan hukum", - "administration_warn_punish_rem": "Mempunyai {0} peringatan tidak akan memulai hukuman.", - "administration_warn_punish_set": "Saya akan menambahkan hukuman {0} untuk pengguna dengan {1} peringatan.", - "administration_slowmodewl_role_start": "Slowmode akan mengabaikan peran {0}.", - "administration_slowmodewl_role_stop": "Slowmode tidak akan lagi mengabaikan peran {0}", - "administration_slowmodewl_user_start": "Slowmode akan mengabaikan pengguna {0}", - "administration_slowmodewl_user_stop": "Slowmode tidak akan lagi mengabaikan pengguna {0}.", - "utility_clpa_fail": "Gagal untuk mengambil hadiah karena salah satu dari alasan ini:", - "utility_clpa_fail_already": "Mungkin anda telah mendapatkan hadiah anda untuk bulan ini. Anda hanya bisa mendapatkan hadiah sekali sebulan kecuali anda menambahkan jumlah janji anda.", - "utility_clpa_fail_already_title": "Telah dihadiahkan", - "utility_clpa_fail_conn": "Akun DIscord anda mungkin tidak terkoneksi ke Patreon. Jika anda tidak yakin artinya, atau tidak tahu cara menghubungkannya ` anda harus pergi ke [Halaman pengaturan akun Patreon] (https://patreon.com/settings/account) dan menekan tombol 'Connect to Discord'.", - "utility_clpa_fail_conn_title": "Akun Discord tidak terhubung", - "utility_clpa_fail_sup": "Untuk berhak mendapatkan hadiah, anda harus mendukung proyek di Patreon. ", - "utility_clpa_fail_sup_title": "Tidak mendukung.", - "utility_clpa_fail_wait": "Anda harus menunggu beberapa jam setelah memohon, jika anda tidak, cobalah nanti lagi.", - "utility_clpa_fail_wait_title": "Tunggulah sebentar.", - "utility_clpa_success": "Anda telah menerima {0}. Terima kasih untuk mendukung proyek ini!", - "utility_clpa_too_early": "Hadiah bisa diambil saat atau setelah tanggal 5 dari setiap bulan.", - "searches_time": "Waktu di {0} adalah {1} - {2}", - "administration_rh": "Tersetel gambaran peran guild {0} ke {1}.", - "gambling_name": "Nama", - "gambling_shop": "Toko", - "gambling_shop_item_add": "Barang toko ditambahkan", - "gambling_shop_none": "Tidak ada barang toko ditemukan di halaman ini.", - "gambling_shop_role": "Anda akan mendapat peran {0}", - "gambling_type": "Tipe", - "utility_clpa_next_update": "Update selanjutnya dalam {0}", - "administration_global_perms_reset": "Ijin global telah diulang.", - "administration_gvc_disabled": "Fitur channel suara permainan telah dinonaktifkan di server ini. ", - "administration_gvc_enabled": "{0} sekarang adalah saluran suara permainan.", - "administration_not_in_voice": "Anda tidak ada di saluran suara server ini.", - "gambling_item": "Barang", - "gambling_out_of_stock": "Stok habis.", - "gambling_random_unique_item": "Barang unik acak.", - "gambling_shop_buy_error": "Error saat memberikan barang. Dana telah dikembalikan.", - "gambling_shop_item_not_found": "Tidak ada barang ditemukan pada indeks tersebut.", - "gambling_shop_item_purchase": "Pembelian barang berhasil", - "gambling_shop_item_rm": "Barang toko dihilangkan", - "gambling_shop_item_wrong_type": "Toko itu tidak mendukung penambahan barang.", - "gambling_shop_list_item_added": "Barang berhasil ditambahkan.", - "gambling_shop_list_item_not_unique": "Barang itu sudah ditambahkan.", - "gambling_shop_purchase": "Pembelian di {0} server", - "gambling_shop_role_not_found": "Peran yang dijual tidak ada lagi.", - "gambling_shop_role_purchase": "Anda telah berhasil membeli {0} peran.", - "gambling_shop_role_purchase_error": "Error saat menambahkan peran. Pembelian anda telah dikembalikan.", - "gambling_unique_items_left": "{0} barang unik tersisa.", - "permissions_blocked_commands": "Perintah yang dilarang", - "permissions_blocked_modules": "Modul yang dilarang", - "permissions_gcmd_add": "Perintah {0} telah dinonaktifkan di semua server.", - "permissions_gcmd_remove": "Perintah {0} telah diaktifkan di semua server.", - "permissions_gmod_add": "Modul {0} telah dinonaktifkan di semua server.", - "permissions_gmod_remove": "Modul {0} telah diaktifkan di semua server.", - "permissions_lgp_none": "Tidak ada modul atau perintah yang di larang." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.it-IT.json b/src/NadekoBot/_strings/ResponseStrings.it-IT.json deleted file mode 100644 index d542cd93..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.it-IT.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Quella base è già stata rivendicata o distrutta.", - "clashofclans_base_already_destroyed": "Quella base è già distrutta.", - "clashofclans_base_already_unclaimed": "Quella base non è stata rivendicata.", - "clashofclans_base_destroyed": "**DISTRUTTA** base #{0} in una guerra contro {1}", - "clashofclans_base_unclaimed": "{0} ha **NON RIVENDICATO** la base #{1} in una guerra contro {2}", - "clashofclans_claimed_base": "{0} ha rivendicato la base #{1} in una guerra contro {2}", - "clashofclans_claimed_other": "@{0} Hai già rivendicato la base #{1}. Non puoi rivendicarne un'altra.", - "clashofclans_claim_expired": "La rivendicazione di @{0} in una guerra contro {1} è scaduta.", - "clashofclans_enemy": "Nemico", - "clashofclans_info_about_war": "Informazioni sulla guerra contro {0}", - "clashofclans_invalid_base_number": "Numero della base invalido.", - "clashofclans_invalid_size": "Dimensione della guerra non valida.", - "clashofclans_list_active_wars": "Lista delle guerre in corso", - "clashofclans_not_claimed": "non rivendicata", - "clashofclans_not_partic": "Non stai partecipando a quella guerra", - "clashofclans_not_partic_or_destroyed": "@{0} Non stai partecipando in quella guerra oppure quella base è già distrutta.", - "clashofclans_no_active_wars": "Nessuna guerra in corso.", - "clashofclans_size": "Dimensione", - "clashofclans_war_already_started": "La guerra contro {0} è già iniziata.", - "clashofclans_war_created": "Guerra contro {0} creata.", - "clashofclans_war_ended": "Guerra contro {0} conclusa.", - "clashofclans_war_not_exist": "Questa guerra non esiste.", - "clashofclans_war_started": "Guerra contro {0} avviata!", - "customreactions_all_stats_cleared": "Tutte le reazioni personalizzate sono state approvate.", - "customreactions_deleted": "Reazione personalizzata cancellata", - "customreactions_insuff_perms": "Permessi insufficienti. Bisogna essere proprietario del Bot per personalizzare le reazioni globali e l'amministratore del server per le personalizzare le reazioni del server.", - "customreactions_list_all": "Lista di tutte le reazioni personalizzate", - "customreactions_name": "Reazioni Personalizzate", - "customreactions_new_cust_react": "Nuove Reazioni Personalizzate", - "customreactions_no_found": "Nessuna reazione personalizzata trovata.", - "customreactions_no_found_id": "Nessuna reazione personalizzata trovata con quell'id.", - "customreactions_response": "Risposta", - "customreactions_stats": "Statistiche Reazioni Personalizzate", - "customreactions_stats_cleared": "Statistiche pulite per {0} reazioni personalizzate.", - "customreactions_stats_not_found": "Nessuna statistica per questo innesco trovata, nessun azione presa.", - "customreactions_trigger": "Innesco", - "nsfw_autohentai_stopped": "Autohentai fermato.", - "nsfw_not_found": "Nessun risultato trovato.", - "pokemon_already_fainted": "{0} è già esausto.", - "pokemon_already_full": "{0} ha già gli HP al massimo.", - "pokemon_already_that_type": "Il tuo tipo è già {0}", - "pokemon_attack": "ha usato {0}{1} su {2}{3} per {4} danni.", - "pokemon_cant_attack_again": "Non puoi attaccare di nuovo senza subire una rappresaglia!", - "pokemon_cant_attack_yourself": "Non puoi attaccare te stesso.", - "pokemon_fainted": "{0} è esausto!", - "pokemon_healed": "ha curato {0} con un {1}", - "pokemon_hp_remaining": "{0} ha {1} HP rimasti.", - "pokemon_invalid_move": "Non puoi usare {0}. Scrivi `{1}ml` per vedere la lista delle mosse che puoi usare.", - "pokemon_moves": "Lista delle mosse per il tipo {0}", - "pokemon_not_effective": "Non è efficace.", - "pokemon_no_currency": "Non hai abbastanza {0}", - "pokemon_revive_other": "ha resuscitato {0} con un {1}", - "pokemon_revive_yourself": "Hai resuscitato te stesso con un {0}", - "pokemon_settype_success": "Il tuo tipo è cambiato in {0} per un {1}", - "pokemon_somewhat_effective": "È lievemente efficace.", - "pokemon_super_effective": "È superefficace!", - "pokemon_too_many_moves": "Hai usato troppe mosse di fila, quindi ora non puoi muoverti!", - "pokemon_type_of_user": "Tipo di {0} è {1}", - "pokemon_user_not_found": "Utente non trovato.", - "pokemon_you_fainted": "Sei svenuto, non sei più in grado di muoverti!", - "administration_aar_disabled": "**Assegna ruolo automaticamente** ai nuovi utenti è stato **disattivato**.", - "administration_aar_enabled": "**Assegna ruolo automaticamente** ai nuovi utenti è stato **attivato**.", - "administration_attachments": "Allegato", - "administration_avatar_changed": "Avatar cambiato", - "administration_bandm": "Sei stato bannato dal {0} server.\nMotivo: {1}", - "administration_banned_pl": "bannati", - "administration_banned_user": "Utente bannato", - "administration_bot_name": "Nome del bot cambiato in {0}", - "administration_bot_status": "Stato del bot cambiato in {0}", - "administration_byedel_off": "la cancellazione automatica dei messaggi di arrivederci è stata disabilitata.", - "administration_byedel_on": "I messaggi di arrivederci verranno eliminati dopo {0} secondi.", - "administration_byemsg_cur": "Messaggi di arrivederci attuali: {0}", - "administration_byemsg_enable": "Attiva i messaggi di arrivederci scrivendo {0}", - "administration_byemsg_new": "Nuovo messaggio di arrivederci impostato.", - "administration_bye_off": "Annunci di arrivederci disattivati.", - "administration_bye_on": "Annunci di arrivederci attivati in questo canale.", - "administration_ch_name_change": "Nome del canale cambiato", - "administration_ch_old_name": "Vecchio nome", - "administration_ch_topic_change": "Argomento del canale cambiato", - "administration_cleaned_up": "Pulito.", - "administration_content": "Contenuto", - "administration_cr": "Ruolo creato con successo {0}", - "administration_createtextchan": "Canale di testo {0} creato.", - "administration_createvoich": "Canale vocale {0} creato.", - "administration_deafen": "Assordato con successo.", - "administration_deleted_server": "Server eliminato {0}", - "administration_delmsg_off": "Fermata con successo l'eliminazione automatica dei comandi di invocazione.", - "administration_delmsg_on": "Avviata con successo l'eliminazione automatica dei comandi di invocazione.", - "administration_deltextchan": "Canale di testo {0} eliminato.", - "administration_delvoich": "Canale vocale {0} eliminato.", - "administration_dm_from": "Messaggio diretto da parte di", - "administration_donadd": "Aggiunto con successo un nuovo donatore. Totale dell'ammonto donato dall'utente: {0} 👑", - "administration_donators": "Grazie alle persone nella lista qui sotto per aver fatto di questo progetto una realtà!", - "administration_fwall_start": "Contatterò in privato tutti i proprietari.", - "administration_fwall_stop": "Contatterò in privato solo il primo proprietario.", - "administration_fwdm_start": "Inoltrerò messaggi diretti d'ora in avanti.", - "administration_fwdm_stop": "Smetterò di inoltrare messaggi diretti d'ora in avanti.", - "administration_greetdel_off": "L'eliminazione automatica dei messaggi di benvenuto è stata disabilitata", - "administration_greetdel_on": "I messaggi di benvenuto verranno eliminati dopo {0} secondi.", - "administration_greetdmmsg_cur": "Messaggi diretti di benvenuto ricevuti finora: {0}", - "administration_greetdmmsg_enable": "Per abilitare i messaggi diretti di benvenuto scrivi {0}", - "administration_greetdmmsg_new": "Nuovo messaggio diretto di benvenuto impostato.", - "administration_greetdm_off": "Messaggi diretti di benvenuto disabilitati.", - "administration_greetdm_on": "Messaggi diretti di benvenuto abilitati.", - "administration_greetmsg_cur": "Messaggio di benvenuto attuale: {0}", - "administration_greetmsg_enable": "Per abilitare i messaggi di benvenuto scrivi {0}", - "administration_greetmsg_new": "Nuovo messaggio di benvenuto impostato.", - "administration_greet_off": "Messaggi di benvenuto disabilitati.", - "administration_greet_on": "Messaggi di benvenuto abilitatati in questo canale.", - "administration_hierarchy": "Non puoi usare questo comando su utenti con un ruolo superiore o pari al tuo.", - "administration_images_loaded": "Immagine caricata dopo {0} secondi!", - "administration_invalid_format": "Formato di input invalido.", - "administration_invalid_params": "Parametri Invalidi", - "administration_joined": "{0} è entrato {1}", - "administration_kickdm": "Sei stato cacciato dal {0} server.\nRagione: {1}", - "administration_kicked_user": "Utente cacciato", - "administration_lang_list": "Lista delle lingue", - "administration_lang_set": "La lingua del tuo server è ora {0} - {1}", - "administration_lang_set_bot": "La lingua di base del bot è ora {0} - {1}", - "administration_lang_set_bot_show": "La lingua del Bot è impostata a {0} - {1}", - "administration_lang_set_fail": "Impostazione della lingua del server fallita. Riguarda la guida di questo comando.", - "administration_lang_set_show": "La lingua di questo server è impostata a {0} - {1}", - "administration_left": "{0} ha lasciato {1}", - "administration_left_server": "Ha lasciato il server {0}", - "administration_log": "Inserire {0} evento in questo canale.", - "administration_log_all": "Inseriti tutti gli eventi in questo canale.", - "administration_log_disabled": "Registrazione disattivata", - "administration_log_events": "Gli eventi a cui puoi iscriverti:", - "administration_log_ignore": "La registrazione ignorerá {0}", - "administration_log_not_ignore": "La registrazione non ignorerá {0}", - "administration_log_stop": "Fermata la registrazione dell'evento {0}", - "administration_menrole": "{0} ha chiesto una menzione nei seguenti ruoli", - "administration_message_from_bo": "Messaggio da {0} `[Proprietario del bot]`:", - "administration_message_sent": "Messaggio inviato.", - "administration_moved": "{0} spostato da {1} a {2}", - "administration_msg_del": "Messaggio eliminato in #{0}", - "administration_msg_update": "Messaggio aggiornato in #{0}", - "administration_muted_pl": "Mutati", - "administration_muted_sn": "Mutato", - "administration_mute_error": "Probabilmente non ho i permessi necessari per farlo.", - "administration_mute_role_set": "Nuovo ruolo di muto impostato.", - "administration_need_admin": "Ho bisogno dei permessi di **Amministrazione** per farlo", - "administration_new_msg": "Nuovo messaggio", - "administration_new_nick": "Nuovo soprannome", - "administration_new_topic": "Nuova discussione", - "administration_nick_change": "Soprannome cambiato", - "administration_no_server": "Non riesco a trovare quel server", - "administration_no_shard_id": "Non è stato trovato nessun frammento con quel ID.", - "administration_old_msg": "Messaggio precedente", - "administration_old_nick": "Nickname precedente", - "administration_old_topic": "Discussione precedente", - "administration_perms": "Errore. Probabilmente non dispongo dei permessi necessari.", - "administration_perms_reset": "I permessi di questo server sono stati reimpostati.", - "administration_prot_active": "Protezioni attive", - "administration_prot_disable": "{0} è stato **disattivato** in questo server.", - "administration_prot_enable": "{0} Attivato", - "administration_prot_error": "Errore. Ho bisogno dei permessi di gestione dei ruoli", - "administration_prot_none": "Nessuna protezione attiva.", - "administration_raid_cnt": "Gli utenti in ingresso devono essere tra {0} e {1}.", - "administration_raid_stats": "Se {0} o più utenti entrano entro {1} secondi, li {0}.", - "administration_raid_time": "Il tempo deve essere tra {0} e {1} secondi.", - "administration_rar": "L'utente {0} è stato sollevato da tutti i suoi ruoli.", - "administration_rar_err": "Impossibile rimuovere i ruoli. Non dispongo dei permessi necessari.", - "administration_rc": "il colore del ruolo {0} è stato cambiato.", - "administration_rc_not_exist": "Quel ruolo non esiste.", - "administration_rc_params": "I parametri specificati sono invalidi.", - "administration_rc_perms": "Si è verificato un errore dovuto a un colore invalido o a permessi insufficienti.", - "administration_remrole": "L'utente {1} è stato sollevato dal ruolo di {0}", - "administration_remrole_err": "Impossibile rimuovere il ruolo. Non dispongo dei permessi necessari.", - "administration_renrole": "Ruolo rinominato.", - "administration_renrole_err": "Impossibile rinominare il ruolo. Non dispongo dei permessi necessari.", - "administration_renrole_perms": "Non puoi modificare i ruoli più alti del tuo.", - "administration_reprm": "Rimosso il messaggio di gioco: {0}", - "administration_role_added": "Il ruolo {0} è stato aggiunto alla lista.", - "administration_role_clean": "{0} non trovato. Pulizia avvenuta.", - "administration_role_in_list": "il ruolo {0} è già nella lista.", - "administration_ropl_added": "Aggiunto.", - "administration_ropl_disabled": "Stato di gioco rotativo disattivato.", - "administration_ropl_enabled": "Stato di gioco rotativo attivato.", - "administration_ropl_list": "Ecco una lista delle condizioni di ruolo rotative: \n{0}", - "administration_ropl_not_set": "Nessuno condizione di gioco rotativo impostato.", - "administration_self_assign_already": "Sei già un {0}.", - "administration_self_assign_already_excl": "Hai già {0} esclusivi ruoli auto-assegnati.", - "administration_self_assign_excl": "I ruoli auto-assegnati sono ora riservati!", - "administration_self_assign_list": "Ci sono {0} ruoli auto-assegnabili.", - "administration_self_assign_not": "Quel ruolo non è auto-assegnabile.", - "administration_self_assign_not_have": "Non sei un {0}.", - "administration_self_assign_no_excl": "I ruoli auto-assegnati ora non sono più riservati!", - "administration_self_assign_perms": "Non sono in grado di assegnarti quel ruolo. `Non posso assegnare ruoli al proprietario o ad altri utenti con un ruolo superiore al mio.`", - "administration_self_assign_rem": "{0} è stato rimosso dalla lista dei ruoli auto-assegnabili.", - "administration_self_assign_remove": "Se non più un {0}.", - "administration_self_assign_success": "Ora sei un {0}.", - "administration_setrole": "All'utente {1} è stato assegnato con successo il ruolo di {0}.", - "administration_setrole_err": "Impossibile assegnare ruolo. Non dispongo dei permessi necessari.", - "administration_set_avatar": "Nuovo avatar impostato!", - "administration_set_channel_name": "Nuovo nome del canale impostato.", - "administration_set_game": "Nuovo gioco impostato!", - "administration_set_stream": "Nuova sequenza impostata!", - "administration_set_topic": "Nuova discussione del canale impostata.", - "administration_shard_reconnected": "Frammento {0} ricollegato.", - "administration_shard_reconnecting": "Frammento {0} si sta ricollegando.", - "administration_shutting_down": "Spegnimento", - "administration_slowmode_desc": "Gli utenti non possono mandare più di {0} messaggi ogni {1} secondi.", - "administration_slowmode_disabled": "Modalità lenta disattivata", - "administration_slowmode_init": "Modalità lenta attivata", - "administration_soft_banned_pl": "Ammonizione (Espulso)", - "administration_spam_ignore": "{0} ignorerà questo canale.", - "administration_spam_not_ignore": "{0} non ignorerà più questo canale.", - "administration_spam_stats": "Se un utente posta {0} lo stesso messaggio consecutivamente, io {0} loro.\n__Canaliignorati__: {2}", - "administration_text_chan_created": "Canale di testo creato.", - "administration_text_chan_destroyed": "Canale di testo distrutto.", - "administration_undeafen": "Desilenziato con successo.", - "administration_unmuted_sn": "Smutato", - "administration_username": "Nome utente", - "administration_username_changed": "Nome utente cambiato.", - "administration_users": "Utenti", - "administration_user_banned": "Utente bannato", - "administration_user_chat_mute": "{0} è stato **mutato** dalla chat.", - "administration_user_chat_unmute": "{0} è stato **smutato** dalla chat.", - "administration_user_joined": "Utente entrato", - "administration_user_left": "Utente andato via", - "administration_user_muted": "{0} è stato **mutato** dal canale di testo e vocale.", - "administration_user_role_add": "Ruolo utente aggiunto", - "administration_user_role_rem": "Ruolo utente rimosso", - "administration_user_status_change": "{0} ora é {1}", - "administration_user_unmuted": "{0} è stato **smutato** dal canale di testo e vocale.", - "administration_user_vjoined": "{0} è entrato {1} canale vocale.", - "administration_user_vleft": "{0} è uscito {1} canale vocale.", - "administration_user_vmoved": "{0} ha spostato {1} al {2} canale vocale.", - "administration_user_voice_mute": "{0} è stato **mutato vocalmente**", - "administration_user_voice_unmute": "{0} è stato **smutato vocalmente*", - "administration_voice_chan_created": "Canale vocale creato", - "administration_voice_chan_destroyed": "Canale vocale distrutto", - "administration_vt_disabled": "Voce + testo disabilitati.", - "administration_vt_enabled": "Voce + testo abilitati.", - "administration_vt_exit": "Non ho i permessi **gestire ruoli* e/o **gestire canali*, quindi non posso utilizzare `voce+testo` sul server {0}.", - "administration_vt_no_admin": "Stai attivando/disattivando questa opzione e **Io non ho i permessi di AMMINISTRATORE**. Questo potrebbe causare dei problemi, e dopo tu dovrai ripulire il canale di testo.", - "administration_vt_perms": "Richiedo dei permessi **gestire ruoli** e **gestire canali** per abilitare per questa funzione. (preferibilmente il permesso Amministratore)", - "administration_xmuted_text": "Utente {0} dalla chat di testo", - "administration_xmuted_text_and_voice": "Utente {0} dalla chat di testo e vocale", - "administration_xmuted_voice": "Utente {0} dalla chat vocale", - "administration_sbdm": "Sei statto cacciato da {0} server.\nMotivo : {1}", - "administration_user_unbanned": "Utente sbannato", - "administration_migration_done": "Trasferimento completato!", - "adminsitration_migration_error": "Errore durante il trasferimento, guarda la console del bot per più informazioni.", - "administration_presence_updates": "Aggiornamenti sulla presenza", - "administration_sb_user": "Utente ammonito", - "gambling_awarded": "ha regalato {0} to {1}", - "gambling_better_luck": "Avrai più fortuna la prossima volta ^_^", - "gambling_br_win": "Congratulazioni! Hai vinto {0} per aver rollato oltre {1}", - "gambling_deck_reshuffled": "Mazzo rimescolato.", - "gambling_flipped": "Lanciato {0}", - "gambling_flip_guess": "Indovinato! Hai vinto {0}", - "gambling_flip_invalid": "Numero specificato non valido. Puoi lanciare da 1 a {0} monete.", - "gambling_flowerreaction_desc": "Aggiungi {0} a questo messaggio per ottenere {1}", - "gambling_flowerreaction_footer": "Quest'evento è attivo per le prossime {0} ore", - "gambling_flowerreaction_title": "Evento reazioni iniziato!", - "gambling_gifted": "ha regalato {0} a {1}", - "gambling_has": "{0} ha {1}", - "gambling_heads": "Testa", - "gambling_leaderboard": "Classifica", - "gambling_mass_award": "Premiati con {0} {1} utenti con il ruolo {2}.", - "gambling_max_bet_limit": "Non puoi puntare più di {0}", - "gambling_min_bet_limit": "Non puoi puntare meno di {0}", - "gambling_not_enough": "Non hai abbastanza {0}", - "gambling_no_more_cards": "Non ci sono più carte nel mazzo.", - "gambling_raffled_user": "Utente sorteggiato", - "gambling_roll": "Hai rollato {0}", - "gambling_slot_bet": "Punta", - "gambling_slot_jackpot": "WOAAHHHHHHH!!! Congratulazioni!!! x{0}", - "gambling_slot_single": "Un singolo {0}, x{1}", - "gambling_slot_three": "Wow! Che fortuna! Tre dello stesso tipo! x{0}", - "gambling_slot_two": "Bel lavoro! Due {0} - puntato x{1}", - "gambling_slot_won": "Vinto", - "gambling_sneakygamestatus_desc": "Gli utenti devono scrivere un codice segreto per ottenere {0}.\nDura {1} secondi. Non dirlo a nessuno. Shhh.", - "gambling_sneakygamestatus_end": "L'evento SneakyGame è finito. {0} utenti hanno ricevuto la loro ricompensa.", - "gambling_sneakygamestatus_title": "L'evento SneakyGameStatus è iniziato", - "gambling_tails": "Croce", - "gambling_take": "Hai preso con successo {0} da {1}", - "gambling_take_fail": "non è stato in grado di prendere {0} da {1} perché l'utente non dispone di abbastanza {2}!", - "help_back_to_toc": "Torna al sommario", - "help_bot_owner_only": "Solo il proprietario del bot", - "help_channel_permission": "Richiede il permesso del canale {0}.", - "help_cmdlist_donate": "Puoi supportare il progetto sul patreon: <{0}> o paypal: <{0}>", - "help_cmd_and_alias": "Comandi e alias", - "help_commandlist_regen": "Lista dei comandi rigenerata.", - "help_commands_instr": "Scrivi `{0}h NomeDelComando` per consultare la guida per il comando specificato. Ad esempio: `{0}h >8ball`", - "help_command_not_found": "Non riesco a trovare questo comando. Per favore verifica che esista prima di riprovare.", - "help_desc": "Descrizione", - "help_donate": "Puoi supportare \"NadekoBot project\" su \nPatreon <{0}> oppure su\nPaypal <{1}>\nNon dimenticarti di firmare con il tuo nome o id di discord.\n\n**Grazie** ♥️", - "help_guide": "**Lista dei comandi**: <{0}>\n**Trovi delle guide per diventare host e altri documenti qui**: <{1}>", - "help_list_of_commands": "Lista dei comandi", - "help_list_of_modules": "Lista dei moduli", - "help_modules_footer": "Scrivi `{0}cmds NomeModulo` per vedere la lista di tutti i comandi in quel modulo. Ad esempio: `{0}cmds giochi`", - "help_module_not_found": "Modulo inesistente.", - "help_server_permission": "Richiede il permesso {0} del server.", - "help_table_of_contents": "Tabella dei contenuti", - "help_usage": "Uso", - "nsfw_autohentai_started": "Autohentai avviato. Ogni {0} secondi verrà postato qualcosa coi seguenti tag:\n{1}", - "nsfw_tag": "Tag", - "gambling_animal_race": "Gara degli animali", - "gambling_animal_race_failed": "Impossibile iniziare perché non ci sono abbastanza partecipanti.", - "gambling_animal_race_full": "La gara è piena! Inizio immediato.", - "gambling_animal_race_join": "{0} è entrato come {1}", - "gambling_animal_race_join_bet": "{0} è entrato come {1} e ha scommesso {2}!", - "gambling_animal_race_join_instr": "Scrivi {0}jr per partecipare alla gara.", - "gambling_animal_race_starting": "Inizia tra 20 secondi o quando la stanza è piena.", - "gambling_animal_race_starting_with_x": "Inizia con {0} partecipanti.", - "gambling_animal_race_won": "{0} come {1} Ha vinto la gara!", - "gambling_animal_race_won_money": "{0} come {1} Ha vinto la gara e {2}!", - "gambling_dice_invalid_number": "Numero specificato invalido. Puoi tirare {0}-{1} dadi alla volta.", - "gambling_dice_rolled": "Ha rollato {0}", - "gambling_dice_rolled_num": "Dadi tirati: {0}", - "gambling_race_failed_starting": "Fallito a iniziare la gara. Un'altra gara è probabilmente in corso.", - "gambling_race_not_exist": "Nessuna gara esistente su questo server.", - "gambling_second_larger_than_first": "Il secondo numero dev'essere maggiore del primo.", - "gambling_changes_of_heart": "Cambi di cuore", - "gambling_claimed_by": "Rivendicato da", - "gambling_divorces": "Divorziati", - "gambling_likes": "Piace", - "gambling_price": "Prezzo", - "gambling_waifus_none": "Nessuna waifu è stata rivendicata.", - "gambling_waifus_top_waifus": "Classifica delle waifu", - "gambling_waifu_affinity_already": "La tua affinità è già stabilita a quella waifu oppure stai cercando di rimuovere la tua affinità mentre non ne hai una.", - "gambling_waifu_affinity_changed": "ha cambiato la sua affinità da {0} a {1}.\n\n*È moralmente questionabile.*🤔", - "gambling_waifu_affinity_cooldown": "Devi aspettare {0} ore e {1} minuti prima di poter cambiare di nuovo la tua affinità.", - "gambling_waifu_affinity_reset": "La tua affinità è stata reimpostata. Non ti piace più nessuno.", - "gambling_waifu_affinity_set": "vuole essere la waifu di {0}. Aww <3", - "gambling_waifu_claimed": "ha rivendicato {0} come la sua waifu per {1}!", - "gambling_waifu_divorced_like": "Hai divorziato da una waifu a cui piacevi. Sei un mostro senza cuore.\n{0} riceve {1} come risarcimento.", - "gambling_waifu_egomaniac": "Non puoi impostare l'affinità su te stesso, tu egomaniaco.", - "gambling_waifu_fulfilled": "🎉 Il loro amore è soddisfatto! 🎉\nil nuovo valore di {0} è {1}!", - "gambling_waifu_isnt_cheap": "Nessuna waifu vale così poco. Devi pagare almeno {0} per avere una waifu, malgrado il suo valore reale fosse minore.", - "gambling_waifu_not_enough": "Devi pagare {0} o più per poter rivendicare quella waifu!", - "gambling_waifu_not_yours": "Quella waifu non è tua.", - "gambling_waifu_not_yourself": "Non puoi auto-rivendicarti.", - "gambling_waifu_recent_divorce": "Hai divorziato recentemente. Devi aspettare {0} ore e {0} minuti per poter divorziare di nuovo.", - "gambling_nobody": "Nessuno", - "gambling_waifu_divorced_notlike": "Hai divorziato da una waifu a cui non piacevi. Riottieni {0} Indietro.", - "games_8ball": "palla8", - "games_acrophobia": "Acrofobia", - "games_acro_ended_no_sub": "Partita conclusa senza risposte.", - "games_acro_no_votes_cast": "Nessuno ha votato. Partita conclusa senza vincitori.", - "games_acro_nym_was": "L'acronimo era {0}", - "games_acro_running": "Una partita di Acrofobia è già in corso su questo canale.", - "games_acro_started": "Partita avviata. Crea una frase utilizzando il seguente acronimo: {0}.", - "games_acro_started_footer": "Hai {0} secondi a disposizione per rispondere.", - "games_acro_submit": "{0} ha dato la sua risposta. ({1} in totale)", - "games_acro_vote": "Vota digitando il numero della risposta", - "games_acro_vote_cast": "{0} ha votato!", - "games_acro_winner": "Il vincitore è {0} con {1} punti.", - "games_acro_winner_only": "{0} è il vincitore poiché è stato l'unico ad aver dato una risposta!", - "games_question": "Domanda", - "games_rps_draw": "E' un pareggio! Entrambi avete scelto {0}", - "games_rps_win": "{0} vince! {1} batte {2}", - "games_submissions_closed": "Il tempo per rispondere è scaduto", - "gambling_animal_race_already_started": "La corsa degli animali è già iniziata.", - "gambling_total_average": "Totale: {0} Media: {1}", - "games_category": "Categoria.", - "games_cleverbot_disabled": "Cleverbot è stato disabilitato in questo server.", - "games_cleverbot_enabled": "Cleverbot è stato abilitato in questo server.", - "games_curgen_disabled": "La generazione di valuta è stata disabilitata in questo canale.", - "games_curgen_enabled": "La generazione di valuta è stata abilitata in questo canale.", - "games_curgen_pl": "{0} un {1} casuale è apparso!", - "games_curgen_sn": "Un {0} è apparso!", - "games_failed_loading_question": "Impossibile caricare una domanda.", - "games_game_started": "Partita iniziato", - "games_hangman_game_started": "Gioco dell'impiccato iniziato", - "games_hangman_running": "Il gioco dell'impiccato è già in corso in questo canale.", - "games_hangman_start_errored": "Impossibile iniziare il gioco dell'impiccato.", - "games_hangman_types": "Lista dei tipi di parole dell' \"{0}impiccato\":", - "games_leaderboard": "Classifica", - "games_not_enough": "Non hai abbastanza {0}", - "games_no_results": "Nessun risultato", - "games_picked": "raccolto {0}", - "games_planted": "{0} ha piantato {1}", - "games_trivia_already_running": "Un gioco dei trivia è già in corso su questo canale.", - "games_trivia_game": "Gioco dei trivia", - "games_trivia_guess": "{0} ha indovinato! La riposta era: {1}", - "games_trivia_none": "Nessun gioco dei trivia è in corso su questo server.", - "games_trivia_points": "{0} ha {1} punti", - "games_trivia_stopping": "Il gioco terminerà dopo questa domanda.", - "games_trivia_times_up": "Tempo scaduto! La risposta corretta era {0}", - "games_trivia_win": "{0} ha indovinato ed è il VINCITORE! La risposta era: {1}", - "games_ttt_against_yourself": "Non puoi giocare contro te stesso.", - "games_ttt_already_running": "Una partita di Tris è già in corso in questo canale.", - "games_ttt_a_draw": "Pareggio!", - "games_ttt_created": "ha avviato una partita di Tris.", - "games_ttt_has_won": "{0} ha vinto!", - "games_ttt_matched_three": "Tris", - "games_ttt_no_moves": "Nessuna mossa rimanente!", - "games_ttt_time_expired": "Tempo scaduto!", - "games_ttt_users_move": "Tocca a {0}", - "games_vs": "{0} vs {1}", - "music_attempting_to_queue": "Cercando di mettere in coda {0} canzoni...", - "music_autoplay_disabled": "Autoplay disabilitato.", - "music_autoplay_enabled": "Autoplay abilitato.", - "music_defvol_set": "Volume di default impostato a {0}%", - "music_dir_queue_complete": "Coda della directory completata.", - "music_fairplay": "gioco corretto", - "music_finished_song": "Canzone finita", - "music_fp_disabled": "Gioco corretto disabilitato.", - "music_fp_enabled": "Gioco corretto abilitato.", - "music_from_position": "Dalla posizione", - "music_id": "Id", - "music_invalid_input": "Input non valido", - "music_max_playtime_none": "Il tempo massimo di gioco ora non ha più un limite.", - "music_max_playtime_set": "Il tempo massimo di gioco è stato impostato a {0} secondi.", - "music_max_queue_unlimited": "La coda massima della musica è stata impostata a illimitata", - "music_max_queue_x": "La coda massima della musica è stata impostata a {0} brani.", - "music_must_be_in_voice": "Bisogna essere in un canale vocale in questo server", - "music_name": "Nome", - "music_now_playing": "In riproduzione", - "music_no_player": "Nessuna musica in riproduzione.", - "music_no_search_results": "Nessun risultato trovato.", - "music_paused": "Riproduzione della musica messa in pausa.", - "music_player_queue": "Coda degli utenti - Pagina {0}/{1}", - "music_playing_song": "Canzone iniziata", - "music_playlists": "`#{0}` - **{1}** da *{2}* ({3} canzoni)", - "music_playlists_page": "Pagina {0} della playlist salvata", - "music_playlist_deleted": "Playlist cancellata.", - "music_playlist_delete_fail": "Impossibile cancellare quella playlist perché non esiste oppure perché non ne sei l'autore.", - "music_playlist_id_not_found": "Non esiste una playlist con quel ID.", - "music_playlist_queue_complete": "Playlist in coda completata.", - "music_playlist_saved": "Playlist salvata", - "music_play_limit": "limite di {0} secondi", - "music_queue": "Coda", - "music_queued_song": "Canzone in coda", - "music_queue_cleared": "Coda della musica ripulita", - "music_queue_full": "La coda é piena a {0}/{0}", - "music_removed_song": "Canzone rimossa", - "music_repeating_cur_song": "Ripetendo la canzone corrente", - "music_repeating_playlist": "Ripetendo la playlist", - "music_repeating_track": "Traccia ripetuta", - "music_repeating_track_stopped": "Riproduzione del brano attuale fermata.", - "music_resumed": "Riproduzione della musica ricominciata.", - "music_rpl_disabled": "Ripeti playlist disabilitato.", - "music_rpl_enabled": "Ripeti playlist abilitato.", - "music_set_music_channel": "Ora mostrerò i brani in ascolto, finiti, messi in pausa e rimossi in questo canale.", - "music_skipped_to": "Saltato a '{0}:{1}'", - "music_songs_shuffled": "Canzoni mischiate", - "music_song_moved": "Canzone spostata", - "music_time_format": "{0}o {1}m {2}s", - "music_to_position": "Alla posizione", - "music_unlimited": "infinito", - "music_volume_input_invalid": "Il volume dev'essere impostato fra 0 e 100.", - "music_volume_set": "Volume impostato a {0}%", - "permissions_acm_disable": "Non può essere più usato ALCUN MODULO in questo canale.", - "permissions_acm_enable": "Possono essere usati TUTTI I MODULI in questo canale.", - "permissions_allowed": "Concesso", - "permissions_arm_disable": "Il ruolo {0} non può più usare ALCUN MODULO.", - "permissions_arm_enable": "Il ruolo {0} può usare TUTTI I MODULI.", - "permissions_asm_disable": "Non può essere più usato ALCUN MODULO in questo server.", - "permissions_asm_enable": "Possono essere usati TUTTI I MODULI in questo server.", - "permissions_aum_disable": "L'utente {0} non può più usare ALCUN MODULO.", - "permissions_aum_enable": "L'utente {0} può usare TUTTI I MODULI.", - "permissions_blacklisted": "Aggiunto {0} con ID {1} alla lista nera", - "permissions_cmdcd_add": "Il comando {0} ha adesso {1} secondi di ricarica.", - "permissions_cmdcd_cleared": "Il comando {0} non ha più il tempo di ricarica e tutti i tempi di ricarica esistenti sono stati cancellati.", - "permissions_cmdcd_none": "Nessuna ricarica dei comandi stabilita.", - "permissions_command_costs": "Costo dei comandi", - "permissions_cx_disable": "Disattivare l'uso di {0} {1} in questo canale {2}.", - "permissions_cx_enable": "Attivare l'uso di {0} {1} in questo canale {2}.", - "permissions_denied": "Permesso negato", - "permissions_filter_word_add": "Aggiunta la parola {0} alla lista delle parole bandite.", - "permissions_filter_word_list": "Lista di parole bandite", - "permissions_filter_word_remove": "Rimossa la parola {0} dalla lista delle parole bandite.", - "permissions_invalid_second_param_between": "Parametro dei secondi non valido.(Deve essere un numero tra {0} e {1})", - "permissions_invite_filter_channel_off": "Filtro degli inviti disabilitato in questo canale.", - "permissions_invite_filter_channel_on": "Filtro degli inviti abilitato su questo canale", - "permissions_invite_filter_server_off": "Filtro degli inviti disabilitato su questo canale", - "permissions_invite_filter_server_on": "Filtro degli inviti abilitato su questo server", - "permissions_moved_permission": "Spostato il permesso {0} da #{1} a #{2}", - "permissions_not_found": "Impossibile trovare il permesso nell'elenco #{0}", - "permissions_no_costs": "Nessun costo impostato.", - "permissions_of_command": "Comando", - "permissions_of_module": "Modulo", - "permissions_page": "Pagina dei comandi {0}", - "permissions_permrole": "Attualmente i permessi del ruolo sono {0}.", - "permissions_permrole_changed": "Gli utenti ora devono avere il ruolo di {0} per modificare i permessi.", - "permissions_perm_out_of_range": "Nessun permesso trovato in quell'elenco.", - "permissions_removed": "rimosso il permesso #{0} - {1}", - "permissions_rx_disable": "Disabilitato l'uso di {0} {1} per il ruolo {2}.", - "permissions_rx_enable": "Abilitato l'uso di {0} {1} per il ruolo {2}.", - "permissions_sec": "sec.", - "permissions_sx_disable": "Disabilitato l'utilizzo di {0} {1} in questo server", - "permissions_sx_enable": "Abilitato l'utilizzo di {0} {1} in questo server", - "permissions_unblacklisted": "Rimosso dalla lista nera {0} con l'ID {1}", - "permissions_uneditable": "non modificabile", - "permissions_ux_disable": "Disabilitato l'uso di {0} {1} per l'utente {2}.", - "permissions_ux_enable": "Abilitato l'uso di {0} {1} per l'utente {2}.", - "permissions_verbose_false": "Non mostreró piú avvisi sui permessi", - "permissions_verbose_true": "Ora mostreró gli avvisi sui permessi.", - "permissions_word_filter_channel_off": "Filtro delle parole disabilitato in questo canale.", - "permissions_word_filter_channel_on": "Filtro delle parole abilitato in questo canale.", - "permissions_word_filter_server_off": "Filtro delle parole disabilitato in questo server.", - "permissions_word_filter_server_on": "Filtro delle parole abilitato in questo server.", - "searches_abilities": "Abilità", - "searches_anime_no_fav": "Nessun anime preferito", - "searches_atl_ad_started": "Iniziata la traduzione automatica dei messaggi in questo canale. I messaggi degli utenti verranno automaticamente cancellati.", - "searches_atl_removed": "La tua traduzione automatica dei messaggi è stata rimossa.", - "searches_atl_set": "La tua traduzione automatica del linguaggio è stata impostata a {0}>{0}", - "searches_atl_started": "Avviata traduzione automatica dei messaggi in questo canale.", - "searches_atl_stopped": "Annullata traduzione automatica dei messaggi in questo canale.", - "searches_bad_input_format": "Formato input errato o errore sconosciuto.", - "searches_card_not_found": "Non ho trovato quella carta.", - "searches_catfact": "Curiosità", - "searches_chapters": "Capitoli", - "searches_comic_number": "Fumetto #", - "searches_compet_loses": "Competitive perse", - "searches_compet_played": "Competitive giocate", - "searches_compet_rank": "Rango competitivo", - "searches_compet_wins": "Competitive Vinte.", - "searches_completed": "Completato", - "searches_condition": "Condizione", - "searches_cost": "Costo", - "searches_date": "Data", - "searches_define": "Definisci:", - "searches_dropped": "Abbandonato", - "searches_episodes": "Episodi", - "searches_error_occured": "Errore.", - "searches_example": "Esempio.", - "searches_failed_finding_anime": "Fallito a trovare questo anime.", - "searches_failed_finding_manga": "Fallito a trovare questo manga.", - "searches_genres": "Genere", - "searches_hashtag_error": "Fallito a trovare la definizione per questo tag.", - "searches_height_weight": "Altezza/Peso", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Umidità", - "searches_image_search_for": "Ricerca immagine per:", - "searches_imdb_fail": "Fallito a trovare questo film.", - "searches_invalid_lang": "Fonte o lingua non valida.", - "searches_jokes_not_loaded": "Scherzo non caricato.", - "searches_latlong": "Latitudine/Longitudine", - "searches_level": "Livello", - "searches_list_of_place_tags": "Lista delle tag {0}place", - "searches_location": "Luogo", - "searches_magicitems_not_loaded": "Oggetto magico non caricato.", - "searches_mal_profile": "Profilo MAL di {0}", - "searches_mashape_api_missing": "Il possessore del bot non ha specificato MashapeApiKey, Non puoi usare questa funzione.", - "searches_min_max": "Minimo/Massimo", - "searches_no_channel_found": "Nessun canale trovato.", - "searches_no_results": "Nessun risultato trovato.", - "searches_on_hold": "In sospeso", - "searches_original_url": "Url originale", - "searches_osu_api_key": "Una chiave API di Osu! é richiesta.", - "searches_osu_failed": "Recupero della firma di Osu! fallito.", - "searches_over_x": "Trovate oltre {0} immagini. Piazzandone casualmente {0}", - "searches_ow_user_not_found": "Utente non trovato! Perfavore controlla la regione e il Battletag prima di riprovare.", - "searches_plan_to_watch": "In programma da guardare", - "searches_platform": "Piattaforma", - "searches_pokemon_ability_none": "Nessun abilità trovata.", - "searches_pokemon_none": "Nessun pokèmon trovato.", - "searches_profile_link": "Link profilo:", - "searches_quality": "Qualità:", - "searches_quick_playtime": "Gioco veloce", - "searches_quick_wins": "Vittoria veloce", - "searches_rating": "Voto", - "searches_score": "Punteggio:", - "searches_search_for": "Ricerca per:", - "searches_shorten_fail": "Non è stato possibile accorciare quel url.", - "searches_short_url": "Accorcia url", - "searches_something_went_wrong": "Qualcosa è andato storto.", - "searches_specify_search_params": "Per favore specifica i parametri della ricerca.", - "searches_status": "Stato", - "searches_store_url": "Conserva url", - "searches_streamer_offline": "Lo streamer {0} è offline.", - "searches_streamer_online": "Lo streamer {0} è online con {1} spettatori.", - "searches_streams_following": "Stai seguendo {0} streaming in questo server.", - "searches_streams_none": "Non stai seguendo nessuno streaming in questo server.", - "searches_stream_no": "Nessun tale stream", - "searches_stream_not_exist": "Questo streaming probabilmente non esiste.", - "searches_stream_removed": "Rimossi {0} streaming ({1}) dalle notifiche", - "searches_stream_tracked": "Io notificherò in questo canale quando il suo stato cambia.", - "searches_sunrise": "Alba", - "searches_sunset": "Tramonto", - "searches_temperature": "Temperratura", - "searches_title": "Titolo:", - "searches_top_3_fav_anime": "Top 3 anime preferiti:", - "searches_translation": "Traduzione:", - "searches_types": "Tipi", - "searches_ud_error": "Nessuna definizione trovata per la parola.", - "searches_url": "Url", - "searches_viewers": "Spettatori", - "searches_watching": "Seguendo", - "searches_wikia_error": "Non sono riuscita a trovare quel termine nella wikia specificata.", - "searches_wikia_input_error": "Inserisca una wikia, seguita dalla richiesta di ricerca.", - "searches_wiki_page_not_found": "Pagina non trovata.", - "searches_wind_speed": "Velocità del vento", - "searches_x_most_banned_champs": "I campioni più bannati di {0}", - "searches_yodify_error": "Non sono riuscita a yodificare la tua frase.", - "utiliity_joined": "Entrato", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} totali", - "utility_activity_page": "Pagina attivitá #{0}", - "utility_activity_users_total": "{0} utenti in totale.", - "utility_author": "Autore", - "utility_botid": "ID del bot", - "utility_calcops": "Lista di funzioni nel comando {0}calc", - "utility_channelid": "{0} di questo canale è {1}", - "utility_channel_topic": "Canale di discussione", - "utility_commands_ran": "Comandi eseguiti", - "utility_convert": "{0} {1} è uguale a {2} {3}", - "utility_convertlist": "Unità che possono essere usate dal convertitore", - "utility_convert_not_found": "Non posso convertire {0} a {1}: unità non trovate.", - "utility_convert_type_error": "Impossibile convertire {0} in {1}: i tipi di unitá sono diversi", - "utility_created_at": "Creato a", - "utility_csc_join": "Entrato nel canale tra server.", - "utility_csc_leave": "Uscito dal canale tra server.", - "utility_csc_token": "Questo é il tuo token CSC", - "utility_custom_emojis": "Emoji personalizzati", - "utility_error": "Errore", - "utility_features": "Funzioni", - "utility_id": "ID", - "utility_index_out_of_range": "Indice fuori dall'intervallo consentito.", - "utility_inrole_list": "Lista degli utenti con il ruolo {0}", - "utility_inrole_not_allowed": "Non sei autorizzato a usare questo comando con un ruolo comune per prevenirne l'abuso.", - "utility_invalid_value": "Valore {0} invalido.", - "utility_joined_discord": "Si è unito a Discord", - "utility_joined_server": "Si è unito al server", - "utility_listservers": "ID: {0}\nMembri: {1}\nID del proprietario: {2}", - "utility_listservers_none": "Nessun server trovato su quella pagina.", - "utility_list_of_repeaters": "Lista dei ripetitori", - "utility_members": "Membri", - "utility_memory": "Memoria", - "utility_messages": "Messaggi", - "utility_message_repeater": "Ripetitore di Messaggi", - "utility_name": "Nome", - "utility_nickname": "Soprannome", - "utility_nobody_playing_game": "Nessuno sta giocando a quel gioco.", - "utility_no_active_repeaters": "Nessun ripetitore attivo.", - "utility_no_roles_on_page": "Nessun ruolo in questa pagina.", - "utility_no_shards_on_page": "Nessun frammento in questa pagina.", - "utility_no_topic_set": "Nessun argomento impostato.", - "utility_owner": "Proprietario", - "utility_owner_ids": "ID del proprietario", - "utility_presence": "Presenza", - "utility_presence_txt": "{0} Server\n{1} Canali di testo\n{2} Canali vocali", - "utility_quotes_deleted": "Eliminato tutte le parole con {0} all'interno.", - "utility_quotes_page": "Pagina {0} delle citazioni", - "utility_quotes_page_none": "Nessuna citazione in questa pagina.", - "utility_quotes_remove_none": "Nessuna citazione trovata che tu possa rimuovare.", - "utility_quote_added": "Citazione Aggiunta", - "utility_quote_deleted": "Citazione #{0} cancellata.", - "utility_region": "Regione", - "utility_registered_on": "Registrato il", - "utility_remind": "Ricorderò {0} a {1} il {2} `({3:d.M.yyyy.} alle {4:HH:mm})`", - "utility_remind_invalid_format": "Formato data non valido. Controlla la lista dei comandi.", - "utility_remind_template": "Nuovo modello di promemoria stabilito.", - "utility_repeater": "Ripetendo {0} ogni {1} giorno(s), {2} ore(s) e {3} minuti(s).", - "utility_repeaters_list": "Lista dei ripetitori", - "utility_repeaters_none": "Nessun ripetitore funzionante in questo server.", - "utility_repeater_stopped": "#{0} fermato.", - "utility_repeat_invoke_none": "Nessun messaggio ripetuto trovato in questo server.", - "utility_result": "Risultato", - "utility_roles": "Ruoli", - "utility_roles_all_page": "Pagina #{0} di tutti i ruoli in questo server:", - "utility_roles_page": "Pagina #{0} dei ruoli di {1}", - "utility_rrc_no_colors": "Nessun colore è nel formato giusto. Usa `#00ff00` per esempio.", - "utility_rrc_start": "Iniziata rotazione {0} dei ruoli colorati.", - "utility_rrc_stop": "Fermata la rotazione dei colori per il {0} ruolo", - "utility_serverid": "{0} di questo server è {1}", - "utility_server_info": "Info del server", - "utility_shard": "Frammento", - "utility_shard_stats": "Statistiche della Shard", - "utility_shard_stats_txt": "Il frammento **#{0}** é nello stato {1} con {2} server", - "utility_showemojis": "**Nome:** {0} **Link:** {1}", - "utility_showemojis_none": "Nessuna emoji speciale trovata.", - "utility_stats_songs": "Avviando {0} canzoni, {1} in coda.", - "utility_text_channels": "Canali di testo", - "utility_togtub_room_link": "Qui c'è il link della tua stanza:", - "utility_uptime": "Tempo di funzionamento", - "utility_userid": "{0} di questo utente {1} è {2}", - "utility_users": "Utenti", - "utility_voice_channels": "Canali vocali", - "gambling_animal_race_already_in": "Sei già entrato in gara!", - "games_current_poll_results": "Risultati del sondaggio corrente", - "games_no_votes_cast": "Nessun voto", - "games_poll_already_running": "C'è già un sondaggio in corso in questo server.", - "games_poll_created": "📃 {0} ha creato un sondaggio che richiede la tua attenzione:", - "games_poll_result": "'{0}. '{1} con {2} voti.", - "games_poll_voted": "{0} ha votato.", - "games_poll_vote_private": "Mandami in privato il numero della risposta.", - "games_poll_vote_public": "Scrivi qui il numero della risposta.", - "games_thanks_for_voting": "Grazie per aver votato, {0}", - "games_x_votes_cast": "{0} voti in totale.", - "games_pick_pl": "Prendili scrivendo `{0}prendi`", - "games_pick_sn": "Prendilo scrivendo `{0}prendi`", - "gambling_no_users_found": "Nessun utente trovato.", - "gambling_page": "pagina {0}", - "administration_must_be_in_voice": "Devi essere in un canale vocale in questo server.", - "administration_no_vcroles": "Non ci sono ruoli nei canali vocali.", - "administration_user_muted_time": "{0} è stato **mutato* dal canale di testo e vocale per {1} minuti.", - "administration_vcrole_added": "Gli utenti che entrano {0} canale vocale avranno {1} come ruolo.", - "administration_vcrole_removed": "Gli utenti che entrano {0} canale vocale non avranno più un ruolo.", - "administration_vc_role_list": "Ruoli del canale vocale", - "customreactions_crad_disabled": "I messaggi che innescano la reazione personalizzata con id {0} non saranno automaticamente eliminati.", - "customreactions_crad_enabled": "I messaggi che innescano la reazione personalizzata con id {0} saranno automaticamente eliminati.", - "customreactions_crdm_disabled": "Il messaggio di risposta per la reazione personalizzata con l'id {0} non sarà inviato come MP.", - "customreactions_crdm_enabled": "I messaggi di risposta per la reazione personalizzata id {0} saranno ora mandati come MP.", - "utility_aliases_none": "Nessun alias trovato", - "utility_alias_added": "Scrivere {0} sarà ora un alias di {1}.", - "utility_alias_list": "Lista degli alias", - "utility_alias_removed": "Innescato {0} non ha più un Alias.", - "utility_alias_remove_fail": "Innescato {0} non ha un alias.", - "searches_compet_playtime": "Tempo di gioco competitivo", - "administration_channel": "Canale", - "administration_command_text": "Testo del comando", - "administration_kicked_pl": "Espulso", - "administration_moderator": "Moderatore", - "administration_page": "pagina {0}", - "administration_reason": "Ragione", - "administration_scadd": "Nuovo comando all'avvio aggiunto.", - "administration_scrm": "Comando all'avvio rimosso con successo.", - "administration_scrm_fail": "Comando all'avvio non trovato.", - "administration_server": "Server", - "administration_startcmdlist_none": "Nessun comando di avvio in questa pagina", - "administration_startcmds_cleared": "Ripuliti tutti i comandi all'avvio.", - "administration_unbanned_user": "All'utente {0} é stato rimosso il ban.", - "administration_user_not_found": "Utente non trovato.", - "administration_user_warned": "L'utente {0} é stato avvisato.", - "administration_user_warned_and_punished": "L'utente {0} é stato avvisato e {1} punizioni sono state applicate.", - "administration_warned_on": "Avvisato nel server {0}", - "administration_warned_on_by": "Il {0} alle {1} da {2}", - "administration_warnings_cleared": "Tutti gli avvisi sono stati cancellati per {0}.", - "administration_warnings_none": "Nessun avviso in questa pagina.", - "administration_warnlog_for": "Lista degli avvisi per {0}", - "administration_warnpl_none": "Nessuna punizione stabilita.", - "administration_warn_cleared_by": "ripulito da {0}", - "administration_warn_punish_list": "Lista degli avvisi.", - "administration_warn_punish_rem": "Avere {0} avvisi non porterá piú a una punizione.", - "administration_warn_punish_set": "Applicheró la punizione {0} agli utenti con {1} avvisi.", - "administration_slowmodewl_role_start": "La modalitá lenta ignorerá il ruolo {0}.", - "administration_slowmodewl_role_stop": "La modalitá lenta non ignorerá piú il ruolo {0}.", - "administration_slowmodewl_user_start": "La modalitá lenta ignorerá l'utente {0}.", - "administration_slowmodewl_user_stop": "La modalitá lenta non ignorerá piú l'utente {0}.", - "utility_clpa_fail": "Errore nella richiesta dei premi per le seguenti ragioni:", - "utility_clpa_fail_already": "Magari hai giá ricevuto il tuo premio per questo mese, Puoi ricevere premi solo una volta al mese sempre se non aumenti la tua donazione mensile.", - "utility_clpa_fail_already_title": "Giá premiato", - "utility_clpa_fail_conn": "Il tuo account discord potrebbe non essere connesso con Patreon. Se non sai cosa significa, o non sai come connetterlo - bisogna andare su [la pagina delle impostazioni dell'account Patreon] (https://patreon.com/settings/account) e cliccare su 'Connetti a discord'", - "utility_clpa_fail_conn_title": "L'account discord non é connesso", - "utility_clpa_fail_sup": "Per essere consono a ricevere premi, devi supportare il progetto su patreon. Puoi usare il comando {0} per ricevere il link.", - "utility_clpa_fail_sup_title": "Non sta donando", - "utility_clpa_fail_wait": "Devi aspettare un po' di ore dopo aver donato, se non lo hai fatto, prova di nuovo piú tardi.", - "utility_clpa_fail_wait_title": "Aspetta un po' di tempo", - "utility_clpa_success": "Hai ricevuto {0} ringraziamenti per il supporto del progetto!", - "utility_clpa_too_early": "I premi possono essere richiesti dal 5 di ogni mese", - "searches_time": "L'ora in {0} é {1} - {2}", - "administration_rh": "Impostato il ruolo visibile della gilda da {0} a {1}", - "gambling_name": "Nome", - "gambling_shop": "Negozio", - "gambling_shop_item_add": "Oggetto del negozio aggiunto", - "gambling_shop_none": "Nessun oggetto del negozio trovato in questa pagina.", - "gambling_shop_role": "Otterrai il ruolo {0}.", - "gambling_type": "Tipo", - "utility_clpa_next_update": "Prossimo update alle {0}", - "administration_global_perms_reset": "I permessi globali sono stati resettati.", - "administration_gvc_disabled": "La funzione di canale vocale di gioco é stata disabilitata in questo server.", - "administration_gvc_enabled": "{0} é un canale vocale di gioco ora.", - "administration_not_in_voice": "Non sei in un canale vocale in questo server.", - "gambling_item": "Oggetto", - "gambling_out_of_stock": "Esaurito.", - "gambling_random_unique_item": "Oggetto unico random.", - "gambling_shop_buy_error": "Errore nel mandare in privato l'oggetto. Sei stato rimborsato.", - "gambling_shop_item_not_found": "Nessuno strumento trovato in questo indice.", - "gambling_shop_item_purchase": "Oggetto comprato con successo.", - "gambling_shop_item_rm": "Oggetto rimosso dal negozio", - "gambling_shop_item_wrong_type": "Questa registrazione del negozio non supporta l'aggiunta di oggetti.", - "gambling_shop_list_item_added": "Oggetto aggiunto con successo.", - "gambling_shop_list_item_not_unique": "Questo oggetto é giá stato aggiunto.", - "gambling_shop_purchase": "Comprato nel server {0}", - "gambling_shop_role_not_found": "Il ruolo che é stato venduto non esiste piú", - "gambling_shop_role_purchase": "Hai comprato il ruolo {0} con successo", - "gambling_shop_role_purchase_error": "Errore nell'assegnazione del ruolo. La tua spesa é stata rimborsata", - "gambling_unique_items_left": "{0} oggetti unici rimasti.", - "permissions_blocked_commands": "Comandi bloccati", - "permissions_blocked_modules": "Moduli bloccati", - "permissions_gcmd_add": "Il comando {0} é stato disabilitato in tutti i server", - "permissions_gcmd_remove": "Il comando {0} é stato abilitato in tutti i server", - "permissions_gmod_add": "Il modulo {0} é stato disabilitato in tutti server", - "permissions_gmod_remove": "Il modulo {0} é stato abilitato in tutti i server", - "permissions_lgp_none": "Nessun comando o modulo bloccato" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.ja-JP.json b/src/NadekoBot/_strings/ResponseStrings.ja-JP.json deleted file mode 100644 index 78c2d567..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.ja-JP.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "そのベースはもう要求・破壊されました。", - "clashofclans_base_already_destroyed": "そのベースはもう破壊されました。", - "clashofclans_base_already_unclaimed": "そのベースは要求されていません。", - "clashofclans_base_destroyed": "{1}との対戦でベース#{0}を**破壊**しました。", - "clashofclans_base_unclaimed": "{0}は{2}との戦いで、未請求の塩基番号{1}を持っています\n", - "clashofclans_claimed_base": "{0}は{2}との戦いで塩基番号{1}を主張しました\n", - "clashofclans_claimed_other": "@ {0}あなたはすでに基本番号{1}を主張しています。あなたは新しいものを請求することはできません。\n", - "clashofclans_claim_expired": "{1}との戦争で@ {0}からの申し立てが終了しました。\n", - "clashofclans_enemy": "敵", - "clashofclans_info_about_war": "{0} との戦争に関する情報", - "clashofclans_invalid_base_number": "無効な城の番号\n", - "clashofclans_invalid_size": "有効な戦争サイズではありません。\n", - "clashofclans_list_active_wars": "アクティブな戦争を一覧表示する。\n", - "clashofclans_not_claimed": "請求されていない\n", - "clashofclans_not_partic": "あなたはこの戦争の参加者ではありません。\n", - "clashofclans_not_partic_or_destroyed": "@{0} \nあなたはその戦争に参加していないか、その基地はすでに破壊されています。", - "clashofclans_no_active_wars": "活動的な戦争はない", - "clashofclans_size": "サイズ", - "clashofclans_war_already_started": "{0}に対する大戦が既に始まった。", - "clashofclans_war_created": "戦争{0}が作成されました。\n", - "clashofclans_war_ended": "{0}に対する戦争は終わった。\n", - "clashofclans_war_not_exist": "その戦争は存在しない。\n", - "clashofclans_war_started": "戦争{0}が始まった!\n", - "customreactions_all_stats_cleared": "すべてのカスタム反応がクリアされました。\n", - "customreactions_deleted": "カスタム反応が削除されました。\n", - "customreactions_insuff_perms": "権限が不十分です。グローバルカスタム反応のために必要なボットの所有権、サーバーカスタム反応の管理者。\n", - "customreactions_list_all": "すべてのカスタム反応をリストします。\n", - "customreactions_name": "カスタム反応。\n", - "customreactions_new_cust_react": "新しいカスタム反応。\n", - "customreactions_no_found": "カスタムリアクションが見つかりませんでした。\n", - "customreactions_no_found_id": "その識別情報でカスタム反応が見つかりませんでした。\n", - "customreactions_response": "反応", - "customreactions_stats": "カスタム反応の統計\n", - "customreactions_stats_cleared": "{0}カスタム反応の統計がクリアされました。\n", - "customreactions_stats_not_found": "そのトリガーの統計は見つかりませんでした。\n", - "customreactions_trigger": "引き金", - "nsfw_autohentai_stopped": "NSFWが停止しました\n", - "nsfw_not_found": "結果が見つかりません\n", - "pokemon_already_fainted": "{0}は既に気絶しています。\n", - "pokemon_already_full": "{0}健康は既に最大です\n", - "pokemon_already_that_type": "あなたはすでに{0}です\n", - "pokemon_attack": "{4}ダメージのために{2} {3}に{0} {1}を使用しました。\n", - "pokemon_cant_attack_again": "あなたは報復せずに再び攻撃することはできません!\n", - "pokemon_cant_attack_yourself": "あなた自身を攻撃することはできません。\n", - "pokemon_fainted": "{0}が気絶しました!\n", - "pokemon_healed": "1つの{1}で{0}を回復しました\n", - "pokemon_hp_remaining": "{0}は{1} HPが残っています。\n", - "pokemon_invalid_move": "{0}を使用することはできません。 `{1} ml`と入力すると、使用できる移動のリストが表示されます。\n", - "pokemon_moves": "{0}タイプの攻撃リスト\n", - "pokemon_not_effective": "それは効果的ではありません。\n", - "pokemon_no_currency": "あなたに十分な{0}がありません。\n", - "pokemon_revive_other": "1つの{1}で復活{0}\n", - "pokemon_revive_yourself": "1つの{0}のために癒された\n", - "pokemon_settype_success": "あなたのタイプは{1}のために{0}に変更されました\n", - "pokemon_somewhat_effective": "それはやや有効です。\n", - "pokemon_super_effective": "それは超効果的です!\n", - "pokemon_too_many_moves": "あなたは連続してあまりにも多くの動きを使用したので、移動することはできません!\n", - "pokemon_type_of_user": "タイプ{0}は{1}です。\n", - "pokemon_user_not_found": "ユーザーが見つかりません。\n", - "pokemon_you_fainted": "あなたが気絶したので、動かすことはできません。\n", - "administration_aar_disabled": "**ユーザー割り当ての**役割を自動割り当て**が無効**になりました。\n", - "administration_aar_enabled": "**ユーザー割り当ての**役割を自動割り当て**が現在有効になっています**。\n", - "administration_attachments": "接続", - "administration_avatar_changed": "画像が変更されました。\n", - "administration_bandm": "あなたは{0}サーバーから追放されました。\n理由:{1}", - "administration_banned_pl": "亡命", - "administration_banned_user": "ユーザーはBANNED", - "administration_bot_name": "ボット名が{0}に変更されました\n", - "administration_bot_status": "ボットのステータスが{0}に変更されました\n", - "administration_byedel_off": "byeメッセージの自動削除が無効になっています。\n", - "administration_byedel_on": "Byeメッセージは{0}秒後に削除されます。\n", - "administration_byemsg_cur": "現在の離脱メッセージ:{0}\n", - "administration_byemsg_enable": "{0}と入力して休暇メッセージを有効にする\n", - "administration_byemsg_new": "新しい出発メッセージセット。\n", - "administration_bye_off": "出発アナウンスが無効になりました。\n", - "administration_bye_on": "このチャンネルで有効になっている出発発言。\n", - "administration_ch_name_change": "チャンネル名が変更されました。\n", - "administration_ch_old_name": "古称", - "administration_ch_topic_change": "チャネルトピックが変更されました\n", - "administration_cleaned_up": "クリーンアップ\n", - "administration_content": "コンテント", - "administration_cr": "正常に作成されたロール", - "administration_createtextchan": "正常に作成されたロール", - "administration_createvoich": "音声チャネル{0}が作成されました。", - "administration_deafen": "聴覚障害者は成功です。", - "administration_deleted_server": "削除されたサーバー{0}\n", - "administration_delmsg_off": "成功したコマンド呼び出しの自動削除を停止しました。\n", - "administration_delmsg_on": "これで正常に実行されたコマンド呼び出しが自動的に削除されます。\n", - "administration_deltextchan": "テキストチャネル{0}が削除されました。\n", - "administration_delvoich": "音声チャネル{0}が削除されました。\n", - "administration_dm_from": "タイレクトメッセージガ", - "administration_donadd": "新しい寄付者を追加しました。このユーザーから寄付された金額:{0} \n", - "administration_donators": "このプロジェクトを実現するために、下記の人々に感謝します!\n", - "administration_fwall_start": "私はDMをすべての所有者に転送します。", - "administration_fwall_stop": "私は最初の所有者にDMを転送します。", - "administration_fwdm_start": "私は今からDMを転送します。\n", - "administration_fwdm_stop": "私は今からDMを転送するのをやめます。\n", - "administration_greetdel_off": "挨拶メッセージの自動削除が無効になっています。\n", - "administration_greetdel_on": "{0}秒後にメッセージが削除されます。\n", - "administration_greetdmmsg_cur": "現在のDM挨拶メッセージ:{0}\n", - "administration_greetdmmsg_enable": "{0}を入力してDM greetメッセージを有効にする\n", - "administration_greetdmmsg_new": "新しいDMはメッセージセットを迎える。\n", - "administration_greetdm_off": "DMのお知らせを無効にする", - "administration_greetdm_on": "DMのお知らせを有効にしました。", - "administration_greetmsg_cur": "現在の挨拶メッセージ:{0}\n", - "administration_greetmsg_enable": "{0}と入力してgreetメッセージを有効にする\n", - "administration_greetmsg_new": "新しい挨拶メッセージセット。", - "administration_greet_off": "お知らせを無効にしました。", - "administration_greet_on": "このチャンネルでアナウンスを有効にします。", - "administration_hierarchy": "このコマンドは、役割階層内の役割以上のユーザーに対しては使用できません。", - "administration_images_loaded": "{0}秒後に画像が読み込まれました!", - "administration_invalid_format": "入力フォーマットが無効です。", - "administration_invalid_params": "パラメータが無効です。", - "administration_joined": "{0}は{1}に参加しました", - "administration_kickdm": "あなたは{0}サーバーから蹴られました。\n理由:{1}", - "administration_kicked_user": "ユーザーが蹴った", - "administration_lang_list": "言語一覧\n{0}", - "administration_lang_set": "サーバーのロケールが{0} - {1}になりました\n", - "administration_lang_set_bot": "Botのデフォルトのロケールは{0} - {1}になりました\n", - "administration_lang_set_bot_show": "Botの言語は{0} - {1}に設定されています\n", - "administration_lang_set_fail": "ロケールの設定に失敗しました。このコマンドのヘルプに戻ってください。", - "administration_lang_set_show": "このサーバーの言語は{0}〜{1}に設定されています\n", - "administration_left": "{0}さんが{1}を去りました", - "administration_left_server": "{0}サーバーを去った", - "administration_log": "このチャネルに{0}イベントを記録します。", - "administration_log_all": "このチャンネルのすべてのイベントを記録します。", - "administration_log_disabled": "ロギングが無効です", - "administration_log_events": "購読可能なイベントを記録する:", - "administration_log_ignore": "ロギングは{0}を無視します {0}", - "administration_log_not_ignore": "ロギングは{0}を無視しません {0}", - "administration_log_stop": "ログに記録された{0}イベントが停止しました。\n", - "administration_menrole": "{0}は次の役割についての言及を呼び出しました\n", - "administration_message_from_bo": "{0} `[Bot Owner]`からのメッセージ:\n", - "administration_message_sent": "メッセージが送信されました。\n", - "administration_moved": "{0}は{1}から{2}に移動しました\n", - "administration_msg_del": "#{0}でメッセージが削除されました\n", - "administration_msg_update": "#{0}で更新されたメッセージ", - "administration_muted_pl": "ミュート中", - "administration_muted_sn": "ミュート\n", - "administration_mute_error": "私はそれに必要な許可を持っていません。\n", - "administration_mute_role_set": "新しいミュートロールセット。\n", - "administration_need_admin": "管理の権利が必要となります。", - "administration_new_msg": "新しいメッセージ", - "administration_new_nick": "新しいニックネーム", - "administration_new_topic": "新しいトピック", - "administration_nick_change": "ニックネームが変更されました", - "administration_no_server": "そのサーバーを見つけることができません\n", - "administration_no_shard_id": "そのIDのシャードは見つかりませんでした。\n", - "administration_old_msg": "古いメッセージ", - "administration_old_nick": "古いニックネーム", - "administration_old_topic": "古いトピック", - "administration_perms": "エラー。ほとんどの場合、十分な権限がありません。\n", - "administration_perms_reset": "このサーバーのアクセス許可はリセットされます。\n", - "administration_prot_active": "アクティブな保護\n", - "administration_prot_disable": "このサーバーで{0}は**無効**になっています。\n", - "administration_prot_enable": "{0}を有効にしました\n", - "administration_prot_error": "エラー。管理権限が必要です。", - "administration_prot_none": "保護は有効になっていません。\n", - "administration_raid_cnt": "ユーザーのしきい値は{0}から{1}の間でなければなりません。\n", - "administration_raid_stats": "{0}以上のユーザーが{1}秒以内に参加する場合は、{2}それらを行います。\n", - "administration_raid_time": "時刻は{0}〜{1}秒の間でなければなりません。\n", - "administration_rar": "ユーザー{0}からすべてのロールを削除しました\n", - "administration_rar_err": "ロールを削除できませんでした。私には十分な権限がありません。\n", - "administration_rc": "{0}ロールの色が変更されました。\n", - "administration_rc_not_exist": "その役割は存在しません。\n", - "administration_rc_params": "指定されたパラメータは無効です。\n", - "administration_rc_perms": "無効な色または権限が不十分なためにエラーが発生しました。\n", - "administration_remrole": "ユーザー{1}からロール{0}を削除しました\n", - "administration_remrole_err": "役割を削除できませんでした。私には十分な権限がありません。\n", - "administration_renrole": "役割名を変更しました", - "administration_renrole_err": "役割の名前を変更できませんでした。私には十分な権限がありません。\n", - "administration_renrole_perms": "最高のロールよりも上位のロールは編集できません。\n", - "administration_reprm": "再生メッセージを削除しました:{0}\n", - "administration_role_added": "ロール{0}がリストに追加されました。\n", - "administration_role_clean": "{0}は見つかりませんでした。\n", - "administration_role_in_list": "ロール{0}はすでにリストにあります。\n", - "administration_ropl_added": "追加されました。\n", - "administration_ropl_disabled": "回転再生状態が無効になっています。\n", - "administration_ropl_enabled": "回転再生状態が有効になっています。\n", - "administration_ropl_list": "\n回転状態の一覧は次のとおりです:\n{0}\n", - "administration_ropl_not_set": "回転再生状態は設定されません。\n", - "administration_self_assign_already": "あなたはすでに{0}ロールがあります。\n", - "administration_self_assign_already_excl": "{0}はすでに自己割り当てロールを持っています。\n", - "administration_self_assign_excl": "自己割り当ての役割は今排他的です!\n", - "administration_self_assign_list": "自分に割り当てられるロールが{0}個あります。", - "administration_self_assign_not": "そのロールは自分に割り当てられません。", - "administration_self_assign_not_have": "あなたは{0}ロールを持っていません。\n", - "administration_self_assign_no_excl": "自己割り当ての役割は現在無制限です\n", - "administration_self_assign_perms": "私はあなたにその役割を追加することができません。 `私は役割階層に私の役割よりも高い所有者または他の役割に役割を追加することはできません。\n", - "administration_self_assign_rem": "自己割り当て可能なロールのリストから{0}が削除されました。\n", - "administration_self_assign_remove": "あなたはもはや{0}ロールを持っていません。\n", - "administration_self_assign_success": "あなたは今{0}の役割を持っています。\n", - "administration_setrole": "ユーザー{1}にロール{0}を追加しました\n", - "administration_setrole_err": "ロールの追加に失敗しました。アクセス権が足りません。", - "administration_set_avatar": "新しいアバターセット!\n", - "administration_set_channel_name": "新しいチャンネル名が設定されました。\n", - "administration_set_game": "新しいゲームセット!\n", - "administration_set_stream": "新しいストリームセット!\n", - "administration_set_topic": "新しいチャンネルのトピックセット。\n", - "administration_shard_reconnected": "シャード{0}が再接続されました。\n", - "administration_shard_reconnecting": "シャード{0}再接続中です。\n", - "administration_shutting_down": "シャットダウン\n", - "administration_slowmode_desc": "ユーザーは{1}秒ごとに{0}以上のメッセージを送信することはできません。\n", - "administration_slowmode_disabled": "低速モードは無効です。", - "administration_slowmode_init": "低速モードが初期化しました。", - "administration_soft_banned_pl": "ソフトバン(キック)", - "administration_spam_ignore": "{0}はこのチャンネルを無視します。", - "administration_spam_not_ignore": "{0}はこのチャンネルを無視しなくなりました。", - "administration_spam_stats": "ユーザーが同じメッセージを{0}行に投稿した場合は、{1}それらを送信します。\n", - "administration_text_chan_created": "テキストチャンネルが作成されました。", - "administration_text_chan_destroyed": "テキストチャネルが破棄されました。\n", - "administration_undeafen": "逆の聴覚障害を成功させる。\n", - "administration_unmuted_sn": "ミュート解除", - "administration_username": "ユーザー名\n", - "administration_username_changed": "ユーザー名が変更されました\n", - "administration_users": "ユーザーズ", - "administration_user_banned": "追放されたユーザー\n", - "administration_user_chat_mute": "{0}はチャットから**ミュートされています**。\n", - "administration_user_chat_unmute": "{0}は、チャットから**ミュートされていません**。\n", - "administration_user_joined": "ユーザーが参加しました\n", - "administration_user_left": "利用者が去った", - "administration_user_muted": "{0}はテキストチャットとボイスチャットから**ミュート**されています。\n", - "administration_user_role_add": "利用者にロールを追加した", - "administration_user_role_rem": "利用者のロールを削除した", - "administration_user_status_change": "{0}さんは今{1}になった", - "administration_user_unmuted": "{0}はテキストとボイスチャットから**ミュートされていません**。", - "administration_user_vjoined": "{0}は{1}音声チャンネルに参加しました", - "administration_user_vleft": "{0}は音声チャネルを残しました{1}", - "administration_user_vmoved": "{0}は{1}から{2}音声チャネルに移動しました。\n", - "administration_user_voice_mute": "{0}は**音声ミュートされました**。\n", - "administration_user_voice_unmute": "{0}は**音声ミュートされていません**。", - "administration_voice_chan_created": "音声チャネルが作成されました\n", - "administration_voice_chan_destroyed": "音声チャネルが破壊されました\n", - "administration_vt_disabled": "音声+テキスト機能が無効になっています。\n", - "administration_vt_enabled": "音声+テキスト機能を有効にしました。\n", - "administration_vt_exit": "**私は役割を管理していません**そして/または**チャンネルを管理しています**許可。だから{0}サーバーで音声+テキストを実行できません。\n", - "administration_vt_no_admin": "あなたはこの機能を有効/無効にしています。**私は管理者権限を持っていません**。これによりいくつかの問題が発生する可能性があります。その後、自分でテキストチャネルをクリーンアップする必要があります。\n", - "administration_vt_perms": "この機能を有効にするには、少なくとも**役割を管理する**と**チャネルを管理する**権限が必要です。 (管理権限が必要です)\n", - "administration_xmuted_text": "テキストチャットのユーザー{0}\n", - "administration_xmuted_text_and_voice": "テキストとボイスチャットのユーザー{0}\n", - "administration_xmuted_voice": "ボイスチャットからのユーザー{0}\n", - "administration_sbdm": "あなたは{0}サーバーからソフト禁止されました。\n理由:{1}", - "administration_user_unbanned": "Since I'm using \"exiled\" for banned. need to rethink a new word.. so just leave this one alone\n", - "administration_migration_done": "移行が完了しました!\n", - "adminsitration_migration_error": "移行中にエラーが発生しました。詳細については、ボットのコンソールを確認してください。\n", - "administration_presence_updates": "存在の更新", - "administration_sb_user": "ユーザはソフトバン", - "gambling_awarded": "{0}から{1}に授与されました\n", - "gambling_better_luck": "次回より良い運がいいよ^ _ ^\n", - "gambling_br_win": "おめでとう!あなたは{1}以上で転がって{0}勝った", - "gambling_deck_reshuffled": "デッキが再編されました。\n", - "gambling_flipped": "反転した{0}。", - "gambling_flip_guess": "ご想像の通り!あなたは{0}を獲得しました\n", - "gambling_flip_invalid": "無効な番号が指定されました。 1を{0}コインにすることができます。\n", - "gambling_flowerreaction_desc": "このメッセージに{0}反応を加えて{1}を得る␣\n", - "gambling_flowerreaction_footer": "このイベントは最大{0}時間有効です。\n", - "gambling_flowerreaction_title": "花の反応が始まった!\n", - "gambling_gifted": "は{0}から{1}に才能を与えました\n", - "gambling_has": "{0}には{1}があります\n", - "gambling_heads": "頭\n", - "gambling_leaderboard": "リーダーボード\n", - "gambling_mass_award": "{2}から{0}人の{1}人のユーザーを獲得しました。\n", - "gambling_max_bet_limit": "{0}以上の賭けはできません\n", - "gambling_min_bet_limit": "あなたは{0}未満に賭けることはできません\n", - "gambling_not_enough": "あなたに十分な{0}がありません。\n", - "gambling_no_more_cards": "デッキにはもうカードがありません。\n", - "gambling_raffled_user": "抽選でユーザーを入力しました。\n", - "gambling_roll": "あなたは{0}をロールした。\n", - "gambling_slot_bet": "賭ける", - "gambling_slot_jackpot": "素晴らしい!おめでとう! x {0}", - "gambling_slot_single": "単一の{0}、x {1}", - "gambling_slot_three": "うわー!幸運な! 3種類の! x {0}\n", - "gambling_slot_two": "よくやった! 2つの{0} - ベットx {1}\n", - "gambling_slot_won": "ウォン", - "gambling_sneakygamestatus_desc": "ユーザーは{0}を取得するために秘密のコードを入力する必要があります。\n{1}秒続く。誰にも言わないでください。 :ウィンク:", - "gambling_sneakygamestatus_end": "卑劣なゲームイベントが終了しました。 {0}ユーザーは報酬を受け取った。", - "gambling_sneakygamestatus_title": "卑劣なゲームステータスイベントが開始されました", - "gambling_tails": "テイル", - "gambling_take": "{1}から{0}を正常に受け取りました\n", - "gambling_take_fail": "ユーザーが{2}をあまり持っていないので{1}から{0}を取ることができませんでした!\n", - "help_back_to_toc": "ToCに戻る\n", - "help_bot_owner_only": "ボットの所有者のみ\n", - "help_channel_permission": "{0}チャンネル許可が必要です。\n", - "help_cmdlist_donate": "パトロンでプロジェクトをサポートすることができます:<{0}>またはpaypal:<{1}>\n", - "help_cmd_and_alias": "コマンドとエイリアス\n", - "help_commandlist_regen": "コマンドリストが再生成されました。\n", - "help_commands_instr": "`{0} h コマンド名`と入力すると、指定されたコマンドのヘルプが表示されます。\n", - "help_command_not_found": "私はそのコマンドを見つけることができません。再試行する前にコマンドが存在することを確認してください。\n", - "help_desc": "形容\n", - "help_donate": "あなたはNadekoBotプロジェクトを\nパトリオン<{0}>または\nPaypal <{1}>\nあなたの不和の名前またはIDをメッセージに残すことを忘れないでください。\n\n**ありがとうございました**♥<2ja>", - "help_guide": "**コマンド一覧**:<{0}>\n**ホスティングガイドとドキュメントはこちら**:<{1}>", - "help_list_of_commands": "コマンド一覧\n", - "help_list_of_modules": "\nモジュール一覧", - "help_modules_footer": "`{0} cmds ModuleName`と入力すると、そのモジュール内のコマンドのリストを取得できます\n", - "help_module_not_found": "そのモジュールは存在しません。\n", - "help_server_permission": "{0}サーバーのアクセス許可が必要です。\n\n", - "help_table_of_contents": "目次\n", - "help_usage": "使用法\n", - "nsfw_autohentai_started": "Autohentaiが開始しました。すべての{0}を次のいずれかのタグで再転記してください:\n{1}\n", - "nsfw_tag": "荷札\n", - "gambling_animal_race": "アニマルレース", - "gambling_animal_race_failed": "十分な参加者がいなかったのでスタートできませんでした。", - "gambling_animal_race_full": "レースは満員になりました。すぐにスタートします。", - "gambling_animal_race_join": "{0} は {1} として参加しました。", - "gambling_animal_race_join_bet": "{0}は{1}と{2}に参加しました!", - "gambling_animal_race_join_instr": "レースに参加するには{0} jrと入力してください。", - "gambling_animal_race_starting": "部屋がいっぱいになるか、20秒後にスタートします。", - "gambling_animal_race_starting_with_x": " {0} 人の参加者でスタートします。", - "gambling_animal_race_won": "{0}を{1}としてレースを獲得しました!\n", - "gambling_animal_race_won_money": "{0}を{1}に、レースを{2}獲得しました!\n", - "gambling_dice_invalid_number": "数が正しくありません。一度に {0}-{1} のダイスを触れます。", - "gambling_dice_rolled": "ロール状{0}\n", - "gambling_dice_rolled_num": "サイコロ振りました。: {0}", - "gambling_race_failed_starting": "レーズが開始できませんでした。他のレースが行われているかもしれません。", - "gambling_race_not_exist": "このサーバーでは、どのレースも存在していません。", - "gambling_second_larger_than_first": "最初の数よりも2番めの数が大きくなければなりません。", - "gambling_changes_of_heart": "「心」の変化", - "gambling_claimed_by": "が主張する\n", - "gambling_divorces": "離婚\n", - "gambling_likes": "好き", - "gambling_price": "価格", - "gambling_waifus_none": "waifusはまだ主張されていません。", - "gambling_waifus_top_waifus": "トップワイフス\n", - "gambling_waifu_affinity_already": "あなたの親和性はすでにそのwaifuに設定されているか、親和性を持たずに削除しようとしています。\n", - "gambling_waifu_affinity_changed": "{0}から{1}にアフィニティを変更しました。\n\n*これは道徳的に疑問です。*🤔", - "gambling_waifu_affinity_cooldown": "アフィニティを再度変更するには、{0}時間と{1}分を待つ必要があります。\n", - "gambling_waifu_affinity_reset": "親和性がリセットされます。あなたはもはや好きな人がいません。\n", - "gambling_waifu_affinity_set": "{0}のwaifuになりたいAww <3", - "gambling_waifu_claimed": "{1}のウェイフとして{0}が主張されています!\n", - "gambling_waifu_divorced_like": "あなたが好きな人と離婚しました。あなたは無情な怪物です。\n{0}は補償として{1}を受け取りました。", - "gambling_waifu_egomaniac": "あなたは自分自身に親和性を設定することはできません。\n", - "gambling_waifu_fulfilled": "\n🎉彼らの愛が成就した! 🎉\n{0}の新しい値は{1}です!", - "gambling_waifu_isnt_cheap": "waifuは安いです。実際の値がより低い場合でも、waifuを取得するには少なくとも{0}を支払う必要があります。", - "gambling_waifu_not_enough": "あなたはwaifuを主張するために{0}以上支払う必要があります!\n", - "gambling_waifu_not_yours": "そのwaifuはあなたのものではありません。\n", - "gambling_waifu_not_yourself": "あなたは自分自身を主張することはできません。\n", - "gambling_waifu_recent_divorce": "あなたは最近離婚した。もう離婚するには{0}時間と{1}分待つ必要があります。\n", - "gambling_nobody": "誰も\n", - "gambling_waifu_divorced_notlike": "あなたはあなたを好きではない妖精と離婚しました。あなたは{0}戻ってきました。\n", - "games_8ball": "エイトボール", - "games_acrophobia": "Acrophobia\n", - "games_acro_ended_no_sub": "ゲームは提出なしで終了しました。", - "games_acro_no_votes_cast": "投票は行われません。ゲームは勝者なしで終了しました。\n", - "games_acro_nym_was": "頭字語は{0}でした。", - "games_acro_running": "Acrophobiaゲームは既にこのチャンネルで実行されています。\n", - "games_acro_started": "ゲームが始まった。次の頭文字で{0}の文章を作成します。", - "games_acro_started_footer": "投稿には{0}秒かかります。\n", - "games_acro_submit": "{0}はその文を提出しました。 ({1}合計)\n", - "games_acro_vote": "数字を入力して投票", - "games_acro_vote_cast": "{0}は投票をしました!\n", - "games_acro_winner": "勝者は{1}点で{0}です。\n", - "games_acro_winner_only": "{0}は投稿した唯一のユーザーであるための勝者です!", - "games_question": "質問", - "games_rps_draw": "それはドローです!どちらも{0}", - "games_rps_win": "{0}が勝った! {1}が{2}を打つ", - "games_submissions_closed": "投稿が閉じられました\n", - "gambling_animal_race_already_started": "動物レースはすでに実行中です。\n", - "gambling_total_average": "合計:{0}平均:{1}\n", - "games_category": "カテゴリー", - "games_cleverbot_disabled": "このサーバーではCleverbotは使えません。", - "games_cleverbot_enabled": "このサーバーではCleverbotが有効です。", - "games_curgen_disabled": "このチャンネルでは現在の世代は使えなくなりました。", - "games_curgen_enabled": "このチャンネルでは現在の世代は使えるようになりました。", - "games_curgen_pl": "", - "games_curgen_sn": "ランダム {0} が出現!", - "games_failed_loading_question": "質問のロードに失敗しました。", - "games_game_started": "ゲームが始まりました。", - "games_hangman_game_started": "ハングマンゲームが始まりました。", - "games_hangman_running": "ハングマンゲームはすでにこのチャンネルで開始されています。", - "games_hangman_start_errored": "ハングマンのスタート時にエラーが起きました。", - "games_hangman_types": "", - "games_leaderboard": "リーダーボード", - "games_not_enough": "十分な {0} を持っていません。", - "games_no_results": "結果はありません。", - "games_picked": " {0} をひろった。", - "games_planted": "", - "games_trivia_already_running": "Trivia gameはすでにこのサーバーで動いています。", - "games_trivia_game": "Trivia game", - "games_trivia_guess": "", - "games_trivia_none": "", - "games_trivia_points": "{0} は {1} ポイント持っています。", - "games_trivia_stopping": "この質問のあと停止します。", - "games_trivia_times_up": "時間切れです。正解は {0} です。", - "games_trivia_win": "", - "games_ttt_against_yourself": "あなた自身とはゲームできません。", - "games_ttt_already_running": "TicTacToe ゲームはすでにこのサーバで動いています。", - "games_ttt_a_draw": "引き分け", - "games_ttt_created": "", - "games_ttt_has_won": "{0} の勝ち!", - "games_ttt_matched_three": "三回戦", - "games_ttt_no_moves": "", - "games_ttt_time_expired": "", - "games_ttt_users_move": "", - "games_vs": "", - "music_attempting_to_queue": "キューに {0} 曲を適用しています。", - "music_autoplay_disabled": "オートプレイは無効です。", - "music_autoplay_enabled": "オートプレイは有効です。", - "music_defvol_set": "デフォルトの音量を{0}% にしました。", - "music_dir_queue_complete": "ディレクトリのキューが完了しました。", - "music_fairplay": "フェアプレイ", - "music_finished_song": "曲が終わった", - "music_fp_disabled": "フェアプレイは無効です。", - "music_fp_enabled": "フェアプレイは有効です。", - "music_from_position": "ポジションから", - "music_id": "ID", - "music_invalid_input": "不適切な入力。", - "music_max_playtime_none": "最大再生時間は制限ありません。", - "music_max_playtime_set": "最大再生時間を {0} 秒にセットしました。", - "music_max_queue_unlimited": "最大の音楽キューサイズを無制限にしました。", - "music_max_queue_x": "最大の音楽キューサイズを {0} トラックに設定しました。", - "music_must_be_in_voice": "このサーバーのボイスチャンネルにいる必要があります。", - "music_name": "曲名", - "music_now_playing": "プレイ中", - "music_no_player": "アクティブな音楽再生がありません。", - "music_no_search_results": "検索結果なし", - "music_paused": "音楽の再生を一時停止します。", - "music_player_queue": "キュー Page {0}/{1}", - "music_playing_song": "音楽を再生しています。", - "music_playlists": "`#{0}` - **{1}** by *{2}* ({3} 曲)", - "music_playlists_page": "保存されたリストの {0} ページ目 ", - "music_playlist_deleted": "プレイリストは削除されました。", - "music_playlist_delete_fail": "プレイリストの削除に失敗しました。存在しないか、権限がありません。", - "music_playlist_id_not_found": "そのIDのプレイリストは存在しません。", - "music_playlist_queue_complete": "プレイリストのキューは完了しました。", - "music_playlist_saved": "プレイリストを保存しました。", - "music_play_limit": "{0} の上限です", - "music_queue": "次に聞く曲一覧", - "music_queued_song": "キューに追加した曲", - "music_queue_cleared": "キューの音楽はクリアされました。", - "music_queue_full": "キュー( {0}/{0} ) はいっぱいです。", - "music_removed_song": "削除された曲", - "music_repeating_cur_song": "繰り返し現在の曲", - "music_repeating_playlist": "繰り返しプレイリスト", - "music_repeating_track": "繰り返しトラック", - "music_repeating_track_stopped": "現在のトラックの繰り返しを中止しました。", - "music_resumed": "曲の再生を再開しました。", - "music_rpl_disabled": "プレイリストの繰り返しは無効です。", - "music_rpl_enabled": "プレイリストの繰り返しは有効です。", - "music_set_music_channel": "このチャンネルでは、再生、終了、一時停止、曲の削除ができます。", - "music_skipped_to": "スキップしました。 {0}:{1} ", - "music_songs_shuffled": "シャッフルした曲", - "music_song_moved": "削除した曲", - "music_time_format": "{0}時 {1}分 {2}秒 ", - "music_to_position": "位置に", - "music_unlimited": "無制限", - "music_volume_input_invalid": "音量は0から100の間でなければなりません。", - "music_volume_set": "音量を {0}% にセット", - "permissions_acm_disable": "", - "permissions_acm_enable": "", - "permissions_allowed": "", - "permissions_arm_disable": "役割 {0} のすべてのモジュールの使用は無効になりました。", - "permissions_arm_enable": "役割 {0} のすべてのモジュールの使用は有効になりました。", - "permissions_asm_disable": "このサーバーのすべてのモジュールの使用が無効になりました。", - "permissions_asm_enable": "このサーバーのすべてのモジュールの使用が有効になりました。", - "permissions_aum_disable": "ユーザー {0} へのすべてのモジュールの使用を無効にしました。", - "permissions_aum_enable": "ユーザー {0} へのすべてのモジュールの使用を有効にしました。", - "permissions_blacklisted": "{0} (ID {1})をブラックリストに登録しました。", - "permissions_cmdcd_add": "", - "permissions_cmdcd_cleared": "", - "permissions_cmdcd_none": "", - "permissions_command_costs": "", - "permissions_cx_disable": "", - "permissions_cx_enable": "", - "permissions_denied": "", - "permissions_filter_word_add": "", - "permissions_filter_word_list": "", - "permissions_filter_word_remove": "", - "permissions_invalid_second_param_between": "", - "permissions_invite_filter_channel_off": "", - "permissions_invite_filter_channel_on": "", - "permissions_invite_filter_server_off": "", - "permissions_invite_filter_server_on": "", - "permissions_moved_permission": "", - "permissions_not_found": "", - "permissions_no_costs": "", - "permissions_of_command": "", - "permissions_of_module": "", - "permissions_page": "", - "permissions_permrole": "", - "permissions_permrole_changed": "", - "permissions_perm_out_of_range": "", - "permissions_removed": "", - "permissions_rx_disable": "", - "permissions_rx_enable": "", - "permissions_sec": "秒", - "permissions_sx_disable": "", - "permissions_sx_enable": "", - "permissions_unblacklisted": "", - "permissions_uneditable": "編集不可能", - "permissions_ux_disable": "", - "permissions_ux_enable": "", - "permissions_verbose_false": "", - "permissions_verbose_true": "", - "permissions_word_filter_channel_off": "", - "permissions_word_filter_channel_on": "", - "permissions_word_filter_server_off": "", - "permissions_word_filter_server_on": "", - "searches_abilities": "", - "searches_anime_no_fav": "", - "searches_atl_ad_started": "", - "searches_atl_removed": "", - "searches_atl_set": "", - "searches_atl_started": "", - "searches_atl_stopped": "", - "searches_bad_input_format": "", - "searches_card_not_found": "", - "searches_catfact": "", - "searches_chapters": "", - "searches_comic_number": "", - "searches_compet_loses": "", - "searches_compet_played": "", - "searches_compet_rank": "", - "searches_compet_wins": "", - "searches_completed": "", - "searches_condition": "", - "searches_cost": "", - "searches_date": "", - "searches_define": "", - "searches_dropped": "", - "searches_episodes": "", - "searches_error_occured": "", - "searches_example": "", - "searches_failed_finding_anime": "", - "searches_failed_finding_manga": "", - "searches_genres": "", - "searches_hashtag_error": "", - "searches_height_weight": "", - "searches_height_weight_val": "", - "searches_humidity": "", - "searches_image_search_for": "", - "searches_imdb_fail": "", - "searches_invalid_lang": "", - "searches_jokes_not_loaded": "", - "searches_latlong": "", - "searches_level": "", - "searches_list_of_place_tags": "", - "searches_location": "", - "searches_magicitems_not_loaded": "", - "searches_mal_profile": "", - "searches_mashape_api_missing": "", - "searches_min_max": "最低/最高", - "searches_no_channel_found": "", - "searches_no_results": "", - "searches_on_hold": "", - "searches_original_url": "元のURL", - "searches_osu_api_key": "", - "searches_osu_failed": "", - "searches_over_x": "", - "searches_ow_user_not_found": "", - "searches_plan_to_watch": "", - "searches_platform": "", - "searches_pokemon_ability_none": "", - "searches_pokemon_none": "", - "searches_profile_link": "プロファイルへのリンク", - "searches_quality": "", - "searches_quick_playtime": "", - "searches_quick_wins": "", - "searches_rating": "", - "searches_score": "スコア:", - "searches_search_for": "検索:", - "searches_shorten_fail": "", - "searches_short_url": "", - "searches_something_went_wrong": "", - "searches_specify_search_params": "", - "searches_status": "", - "searches_store_url": "", - "searches_streamer_offline": "", - "searches_streamer_online": "", - "searches_streams_following": "", - "searches_streams_none": "", - "searches_stream_no": "", - "searches_stream_not_exist": "", - "searches_stream_removed": "", - "searches_stream_tracked": "", - "searches_sunrise": "", - "searches_sunset": "", - "searches_temperature": "", - "searches_title": "", - "searches_top_3_fav_anime": "", - "searches_translation": "", - "searches_types": "", - "searches_ud_error": "", - "searches_url": "", - "searches_viewers": "", - "searches_watching": "", - "searches_wikia_error": "", - "searches_wikia_input_error": "", - "searches_wiki_page_not_found": "", - "searches_wind_speed": "", - "searches_x_most_banned_champs": "", - "searches_yodify_error": "", - "utiliity_joined": "", - "utility_activity_line": "", - "utility_activity_page": "", - "utility_activity_users_total": "", - "utility_author": "", - "utility_botid": "", - "utility_calcops": "", - "utility_channelid": "", - "utility_channel_topic": "", - "utility_commands_ran": "", - "utility_convert": "", - "utility_convertlist": "", - "utility_convert_not_found": "", - "utility_convert_type_error": "", - "utility_created_at": "", - "utility_csc_join": "", - "utility_csc_leave": "", - "utility_csc_token": "", - "utility_custom_emojis": "", - "utility_error": "", - "utility_features": "", - "utility_id": "", - "utility_index_out_of_range": "", - "utility_inrole_list": "", - "utility_inrole_not_allowed": "", - "utility_invalid_value": "", - "utility_joined_discord": "", - "utility_joined_server": "", - "utility_listservers": "", - "utility_listservers_none": "", - "utility_list_of_repeaters": "中継器一覧", - "utility_members": "メンバー", - "utility_memory": "", - "utility_messages": "メッセージ", - "utility_message_repeater": "", - "utility_name": "名前", - "utility_nickname": "", - "utility_nobody_playing_game": "", - "utility_no_active_repeaters": "", - "utility_no_roles_on_page": "", - "utility_no_shards_on_page": "", - "utility_no_topic_set": "", - "utility_owner": "オーナー", - "utility_owner_ids": "オーナーのID", - "utility_presence": "", - "utility_presence_txt": "", - "utility_quotes_deleted": "", - "utility_quotes_page": "", - "utility_quotes_page_none": "", - "utility_quotes_remove_none": "", - "utility_quote_added": "", - "utility_quote_deleted": "", - "utility_region": "地域", - "utility_registered_on": "", - "utility_remind": "", - "utility_remind_invalid_format": "", - "utility_remind_template": "", - "utility_repeater": "", - "utility_repeaters_list": "", - "utility_repeaters_none": "", - "utility_repeater_stopped": "", - "utility_repeat_invoke_none": "", - "utility_result": "結果", - "utility_roles": "役割", - "utility_roles_all_page": "このサーバーにある役割一覧のページ{0}", - "utility_roles_page": "", - "utility_rrc_no_colors": "", - "utility_rrc_start": "", - "utility_rrc_stop": "", - "utility_serverid": "", - "utility_server_info": "", - "utility_shard": "", - "utility_shard_stats": "", - "utility_shard_stats_txt": "", - "utility_showemojis": "", - "utility_showemojis_none": "", - "utility_stats_songs": "", - "utility_text_channels": "", - "utility_togtub_room_link": "", - "utility_uptime": "", - "utility_userid": "{1}の{0}は{2}", - "utility_users": "利用者", - "utility_voice_channels": "", - "gambling_animal_race_already_in": "", - "games_current_poll_results": "", - "games_no_votes_cast": "", - "games_poll_already_running": "", - "games_poll_created": "", - "games_poll_result": "", - "games_poll_voted": "", - "games_poll_vote_private": "", - "games_poll_vote_public": "", - "games_thanks_for_voting": "", - "games_x_votes_cast": "", - "games_pick_pl": "", - "games_pick_sn": "", - "gambling_no_users_found": "", - "gambling_page": "", - "administration_must_be_in_voice": "", - "administration_no_vcroles": "", - "administration_user_muted_time": "", - "administration_vcrole_added": "", - "administration_vcrole_removed": "", - "administration_vc_role_list": "", - "customreactions_crad_disabled": "", - "customreactions_crad_enabled": "", - "customreactions_crdm_disabled": "", - "customreactions_crdm_enabled": "", - "utility_aliases_none": "", - "utility_alias_added": "", - "utility_alias_list": "", - "utility_alias_removed": "", - "utility_alias_remove_fail": "", - "searches_compet_playtime": "", - "administration_channel": "", - "administration_command_text": "", - "administration_kicked_pl": "", - "administration_moderator": "", - "administration_page": "", - "administration_reason": "", - "administration_scadd": "", - "administration_scrm": "", - "administration_scrm_fail": "", - "administration_server": "", - "administration_startcmdlist_none": "", - "administration_startcmds_cleared": "", - "administration_unbanned_user": "", - "administration_user_not_found": "", - "administration_user_warned": "", - "administration_user_warned_and_punished": "", - "administration_warned_on": "", - "administration_warned_on_by": "", - "administration_warnings_cleared": "", - "administration_warnings_none": "", - "administration_warnlog_for": "", - "administration_warnpl_none": "", - "administration_warn_cleared_by": "", - "administration_warn_punish_list": "", - "administration_warn_punish_rem": "", - "administration_warn_punish_set": "", - "administration_slowmodewl_role_start": "", - "administration_slowmodewl_role_stop": "", - "administration_slowmodewl_user_start": "", - "administration_slowmodewl_user_stop": "", - "utility_clpa_fail": "", - "utility_clpa_fail_already": "", - "utility_clpa_fail_already_title": "", - "utility_clpa_fail_conn": "", - "utility_clpa_fail_conn_title": "", - "utility_clpa_fail_sup": "", - "utility_clpa_fail_sup_title": "", - "utility_clpa_fail_wait": "", - "utility_clpa_fail_wait_title": "", - "utility_clpa_success": "", - "utility_clpa_too_early": "", - "searches_time": "", - "administration_rh": "", - "gambling_name": "", - "gambling_shop": "", - "gambling_shop_item_add": "", - "gambling_shop_none": "", - "gambling_shop_role": "", - "gambling_type": "", - "utility_clpa_next_update": "", - "administration_global_perms_reset": "", - "administration_gvc_disabled": "", - "administration_gvc_enabled": "", - "administration_not_in_voice": "", - "gambling_item": "", - "gambling_out_of_stock": "", - "gambling_random_unique_item": "", - "gambling_shop_buy_error": "", - "gambling_shop_item_not_found": "", - "gambling_shop_item_purchase": "", - "gambling_shop_item_rm": "", - "gambling_shop_item_wrong_type": "", - "gambling_shop_list_item_added": "", - "gambling_shop_list_item_not_unique": "", - "gambling_shop_purchase": "", - "gambling_shop_role_not_found": "", - "gambling_shop_role_purchase": "", - "gambling_shop_role_purchase_error": "", - "gambling_unique_items_left": "", - "permissions_blocked_commands": "", - "permissions_blocked_modules": "", - "permissions_gcmd_add": "", - "permissions_gcmd_remove": "", - "permissions_gmod_add": "", - "permissions_gmod_remove": "", - "permissions_lgp_none": "" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.ko-KR.json b/src/NadekoBot/_strings/ResponseStrings.ko-KR.json deleted file mode 100644 index a34a17a8..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.ko-KR.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "기지가 이미 요청되었거나 파괴되었습니다.", - "clashofclans_base_already_destroyed": "기지가 이미 파괴되었습니다.", - "clashofclans_base_already_unclaimed": "기지가 요청당하지 않았습니다.", - "clashofclans_base_destroyed": "{1}와의 전쟁에서 #{0}번 기지가 **파괴**되었습니다.", - "clashofclans_base_unclaimed": "{2}와의 전쟁에서 {0}가 #{1}번 기지를 **요청**하지 못했습니다.", - "clashofclans_claimed_base": "{2}와의 전쟁에서 #{1}번 기지를 {0}가 요청하였습니다.", - "clashofclans_claimed_other": "@{0} 이미 #{1}번 기지를 요청했습니다. 새로운 기지를 요청 할 수 없습니다.", - "clashofclans_claim_expired": "{1}와의 전쟁에서 @{0}의 요청이 만료되었습니다.", - "clashofclans_enemy": "적", - "clashofclans_info_about_war": "{0}와의 전쟁에 대한 정보", - "clashofclans_invalid_base_number": "유효하지 않은 기지 숫자입니다.", - "clashofclans_invalid_size": "유효하지 않은 전쟁 크기입니다.", - "clashofclans_list_active_wars": "활성화된 전쟁 목록", - "clashofclans_not_claimed": "요청되지 않았습니다.", - "clashofclans_not_partic": "당신은 이 전쟁에 참여하고 있지 않습니다.", - "clashofclans_not_partic_or_destroyed": "@{0} 당신은 그 전쟁에 참여하지 않거나 그 기지가 이미 파괴되었습니다.", - "clashofclans_no_active_wars": "활성화된 전쟁이 없습니다.", - "clashofclans_size": "크기", - "clashofclans_war_already_started": "{0}에 대한 전쟁이 이미 시작되었습니다.", - "clashofclans_war_created": "{0}에 대한 전쟁이 생성되었습니다.", - "clashofclans_war_ended": "{0}와의 전쟁이 종료되었습니다.", - "clashofclans_war_not_exist": "전쟁이 존재하지않습니다.", - "clashofclans_war_started": "{0} 와의 전쟁이 시작되었습니다.", - "customreactions_all_stats_cleared": "모든 커스텀 리액션에 대한 통계가 삭제되었습니다.", - "customreactions_deleted": "커스텀 리액션이 삭제되었습니다.", - "customreactions_insuff_perms": "권한이 부족합니다. 전체 커스텀 리액션을 관리하기 위해서는 봇의 소유권과 서버의 관리자 권한이 필요합니다.", - "customreactions_list_all": "모든 커스텀 리액션 목록", - "customreactions_name": "커스텀 리액션 목록", - "customreactions_new_cust_react": "새로운 커스텀 리액션", - "customreactions_no_found": "커스텀 리액션을 찾지 못했습니다.", - "customreactions_no_found_id": "요청하신 ID에 대한 커스텀 리액션을 찾지 못했습니다.", - "customreactions_response": "반응", - "customreactions_stats": "커스텀 리액션 통계", - "customreactions_stats_cleared": "{0}에 대한 커스텀 리액션 통계가 삭제되었습니다.", - "customreactions_stats_not_found": "해당 트리거에 대한 통계를 찾지 못했으며, 아무런 행동도 취하지 않았습니다.", - "customreactions_trigger": "트리거", - "nsfw_autohentai_stopped": "Autohentai 기능이 정지되었습니다.", - "nsfw_not_found": "결과를 찾지 못했습니다.", - "pokemon_already_fainted": "{0}이(가) 이미 기절했습니다.", - "pokemon_already_full": "{0}은(는) 이미 최대 체력입니다.", - "pokemon_already_that_type": "당신은 이미 {0} 타입 입니다.", - "pokemon_attack": "님이 {2}{3}에게 {0}{1}을(를) 사용하여서 {4}의 피해를 입혔습니다.", - "pokemon_cant_attack_again": "보복 없이는 다시 공격 할 수 없습니다.", - "pokemon_cant_attack_yourself": "자신을 공격 할 수 없습니다.", - "pokemon_fainted": "{0}이(가) 기절했습니다!", - "pokemon_healed": "{1}을(를) 사용하여서 {0}을(를) 치료했습니다.", - "pokemon_hp_remaining": "{0}의 HP가 {1} 남아 있습니다.", - "pokemon_invalid_move": "{0}을(를) 사용 할 수 없습니다. `{1}ml`을(를) 입력해서 사용할 수 있는 움직임들의 리스트를 확인하세요.", - "pokemon_moves": "{0}의 종류 공격표", - "pokemon_not_effective": "효과적이지 않았다.", - "pokemon_no_currency": "당신은 충분한 {0}가 없습니다.", - "pokemon_revive_other": "{1}을(를) 사용하여서 {0}을(를) 소생했습니다.", - "pokemon_revive_yourself": "{0}을(를) 사용해서 자기자신을 소생시켰습니다.", - "pokemon_settype_success": "당신의 타입이 {0}에서 {1}으로 변경되었습니다.", - "pokemon_somewhat_effective": "어느정도 효과가 있었다.", - "pokemon_super_effective": "효과는 굉장했다!", - "pokemon_too_many_moves": "너무 많은 공격을 연속해서 사용했으므로 이동할 수 없습니다!", - "pokemon_type_of_user": "{0}의 종류는 {1}입니다.", - "pokemon_user_not_found": "사용자를 찾을 수 없습니다.", - "pokemon_you_fainted": "당신은 기절해서 움직일 수 없습니다!", - "administration_aar_disabled": "서버에 입장한 사용자의 **자동 역할 할당**이 **비활성화**되었습니다.", - "administration_aar_enabled": "서버에 입장한 사용자의 **자동 역할 할당**이 **활성화**되었습니다.", - "administration_attachments": "첨부파일", - "administration_avatar_changed": "아바타가 변경되었습니다.", - "administration_bandm": "당신은 {0} 서버에서 밴되었습니다.\n사유: {1}", - "administration_banned_pl": "밴", - "administration_banned_user": "사용자 밴", - "administration_bot_name": "봇의 이름이 {0}으로 변경되었습니다.", - "administration_bot_status": "봇의 상태가 {0}으로 변경되었습니다.", - "administration_byedel_off": "퇴장 메시지의 자동삭제가 비활성화되었습니다.", - "administration_byedel_on": "퇴장 메시지는 앞으로 {0}초 후에 삭제됩니다.", - "administration_byemsg_cur": "현재 퇴장 메시지: {0}", - "administration_byemsg_enable": "퇴장 메시지를 활성화하기 위해서는 {0}를 입력하세요.", - "administration_byemsg_new": "새로운 퇴장 메시지가 설정되었습니다.", - "administration_bye_off": "퇴장 알림이 비활성화되었습니다.", - "administration_bye_on": "이 채널에서 퇴장 알림이 활성화되었습니다.", - "administration_ch_name_change": "채널 이름이 변경되었습니다.", - "administration_ch_old_name": "이전 이름", - "administration_ch_topic_change": "채널의 주제가 변경되었습니다.", - "administration_cleaned_up": "정리했습니다.", - "administration_content": "내용", - "administration_cr": "{0} 역할을 성공적으로 생성하였습니다.", - "administration_createtextchan": "텍스트 채널 {0}이(가) 생성되었습니다.", - "administration_createvoich": "음성 채널 {0}이(가) 생성되었습니다.", - "administration_deafen": "음소거되었습니다.", - "administration_deleted_server": "{0} 서버를 삭제하였습니다.", - "administration_delmsg_off": "성공적으로 처리된 명령어에 대한 자동삭제가 중지되었습니다.", - "administration_delmsg_on": "이제 성공적으로 처리된 명령어를 자동삭제합니다.", - "administration_deltextchan": "텍스트 채널 {0}을(를) 삭제했습니다.", - "administration_delvoich": "음성 채널 {0}을(를) 삭제했습니다.", - "administration_dm_from": "개인 메시지", - "administration_donadd": "성공적으로 새로운 기부자를 추가했습니다. 이 유저의 총 기부량은 {0} 👑 입니다.", - "administration_donators": "이 프로젝트를 위해 수고해주신 아래의 사람들에게 감사드립니다!", - "administration_fwall_start": "DM을 모든 봇 소유자에게 전달하겠습니다.", - "administration_fwall_stop": "DM을 첫번째 봇 소유자에게만 전달하겠습니다.", - "administration_fwdm_start": "지금부터 DM을 전달하겠습니다.", - "administration_fwdm_stop": "지금부터 DM 전달을 중단하겠습니다.", - "administration_greetdel_off": "환영 메시지에 대한 자동삭제가 비활성화되었습니다.", - "administration_greetdel_on": "환영 메시지는 {0}초 후에 삭제될 것입니다.", - "administration_greetdmmsg_cur": "현재 DM 환영 메시지: {0}", - "administration_greetdmmsg_enable": "{0}을(를) 입력해서 DM 환영 메시지를 활성화시킵니다.", - "administration_greetdmmsg_new": "새로운 DM 환영 메시지가 설정되었습니다.", - "administration_greetdm_off": "DM 환영 알림이 비활성화되었습니다.", - "administration_greetdm_on": "DM 환영 알림 활성화 되었습니다.", - "administration_greetmsg_cur": "현재 환영 메시지: {0}", - "administration_greetmsg_enable": "{0}을(를) 입력해서 환영 메시지를 활성화시킵니다.", - "administration_greetmsg_new": "새로운 환영 메시지가 설정되었습니다.", - "administration_greet_off": "환영 알림이 비활성화되었습니다.", - "administration_greet_on": "이 채널의 환영 알림이 활성화되었습니다.", - "administration_hierarchy": "당신은 이 명령어를 당신보다 상위나 동등한 권한관계를 가진 사람에게 쓸 수 없습니다.", - "administration_images_loaded": "이미지가 {0}초 후에 생성되었습니다!", - "administration_invalid_format": "유효하지않은 입력 포맷입니다.", - "administration_invalid_params": "유효하지않은 파라미터입니다.", - "administration_joined": "{0}님이 {1}에 입장하였습니다.", - "administration_kickdm": "당신은 {0} 서버에서 퇴장당했습니다.\n사유 : {1}", - "administration_kicked_user": "사용자 강제퇴장", - "administration_lang_list": "언어 목록", - "administration_lang_set": "서버의 지역이 {0} - {1}로 변경되었습니다.", - "administration_lang_set_bot": "봇의 기본 지역이 {0} - {1}로 변경되었습니다.", - "administration_lang_set_bot_show": "봇의 언어가 {0} - {1}로 설정되었습니다.", - "administration_lang_set_fail": "지역 설정에 실패했습니다. 이 명령어의 도움말을 참고하십세요.", - "administration_lang_set_show": "이 서버의 언어가 {0} - {1}로 변경되었습니다.", - "administration_left": "{0}님이 {1}에서 퇴장하셨습니다.", - "administration_left_server": "{0} 서버에서 퇴장하였습니다.", - "administration_log": "이 채널의 {0} 이벤트를 로깅합니다.", - "administration_log_all": "이 채널의 모든 이벤트를 로깅합니다.", - "administration_log_disabled": "로깅이 비활성화되었습니다.", - "administration_log_events": "구독 할 수 있는 로그 이벤트 : ", - "administration_log_ignore": "로그는 앞으로 {0}을(를) 무시합니다.", - "administration_log_not_ignore": "로그는 {0}을(를) 더 이상 무시하지 않습니다.", - "administration_log_stop": "{0} 이벤트에 대한 로그를 중지하였습니다.", - "administration_menrole": "{0}이(가) 다음 역할에 대한 언급을 요청했습니다.", - "administration_message_from_bo": "{0} `[봇의 소유자]` 로부터 메시지:", - "administration_message_sent": "메시지가 전송되었습니다.", - "administration_moved": "{0}이(가) {1}에서 {2}로 이동했습니다.", - "administration_msg_del": "#{0}에서 메시지가 삭제되었습니다.", - "administration_msg_update": "#{0}에서 메시지가 업데이트되었습니다.", - "administration_muted_pl": "음소거", - "administration_muted_sn": "음소거", - "administration_mute_error": "명령어를 수행하기 위한 권한이 부족합니다.", - "administration_mute_role_set": "새로운 음소거 역할이 설정되었습니다.", - "administration_need_admin": "요청하신 것을 처리하기 위해서는**관리자** 권한이 필요합니다.", - "administration_new_msg": "새로운 메시지", - "administration_new_nick": "새로운 닉네임", - "administration_new_topic": "새로운 주제", - "administration_nick_change": "닉네임이 변경되었습니다.", - "administration_no_server": "요청하신 서버를 찾을 수 없습니다.", - "administration_no_shard_id": "해당하는 Shard ID가 없습니다.", - "administration_old_msg": "이전 메시지", - "administration_old_nick": "이전 닉네임", - "administration_old_topic": "이전 주제", - "administration_perms": "오류. 봇에게 충분한 권한이 없습니다.", - "administration_perms_reset": "이 서버의 모든 권한이 초기화되었습니다.", - "administration_prot_active": "보호기능 활성화", - "administration_prot_disable": "{0}은(는) 이 서버에서 **비활성화**되었습니다.", - "administration_prot_enable": "{0}이(가) 활성화되었습니다.", - "administration_prot_error": "오류. 관리자 권한이 필요합니다.", - "administration_prot_none": "활성화된 보호기능이 없습니다.", - "administration_raid_cnt": "사용자의 값은 반드시 {0}와(과) {1}사이의 값이여야 합니다.", - "administration_raid_stats": "만약 {0}명 이상의 사용자가 {1}초안에 접속한다면 {2} 합니다.", - "administration_raid_time": "시간은 {0}초와 {1}초 사이의 값이여야 합니다.", - "administration_rar": "{0}의 모든 역할을 성공적으로 삭제했습니다.", - "administration_rar_err": "역할 삭제에 실패했습니다. 권한이 부족합니다.", - "administration_rc": "{0} 역할에 대한 색이 변경되었습니다.", - "administration_rc_not_exist": "그 역할은 존재하지 않습니다.", - "administration_rc_params": "지정된 파라미터가 유효하지 않습니다.", - "administration_rc_perms": "유효하지 않은 색이거나 권한이 부족해서 오류가 발생했습니다.", - "administration_remrole": "{1}의 {0} 역할을 성공적으로 제거했습니다.", - "administration_remrole_err": "역할 제거에 실패했습니다. 권한이 부족합니다.", - "administration_renrole": "역할 이름이 변경되었습니다.", - "administration_renrole_err": "역할 이름 변경에 실패했습니다. 권한이 부족합니다.", - "administration_renrole_perms": "자신보다 가장 높은 역할보다 높은 사용자의 역할을 수정할 수 없습니다.", - "administration_reprm": "다루고있었던 메시지를 치웠습니다: {0}", - "administration_role_added": "{0} 역할을 리스트에 추가했습니다.", - "administration_role_clean": "{0}을(를) 찾을 수 없기때문에 삭제했습니다.", - "administration_role_in_list": "{0} 역할은 이미 리스트에 추가된 상태입니다.", - "administration_ropl_added": "추가했습니다.", - "administration_ropl_disabled": "플레이 상태 로테이션이 비활성화되었습니다.", - "administration_ropl_enabled": "플레이 상태 로테이션이 활성화되었습니다.", - "administration_ropl_list": "플레이 상태 로테이션 리스트:\n{0}", - "administration_ropl_not_set": "플레이 상태 로테이션이 설정되지 않았습니다.", - "administration_self_assign_already": "당신은 이미 {0} 역할이 있습니다.", - "administration_self_assign_already_excl": "당신은 이미 독점 자가 배정 역할 {0}이(가) 있습니다.", - "administration_self_assign_excl": "자가 배정 역할은 이제 하나만 선택 할 수 있습니다!", - "administration_self_assign_list": "{0}개의 자가 배정 역할이 있습니다.", - "administration_self_assign_not": "그 역할은 자신이 적용 할 수 없습니다.", - "administration_self_assign_not_have": "당신은 {0} 역할이 아닙니다.", - "administration_self_assign_no_excl": "자가 배정 역할은 이제 복수 선택 할 수 있습니다!", - "administration_self_assign_perms": "그 역할을 당신에게 추가 할 수 없습니다. `당신보다 상위나 동등한 권한관계를 가진 사람에게 역할을 추가 할 수 없습니다.`", - "administration_self_assign_rem": "{0}은(는) 자신이 적용 할 수 있는 역할 목록에서 삭제되었습니다.", - "administration_self_assign_remove": "당신은 더 이상 {0} 역할이 아닙니다.", - "administration_self_assign_success": "당신은 이제 {0} 역할입니다.", - "administration_setrole": "{1}님에게 {0} 역할을 성공적으로 추가했습니다.", - "administration_setrole_err": "역할 추가에 실패했습니다. 권한이 부족합니다.", - "administration_set_avatar": "새로운 아바타가 설정되었습니다!", - "administration_set_channel_name": "새로운 채널 이름이 설정되었습니다.", - "administration_set_game": "새로운 게임이 설정되었습니다!", - "administration_set_stream": "새로운 방송이 설정되었습니다!", - "administration_set_topic": "새로운 채널 주제를 설정했습니다.", - "administration_shard_reconnected": "Shard {0}이(가) 다시 연결되었습니다.", - "administration_shard_reconnecting": "Shard {0}을(를) 다시 연결 중입니다.", - "administration_shutting_down": "종료 중...", - "administration_slowmode_desc": "사용자는 {1}초마다 {0}개 이상의 메시지를 보낼 수 없습니다.", - "administration_slowmode_disabled": "슬로우 모드가 비활성화되었습니다.", - "administration_slowmode_init": "슬로우 모드가 활성화되었습니다.", - "administration_soft_banned_pl": "소프트 밴 (강제퇴장)", - "administration_spam_ignore": "{0}은(는) 이 채널을 무시할 것입니다.", - "administration_spam_not_ignore": "{0}은(는) 더 이상 이 채널을 무시하지 않을 것입니다.", - "administration_spam_stats": "만약 사용자가 {0}개 이상의 같은 메시지를 보내면 {1} 합니다.\n __무시하는 채널들__: {2} ", - "administration_text_chan_created": "텍스트 채널이 생성되었습니다.", - "administration_text_chan_destroyed": "텍스트 채널이 삭제되었습니다.", - "administration_undeafen": "음소거 해제 완료.", - "administration_unmuted_sn": "음소거 해제", - "administration_username": "사용자 이름", - "administration_username_changed": "사용자 이름이 변경되었습니다.", - "administration_users": "사용자", - "administration_user_banned": "사용자 밴", - "administration_user_chat_mute": "{0}님이 채팅으로부터 **음소거**되었습니다.", - "administration_user_chat_unmute": "{0}님이 채팅으로부터 **음소거 해제**되었습니다.", - "administration_user_joined": "사용자 입장", - "administration_user_left": "사용자 퇴장", - "administration_user_muted": "{0}님이 텍스트와 음성 채팅으로부터 **차단**되었습니다.", - "administration_user_role_add": "사용자의 역할이 추가되었습니다.", - "administration_user_role_rem": "사용자의 역할이 제거되었습니다.", - "administration_user_status_change": "{0}님의 상태는 {1} 입니다.", - "administration_user_unmuted": "{0}님이 텍스트와 음성 채팅으로부터 **차단해제**되었습니다.", - "administration_user_vjoined": "{0}님이 음성채널 {1}에 입장하셨습니다.", - "administration_user_vleft": "{0}님이 음성채널 {1}에서 퇴장하셨습니다.", - "administration_user_vmoved": "{0}님이 음성채널 {1}에서 {2}로 이동되었습니다.", - "administration_user_voice_mute": "{0}님이 **음성 음소거**되었습니다.", - "administration_user_voice_unmute": "{0}님이 **음성 음소거 해제**되었습니다.", - "administration_voice_chan_created": "음성 채널이 생성되었습니다.", - "administration_voice_chan_destroyed": "음성 채널이 삭제되었습니다.", - "administration_vt_disabled": "음성 + 텍스트 기능을 비활성화시켰습니다.", - "administration_vt_enabled": "음성 + 텍스트 기능을 활성화시켰습니다.", - "administration_vt_exit": "**관리 역할** 혹은 **채널 관리 권한**이 부족해서 {0} 서버에서 `음성 + 텍스트` 기능을 실행 할 수 없습니다.", - "administration_vt_no_admin": "당신은 **봇이 관리자 권한이 없음에도** 이 기능을 활성화/비활성화 하려고 하고 있습니다. 이로 인해서 문제가 발생 할 수 있으며 이후에 직접 텍스트 채널을 정리해야합니다.", - "administration_vt_perms": "이 기능을 활성화시키기 위해서는 **역할 관리**과 **채널 관리** 권한이 필요합니다.", - "administration_xmuted_text": "사용자가 텍스트 채팅으로부터 {0} 되었습니다.", - "administration_xmuted_text_and_voice": "사용자가 텍스트와 음성 채팅으로부터 {0} 되었습니다.", - "administration_xmuted_voice": "사용자가 음성 채팅으로부터 {0} 되었습니다.", - "administration_sbdm": "당신은 {0} 서버에서 소프트밴을 당했습니다.\n사유: {1}", - "administration_user_unbanned": "사용자 밴 해제", - "administration_migration_done": "이전 완료!", - "adminsitration_migration_error": "이전 과정에서 오류가 발생했습니다. 자세한 정보는 봇의 콘솔을 통해서 확인하세요.", - "administration_presence_updates": "현재 상태 업데이트", - "administration_sb_user": "사용자 소프트 밴", - "gambling_awarded": "님이 {1}에게 {0}개를 지급했습니다.", - "gambling_better_luck": "다음 기회에 ^_^", - "gambling_br_win": "축하합니다! 당신은 {1}이상을 굴려서 {0}을(를) 획득했습니다.", - "gambling_deck_reshuffled": "덱이 섞였습니다.", - "gambling_flipped": "동전뒤집기의 결과는 {0} 입니다.", - "gambling_flip_guess": "맞췄습니다! 당신은 {0}을(를) 획득했습니다.", - "gambling_flip_invalid": "유효하지 않은 숫자입니다. 당신은 1개부터 {0}개까지만 동전을 뒤집을 수 있습니다.", - "gambling_flowerreaction_desc": "{1}을(를) 받으려면 이 메시지에 {0} 리액션을 추가하세요.", - "gambling_flowerreaction_footer": "이 이벤트는 최대 {0}시간 동안 활성화됩니다.", - "gambling_flowerreaction_title": "플라워 리액션 이벤트가 시작되었습니다.", - "gambling_gifted": "님이 {1}에게 {0}개를 선물하셨습니다.", - "gambling_has": "{0}님은 {1}개를 보유중입니다. ", - "gambling_heads": "앞면", - "gambling_leaderboard": "리더보드", - "gambling_mass_award": "{2} 역할의 {1}명의 사용자에게 {0}을(를) 보상하였습니다.", - "gambling_max_bet_limit": "{0}보다 더 배팅 할 수 없습니다.", - "gambling_min_bet_limit": "{0}보다 적게 배팅 할 수 없습니다.", - "gambling_not_enough": "당신은 충분한 {0}이(가) 없습니다.", - "gambling_no_more_cards": "덱에 더 이상 카드가 없습니다.", - "gambling_raffled_user": "래플 결과", - "gambling_roll": "{0} 를 굴렸습니다.", - "gambling_slot_bet": "배팅", - "gambling_slot_jackpot": "대박!!! 축하합니다!!! x{0}", - "gambling_slot_single": "{0} 한 개를 맞추셨네요! x{1}", - "gambling_slot_three": "와! 운이 좋습니다! 트리플입니다! x{0}", - "gambling_slot_two": "잘했습니다! {0} 두 개를 맞추셨습니다! - x{1}", - "gambling_slot_won": "얻은 액수", - "gambling_sneakygamestatus_desc": "사용자는 {0}을(를) 얻기 위해서 비밀 코드를 입력해야합니다.\n{1}초 동안 유효합니다. 아무에게도 알려주지 마세요.\n", - "gambling_sneakygamestatus_end": "SneakyGame 이벤트가 종료되었습니다. {0}명의 사용자들이 보상을 받았습니다.", - "gambling_sneakygamestatus_title": "SneakyGameStatus 이벤트가 시작되었습니다.", - "gambling_tails": "뒷면", - "gambling_take": "{1}에게서 {0}을(를) 성공적으로 빼앗았습니다.", - "gambling_take_fail": "{1}님이 {2}만큼을 가지고있지 않기 때문에 {0}을(를) 회수 할 수 없습니다.", - "help_back_to_toc": "목차로 돌아가기", - "help_bot_owner_only": "봇 소유자만 가능합니다.", - "help_channel_permission": "{0} 채널의 권한이 필요합니다.", - "help_cmdlist_donate": "Patreon( <0> )이나 Paypal( <1> )을 통해서 프로젝트를 후원 할 수 있습니다.", - "help_cmd_and_alias": "명령어와 가명", - "help_commandlist_regen": "명령어 목록이 재생성되었습니다.", - "help_commands_instr": "`{0}h 명령어이름`을 입력해서 특정 명령어에 대한 도움말을 볼 수 있습니다.\n예시 : `{0}h >8ball`", - "help_command_not_found": "입력하신 명령어를 찾을 수 없습니다. 입력하시기 전에 유효한 명령어인지 확인해주세요.", - "help_desc": "설명", - "help_donate": "Patreon <{0}>이나\nPaypal <{1}>에서\nNadekoBot 프로젝트를 지원할 수 있습니다.\nDiscord 닉네임이나 ID를 메시지에 남겨 두는 것을 잊지 마세요.\n\n**감사합니다** ♥️", - "help_guide": "**명령어 목록**: <{0}>\n**호스팅 가이드와 문서는 여기서 찾을 수 있습니다**: <{1}>", - "help_list_of_commands": "명령어 목록", - "help_list_of_modules": "모듈 목록", - "help_modules_footer": "`{0}h 모듈이름`을 입력해서 특정 모듈에 대한 도움말을 볼 수 있습니다.\n예시 : `{0}cmds games`", - "help_module_not_found": "그 모듈은 존재하지 않습니다.", - "help_server_permission": "서버의 {0} 권한이 필요합니다.", - "help_table_of_contents": "목차", - "help_usage": "사용법", - "nsfw_autohentai_started": "Autohentai 기능이 활성화되었습니다. 다음의 태그와 함께 {0}초마다 사진이 올라옵니다.\n태그 : {1}", - "nsfw_tag": "태그", - "gambling_animal_race": "동물 레이스", - "gambling_animal_race_failed": "참가자가 충분히 없어서 시작하지 못했습니다.", - "gambling_animal_race_full": "참가자가 모두 모였습니다! 즉시 시작하겠습니다.", - "gambling_animal_race_join": "{0}이(가) {1}(으)로 참가했습니다.", - "gambling_animal_race_join_bet": "{0}님이 {1}(으)로 참가하였고, {2}을(를) 걸었습니다!", - "gambling_animal_race_join_instr": "{0}jr을 입력해서 레이스에 참가합니다.", - "gambling_animal_race_starting": "20초 동안 기다리거나, 방이 가득 차면 시작됩니다.", - "gambling_animal_race_starting_with_x": "{0}명의 참가자와 함께 시작합니다.", - "gambling_animal_race_won": "{0}이(가) {1}(으)로 레이스를 이겼습니다!", - "gambling_animal_race_won_money": "{0}이(가) {1}(으)로 레이스를 이겼고 {2}을(를) 획득했습니다!", - "gambling_dice_invalid_number": "유효하지 않은 숫자입니다. 한번에 {0}-{1}개의 주사위를 던질 수 있습니다.", - "gambling_dice_rolled": "님이 {0}을(를) 굴렸습니다.", - "gambling_dice_rolled_num": "주사위 결과: {0}", - "gambling_race_failed_starting": "레이스 시작에 실패했습니다. 다른 레이스가 진행중입니다.", - "gambling_race_not_exist": "이 서버에 레이스가 존재하지 않습니다.", - "gambling_second_larger_than_first": "두번째 숫자는 첫번째 숫자보다 큰 숫자여야 합니다.", - "gambling_changes_of_heart": "마음의 변화", - "gambling_claimed_by": "요구한 사람", - "gambling_divorces": "이혼", - "gambling_likes": "좋아하는 사람", - "gambling_price": "값", - "gambling_waifus_none": "아무 와이프도 요청되지 않았습니다.", - "gambling_waifus_top_waifus": "최고의 와이프", - "gambling_waifu_affinity_already": "당신의 친밀감이 이미 그 와이프로 설정 되었거나 당신에게 친밀감이 없는 상태의 와이프에게 친밀감 삭제를 시도했습니다.", - "gambling_waifu_affinity_changed": "친밀감이 {0}에서 {1}(으)로 변경되었습니다.\n\n*도덕성이 의심스럽습니다.*🤔", - "gambling_waifu_affinity_cooldown": "친밀감을 다시 바꾸기 위해서는 {0}시간 {1}분을 기다려야합니다.", - "gambling_waifu_affinity_reset": "당신의 친밀감은 초기화되었습니다. 당신이 좋아하는 사람은 더 이상 없습니다.", - "gambling_waifu_affinity_set": "님이 {0}의 와이프가 되고싶어합니다.", - "gambling_waifu_claimed": "님이 {1}에 {0}님을 와이프로 요구했습니다.", - "gambling_waifu_divorced_like": "당신을 좋아하는 와이프와 이혼했습니다. {0}님이 보상금으로 {1}을(를) 받았습니다. ", - "gambling_waifu_egomaniac": "자기 자신에게 친밀감을 설정 할 수 없습니다.", - "gambling_waifu_fulfilled": "🎉 그들의 사랑이 성취되었습니다! 🎉\n{0}의 새로운 가치는 {1} 입니다!", - "gambling_waifu_isnt_cheap": "그렇게 싼 와이프는 없습니다. 와이프를 얻기 위해서는 실제 가치보다 낮더라도 {0} 만큼을 지불해야합니다.", - "gambling_waifu_not_enough": "와이프를 요구하기 위해서는 {0} 이상을 지불해야합니다!", - "gambling_waifu_not_yours": "그 와이프는 당신의 와이프가 아닙니다.", - "gambling_waifu_not_yourself": "자기자신을 클레임 할 수 없습니다.", - "gambling_waifu_recent_divorce": "당신은 최근에 이혼하셨습니다. 다시 이혼하려면 {0} 시간 {1} 분을 기다려야 합니다.", - "gambling_nobody": "아무도 없음", - "gambling_waifu_divorced_notlike": "당신을 좋아하지 않는 와이프와 이혼했습니다. 당신은 {0}을 돌려받았습니다.", - "games_8ball": "답", - "games_acrophobia": "아크로포비아", - "games_acro_ended_no_sub": "아무런 제출 없이 게임이 끝났습니다.", - "games_acro_no_votes_cast": "아무도 투표하지 않았습니다. 승자없이 게임이 종료되었습니다.", - "games_acro_nym_was": "머리글자는 {0} 이었습니다.", - "games_acro_running": "아크로포비아 게임이 이미 이 채널에서 진행 중입니다.", - "games_acro_started": "게임이 시작되었습니다. {0} 머리글자를 사용해서 문장 만드세요.", - "games_acro_started_footer": "제출까지 {0}초 남았습니다.", - "games_acro_submit": "{0}이(가) 그의 문장을 입력했습니다. (합계: {1})", - "games_acro_vote": "제출하고자 하는 번호를 입력해서 투표를 하세요.", - "games_acro_vote_cast": "{0}이(가) 투표했습니다!", - "games_acro_winner": "우승자는 {1}포인트를 가진 {0} 입니다.", - "games_acro_winner_only": "{0}님이 서버에서 유일한 제출자이기 때문에 승리했습니다.", - "games_question": "질문\n", - "games_rps_draw": "비겼습니다! 둘다 {0}을(를) 선택했습니다.", - "games_rps_win": "{0}이(가) 승리했습니다! {1}은(는) {2}을(를) 이겼습니다.", - "games_submissions_closed": "제출이 마감되었습니다.", - "gambling_animal_race_already_started": "동물 레이스가 이미 진행 중입니다.", - "gambling_total_average": "총합: {0} 평균: {1}", - "games_category": "범주", - "games_cleverbot_disabled": "이 서버에서 클레버봇을 비활성화하였습니다.", - "games_cleverbot_enabled": "이 서버에서 클레버봇을 활성화하였습니다.", - "games_curgen_disabled": "이 채널에서 통화 생성이 비활성화되었습니다.", - "games_curgen_enabled": "이 채널에서 통화 생성이 활성화되었습니다.", - "games_curgen_pl": "{0} 무작위 {1}이(가) 등장했습니다!", - "games_curgen_sn": "무작위 {0}이(가) 등장했습니다!", - "games_failed_loading_question": "질문 로딩에 실패하였습니다.", - "games_game_started": "게임이 시작되었습니다", - "games_hangman_game_started": "행맨 게임이 시작되었습니다", - "games_hangman_running": "행맨 게임이 이미 시작되었습니다", - "games_hangman_start_errored": "행맨 게임 시작에 오류가 발생하였습니다.", - "games_hangman_types": "\"{0}hangman\" 용어 종류 목록", - "games_leaderboard": "리더 보드", - "games_not_enough": "당신은 충분한 {0}이(가) 없습니다.", - "games_no_results": "결과가 없습니다.", - "games_picked": "이(가) {0}을(를) 뽑았습니다.", - "games_planted": "{0}이(가) {1}을(를) 심었습니다.", - "games_trivia_already_running": "이미 이 서버에서 트리비아 게임이 진행중입니다.", - "games_trivia_game": "트리비아 게임", - "games_trivia_guess": "{0}님이 맞췄습니다! 답은 {1} 입니다.", - "games_trivia_none": "이 서버에서 진행중인 트리비아 게임이 없습니다.", - "games_trivia_points": "{0}이(가) {1}포인트를 갖고있습니다.", - "games_trivia_stopping": "이 질문 후에 중지합니다.", - "games_trivia_times_up": "시간초과! 정확한 답은 {0} 입니다.", - "games_trivia_win": "{0}님이 맞춰서 게임을 이겼습니다! 답은 {1} 입니다.", - "games_ttt_against_yourself": "당신을 상대로 플레이 할 수 없습니다.", - "games_ttt_already_running": "이미 이 채널에서 TicTacToe 게임이 진행중입니다.", - "games_ttt_a_draw": "비겼습니다!", - "games_ttt_created": "님이 TicTacToe 게임을 생성하였습니다.", - "games_ttt_has_won": "{0}님이 이겼습니다!", - "games_ttt_matched_three": "3개 일치", - "games_ttt_no_moves": "더 이상 움직일 수 없습니다!", - "games_ttt_time_expired": "시간이 만료되었습니다!", - "games_ttt_users_move": "{0}의 이동", - "games_vs": "{0} 대 {1}", - "music_attempting_to_queue": "{0}개의 곡을 대기열에 추가하는 중...", - "music_autoplay_disabled": "자동재생이 비활성화되었습니다. ", - "music_autoplay_enabled": "자동재생이 활성화되었습니다. ", - "music_defvol_set": "기본 음량이 {0}%로 설정되었습니다.", - "music_dir_queue_complete": "디렉토리 대기열 추가가 완료되었습니다.", - "music_fairplay": "페어플레이", - "music_finished_song": "재생 완료", - "music_fp_disabled": "페어플레이가 비활성화되었습니다.", - "music_fp_enabled": "페어플레이가 활성화되었습니다.", - "music_from_position": "원레 위치", - "music_id": "ID", - "music_invalid_input": "유효하지 않은 입력입니다.", - "music_max_playtime_none": "이제 최대 재생시간에 제한이 없습니다.", - "music_max_playtime_set": "최대 재생시간이 {0}초로 설정되었습니다.", - "music_max_queue_unlimited": "이제 음악 대기열 크기는 제한이 없습니다.", - "music_max_queue_x": "음악 대기열 크기가 {0}곡으로 변경되었습니다.", - "music_must_be_in_voice": "당신은 이 서버의 음성채널에 있어야 합니다.", - "music_name": "이름", - "music_now_playing": "현재 재생 중", - "music_no_player": "재생중인 곡이 없습니다.", - "music_no_search_results": "검색 결과가 없습니다.", - "music_paused": "음악 재생이 일시정지되었습니다.", - "music_player_queue": "음악 대기열 - {0}/{1} 페이지", - "music_playing_song": "노래 재생 중", - "music_playlists": "`#{0}` - {2}님의 재생목록 **{1}** ({3} 곡)", - "music_playlists_page": "저장된 재생목록의 {0}번째 페이지", - "music_playlist_deleted": "재생목록이 삭제되었습니다.", - "music_playlist_delete_fail": "재생목록 삭제에 실패했습니다. 존재하지 않거나, 당신이 재생목록의 저자가 아닙니다.", - "music_playlist_id_not_found": "그 ID에 해당하는 재생목록이 존재하지 않습니다.", - "music_playlist_queue_complete": "재생목록 대기열 추가 완료.", - "music_playlist_saved": "재생목록이 저장되었습니다.", - "music_play_limit": "{0}초 한계", - "music_queue": "대기열", - "music_queued_song": "대기열에 추가됨", - "music_queue_cleared": "음악 대기열이 초기화되었습니다.", - "music_queue_full": "대기열이 {0}/{0}으(로) 가득찼습니다.", - "music_removed_song": "곡 삭제됨", - "music_repeating_cur_song": "현재 곡을 반복재생합니다.", - "music_repeating_playlist": "현재 재생목록을 반복재생합니다.", - "music_repeating_track": "현재 트랙을 반복재생합니다.", - "music_repeating_track_stopped": "현재 트랙 반복이 중지되었습니다.", - "music_resumed": "음악 재생이 재개되었습니다.", - "music_rpl_disabled": "재생목록 반복이 비활성화되었습니다.", - "music_rpl_enabled": "재생목록 반복이 활성화되었습니다.", - "music_set_music_channel": "앞으로 재생 중, 완료, 일시정지, 삭제된 곡들을 이 채널에 출력합니다.", - "music_skipped_to": "`{0}:{1}`로 이동하였습니다.", - "music_songs_shuffled": "곡을 섞었습니다.", - "music_song_moved": "곡이 이동되었습니다.", - "music_time_format": "{0}시간 {1}분 {2}초", - "music_to_position": "바뀐 위치", - "music_unlimited": "무제한", - "music_volume_input_invalid": "음량은 0과 100 사이의 값이여야 합니다. ", - "music_volume_set": "음량이 {0}% 로 설정되었습니다.", - "permissions_acm_disable": "{0} 채널에서 모든 모듈의 사용을 비활성화했습니다.", - "permissions_acm_enable": "{0} 채널에서 모든 모듈의 사용을 활성화했습니다.", - "permissions_allowed": "허락함", - "permissions_arm_disable": "{0} 역할에게 모든 모듈의 사용을 비활성화했습니다.", - "permissions_arm_enable": "{0} 역할에게 모든 모듈의 사용을 활성화했습니다.", - "permissions_asm_disable": "이 서버에서 모든 모듈의 사용을 비활성화했습니다.", - "permissions_asm_enable": "이 서버에서 모든 모듈의 사용을 활성화했습니다.", - "permissions_aum_disable": "{0} 사용자에 대한 모든 모듈의 사용을 비활성화합니다.", - "permissions_aum_enable": "{0} 사용자에 대한 모든 모듈의 사용을 활성화합니다.", - "permissions_blacklisted": "{0} (ID {1})님을 블랙리스트 목록에 추가했습니다", - "permissions_cmdcd_add": "명령어 {0}은(는) 이제 {1}초 재사용 대기시간이 있습니다.", - "permissions_cmdcd_cleared": "이제 명령어 {0}이(가) 재사용 대기시간이 없고 기존의 모든 재사용 대기시간이 삭제되었습니다.", - "permissions_cmdcd_none": "명령어 재사용 대기시간이 설정되지 않았습니다.", - "permissions_command_costs": "명령어 값", - "permissions_cx_disable": "채널 {2}에서 {0} {1}의 사용을 비활성화시켰습니다.", - "permissions_cx_enable": "채널 {2}에서 {0} {1}의 사용을 활성화시켰습니다.", - "permissions_denied": "거절함", - "permissions_filter_word_add": "필터링 된 단어 목록에 {0}을(를) 추가했습니다.", - "permissions_filter_word_list": "필터링 된 단어 목록", - "permissions_filter_word_remove": "필터링 된 단어 목록에서 {0}을(를) 삭제했습니다.", - "permissions_invalid_second_param_between": "유효하지 않은 두번째 파라미터입니다. ({0}와(과) {1}사이의 숫자여야 합니다.)", - "permissions_invite_filter_channel_off": "초대 필터링이 이 채널에서 비활성화되었습니다.", - "permissions_invite_filter_channel_on": "초대 필터링이 이 채널에서 활성화되었습니다.", - "permissions_invite_filter_server_off": "초대 필터링이 이 서버에서 비활성화되었습니다.", - "permissions_invite_filter_server_on": "초대 필터링이 이 서버에서 활성화되었습니다.", - "permissions_moved_permission": "{0} 권한을 #{1}에서 #{2}(으)로 이동했습니다.", - "permissions_not_found": "색인 #{0}에 대한 권한을 찾을 수 없습니다.", - "permissions_no_costs": "아무런 값이 설정되지 않았습니다.", - "permissions_of_command": "명령어", - "permissions_of_module": "모듈", - "permissions_page": "권한 목록 {0} 페이지", - "permissions_permrole": "현재 권한 역할은 {0} 입니다.", - "permissions_permrole_changed": "이제 사용자가 권한 수정을 위해서는 {0} 권한이 필요합니다.", - "permissions_perm_out_of_range": "그 색인에 대한 권한을 찾을 수 없습니다.", - "permissions_removed": "#{0} - {1} 권한을 삭제했습니다.", - "permissions_rx_disable": "{2} 역할에 대한 {0} {1}의 사용을 비활성화했습니다.", - "permissions_rx_enable": "{2} 역할에 대한 {0} {1}의 사용을 활성화했습니다.", - "permissions_sec": "초.", - "permissions_sx_disable": "이 서버에서 {0} {1}의 사용을 비활성화했습니다.", - "permissions_sx_enable": "이 서버에서 {0} {1}의 사용을 활성화했습니다.", - "permissions_unblacklisted": "{0} (ID {1} )님을 블랙리스트 목록에서 삭제하였습니다.", - "permissions_uneditable": "수정불가", - "permissions_ux_disable": "{2} 사용자의 {0} {1}의 사용을 비활성화했습니다.", - "permissions_ux_enable": "{2} 사용자의 {0} {1}의 사용을 활성화했습니다.", - "permissions_verbose_false": "더 이상 권한 경고를 표시하지 않습니다.", - "permissions_verbose_true": "앞으로 권한 경고를 표시합니다.", - "permissions_word_filter_channel_off": "단어 필터링이 이 채널에서 비활성화되었습니다.", - "permissions_word_filter_channel_on": "단어 필터링이 이 채널에서 활성화되었습니다.", - "permissions_word_filter_server_off": "단어 필터링이 이 서버에서 비활성화되었습니다.", - "permissions_word_filter_server_on": "단어 필터링이 이 서버에서 활성화되었습니다.", - "searches_abilities": "능력", - "searches_anime_no_fav": "좋아하는 애니메이션이 없습니다.", - "searches_atl_ad_started": "이 채널 메시지의 자동번역을 시작합니다. 사용자의 메시지는 자동삭제 됩니다.", - "searches_atl_removed": "당신의 자동번역 언어가 제거되었습니다.", - "searches_atl_set": "당신의 자동번역 언어가 {0}>{1}으(로) 설정되었습니다.", - "searches_atl_started": "이 채널의 자동번역을 시작합니다.", - "searches_atl_stopped": "이 채널의 자동번역을 중지합니다.", - "searches_bad_input_format": "올바르지 않은 입력 포맷이거나 무언가가 잘못되었습니다.", - "searches_card_not_found": "그 카드를 찾을 수 없습니다.", - "searches_catfact": "사실", - "searches_chapters": "챕터", - "searches_comic_number": "만화 #", - "searches_compet_loses": "경쟁전 패배", - "searches_compet_played": "경쟁전 플레이", - "searches_compet_rank": "경쟁전 랭크", - "searches_compet_wins": "경쟁전 승리", - "searches_completed": "완료", - "searches_condition": "조건", - "searches_cost": "값", - "searches_date": "날짜", - "searches_define": "정의:", - "searches_dropped": "시청 종료", - "searches_episodes": "에피소드", - "searches_error_occured": "오류가 발생했습니다.", - "searches_example": "예시", - "searches_failed_finding_anime": "애니메이션 검색에 실패했습니다.", - "searches_failed_finding_manga": "만화 검색에 실패했습니다.", - "searches_genres": "장르", - "searches_hashtag_error": "해당 태그에 대한 정의를 찾지 못했습니다.", - "searches_height_weight": "키/무게", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "습도", - "searches_image_search_for": "이미지 검색:", - "searches_imdb_fail": "영화 검색에 실패했습니다.", - "searches_invalid_lang": "유효하지 않은 소스 또는 언어입니다.", - "searches_jokes_not_loaded": "농담이 로드되지 않았습니다.", - "searches_latlong": "위도/경도", - "searches_level": "레벨", - "searches_list_of_place_tags": "{0}place 태그 목록", - "searches_location": "위치", - "searches_magicitems_not_loaded": "마법 아이템이 로드되지 않습니다.", - "searches_mal_profile": "{0}의 MAL 프로필", - "searches_mashape_api_missing": "봇의 소유자가 MashapeApiKey를 설정하지 않아서 이 기능을 사용 할 수 없습니다.", - "searches_min_max": "최소/최대", - "searches_no_channel_found": "채널을 찾을 수 없습니다", - "searches_no_results": "결과를 찾을 수 없습니다.", - "searches_on_hold": "보류", - "searches_original_url": "원본 Url", - "searches_osu_api_key": "osu! API키가 필요합니다.", - "searches_osu_failed": "osu! 정보 검색에 실패했습니다.", - "searches_over_x": "{0}개 이상의 이미지가 발견되었습니다. 무작위로 {0}개를 표시합니다.", - "searches_ow_user_not_found": "사용자를 찾을 수 없습니다! 다시 시도하기 전에 지역과 배틀태그를 확인해주세요.", - "searches_plan_to_watch": "볼 예정", - "searches_platform": "플랫폼", - "searches_pokemon_ability_none": "능력을 찾을 수 없습니다.", - "searches_pokemon_none": "포케몬을 찾을 수 없습니다.", - "searches_profile_link": "프로필 링크:", - "searches_quality": "품질:", - "searches_quick_playtime": "빠른대전 플레이 시간", - "searches_quick_wins": "빠른대전 승리", - "searches_rating": "레이팅", - "searches_score": "점수:", - "searches_search_for": "검색 쿼리:", - "searches_shorten_fail": "Url 단축에 실패했습니다.", - "searches_short_url": "Url 단축", - "searches_something_went_wrong": "무언가가 잘못되었습니다.", - "searches_specify_search_params": "검색어를 입력해주세요.", - "searches_status": "상태", - "searches_store_url": "상점 url", - "searches_streamer_offline": "스트리머 {0}은(는) 오프라인입니다.", - "searches_streamer_online": "스트리머 {0}은(는) {1}명의 시청자와 함께 온라인입니다.", - "searches_streams_following": "당신은 이 서버에서 {0}개의 스트리밍을 팔로우 중입니다.", - "searches_streams_none": "당신은 이 서버에서 어떠한 스트리밍도 팔로우하지 않았습니다.", - "searches_stream_no": "스트리밍이 없습니다.", - "searches_stream_not_exist": "스트리밍 속성이 존재하지 않습니다.", - "searches_stream_removed": "{0}의 스트리밍 ({1})을 알림에서 삭제했습니다.", - "searches_stream_tracked": "상태가 변경되면 이 채널에 알립니다.", - "searches_sunrise": "일출", - "searches_sunset": "일몰", - "searches_temperature": "온도", - "searches_title": "제목:", - "searches_top_3_fav_anime": "좋아하는 상위 3개 애니:", - "searches_translation": "번역 결과:", - "searches_types": "종류", - "searches_ud_error": "해당 용어에 대한 정의를 찾지 못했습니다.", - "searches_url": "Url", - "searches_viewers": "시청자", - "searches_watching": "시청중", - "searches_wikia_error": "해당 용어에 대한 특정 Wikia를 찾지 못했습니다.", - "searches_wikia_input_error": "목적 Wikia를 입력하고 검색 쿼리를 입력하세요.", - "searches_wiki_page_not_found": "페이지를 찾지 못했습니다.", - "searches_wind_speed": "바람의 속도", - "searches_x_most_banned_champs": "{0}번째로 많은 밴을 당한 챔피언", - "searches_yodify_error": "당신의 문장을 Yodify하지 못했습니다.", - "utiliity_joined": "입장", - "utility_activity_line": "`{0}.` {1} [{2:F2}/초] - 합계 {3}", - "utility_activity_page": "활성 페이지 #{0}", - "utility_activity_users_total": "총 {0}명의 사용자.", - "utility_author": "저자", - "utility_botid": "봇 ID", - "utility_calcops": "{0}calc 명령어의 기능 목록", - "utility_channelid": "이 채널의 {0}은(는) {1} 입니다.", - "utility_channel_topic": "채널 주제", - "utility_commands_ran": "실행된 명령어", - "utility_convert": "{0} {1}은(는) {2} {3}와(과) 같습니다. ", - "utility_convertlist": "변환기에서 사용할수있는 단위", - "utility_convert_not_found": "단위를 찾지 못해서 {0}을(를) {1}(으)로 변환 할 수 없습니다.", - "utility_convert_type_error": "단위의 종류가 같지 않기때문에 {0}을(를) {1}(으)로 변환 할 수 없습니다.", - "utility_created_at": "생성 시간", - "utility_csc_join": "크로스 서버 채널에 입장했습니다.", - "utility_csc_leave": "크로스 서버 채널에서 퇴장했습니다.", - "utility_csc_token": "이것이 당신의 CSC 토큰입니다.", - "utility_custom_emojis": "커스텀 이모지", - "utility_error": "오류", - "utility_features": "기능", - "utility_id": "아이디", - "utility_index_out_of_range": "색인이 범위를 벗어났습니다.", - "utility_inrole_list": "{0} 역할의 사용자 목록", - "utility_inrole_not_allowed": "악용을 막기위해서 많은 사용자가 있는 역할의 이 명령어 사용이 제한되었습니다.", - "utility_invalid_value": "유효하지 않은 {0} 값입니다.", - "utility_joined_discord": "디스코드 가입일", - "utility_joined_server": "서버 가입일", - "utility_listservers": "ID: {0}\n맴버: {1}\n소유자 ID: {2}", - "utility_listservers_none": "이 페이지에서 서버를 찾을 수 없습니다.", - "utility_list_of_repeaters": "메시지 반복 목록", - "utility_members": "맴버", - "utility_memory": "메모리", - "utility_messages": "메시지", - "utility_message_repeater": "메시지 반복", - "utility_name": "이름", - "utility_nickname": "닉네임", - "utility_nobody_playing_game": "아무도 그 게임을 플레이하고 있지 않습니다.", - "utility_no_active_repeaters": "활성화된 리피터가 없습니다.", - "utility_no_roles_on_page": "이 페이지에 역할이 없습니다.", - "utility_no_shards_on_page": "이 페이지에 Shard가 없습니다.", - "utility_no_topic_set": "주제가 설정되지 않았습니다.", - "utility_owner": "소유자", - "utility_owner_ids": "소유자의 ID", - "utility_presence": "상태", - "utility_presence_txt": "{0} 서버\n{1} 텍스트 채널\n{2} 음성 채널", - "utility_quotes_deleted": "{0} 키워드를 가진 모든 인용구를 삭제했습니다.", - "utility_quotes_page": "인용구 페이지 {0}", - "utility_quotes_page_none": "이 페이지에 인용구가 없습니다.", - "utility_quotes_remove_none": "삭제 할 수 있는 인용구를 찾지못했습니다.", - "utility_quote_added": "인용구가 추가되었습니다.", - "utility_quote_deleted": "인용구 #{0}이(가) 삭제되었습니다.", - "utility_region": "지역", - "utility_registered_on": "가입 날짜", - "utility_remind": "{2}마다 {0}에게 {1}을(를) 상기시킵니다. `({3:d.M.yyyy.} {4:HH:mm})`", - "utility_remind_invalid_format": "유효하지 않은 시간 포맷입니다. 명령어 목록을 확인하세요.", - "utility_remind_template": "새로운 상기 템플릿이 설정되었습니다.", - "utility_repeater": "{0}을(를) {1}일 {2}시간 {3}분마다 반복합니다.", - "utility_repeaters_list": "반복 메시지 목록", - "utility_repeaters_none": "이 서버에 반복 메시지가 실행하고있지 않습니다.", - "utility_repeater_stopped": "#{0}이(가) 정지되었습니다.", - "utility_repeat_invoke_none": "이 서버에서 반복 메시지를 찾을 수 없습니다.", - "utility_result": "결과", - "utility_roles": "역할", - "utility_roles_all_page": "이 서버의 모든 역할 페이지 #{0} :", - "utility_roles_page": "{1} 역할에 대한 페이지 #{0}", - "utility_rrc_no_colors": "색상 포맷이 정확하지 않습니다. 예를들어 `#00FF00`을 사용해보세요.", - "utility_rrc_start": "{0} 역할의 색상 로테이션을 시작했습니다.", - "utility_rrc_stop": "{0} 역할의 색상 로테이션을 중지했습니다.", - "utility_serverid": "이 서버의 {0}은(는) {1} 입니다.", - "utility_server_info": "서버 정보", - "utility_shard": "Shard", - "utility_shard_stats": "Shard 통계", - "utility_shard_stats_txt": "Shard **#{0}**이 {1} 상태이고 {2} 서버에 있습니다.", - "utility_showemojis": "**이름:** {0} **링크:** {1}", - "utility_showemojis_none": "특수 이모지를 찾을 수 없습니다.", - "utility_stats_songs": "{0}개의 곡을 재생중이며, {1}개의 대기열이 있습니다.", - "utility_text_channels": "텍스트 채널", - "utility_togtub_room_link": "방 링크:", - "utility_uptime": "작동 시간", - "utility_userid": "{1}의 {0}은(는) {2} 입니다.", - "utility_users": "사용자", - "utility_voice_channels": "음성 채널", - "gambling_animal_race_already_in": "당신은 이미 레이스에 참가했습니다.", - "games_current_poll_results": "현재 투표 결과", - "games_no_votes_cast": "진행중인 투표가 없습니다.", - "games_poll_already_running": "이 서버에서 이미 투표가 진행되고있습니다.", - "games_poll_created": "📃 {0}님이 투표를 생성하였습니다.", - "games_poll_result": "`{0}.` {2}표를 획득한 {1}이(가) 되었습니다.", - "games_poll_voted": "{0}님이 투표하였습니다.", - "games_poll_vote_private": "해당 답변 번호와 함께 개인 메시지를 보내세요.", - "games_poll_vote_public": "해당 답변 번호와 함께 여기에 메시지를 보내세요.", - "games_thanks_for_voting": "{0}님, 투표해주셔서 감사합니다", - "games_x_votes_cast": "{0}개의 표가 투표되었습니다.", - "games_pick_pl": "`{0}pick`을 입력해서 획득하세요.", - "games_pick_sn": "`{0}pick`을 입력해서 획득하세요.", - "gambling_no_users_found": "사용자를 찾지 못했습니다.", - "gambling_page": "{0}페이지", - "administration_must_be_in_voice": "이 서버의 음성 채널에 있어야합니다.", - "administration_no_vcroles": "음성채널 역할이 없습니다.", - "administration_user_muted_time": "{0}은(는) 음성과 텍스트 채팅으로 부터 {1} 분간 **음소거**되었습니다.", - "administration_vcrole_added": "음성채널 {0}에 입장하는 사용자는 {1} 역할을 얻게됩니다.", - "administration_vcrole_removed": "음성채널 {0}에 입장하는 사용자는 더이상 {1} 역할을 얻지 못합니다.", - "administration_vc_role_list": "음성채널 역할", - "customreactions_crad_disabled": "ID {0} 커스텀 리액션을 작동시키는 메시지는 자동삭제되지 않습니다.", - "customreactions_crad_enabled": "ID {0} 커스텀 리액션을 작동시키는 메시지는 자동삭제됩니다.", - "customreactions_crdm_disabled": "이제 ID {0} 커스텀 리액션에 대한 반응은 DM으로 전송되지 않습니다.", - "customreactions_crdm_enabled": "ID {0} 커스텀 리액션에 대한 반응은 DM으로 전송됩니다.", - "utility_aliases_none": "가명을 찾지 못했습니다.", - "utility_alias_added": "{0}을(를) 입력하면 이제 {1}이(가) 입력됩니다.", - "utility_alias_list": "가명 목록", - "utility_alias_removed": "트리거 {0}의 가명을 삭제했습니다.", - "utility_alias_remove_fail": "트리거 {0}은(는) 가명이 없었습니다.", - "searches_compet_playtime": "경쟁전 플레이 시간", - "administration_channel": "채널", - "administration_command_text": "명령어 텍스트", - "administration_kicked_pl": "강퇴", - "administration_moderator": "관리자", - "administration_page": "{0}페이지", - "administration_reason": "사유", - "administration_scadd": "새로운 시작 명령어가 추가되었습니다.", - "administration_scrm": "시작 명렁어가 성공적으로 삭제되었습니다.", - "administration_scrm_fail": "시작 명령어를 찾을 수 없습니다.", - "administration_server": "서버", - "administration_startcmdlist_none": "이 페이지에는 시작 명령어가 없습니다.", - "administration_startcmds_cleared": "모든 시작 명령어를 삭제했습니다.", - "administration_unbanned_user": "사용자 {0}님이 밴에서 해제되었습니다.", - "administration_user_not_found": "사용자를 찾을 수 없습니다.", - "administration_user_warned": "사용자 {0}님이 경고를 받았습니다.", - "administration_user_warned_and_punished": "사용자 {0}님이 경고를 받았고, {1} 처벌이 적용되었습니다.", - "administration_warned_on": "{0} 서버에 경고했습니다.", - "administration_warned_on_by": "{0} {1}에 {2}이(가)", - "administration_warnings_cleared": "{0}님이 모든 경고를 삭제했습니다.", - "administration_warnings_none": "이 페이지에는 경고가 없습니다.", - "administration_warnlog_for": "{0}의 경고 기록", - "administration_warnpl_none": "처벌이 설정되지 않았습니다.", - "administration_warn_cleared_by": "{0}님이 초기화했습니다.", - "administration_warn_punish_list": "경고 처벌 목록", - "administration_warn_punish_rem": "{0}개의 경고를 받은 사용자에 대한 처벌을 하지않습니다.", - "administration_warn_punish_set": "{1}개의 경고를 받은 사용자에게 {0} 처벌을 내립니다.", - "administration_slowmodewl_role_start": "이제 슬로우모드는 {0} 역할에게 적용되지 않습니다.", - "administration_slowmodewl_role_stop": "이제 슬로우모드는 {0} 역할에게 적용됩니다.", - "administration_slowmodewl_user_start": "이제 슬로우모드는 {0}님에게 적용되지 않습니다.", - "administration_slowmodewl_user_stop": "이제 슬로우모드는 {0}님에게 적용됩니다.", - "utility_clpa_fail": "다음과 같은 이유로 인해서 보상을 요청하지 못했습니다.", - "utility_clpa_fail_already": "당신은 이미 이번달의 보상을 받은 것 같습니다. 당신의 후원금을 올리지 않는 이상 한 달에 한 번만 보상을 받을 수 있습니다. ", - "utility_clpa_fail_already_title": "이미 지급되었습니다", - "utility_clpa_fail_conn": "당신의 디스코드 계정이 Patreon에 연결되지 않았습니다. 이것이 무슨 뜻인지 모르거나, 어떻게 연결하는지 모른다면,\n[Patreon 계정 설정 페이지] (https://patreon.com/settings/account)에 접속해서 'Connect to discord' 버튼을 클릭하세요.", - "utility_clpa_fail_conn_title": "디스코드 계정이 연결되지 않았습니다", - "utility_clpa_fail_sup": "보상을 받을 수 있는 자격을 얻기 위해서는 Patreon에서 프로젝트를 후원해야 합니다. {0} 명령어를 이용해서 링크를 얻을 수 있습니다.", - "utility_clpa_fail_sup_title": "후원 중이지 않습니다", - "utility_clpa_fail_wait": "후원을 한 후에 몇 시간을 기다려야합니다, 그렇지 않다면 나중에 다시 시도해주세요.", - "utility_clpa_fail_wait_title": "잠시만 기다려주세요", - "utility_clpa_success": "{0}을(를) 받았습니다. 프로젝트를 후원 해주셔서 감사합니다!", - "utility_clpa_too_early": "보상은 매 달 5일에 요구 할 수 있습니다.", - "searches_time": "{0}의 시간은 {1} - {2} 입니다.", - "administration_rh": "표시되는 길드 역할을 {0}에서 {1}(으)로 설정했습니다.", - "gambling_name": "이름", - "gambling_shop": "상점", - "gambling_shop_item_add": "상점 아이템이 추가되었습니다.", - "gambling_shop_none": "이 페이지에서 상점 아이템을 찾을 수 없습니다.", - "gambling_shop_role": "당신은 {0} 역할을 얻게 될 것 입니다.", - "gambling_type": "종류", - "utility_clpa_next_update": "다음 업데이트는 {0}에 됩니다.", - "administration_global_perms_reset": "글로벌 권한이 리셋되었습니다.", - "administration_gvc_disabled": "이 서버에서 게임 음성 채널 기능이 비활성화되었습니다.", - "administration_gvc_enabled": "이제 {0}이(가) 게임 음성 채널입니다.", - "administration_not_in_voice": "당신은 이 서버의 음성 채널에 있지 않습니다.", - "gambling_item": "아이템", - "gambling_out_of_stock": "품절되었습니다.", - "gambling_random_unique_item": "램덤 희귀 아이템", - "gambling_shop_buy_error": "아이템 DM에 오류가 발생하여서 환불되었습니다.", - "gambling_shop_item_not_found": "해당 색인에 대한 아이템을 찾을 수 없습니다.", - "gambling_shop_item_purchase": "아이템 결제가 완료되었습니다.", - "gambling_shop_item_rm": "상점 아이템이 삭제되었습니다.", - "gambling_shop_item_wrong_type": "해당 상점 품목은 아이템 추가를 지원하지 않습니다.", - "gambling_shop_list_item_added": "아이템이 성공적으로 추가되었습니다.", - "gambling_shop_list_item_not_unique": "그 아이템은 이미 추가되었습니다.", - "gambling_shop_purchase": "{0} 서버에서 구매했습니다", - "gambling_shop_role_not_found": "판매된 역할이 더 이상 존재하지 않습니다.", - "gambling_shop_role_purchase": "성공적으로 {0} 역할을 구매하였습니다.", - "gambling_shop_role_purchase_error": "역할 지정에 오류가 발생해서 환불되었습니다.", - "gambling_unique_items_left": "{0}개의 희귀한 아이템이 남았습니다.", - "permissions_blocked_commands": "차단된 명령어", - "permissions_blocked_modules": "차단된 모듈", - "permissions_gcmd_add": "모든 서버에서 {0} 명령어가 비활성화되었습니다.", - "permissions_gcmd_remove": "모든 서버에서 {0} 명령어가 활성화되었습니다.", - "permissions_gmod_add": "모든 서버에서 {0} 모듈이 비활성화되었습니다.", - "permissions_gmod_remove": "모든 서버에서 {0} 모듈이 활성화되었습니다.", - "permissions_lgp_none": "차단된 명령어나 모듈이 없습니다." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.nb-NO.json b/src/NadekoBot/_strings/ResponseStrings.nb-NO.json deleted file mode 100644 index 720b6c11..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.nb-NO.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Den basen har allerede blitt tatt over eller ødelagt.", - "clashofclans_base_already_destroyed": "Den basen er allerede ødelagt.", - "clashofclans_base_already_unclaimed": "Ingen har hevdet denne basen.", - "clashofclans_base_destroyed": "**ØDELAGT** base #{0} i en krig mot {1}", - "clashofclans_base_unclaimed": "{0} har **hevdet** bare #{1} i en krig mot {2}", - "clashofclans_claimed_base": "{0} har hevdet en base #{1} i en krig mot {2}", - "clashofclans_claimed_other": "@{0} Du har allerede hevdet basen #{1}. Du kan ikke kreve en ny.", - "clashofclans_claim_expired": "Krav fra @{0} for en krig mot {1} har utløpt.", - "clashofclans_enemy": "Fiende", - "clashofclans_info_about_war": "Info om krigen mot {0}", - "clashofclans_invalid_base_number": "Ugyldig basenummer", - "clashofclans_invalid_size": "Ikke en gyldig krigstørrelse", - "clashofclans_list_active_wars": "Liste over aktive kriger", - "clashofclans_not_claimed": "ikke hevdet", - "clashofclans_not_partic": "Du er ikke en deltager i den krigen.", - "clashofclans_not_partic_or_destroyed": "@{0} Du deltar enten ikke i denne krigen, eller basen er allerede ødelagt.", - "clashofclans_no_active_wars": "Ingen aktive kriger.", - "clashofclans_size": "Størrelse", - "clashofclans_war_already_started": "Krig mot {0} har allerede begynt.", - "clashofclans_war_created": "Krig mot {0} opprettet.", - "clashofclans_war_ended": "Krig mot {0} avsluttet.", - "clashofclans_war_not_exist": "Den krigen eksisterer ikke.", - "clashofclans_war_started": "Krig mot {0} startet!", - "customreactions_all_stats_cleared": "Alle tilpassede reaksjons-statistikker fjernet.", - "customreactions_deleted": "Tilpasset reaksjon fjernet", - "customreactions_insuff_perms": "Utilstrekkelig tilgang. Krever Bot-eierskap for globale tilpassede reaksjoner, og Administrator for server reaksjoner.", - "customreactions_list_all": "Liste av alle tilpassede reaksjoner.", - "customreactions_name": "Tilpassede reaksjoner.", - "customreactions_new_cust_react": "Ny tilpasset reaksjon", - "customreactions_no_found": "Ingen tilpasset reaksjon funnet.", - "customreactions_no_found_id": "Ingen tilpasset reaksjon funnet med den ID'en.", - "customreactions_response": "Respons", - "customreactions_stats": "Tilpassede reaksjon statistikker.", - "customreactions_stats_cleared": "Statistikk fjernet for {0} reaksjon", - "customreactions_stats_not_found": "Ingen statistikk funnet for den utløseren, ingen handling utført", - "customreactions_trigger": "Utløser", - "nsfw_autohentai_stopped": "Autohentai stoppet", - "nsfw_not_found": "Ingen resultater.", - "pokemon_already_fainted": "{0} har allerede besvimt", - "pokemon_already_full": "{0} har allerede full helse", - "pokemon_already_that_type": "Din type er allerede {0}", - "pokemon_attack": "brukte {0}{1} på {2}{3} for {4} skade.", - "pokemon_cant_attack_again": "Du kan ikke angripe igjen uten motstanderens hevn.", - "pokemon_cant_attack_yourself": "Du kan ikke angripe deg selv.", - "pokemon_fainted": "{0} har besvimt!", - "pokemon_healed": "helbredet {0} med én {1}", - "pokemon_hp_remaining": "{0} har {1} helse igjen", - "pokemon_invalid_move": "Du kan ikke bruke {0}. Skriv ´{1}ml` for å se en liste med angrep du kan bruke.", - "pokemon_moves": "Angrep for {0} -type.", - "pokemon_not_effective": "Det er ikke effektivt.", - "pokemon_no_currency": "Du har ikke nok {0}", - "pokemon_revive_other": "gjenopplivet {0} med én {1}", - "pokemon_revive_yourself": "Du gjenopplivet deg selv med én {0}", - "pokemon_settype_success": "Din type ble endret til {0} for èn {1}", - "pokemon_somewhat_effective": "Det er noe effektivt.", - "pokemon_super_effective": "Det er super effektivt!", - "pokemon_too_many_moves": "Du har gjort for mange angrep på rad, du kan nå ikke gjøre flere angrep!", - "pokemon_type_of_user": "{0} sin type er {1}", - "pokemon_user_not_found": "Bruker ikke funnet", - "pokemon_you_fainted": "Du besvimte, så du kan nå ikke bevege deg.", - "administration_aar_disabled": "**Automatisk rollegivning** når brukere kommer inn er nå **deaktivert**", - "administration_aar_enabled": "**Automatisk rollegivning** når brukere kommer inn er nå **aktivert**", - "administration_attachments": "Legg til filer", - "administration_avatar_changed": "Profilbilde", - "administration_bandm": "Du har blitt utestengt fra {0}\nGrunn: {1}", - "administration_banned_pl": "utestengt", - "administration_banned_user": "Bruker ble utestengt", - "administration_bot_name": "Bot navn endret til {0}", - "administration_bot_status": "Bot status endret til {0}", - "administration_byedel_off": "Automatisk sletting av 'farvel'-meldinger er aktivert", - "administration_byedel_on": "Farvel-meldinger vil bli slettet etter {0} sekunder.", - "administration_byemsg_cur": "Nåværende 'farvel'-melding: {0}", - "administration_byemsg_enable": "Aktivér 'farvel'-meldinger ved å skrive {0}", - "administration_byemsg_new": "Ny 'farvel'-melding satt.", - "administration_bye_off": "'farvel'-kunngjøringer deaktivert.", - "administration_bye_on": "'farvel'-kunngjøringer aktivert i denne kanalen.", - "administration_ch_name_change": "Kanalnavn endret.", - "administration_ch_old_name": "Gammelt navn", - "administration_ch_topic_change": "Kanalemne endret.", - "administration_cleaned_up": "Ryddet opp.", - "administration_content": "Innhold", - "administration_cr": "Rolle opprettet", - "administration_createtextchan": "Tekstkanal {0} laget.", - "administration_createvoich": "Talekanal {0} laget.", - "administration_deafen": "Demping vellykket.", - "administration_deleted_server": "Slettet server {0}", - "administration_delmsg_off": "Stoppet automatisk sletting av vellykkede kommando invokationer.", - "administration_delmsg_on": "Sletter nå kommandomeldinger automatisk.", - "administration_deltextchan": "Tekstkanal {0} slettet.", - "administration_delvoich": "Lydkanal {0} slettet.", - "administration_dm_from": "DM fra", - "administration_donadd": "Vellykket i å legge til ny bidragsyter. Totalt bidratt av denne brukeren: {0} 👑 ", - "administration_donators": "Takk til folkene under som gjorde dette prosjektet mulig!", - "administration_fwall_start": "Jeg videresender de personlige meldingene til alle eierne.", - "administration_fwall_stop": "Jeg vil bare vidresende de personlige meldingene til den første eieren.", - "administration_fwdm_start": "Jeg vil videresende personlige meldinger fra nå.", - "administration_fwdm_stop": "Jeg slutter å videresende personlige meldinger fra nå.", - "administration_greetdel_off": "Automatisk sletting av velkomstmeldinger har blitt deaktivert.", - "administration_greetdel_on": "Velkomst meldinger blir slettet etter {0} sekunder.", - "administration_greetdmmsg_cur": "Nåværende personlige velkomst melding: {0}", - "administration_greetdmmsg_enable": "Aktiver personlig velkomstmelding ved å skrive {0}", - "administration_greetdmmsg_new": "Ny personlig velkomstmelding valgt.", - "administration_greetdm_off": "Personlig velkomstmelding deaktivert.", - "administration_greetdm_on": "Personlig velkomstmelding aktivert.", - "administration_greetmsg_cur": "Nåværende velkomstmelding: {0}", - "administration_greetmsg_enable": "Aktiver velkomstmeldinger ved å skrive {0}", - "administration_greetmsg_new": "Ny velkomstmelding satt.", - "administration_greet_off": "Velkomst-kunngjøring deaktivert.", - "administration_greet_on": "Velkomst-kunngjøring aktivert i denne kanalen.", - "administration_hierarchy": "Du kan ikke bruke denne kommandoen på brukere som har en rolle høyere eller på samme nivå som deg i hierarkiet.", - "administration_images_loaded": "Bilder lastet etter {0} sekunder!", - "administration_invalid_format": "Ugyldig tilførings format.", - "administration_invalid_params": "Ugyldige parametere", - "administration_joined": "{0} ble med i {1}", - "administration_kickdm": "Du har blitt sparket fra {0} \nGrunn: {1}", - "administration_kicked_user": "Bruker sparket", - "administration_lang_list": "Liste over språk {0}", - "administration_lang_set": "Din servers' lokasjon er nå {0} - {1}", - "administration_lang_set_bot": "Bot'ens standard språk er satt til {1} - {1}", - "administration_lang_set_bot_show": "Bot'ens språk er satt til {0} - {1}", - "administration_lang_set_fail": "Kunne ikke sette språk. Vennligst sjekk denne kommandoens bruksinformasjon.", - "administration_lang_set_show": "Denne serverens språk er satt til {0} - {1}", - "administration_left": "{0} har forlatt {1}", - "administration_left_server": "Forlot server {0}", - "administration_log": "Logger {0} hendelse på denne kanalen.", - "administration_log_all": "Logger alle hendelser i denne kanalen.", - "administration_log_disabled": "Logging deaktivert.", - "administration_log_events": "Logg hendelser du kan abonnere på:", - "administration_log_ignore": "Logging vil ignorere {0}", - "administration_log_not_ignore": "Logging vil ikke ignorere {0}", - "administration_log_stop": "Sluttet å logge {0} hendelse.", - "administration_menrole": "{0} har påkalt en nevnelse av følgende roller", - "administration_message_from_bo": "Melding fra {0} '[Bot Eier]':", - "administration_message_sent": "Melding sendt.", - "administration_moved": "{0} flyttet fra {1} til {2}", - "administration_msg_del": "Melding slettet i #{0}", - "administration_msg_update": "Melding oppdatert i #{0}", - "administration_muted_pl": "Dempet", - "administration_muted_sn": "Dempet", - "administration_mute_error": "Jeg har mest sannsynlig ikke de nødvendige tillatelsene til det.", - "administration_mute_role_set": "Ny 'dempet'-rolle satt.", - "administration_need_admin": "Jeg trenger **Administrasjon** tillatelse til å gjøre det.", - "administration_new_msg": "Ny Melding", - "administration_new_nick": "Nytt kallenavn", - "administration_new_topic": "Nytt emne", - "administration_nick_change": "Kallenavn endret.", - "administration_no_server": "Kan ikke finne den serveren", - "administration_no_shard_id": "Ingen shard med den IDen funnet.", - "administration_old_msg": "Gammel melding", - "administration_old_nick": "Gammelt kallenavn", - "administration_old_topic": "Gammelt emne", - "administration_perms": "Feil. Mest sansynlig har jeg ikke tilstrekkelige tillatelser.", - "administration_perms_reset": "Tillatelsene til denne serveren er nullstilt.", - "administration_prot_active": "Aktive Beskyttelser", - "administration_prot_disable": "{0} har blitt **deaktivert** på denne serveren.", - "administration_prot_enable": "{0} aktivert", - "administration_prot_error": "Feil. Jeg trenger \"Behandle roller\" tillatelse.", - "administration_prot_none": "Ingen beskyttelser aktivert", - "administration_raid_cnt": "Bruker terskelen må være mellom {0} og {1}", - "administration_raid_stats": "Hvis {0} eller flere brukere kommer inn i løpet av {1} sekunder, blir de {2}", - "administration_raid_time": "Tiden må være mellom {1} og {1} sekunder.", - "administration_rar": "Fjernet alle roller fra {0}", - "administration_rar_err": "Kunne ikke fjerne roller. Jeg har ikke de rette tillatelsene.", - "administration_rc": "Rollen {0} sin farge er blitt endret.", - "administration_rc_not_exist": "Den rollen eksisterer ikke.", - "administration_rc_params": "Gitte parametere er ikke gyldige.", - "administration_rc_perms": "En feil oppstod, grunnet ugyldig fargekode, eller ikke tilstrekkelig med tillatelser.", - "administration_remrole": "Fjernet rollen {0} fra {1}", - "administration_remrole_err": "Kunne ikke fjerne rollen. Jeg har ikke tilstrekkelig med tillatelser", - "administration_renrole": "Endret navn på rolle.", - "administration_renrole_err": "Kunne ikke endre navn på rolle. Jeg har ikke tilstrekkelig med tillatelser.", - "administration_renrole_perms": "Du kan ikke endre på roller som er høyere enn din i hierarkiet.", - "administration_reprm": "Fjernet 'Spiller'-melding: {0}", - "administration_role_added": "Roller {0} er lagt til i listen", - "administration_role_clean": "{0} ikke funnet. Renset opp.", - "administration_role_in_list": "Rolle {0} er allerede i listen", - "administration_ropl_added": "Lagt til.", - "administration_ropl_disabled": "Roterende 'spiller'-status deaktivert.", - "administration_ropl_enabled": "Roterende 'spiller'-status aktivert.", - "administration_ropl_list": "Liste med roterende statuser:\n{0}", - "administration_ropl_not_set": "Ingen roterende statuser er satt.", - "administration_self_assign_already": "Du har allerede rollen {0}", - "administration_self_assign_already_excl": "Du har allerede en eksklusiv rolle: {0}", - "administration_self_assign_excl": "Selvsettende roller er nå eksklusive!", - "administration_self_assign_list": "Det er nå {0} selvsettende roller.", - "administration_self_assign_not": "Den rollen er ikke selvsettende.", - "administration_self_assign_not_have": "Du har ikke rollen {0}.", - "administration_self_assign_no_excl": "Selvsettende roller er nå ikke eksklusive!", - "administration_self_assign_perms": "Jeg kan ikke gi deg den rollen.\n`Jeg kan ikke gi roller til eiere eller brukere som har en rolle høyere enn min egen i hierarkiet`", - "administration_self_assign_rem": "{0} ble fjernet fra listen over selvsettende roller.", - "administration_self_assign_remove": "Du har ikke lenger rollen {0}", - "administration_self_assign_success": "Du har nå rollen {0}", - "administration_setrole": "Gav rollen {0} til {1}", - "administration_setrole_err": "Kunne ikke legge til rolle. Jeg har ikke de rette tillatelsene.", - "administration_set_avatar": "Nytt profilbilde er satt!", - "administration_set_channel_name": "Nytt kanalnavn satt.", - "administration_set_game": "Nytt spill satt.", - "administration_set_stream": "Ny strøm satt.", - "administration_set_topic": "Nytt kanalemne satt", - "administration_shard_reconnected": "Shard {0} gjentilkoblet.", - "administration_shard_reconnecting": "Kobler til shard {0} på nytt", - "administration_shutting_down": "Avslutter", - "administration_slowmode_desc": "Brukere kan ikke sende flere enn {0} meldinger i løpet av {1} sekunder.", - "administration_slowmode_disabled": "Sakte modus deaktivert", - "administration_slowmode_init": "Sakte modus aktivert", - "administration_soft_banned_pl": "soft-banned (sparket)", - "administration_spam_ignore": "{0} vil nå ignorere denne kanalen.", - "administration_spam_not_ignore": "{0} vil ikke lenger ignorere denne kanalen.", - "administration_spam_stats": "Hvis en bruker sender {0} like meldinger på rad, vil de bli {1}.\n__IgnoredChannels__: {2}", - "administration_text_chan_created": "Tekstkanal opprettet", - "administration_text_chan_destroyed": "Tekstkanal fjernet", - "administration_undeafen": "Demping fjernet", - "administration_unmuted_sn": "Fjernet demping", - "administration_username": "Brukernavn", - "administration_username_changed": "Brukernavn endret", - "administration_users": "Brukere", - "administration_user_banned": "Bruker utestengt", - "administration_user_chat_mute": "{0} har blit **dempet** fra å chatte.", - "administration_user_chat_unmute": "Fjernet demping på {0} for chatting.", - "administration_user_joined": "Bruker ble med i samtalen.", - "administration_user_left": "Bruker Forlatt.", - "administration_user_muted": "{0} har blitt **dempet** fra tekst og talekanaler.", - "administration_user_role_add": "Brukerrolle lagt til", - "administration_user_role_rem": "Brukerrolle fjernet", - "administration_user_status_change": "{0} er nå {1}", - "administration_user_unmuted": "{0} er ikke lenger dempet fra tekst og tale.", - "administration_user_vjoined": "{0} har blitt med i {1} ", - "administration_user_vleft": "{0} har forlatt {1} ", - "administration_user_vmoved": "{0} flyttet fra {1} til {2}", - "administration_user_voice_mute": "{0} har blitt **tale dempet***", - "administration_user_voice_unmute": "{0} er ikke lenger **taledempet**", - "administration_voice_chan_created": "Talekanal laget", - "administration_voice_chan_destroyed": "Talekanal fjernet", - "administration_vt_disabled": "Deaktivert tale + tekst funksjon.", - "administration_vt_enabled": "Aktivert lyd + tekst funksjon.", - "administration_vt_exit": "Jeg har ikke **", - "administration_vt_no_admin": "Du aktiverer/deaktiverer denne funksjonen og **jeg ikke har administratorrettigheter**. Dette kan føre til noen problemer, og du blir nødt til å rydde opp i tekst kanaler selv etterpå.", - "administration_vt_perms": "Jeg trenger **Behandle roller** og **Administrer kanaler** tillatelser for å aktivere denne egenskapen. (Administrator er foretrukket)", - "administration_xmuted_text": "Bruker {0} fra tekst-chat", - "administration_xmuted_text_and_voice": "Bruker {0} fra tekst og tale chat", - "administration_xmuted_voice": "Bruker {0} fra stemmechat", - "administration_sbdm": "Du har blitt 'soft-banned' fra {0} server.\nGrunn: {1}", - "administration_user_unbanned": "Fjernet bruker fra utestenging", - "administration_migration_done": "Migrering fullført!", - "adminsitration_migration_error": "Feil under migrering, sjekk botens konsoll for mer informasjon.", - "administration_presence_updates": "Oppdatering av tilstedeværelse", - "administration_sb_user": "Bruker soft-banned", - "gambling_awarded": "har tildelt {0} til {1}", - "gambling_better_luck": "Bedre hell neste gang :3", - "gambling_br_win": "Gratulerer! Du vant {0} for å rulle høyere enn {1}", - "gambling_deck_reshuffled": "Kortstokk stokket.", - "gambling_flipped": "kastet {0}.", - "gambling_flip_guess": "Du gjettet det! Du vant {0}", - "gambling_flip_invalid": "Ugyldig nummer spesifisert. Du kan kaste 1 til {0} mynter.", - "gambling_flowerreaction_desc": "Legg {0} reaksjon på denne meldingen for å få {1} ", - "gambling_flowerreaction_footer": "Denne hendelsen er aktiv i opptil {0} timer.", - "gambling_flowerreaction_title": "Blomster reaksjonshendelse startet!", - "gambling_gifted": "har gitt {0} til {1}", - "gambling_has": "{0} har {1}", - "gambling_heads": "Mynt", - "gambling_leaderboard": "Resultattavle", - "gambling_mass_award": "Tildelt {0} til {1} brukere fra {2} rollen.", - "gambling_max_bet_limit": "Du kan ikke vedde mer enn {0}", - "gambling_min_bet_limit": "Du kan ikke vedde mindre enn {0}", - "gambling_not_enough": "Du har ikke nok {0}", - "gambling_no_more_cards": "Ikke flere kort i kortstokken.", - "gambling_raffled_user": "Trakk bruker", - "gambling_roll": "Du rullet {0}.", - "gambling_slot_bet": "Vedde", - "gambling_slot_jackpot": "WOAAHHHHHH!!! Gratulerer!!! x{0}", - "gambling_slot_single": "En enkel {0}, x{1}", - "gambling_slot_three": "Wow! Heldig! Tre like! x{0}", - "gambling_slot_two": "Godt jobbet! To {0} - veddemål x{1}", - "gambling_slot_won": "Vant", - "gambling_sneakygamestatus_desc": "Brukere må skrive et hemmelig kodeord for å få {0}.\nVarer i {1} sekunder. Ikke si det til noen. Shhh.", - "gambling_sneakygamestatus_end": "SneakyGame hendelse avsluttet. {0} brukere fikk belønning.", - "gambling_sneakygamestatus_title": "SneakyGameStatus hendelse startet", - "gambling_tails": "Kron", - "gambling_take": "vellykket i og ta {0} fra {1}", - "gambling_take_fail": "Kunne ikke ta {0} fra {1} fordi brukeren hadde ikke så mye {2}!", - "help_back_to_toc": "Tilbake til innholdsfortegnelsen", - "help_bot_owner_only": "Kun boteier", - "help_channel_permission": "Krever {0} kanal tillatelse.", - "help_cmdlist_donate": "Du kan støtte prosjektet på Patreon: <{0}> eller paypal: <{1}>", - "help_cmd_and_alias": "Kommandoer og aliaser", - "help_commandlist_regen": "Kommandoliste regenerert.", - "help_commands_instr": "Skriv `{0}h Kommandonavn` å se hjelpen for den oppgitte kommandoen. f.eks `{0}h >8ball`", - "help_command_not_found": "Jeg kan ikke finne den kommandoen. Kontroller at kommandoen finnes før du prøver igjen.", - "help_desc": "Beskrivelse", - "help_donate": "Du kan støtte NadekoBot prosjektet på\nPatreon <{0}> eller\nPaypal <{1}>\nIkke glem å skrive Discord navnet eller ID i meldingen.\n\n** Takk ** ♥ ️", - "help_guide": "** Liste over kommandoer **: <{0}>\n** Hosting guider og dokumenter finner du her **: <{1}>", - "help_list_of_commands": "Liste av kommandoer", - "help_list_of_modules": "Liste av moduler", - "help_modules_footer": "Skriv '{0}cmds ModulNavn' for og få en liste av kommandoer i den modulen. f.eks '{0}cmds spill'", - "help_module_not_found": "Den modulen finnes ikke.", - "help_server_permission": "Krever {0} servertillatelse.", - "help_table_of_contents": "Innholdsfortegnelse", - "help_usage": "Bruk", - "nsfw_autohentai_started": "Autohentai startet. Poster hvert {0}s med følgende stikkord: {1}", - "nsfw_tag": "Stikkord", - "gambling_animal_race": "Veddeløp med dyr", - "gambling_animal_race_failed": "Kunne ikke starte siden det ikke var nok deltakere", - "gambling_animal_race_full": "Løpet er fullt. Starter nå.", - "gambling_animal_race_join": "{0} ble med som {1}", - "gambling_animal_race_join_bet": "{0} ble med som {1} og veddet {2}!", - "gambling_animal_race_join_instr": "Skriv {0}jr for og bli med i løpet.", - "gambling_animal_race_starting": "Starter om 20 sekunder eller når rommet er fullt.", - "gambling_animal_race_starting_with_x": "Starter med {0} deltakere.", - "gambling_animal_race_won": "{0} som {1} vant løpet!", - "gambling_animal_race_won_money": "{0} som {1} vant løpet og {2}!", - "gambling_dice_invalid_number": "Ugyldig nummer spesifisert. Du kan rulle {0}-{1} terninger på en gang.", - "gambling_dice_rolled": "rullet {0}", - "gambling_dice_rolled_num": "Terning rullet: {0}", - "gambling_race_failed_starting": "Kunne ikke starte løpet. Et annet løp er sannsynligvis igang.", - "gambling_race_not_exist": "Ingen løp eksisterer på denne serveren", - "gambling_second_larger_than_first": "Det andre tallet må være større enn det første", - "gambling_changes_of_heart": "Ombestemmelser", - "gambling_claimed_by": "Hevdet av", - "gambling_divorces": "Skilsmisser", - "gambling_likes": "Liker", - "gambling_price": "Pris", - "gambling_waifus_none": "Ingen waifus har blitt hevdet enda.", - "gambling_waifus_top_waifus": "Topp Waifus", - "gambling_waifu_affinity_already": "Din affinitet er allerede satt til den waifuen eller så prøver du å fjerne din egen affinitet uten å ha en.", - "gambling_waifu_affinity_changed": "byttet affinitet fra {0} til {1}.\n\n*Dette er moralsk tvilsomt.*", - "gambling_waifu_affinity_cooldown": "Du må vente {0} timer og {1} minutt for å bytte affinitet igjen.", - "gambling_waifu_affinity_reset": "Affiniteten din er tilbakestillt. Du liker ingen.", - "gambling_waifu_affinity_set": "ønsker å bli {0} sin waifu. Aww <3", - "gambling_waifu_claimed": "hevdet {0} som sin waifu for {1}!", - "gambling_waifu_divorced_like": "Du har skillt deg fra en waifu som liker deg, ditt hjerteløse monster!\n{0} fikk {1} som kompensation.", - "gambling_waifu_egomaniac": "du kan ikke sette affiniteten din til deg selv, ditt egoistiske monster!", - "gambling_waifu_fulfilled": "🎉 Deres kjærlighet er oppfylt 🎉\n{0} sin nye verdi er {1}!", - "gambling_waifu_isnt_cheap": "Ingen waifu er så billig. Du må betale minst {0} for å få en waifu, selv om deres verdi egentlig er lavere.", - "gambling_waifu_not_enough": "Du må betale {0} eller mer for å hevde den waifuen!", - "gambling_waifu_not_yours": "Den waifuen er ikke din.", - "gambling_waifu_not_yourself": "Du kan ikke hevde deg selv.", - "gambling_waifu_recent_divorce": "Du er nylig skilt. Du må vente {0} timer og {1} minutter for å kunne skille deg igjen.", - "gambling_nobody": "Ingen", - "gambling_waifu_divorced_notlike": "Du har skilt deg fra en waifu som ikke liker deg. Du fikk {0} tilbake.", - "games_8ball": "8ball", - "games_acrophobia": "Acrophobia", - "games_acro_ended_no_sub": "Spill avsluttet uten innleveringer.", - "games_acro_no_votes_cast": "Ingen stemmer telt. Spillet avsluttet med ingen vinnere.", - "games_acro_nym_was": "Akronymet var {0}.", - "games_acro_running": "Acrophobia-spill er allerede i gang i denne kanalen.", - "games_acro_started": "Spill startet. Lag en setning med det følgende akronymet: {0}.", - "games_acro_started_footer": "Du har {0} sekunder å levere inn på.", - "games_acro_submit": "{0} leverte inn sin setning. ({1} total)", - "games_acro_vote": "Stem ved å skrive nummer til innleveringen.", - "games_acro_vote_cast": "{0} avga sin stemme!", - "games_acro_winner": "Vinneren er {0} med {1} poeng.", - "games_acro_winner_only": "{0} er vinneren fordi han hadde den eneste innleveringen", - "games_question": "Spørsmål", - "games_rps_draw": "Det er uavgjort! Begge valgte {0}", - "games_rps_win": "{0} vant! {1} slår {2}", - "games_submissions_closed": "Innleveringer avluttet.", - "gambling_animal_race_already_started": "Veddeløp med dyr er allerede igang.", - "gambling_total_average": "Totalt: {0} Gjennomsnitt: {1}", - "games_category": "Kategori", - "games_cleverbot_disabled": "Deaktivert Cleverbot på denne serveren.", - "games_cleverbot_enabled": "Aktivert Cleverbot på denne serveren.", - "games_curgen_disabled": "Valuta generering har blitt deaktivert på denne kanalen.", - "games_curgen_enabled": "Valuta generering har blitt aktivert på denne kanalen.", - "games_curgen_pl": "{0} tilfeldig {1} dukket opp! Plukk dem opp ved og skrive'{2}pick'", - "games_curgen_sn": "En tilfeldig {0} dukket opp! Plukk den opp ved og skrive '{1}pick'", - "games_failed_loading_question": "Kunne ikke laste inn spørsmål.", - "games_game_started": "Spill startet", - "games_hangman_game_started": "Hangman spill startet", - "games_hangman_running": "Hangman spill kjører allerede i denne kanalen.", - "games_hangman_start_errored": "Kunne ikke starte Hangman", - "games_hangman_types": "Liste av \"{0}hangman\" begrepstyper:", - "games_leaderboard": "Resultattavle", - "games_not_enough": "Du har ikke nok {0}", - "games_no_results": "Ingen resultater", - "games_picked": "Plukket {0}", - "games_planted": "{0} plantet {1}", - "games_trivia_already_running": "Trivia kjører allerede på denne serveren.", - "games_trivia_game": "Trivia spill", - "games_trivia_guess": "{0} gjettet det! Svaret var: {1}", - "games_trivia_none": "Ingen trivia-spill gående på serveren.", - "games_trivia_points": "{0} har {1} poeng", - "games_trivia_stopping": "Stopper etter dette spørsmålet", - "games_trivia_times_up": "Tiden er ute! Det riktige svaret var {0}", - "games_trivia_win": "{0} gjettet det og VANT spillet! Svaret var: {1}", - "games_ttt_against_yourself": "Du kan ikke spille mot deg selv.", - "games_ttt_already_running": "Bondesjakk kjører allerede i denne kanalen.", - "games_ttt_a_draw": "Uavgjort!", - "games_ttt_created": "har startet et spill med bondesjakk", - "games_ttt_has_won": "{0} har vunnet!", - "games_ttt_matched_three": "Matchet tre", - "games_ttt_no_moves": "Ingen bevegelser igjen!", - "games_ttt_time_expired": "Tiden er ute!", - "games_ttt_users_move": "{0} sin tur", - "games_vs": "{0} mot {1}", - "music_attempting_to_queue": "Forsøker å sette i kø {0} sanger...", - "music_autoplay_disabled": "Automatisk avspilling deaktivert", - "music_autoplay_enabled": "Automatisk avspilling aktivert.", - "music_defvol_set": "Standard volum satt til {0}%", - "music_dir_queue_complete": "Mappelisting ferdig.", - "music_fairplay": "fairplay", - "music_finished_song": "Sang ferdig", - "music_fp_disabled": "Rettferdig avspilling deaktivert", - "music_fp_enabled": "Rettferdig avspilling aktivert", - "music_from_position": "Fra posisjon", - "music_id": "Id", - "music_invalid_input": "Ugyldig tilføring.", - "music_max_playtime_none": "Max spilletid har ingen grenser nå.", - "music_max_playtime_set": "Max spilletid satt til {0} sekund(er).", - "music_max_queue_unlimited": "Max musikk-kø størrelse satt til uendelig.", - "music_max_queue_x": "Max musikk-kø størrelse satt til {0} sang(er).", - "music_must_be_in_voice": "Du må være i en talekanal på denne serveren.", - "music_name": "Navn", - "music_now_playing": "Spiller", - "music_no_player": "Ingen aktive musikkspillere.", - "music_no_search_results": "Ingen søkeresultater.", - "music_paused": "Musikkavspilling pauset", - "music_player_queue": "Spilleliste - Side {0}/{1}", - "music_playing_song": "Spiller sang", - "music_playlists": "#{0}` - **{1}** av *{2}* ({3} sanger)", - "music_playlists_page": "Side {0} av lagrede spillelister", - "music_playlist_deleted": "Spilleliste slettet.", - "music_playlist_delete_fail": "Klarte ikke å slette spillelisten. Enten eksisterer den ikke, eller så var det ikke du som lagde den.", - "music_playlist_id_not_found": "Spilleliste med den IDen eksisterer ikke.", - "music_playlist_queue_complete": "Spilleliste-kø komplett.", - "music_playlist_saved": "Spilleliste lagret", - "music_play_limit": "{0}s grense", - "music_queue": "Kø", - "music_queued_song": "Sang i kø", - "music_queue_cleared": "Musikk-kø tømt.", - "music_queue_full": "Køen er full {0}/{0}-", - "music_removed_song": "Fjernet sang", - "music_repeating_cur_song": "Repeterer nåværende sang", - "music_repeating_playlist": "Repeterer spilleliste", - "music_repeating_track": "Repeterer spor", - "music_repeating_track_stopped": "Repetisjon av nåværende sang stoppet", - "music_resumed": "Musikk-avspilling gjenopptatt.", - "music_rpl_disabled": "Repetisjon av spilleliste stoppet.", - "music_rpl_enabled": "Repetisjon av spilleliste startet.", - "music_set_music_channel": "Meldinger om sanger som spilles av, er ferdige, pauset og fjernet vil bli vist i denne kanalen.", - "music_skipped_to": "Skippet til '{0}:{1}'", - "music_songs_shuffled": "Sanger stokket", - "music_song_moved": "Sang flyttet", - "music_time_format": "{0}t {1}m {2}s", - "music_to_position": "Til posisjon", - "music_unlimited": "Ubegrenset", - "music_volume_input_invalid": "Lyden må være mellom 0 og 100", - "music_volume_set": "Volum satt til {0}%", - "permissions_acm_disable": "Deaktivert bruk av ALLE MODULER i kanalen {0}.", - "permissions_acm_enable": "Aktivert bruk av ALLE MODULER i kanalen {0}.", - "permissions_allowed": "Tillatt", - "permissions_arm_disable": "Deaktivert bruk av ALLE MODULER for {0} rollen.", - "permissions_arm_enable": "Aktivert bruk av ALLE MODULER for {0} rollen.", - "permissions_asm_disable": "Deaktivert bruk av ALLE MODULER på denne serveren.", - "permissions_asm_enable": "Aktivert bruk av ALLE MODULER på denne serveren.", - "permissions_aum_disable": "Deaktivert bruk av ALLE MODULER for bruker {0}.", - "permissions_aum_enable": "Aktivert bruk av ALLE MODULER for bruker {0}.", - "permissions_blacklisted": "Svartelistet {0} med ID {1}", - "permissions_cmdcd_add": "Kommando {0} har nå en {1}s ventetid.", - "permissions_cmdcd_cleared": "Kommando {0} har ingen ventetid og alle eksisterende ventetider har blitt fjernet.", - "permissions_cmdcd_none": "Ingen kommando-ventetid satt.", - "permissions_command_costs": "Kommando kostnader", - "permissions_cx_disable": "Deaktivert bruk av {0} {1} i kanal {2}.", - "permissions_cx_enable": "Aktivert bruk av {0} {1} i kanal {2}.", - "permissions_denied": "Nektet", - "permissions_filter_word_add": "La til ordet {0} til listen av filtrerte ord.", - "permissions_filter_word_list": "Liste over filtrerte ord", - "permissions_filter_word_remove": "Fjernet ord {0} fra listen over filtrerte ord.", - "permissions_invalid_second_param_between": "Ugyldig andre parameter. (Må være et tall mellom {0} og {1})", - "permissions_invite_filter_channel_off": "Invitasjons-filtrering deaktivert i denne kanalen.", - "permissions_invite_filter_channel_on": "Invitasjons-filtrering aktivert i denne kanalen.", - "permissions_invite_filter_server_off": "Invitasjons-filtrering deaktivert på denne serveren.", - "permissions_invite_filter_server_on": "Invitasjons-filtrering aktivert på denne serveren.", - "permissions_moved_permission": "Flyttet tillatelse {0} fra #{1} til #{2}", - "permissions_not_found": "Finner ikke tillatelse ved index #{0}", - "permissions_no_costs": "Ingen kostnader satt.", - "permissions_of_command": "kommando", - "permissions_of_module": "modul", - "permissions_page": "Tillatelser side {0}", - "permissions_permrole": "Nåværende tillatelses-rolle er {0}.", - "permissions_permrole_changed": "Brukere må nå ha {0} rollen for å endre tillatelser.", - "permissions_perm_out_of_range": "Ingen tillatelse funnet på denne indeksen.", - "permissions_removed": "fjernet rettighet #{0} - {1}", - "permissions_rx_disable": "Deaktivert bruk av {0} {1} for {2} rollen.", - "permissions_rx_enable": "Aktivert bruk av {0} {1} for {2} rollen.", - "permissions_sec": "sek.", - "permissions_sx_disable": "Deaktivert bruk av {0} {1} på denne serveren.", - "permissions_sx_enable": "Aktivert bruk av {0} {1} på denne serveren.", - "permissions_unblacklisted": "Fjernet {0} med ID {1} fra svartelisten", - "permissions_uneditable": "uredigerbar", - "permissions_ux_disable": "Deaktivert bruk av {0} {1} for {2} bruker.", - "permissions_ux_enable": "Aktivert bruk av {0} {1} for {2} bruker.", - "permissions_verbose_false": "Jeg vil ikke lenger vise tillatelses-advarsler.", - "permissions_verbose_true": "Jeg vil nå vise tillatelses-advarsler.", - "permissions_word_filter_channel_off": "Ord filtrering er deaktivert i denne kanalen.", - "permissions_word_filter_channel_on": "Ord filtrering aktivert på denne kanalen.", - "permissions_word_filter_server_off": "Ord filtrering deaktivert på denne serveren.", - "permissions_word_filter_server_on": "Ord filtrering aktivert på denne serveren.", - "searches_abilities": "Ferdigheter", - "searches_anime_no_fav": "Ingen favoritt anime", - "searches_atl_ad_started": "Startet automatisk oversettelse av meldinger i denne kanalen. Bruker-meldinger vil bli slettet automatisk.", - "searches_atl_removed": "Ditt automatisk oversatte språk er fjernet", - "searches_atl_set": "Ditt automatisk oversatte språk er satt til {0}>{1}", - "searches_atl_started": "Startet automatisk oversettelse av meldinger i denne kanalen.", - "searches_atl_stopped": "Stoppet automatisk oversettelse av meldinger i denne kanalen.", - "searches_bad_input_format": "Feil tilførings format, eller noe gikk galt", - "searches_card_not_found": "Kunne ikke finne det kortet.", - "searches_catfact": "fakta", - "searches_chapters": "Kapittel", - "searches_comic_number": "Tegneserie #", - "searches_compet_loses": "Konkurerende tap", - "searches_compet_played": "Konkurranser spillt", - "searches_compet_rank": "Konkurrerende rangering", - "searches_compet_wins": "Konkurerende vinn", - "searches_completed": "Fullført", - "searches_condition": "Betingelse", - "searches_cost": "Kostnader", - "searches_date": "Dato", - "searches_define": "Definer:", - "searches_dropped": "Droppet", - "searches_episodes": "Episoder", - "searches_error_occured": "Feil oppsto.", - "searches_example": "Eksempel", - "searches_failed_finding_anime": "Kunne ikke finne anime.", - "searches_failed_finding_manga": "Kunne ikke finne manga", - "searches_genres": "Sjangre", - "searches_hashtag_error": "Fant ingen definisjon for det ordet", - "searches_height_weight": "Høyde/vekt", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Luftfuktighet", - "searches_image_search_for": "Bildesøk for:", - "searches_imdb_fail": "Kunne ikke finne den filmen.", - "searches_invalid_lang": "Ugyldig kilde- eller målspråk.", - "searches_jokes_not_loaded": "Kunne ikke laste vitser.", - "searches_latlong": "Bred./Lengd.", - "searches_level": "Nivå", - "searches_list_of_place_tags": "Liste over {0}place stikkord", - "searches_location": "Plassering", - "searches_magicitems_not_loaded": "Magiske gjenstander ble ikke lastet", - "searches_mal_profile": "{0} sin MAL profil", - "searches_mashape_api_missing": "Bot eieren har ikke spesifiser MashapeApiKey. Du kan ikke bruke denne funksjonen.", - "searches_min_max": "Min/Max", - "searches_no_channel_found": "Ingen kanal funnet.", - "searches_no_results": "Ingen resultater funnet.", - "searches_on_hold": "På vent", - "searches_original_url": "Original url", - "searches_osu_api_key": "En 'osu!' API-nøkkel er nødvendig.", - "searches_osu_failed": "Kunne ikke hente 'osu!' signatur.", - "searches_over_x": "Fant mer enn {0} bilder. Viser tilfeldig {0}.", - "searches_ow_user_not_found": "Bruker ikke funnet! Vennligst sjekk regionen og BattleTag før du prøver igjen.", - "searches_plan_to_watch": "Planlegger å se", - "searches_platform": "Plattform", - "searches_pokemon_ability_none": "Ingen evne funnet.", - "searches_pokemon_none": "Ingen pokemon funnet.", - "searches_profile_link": "Profil link:", - "searches_quality": "Kvalitet:", - "searches_quick_playtime": "Rask spilletid", - "searches_quick_wins": "Rask vinner", - "searches_rating": "Vurdering", - "searches_score": "Resultat:", - "searches_search_for": "Søk etter:", - "searches_shorten_fail": "Kunne forkorte den URLen.", - "searches_short_url": "Kort url", - "searches_something_went_wrong": "Noe gikk galt.", - "searches_specify_search_params": "Vennligst oppgi søkeparametere.", - "searches_status": "Status", - "searches_store_url": "Butikk url", - "searches_streamer_offline": "Streamer {0} er frakoblet.", - "searches_streamer_online": "Streamer {0} er online med {1} seere.", - "searches_streams_following": "Du følger {0} strømmer på denne serveren.", - "searches_streams_none": "Du følger ikke noen strømmer på denne serveren.", - "searches_stream_no": "Ingen slik strøm.", - "searches_stream_not_exist": "Strømmen eksisterer sannsynligvis ikke.", - "searches_stream_removed": "Fjernet {0} sin strøm ({1}) fra varslinger.", - "searches_stream_tracked": "Jeg vil varsle denne kanalen når statusen endres.", - "searches_sunrise": "Soloppgang", - "searches_sunset": "Solnedgang", - "searches_temperature": "Temperatur", - "searches_title": "Tittel:", - "searches_top_3_fav_anime": "Topp 3 favoritt animer:", - "searches_translation": "Oversettelse:", - "searches_types": "Typer", - "searches_ud_error": "Kunne ikke finne definisjonen for dette ordet.", - "searches_url": "URL", - "searches_viewers": "Seere", - "searches_watching": "Ser på", - "searches_wikia_error": "Kunne ikke finne det ordet på den angitte Wikia.", - "searches_wikia_input_error": "Vennligst skriv inn et mål-wikia, etterfulgt av søket.", - "searches_wiki_page_not_found": "Side ikke funnet.", - "searches_wind_speed": "Vindfart", - "searches_x_most_banned_champs": "De {0} mest forbydde 'champions'", - "searches_yodify_error": "Kunne ikke 'yodify' setningen din", - "utiliity_joined": "Ble med", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} totalt", - "utility_activity_page": "Aktivitet side #{0}", - "utility_activity_users_total": "{0} brukere totalt.", - "utility_author": "Forfatter", - "utility_botid": "BOT ID", - "utility_calcops": "Liste over funksjoner i {0}calc kommandoen", - "utility_channelid": "denne kanalens {0} er {1}", - "utility_channel_topic": "Kanal emne", - "utility_commands_ran": "Kommandoer kjørt", - "utility_convert": "{0} {1} er lik {2} {3}", - "utility_convertlist": "Enheter som kan brukes av omformeren", - "utility_convert_not_found": "Kan ikke konvertere {0} til {1}: enheter ikke funnet", - "utility_convert_type_error": "Kan ikke konvertere {0} til {1}: typer enheter er ikke lik", - "utility_created_at": "Laget på", - "utility_csc_join": "Ble med i kanalen for snakk på tvers av servere", - "utility_csc_leave": "Forlot kanalen for snakk på tvers av servere", - "utility_csc_token": "Dette er din CSC token", - "utility_custom_emojis": "Spesiallagde emojier", - "utility_error": "Feil", - "utility_features": "Egenskaper", - "utility_id": "ID", - "utility_index_out_of_range": "Indeks utenfor rekkevidde.", - "utility_inrole_list": "Her er en liste over brukere i disse rollene:", - "utility_inrole_not_allowed": "Du har ikke lov til å bruke denne kommandoen på roller med mange brukere i dem for å hindre misbruk.", - "utility_invalid_value": "Ugyldig {0} verdi.", - "utility_joined_discord": "Ble med Discord", - "utility_joined_server": "Ble med serveren", - "utility_listservers": "ID: {0}\nMedlemmer: {1}\nEier ID: {2}", - "utility_listservers_none": "Ingen servere funnet på denne siden.", - "utility_list_of_repeaters": "Liste over gjentagende meldinger", - "utility_members": "Medlemmer", - "utility_memory": "Minne", - "utility_messages": "Meldinger", - "utility_message_repeater": "Meldingsgjentager", - "utility_name": "Navn", - "utility_nickname": "Kallenavn", - "utility_nobody_playing_game": "Det er ingen som spiller det spillet.", - "utility_no_active_repeaters": "Det er ingen aktive gjentagere.", - "utility_no_roles_on_page": "Det er ingen roller på denne siden.", - "utility_no_shards_on_page": "Det er ingen shards på denne siden.", - "utility_no_topic_set": "Ingen emne er satt.", - "utility_owner": "Eier", - "utility_owner_ids": "Eier IDer", - "utility_presence": "Tilstedeværelse", - "utility_presence_txt": "{0} Servere\n{1} Tekst kanaler\n{2} Talekanaler", - "utility_quotes_deleted": "Slettet alle sitater med nøkkelordet `{0}`.", - "utility_quotes_page": "Side {0} med sitater", - "utility_quotes_page_none": "Det er ingen sitater på denne siden.", - "utility_quotes_remove_none": "Ingen sitater funnet som du kan fjerne.", - "utility_quote_added": "Sitat lagt til", - "utility_quote_deleted": "Sitat #{0} slettet.", - "utility_region": "Region", - "utility_registered_on": "Registrert den", - "utility_remind": "Jeg vil minne {0} på å {1} i {2} `({3:. d.M.yyyy} om {4:HH:mm})`", - "utility_remind_invalid_format": "Ikke et gyldig format. Sjekk kommandolisten.", - "utility_remind_template": "Ny påminnelses-mal satt", - "utility_repeater": "Gjentar {0} hver {1} dag(er), {2} time(r) og {3} minutt(er).", - "utility_repeaters_list": "Liste over gjentagere", - "utility_repeaters_none": "Ingen gjentagere kjører på denne serveren", - "utility_repeater_stopped": "#{0} stoppet.", - "utility_repeat_invoke_none": "Ingen gjentagende meldinger funnet på denne serveren.", - "utility_result": "Resultat", - "utility_roles": "Roller", - "utility_roles_all_page": "Side #{0} av alle roller på denne serveren:", - "utility_roles_page": "Side #{0} av roller for {1}", - "utility_rrc_no_colors": "Ingen farger er i riktig format. Bruk for eksempel `#00ff00`.", - "utility_rrc_start": "Startet rotering av {0} rollens farge.", - "utility_rrc_stop": "Stoppet rotering av farger for {0} rollen", - "utility_serverid": "{0} av denne serveren er {1}", - "utility_server_info": "Server info", - "utility_shard": "Shard", - "utility_shard_stats": "Shard status", - "utility_shard_stats_txt": "Shard **#{0}** sin status: {1} med {2} servere", - "utility_showemojis": "**Navn:** {0} **Link:** {1}", - "utility_showemojis_none": "Ingen spesielle emojier funnet.", - "utility_stats_songs": "Spiller {0} sanger, {1} i kø.", - "utility_text_channels": "Tekst kanaler", - "utility_togtub_room_link": "Her er linken til rommet ditt:", - "utility_uptime": "Oppetid", - "utility_userid": "{0} til brukeren {1} er {2}", - "utility_users": "Brukere", - "utility_voice_channels": "Tale kanaler", - "gambling_animal_race_already_in": "Du har allerede sluttet deg til dette løpet!", - "games_current_poll_results": "Foreløpige stemmeresultater", - "games_no_votes_cast": "Ingen stemmer samlet", - "games_poll_already_running": "Det kjøres allerede en avstemming på serveren.", - "games_poll_created": "📃 {0} har startet en avstemming som krever din oppmerksomhet:", - "games_poll_result": "`{0}.` {1} med {2} stemmer.", - "games_poll_voted": "{0} stemte.", - "games_poll_vote_private": "Send meg en privat melding med korresponderende antall svar.", - "games_poll_vote_public": "Send en melding her med tilsvarende nummer til ditt svar.", - "games_thanks_for_voting": "Takk for at du stemte, {0}", - "games_x_votes_cast": "{0} totalt stemmer avgitt.", - "games_pick_pl": "Plukk dem opp ved å skrive `{0}pick`", - "games_pick_sn": "Plukk den opp ved å skrive `{0}pick`", - "gambling_no_users_found": "Ingen bruker funnet", - "gambling_page": "side {0}", - "administration_must_be_in_voice": "Du må være i en talekanal på denne serveren", - "administration_no_vcroles": "Det finnes ingen stemmekanal-roller", - "administration_user_muted_time": "{0} har blitt **dempet** fra tekst og tale i {1} minutt(er)", - "administration_vcrole_added": "Brukere som blir med i talekanalen {0} får rollen {1}.", - "administration_vcrole_removed": "Brukere som blir med i talekanalen {0} får ikke lenger noen rolle.", - "administration_vc_role_list": "Stemmekanal-roller", - "customreactions_crad_disabled": "Meldingen som aktiverer reaksjonen med ID {0} vil ikke bli automatisk slettet.", - "customreactions_crad_enabled": "Meldingen som aktiverer reaksjonen med ID {0} vil bli automatisk slettet.", - "customreactions_crdm_disabled": "Respons-meldingen for tilpasset reaksjon med ID {0} vil ikke bli sendt som DM.", - "customreactions_crdm_enabled": "Respons-meldingen for tilpasset reaksjon med ID {0} vil bli sendt som DM", - "utility_aliases_none": "Ingen alias funnet", - "utility_alias_added": "{0} er nå alias for {1}", - "utility_alias_list": "Liste over alias", - "utility_alias_removed": "{0} har ikke lenger noe alias", - "utility_alias_remove_fail": "{0} hadde ikke noe alias", - "searches_compet_playtime": "Kompetitiv spilltid", - "administration_channel": "Kanal", - "administration_command_text": "Kommando tekst", - "administration_kicked_pl": "Sparket", - "administration_moderator": "Moderator", - "administration_page": "side {0}", - "administration_reason": "Grunn", - "administration_scadd": "Ny oppstartskommando lagt til.", - "administration_scrm": "Oppstartskommando fjernet.", - "administration_scrm_fail": "Fant ikke oppstartskommando", - "administration_server": "Server", - "administration_startcmdlist_none": "Ingen oppstartskommandoer på denne siden.", - "administration_startcmds_cleared": "Fjernet alle oppstartskommandoer", - "administration_unbanned_user": "Bruker {0} er ikke lenger utestengt", - "administration_user_not_found": "Fant ikke bruker.", - "administration_user_warned": "Advarte bruker {0}", - "administration_user_warned_and_punished": "Bruker {0} ble advart og straffet med {0}", - "administration_warned_on": "Advart på server {0}", - "administration_warned_on_by": "Den {0} kl. {1} av {2}", - "administration_warnings_cleared": "Alle advarsler fjernet for {0}", - "administration_warnings_none": "Ingen advarsler på denne siden.", - "administration_warnlog_for": "Advarselslogg for {0}", - "administration_warnpl_none": "Ingen straff satt.", - "administration_warn_cleared_by": "fjernet av {0}", - "administration_warn_punish_list": "Straffliste", - "administration_warn_punish_rem": "Å ha {0} advarsler vil ikke lenger gi noen straff.", - "administration_warn_punish_set": "Brukere med {1} advarsler vil bli straffet med {0}", - "administration_slowmodewl_role_start": "Slowmode vil nå ignorere rollen {0}.", - "administration_slowmodewl_role_stop": "Slowmode ignorerer ikke lenger rollen {0}.", - "administration_slowmodewl_user_start": "Slowmode vil nå ignorere brukeren {0}.", - "administration_slowmodewl_user_stop": "Slowmode vil ikke lenger ignorere brukeren {0}", - "utility_clpa_fail": "Kunne ikke hevde premie p.g.a. én av følgende grunner:", - "utility_clpa_fail_already": "Det er mulig du allerede har mottatt premien din for denne måneden. Du kan bare hevde premien én gang i måneden med mindre du øker summen.", - "utility_clpa_fail_already_title": "Allerede belønnet.", - "utility_clpa_fail_conn": "Din Discord konto er ikke tilkoblet Patreon. Om du er usikker på hva dette betyr, eller ikke er sikker på hvordan du gjør det, kan du gå til [Patreon kontoinnstillinger](https://patreon.com/settings/account) og klikk på 'Connect to Discord'-knappen.", - "utility_clpa_fail_conn_title": "Discord kontoen er ikke tilknyttet.", - "utility_clpa_fail_sup": "For å være kvalifisert for belønning, må du støtte prosjektet på Patreon. Du kan bruke {0} kommandoen for å få link.", - "utility_clpa_fail_sup_title": "Støttes ikke", - "utility_clpa_fail_wait": "Du må vente noen timer etter du har gitt ditt løfte. Prøv igjen om litt.", - "utility_clpa_fail_wait_title": "Vent litt.", - "utility_clpa_success": "Du har mottatt {0}. Takk for at du støtter prosjektet!", - "utility_clpa_too_early": "Belønninger kan bare hevdes fra og med den 5. dagen i måneden.", - "searches_time": "Tiden i {0} er {1} - {2}", - "administration_rh": "Sett visning av rollen {0} til {1}.", - "gambling_name": "Navn", - "gambling_shop": "Butikk", - "gambling_shop_item_add": "Gjenstand lagt til", - "gambling_shop_none": "Ingen enheter funnet på denne siden.", - "gambling_shop_role": "Du får rollen {0}", - "gambling_type": "Type", - "utility_clpa_next_update": "Neste oppdatering om {0}", - "administration_global_perms_reset": "Globale tillatelser er nullstilt", - "administration_gvc_disabled": "Funksjonen 'Talekanal for spill' er slått av.", - "administration_gvc_enabled": "{0} er nå 'talekanal for spill'.", - "administration_not_in_voice": "Du er ikke i en talekanal på denne serveren.", - "gambling_item": "Gjenstand", - "gambling_out_of_stock": "Tomt.", - "gambling_random_unique_item": "Tilfeldig unik gjenstand.", - "gambling_shop_buy_error": "Kunne ikke sende deg gjenstanden. Valuta refundert.", - "gambling_shop_item_not_found": "Ingen gjenstand funnet på angitt plass.", - "gambling_shop_item_purchase": "Kjøp av gjenstand er gjennomført.", - "gambling_shop_item_rm": "Gjenstand fjernet fra butikk.", - "gambling_shop_item_wrong_type": "Kan ikke legge til den typen gjenstand på den plasseringen.", - "gambling_shop_list_item_added": "Enhet lagt til.", - "gambling_shop_list_item_not_unique": "Den gjenstanden er allerede lagt til", - "gambling_shop_purchase": "Kjøp på server {0}", - "gambling_shop_role_not_found": "Rollen som blir solgt eksisterer ikke lenger.", - "gambling_shop_role_purchase": "Du har kjøp rollen {0}", - "gambling_shop_role_purchase_error": "Kunne ikke gi deg rollen. Kjøp kansellert og valuta refundert.", - "gambling_unique_items_left": "{0} unike gjenstander igjen", - "permissions_blocked_commands": "Blokkerte kommandoer", - "permissions_blocked_modules": "Blokkerte moduler", - "permissions_gcmd_add": "Kommandoen {0} er nå blokkert på alle servere.", - "permissions_gcmd_remove": "Kommandoen {0} er nå tilgjengelig på alle servere.", - "permissions_gmod_add": "Modulen {0} er nå blokkert på alle servere.", - "permissions_gmod_remove": "Modulen {0} er nå tilgjengelig på alle servere.", - "permissions_lgp_none": "Ingen blokkerte kommandoer eller moduler." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.pl-PL.json b/src/NadekoBot/_strings/ResponseStrings.pl-PL.json deleted file mode 100644 index ca423346..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.pl-PL.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Ta baza została już zdobyta lub zniszczona.", - "clashofclans_base_already_destroyed": "Ta baza została już zniszczona.", - "clashofclans_base_already_unclaimed": "Ta baza nie jest zdobyta.", - "clashofclans_base_destroyed": "**ZNISZCZONO** bazę #{1} w wojnie przeciwko {1}", - "clashofclans_base_unclaimed": "{0} **POZBYŁ SIĘ** bazy #{1} w wojnie przeciwko {2}", - "clashofclans_claimed_base": "{0} zdobył bazę #{1} w wojnie przeciwko {2}", - "clashofclans_claimed_other": "@{0} Już zdobyłeś bazę #{1}. Nie możesz zdobyć nowej. ", - "clashofclans_claim_expired": "Wypowiedzenie wojny od @{0} przeciwko {1} wygasło. ", - "clashofclans_enemy": "Wróg", - "clashofclans_info_about_war": "Informacje o wojnie przeciwko {0}", - "clashofclans_invalid_base_number": "Nieprawidłowy numer bazy.", - "clashofclans_invalid_size": "Nieprawidłowy rozmiar wojny.", - "clashofclans_list_active_wars": "Lista aktualnych wojen", - "clashofclans_not_claimed": "niezdobyta", - "clashofclans_not_partic": "Nie uczestniczysz w tej wojnie.", - "clashofclans_not_partic_or_destroyed": "@{0} nie uczestniczysz w tej wojnie albo ta baza została już zniszczona.", - "clashofclans_no_active_wars": "Brak aktywnych wojen.", - "clashofclans_size": "Rozmiar", - "clashofclans_war_already_started": "Wojna przeciwko {0} już się zaczęła.", - "clashofclans_war_created": "Wojna przeciwko {0} stworzona.", - "clashofclans_war_ended": "Wojna przeciwko {0} zakończyła się.", - "clashofclans_war_not_exist": "Ta wojna nie istnieje.", - "clashofclans_war_started": "Wojna przeciwko {o} zaczęła się!", - "customreactions_all_stats_cleared": "Wszystkie statystyki niestandardowych reakcji zostały wyczyszczone.", - "customreactions_deleted": "Własne reakcje zostały usunięte", - "customreactions_insuff_perms": "Niewystarczające uprawnienia. Wymagane są uprawnienia właściciela dla globalnych niestandardowych reakcji oraz uprawnienia administratora dla niestandardowych reakcji na serwerze.", - "customreactions_list_all": "Lista własnych reakcji", - "customreactions_name": "Niestandardowe reakcje", - "customreactions_new_cust_react": "Nowe niestandardowe reakcje", - "customreactions_no_found": "Niestandardowe reakcje nie zostały znalezione.", - "customreactions_no_found_id": "Niestandardowe reakcje z tym ID nie zostały znalezione.", - "customreactions_response": "Odpowiedź", - "customreactions_stats": "Statystyki niestandardowych reakcji", - "customreactions_stats_cleared": "Statystyki wyczyszczone dla {0} niestandardowych reakcji.", - "customreactions_stats_not_found": "", - "customreactions_trigger": "", - "nsfw_autohentai_stopped": "Zatrzymano autohentai.", - "nsfw_not_found": "Brak rezultatów.", - "pokemon_already_fainted": "{0} już zemdlał.", - "pokemon_already_full": "{0} ma już pełne HP.", - "pokemon_already_that_type": "Twoim typem jest już {0}", - "pokemon_attack": "użyto {0}{1} na {2}{3} zadając {4} obrażeń.", - "pokemon_cant_attack_again": "Nie możesz znowu zaatakować bez odwetu!", - "pokemon_cant_attack_yourself": "Nie możesz zaatakować sam siebie.", - "pokemon_fainted": "{0} zemdlał!", - "pokemon_healed": "wyleczono {0} używając {1}", - "pokemon_hp_remaining": "{0} zostało {1} HP.", - "pokemon_invalid_move": "Nie możesz użyć {0}. Napisz `{1}ml` by zobaczyć listę wszystkich ruchów które możesz użyć.", - "pokemon_moves": "Lista ruchów dla typu {0}", - "pokemon_not_effective": "To nie jest efektywne.", - "pokemon_no_currency": "Nie masz wystarczająco {0}", - "pokemon_revive_other": "Ożywiono {0}, używając {1}", - "pokemon_revive_yourself": "Ożywiłeś siebie, używając {0}", - "pokemon_settype_success": "Twój typ został zmieniony z {0} na {1}", - "pokemon_somewhat_effective": "To trochę efektywne.", - "pokemon_super_effective": "To bardzo efektywne!", - "pokemon_too_many_moves": "Użyłeś za dużo ruchów, więc nie możesz się ruszyć!", - "pokemon_type_of_user": "Typem {0} jest {1}", - "pokemon_user_not_found": "Nie znaleziono użytkownika.", - "pokemon_you_fainted": "Zemdlałeś, więc nie jesteś w stanie się ruszyć!", - "administration_aar_disabled": "**Automatyczne przydzielanie ról** dla nowych użytkowników jest teraz **wyłączone**.", - "administration_aar_enabled": "**Automatycznie przydzielanie ról** dla nowych użytkowników jest teraz **włączone*.", - "administration_attachments": "Załączniki", - "administration_avatar_changed": "Awatar został zmieniony", - "administration_bandm": "Zostałeś zbanowany z serwera {0}.\nPowód: {1}", - "administration_banned_pl": "zbanowany", - "administration_banned_user": "Użytkownik zabanowany", - "administration_bot_name": "Nazwa bota została zmieniona na: {0}", - "administration_bot_status": "Status bota został zmieniony na: {0}", - "administration_byedel_off": "Automatyczne usuwanie wiadomości pożegnalnych zostało wyłączone.", - "administration_byedel_on": "Wiadomości pożegnalne będą usuwane po {0} sekundach.", - "administration_byemsg_cur": "Obecna wiadomość pożegnalna: {0}", - "administration_byemsg_enable": "Włącz wiadomości pożegnalne, pisząc {0}", - "administration_byemsg_new": "Nowa wiadomość pożegnalna ustawiona.", - "administration_bye_off": "Powiadomienia pożegnalne wyłączone.", - "administration_bye_on": "Powiadomienia pożegnalne są włączone na tym kanale.", - "administration_ch_name_change": "Nazwa kanału została zmieniona.", - "administration_ch_old_name": "Stara nazwa", - "administration_ch_topic_change": "Temat kanału zmieniony", - "administration_cleaned_up": "Wyczyszczono.", - "administration_content": "Zawartość", - "administration_cr": "Stworzono rolę {0}", - "administration_createtextchan": "Kanał tekstowy {0} został stworzony.", - "administration_createvoich": "Kanał głosowy {0} został stworzony.", - "administration_deafen": "Wyciszono pomyślnie.", - "administration_deleted_server": "Usunięto serwer {0}", - "administration_delmsg_off": "Zatrzymano automatyczne usuwanie potwierdzeń o udanych użyciach komend.", - "administration_delmsg_on": "Rozpoczęto usuwanie potwierdzeń o udanych użyciach komend.", - "administration_deltextchan": "Kanał tekstowy {0} został usunięty.", - "administration_delvoich": "Kanał głosowy {0} został usunięty.", - "administration_dm_from": "Prywatna wiadomość od", - "administration_donadd": "Z powodzeniem dodano nowego darczyńcę. Łączna darowizna przekazana przez tego użytkownika wynosi: {0} 👑", - "administration_donators": "Dziękuję ludziom wypisanym na dole za pomoc w realizacji tego projektu!", - "administration_fwall_start": "Wyślę prywatne wiadomości do wszystkich właścicieli.", - "administration_fwall_stop": "Wyślę prywatną wiadomość tylko do pierwszego właściciela.", - "administration_fwdm_start": "Od teraz będę wysyłać prywatne wiadomości.", - "administration_fwdm_stop": "Od teraz nie będę wysyłać prywatnych wiadomości.", - "administration_greetdel_off": "Automatyczne usuwanie wiadomości powitalnych zostało wyłączone.\n", - "administration_greetdel_on": "Wiadomości powitalne będą usuwane po {0} sekundach.", - "administration_greetdmmsg_cur": "Aktualna prywatna wiadomość powitalna: {0}", - "administration_greetdmmsg_enable": "Aby włączyć prywatną wiadomość powitalną, wpisz {0}", - "administration_greetdmmsg_new": "Nowa prywatna wiadomość powitalna została ustawiona.", - "administration_greetdm_off": "Prywatne ogłoszenie powitalne zostało włączone", - "administration_greetdm_on": "Prywatne ogłoszenie powitalne zostało wyłączone", - "administration_greetmsg_cur": "Aktualna wiadomość powitalna: {0}", - "administration_greetmsg_enable": "Włącz wiadomości powitalne wpisując {0}", - "administration_greetmsg_new": "Nowa wiadomość powitalna ustawiona.", - "administration_greet_off": "Ogłoszenie powitalne wyłączone.", - "administration_greet_on": "Ogłoszenie powitalne włączone na tym kanale.", - "administration_hierarchy": "Nie możesz użyć tej komendy na użytkowniku z rolą wyższą lub równą twojej.", - "administration_images_loaded": "Obrazki załadowane po {0} sekundach.", - "administration_invalid_format": "Niepoprawny format zmiennej.", - "administration_invalid_params": "Niepoprawne parametry.", - "administration_joined": "{0} dołączył do {1}", - "administration_kickdm": "Zostałeś wyrzucony z serwera {0}.\nPowód: {1}", - "administration_kicked_user": "Użytkownik wyrzucony", - "administration_lang_list": "Lista języków", - "administration_lang_set": "Twojego servra lokal jest teraz {0} - {1}", - "administration_lang_set_bot": "", - "administration_lang_set_bot_show": "Język bota ustawiony na {0} - {1}", - "administration_lang_set_fail": "", - "administration_lang_set_show": "Język serwera został zmieniony na {0} - {1}", - "administration_left": "{0} opuścił {1}", - "administration_left_server": "Opuścił serwer {0}", - "administration_log": "Logowanie wydarzenia {0} na tym kanale.", - "administration_log_all": "Logowanie wszystkich wydarzeń na tym kanale.", - "administration_log_disabled": "Logowanie wyłączone.", - "administration_log_events": "", - "administration_log_ignore": "Logowanie będzie ignorowało {0}", - "administration_log_not_ignore": "Logowanie nie będzie ignorowało {0}", - "administration_log_stop": "Logowanie wydarzenia {1} zatrzymane.", - "administration_menrole": "", - "administration_message_from_bo": "Wiadomość od {0} `[Właściciel bota]`:", - "administration_message_sent": "Wiadomość została wysłana.", - "administration_moved": "{0} przeniesiono z {1} do {2}", - "administration_msg_del": "Wiadomość usunięta w #{0}", - "administration_msg_update": "Wiadomość zaktualizowana w #{0}", - "administration_muted_pl": "Wyciszony", - "administration_muted_sn": "Wyciszony", - "administration_mute_error": "Nie mam wystarczających uprawnień aby to zrobić.", - "administration_mute_role_set": "Nowa wyciszająca rola ustawiona.", - "administration_need_admin": "Potrzebuję uprawnień **administratora* żeby to zrobić.", - "administration_new_msg": "Nowa wiadomość", - "administration_new_nick": "Nowy pseudonim", - "administration_new_topic": "Nowy temat", - "administration_nick_change": "Pseudonim zmieniony", - "administration_no_server": "Serwer nie został znaleziony.", - "administration_no_shard_id": "Żaden shard z tym ID nie został znaleziony.", - "administration_old_msg": "Stara wiadomość", - "administration_old_nick": "Stary pseudonim", - "administration_old_topic": "Stary temat", - "administration_perms": "Wystąpił błąd. Najwyraźniej nie mam wystarczających uprawnień.", - "administration_perms_reset": "Uprawnienia tego serwera zostały zresetowane.", - "administration_prot_active": "Aktywne zabezpieczenia", - "administration_prot_disable": "{0} został **wyłączony** na tym serwerze.", - "administration_prot_enable": "{0} włączone", - "administration_prot_error": "Wystąpił błąd. Potrzebuję uprawnień zarządzania rolami", - "administration_prot_none": "Żadne zabezpieczenie nie jest aktywne.", - "administration_raid_cnt": "", - "administration_raid_stats": "Jeśli {0} lub więcej użytkowników dołączy w ciągu {1} sekund, {2} ich.", - "administration_raid_time": "Czas musi być pomiędzy {0} a {1} sekundą.", - "administration_rar": "Z powodzeniem usunięto wszystkie role użytkownika {0}", - "administration_rar_err": "Nie udało się usunąć ról. Nie mam wystarczających uprawnień.", - "administration_rc": "Kolor roli {0} został zmieniony.", - "administration_rc_not_exist": "Ta rola nie istnieje.", - "administration_rc_params": "Wyszczególnione parametry są błędne", - "administration_rc_perms": "Wystąpił błąd w związku z błędnym kolorem albo niewystarczającymi uprawnieniami.", - "administration_remrole": "Z powodzeniem usunięto rolę {0} użytkownikowi {1}", - "administration_remrole_err": "Wystąpił błąd przy usunięciu roli. Masz niewystarczające uprawnienia.", - "administration_renrole": "Nazwa roli została zmieniona.", - "administration_renrole_err": "Nie udało się zmienić nazwy roli. Nie mam wystarczających uprawnień.", - "administration_renrole_perms": "Nie możesz edytować ról wyższych od twojej.", - "administration_reprm": "", - "administration_role_added": "Rola {0} została dodana do listy.", - "administration_role_clean": "", - "administration_role_in_list": "Rola {0} jest już na liście.", - "administration_ropl_added": "Dodano.", - "administration_ropl_disabled": "", - "administration_ropl_enabled": "", - "administration_ropl_list": "", - "administration_ropl_not_set": "", - "administration_self_assign_already": "Masz już rolę {0}.", - "administration_self_assign_already_excl": "", - "administration_self_assign_excl": "Role, które można nadawać sobie samemu, są teraz ekskluzywne.", - "administration_self_assign_list": "Istnieje {0} ról, które możesz sam sobie nadać.", - "administration_self_assign_not": "Tej roli nie możesz nadać sobie sam.", - "administration_self_assign_not_have": "Nie posiadasz roli {0}", - "administration_self_assign_no_excl": "Role, które można nadawać sobie samemu, nie są już ekskluzywne.", - "administration_self_assign_perms": "Nie jestem w stanie nadać ci tej roli. `Nie mogę nadawać ról wyższych niż moja.`", - "administration_self_assign_rem": "Rola {0} została usunięta z listy ról, które użytkownik może sobie nadać sam.", - "administration_self_assign_remove": "Nie masz więcej roli {0}", - "administration_self_assign_success": "Masz teraz rolę {0}.", - "administration_setrole": "Z powodzeniem nadano rolę {0} użytkownikowi {1}", - "administration_setrole_err": "Nadanie roli nie powiodło się. Nie mam wystarczających uprawnień.", - "administration_set_avatar": "Nowy awatar został ustawiony!", - "administration_set_channel_name": "Nowa nazwa kanału została ustawiona!", - "administration_set_game": "Nowa gra ustawiona!", - "administration_set_stream": "Nowy stream ustawiony!", - "administration_set_topic": "Nowy temat kanału ustawiony.", - "administration_shard_reconnected": "Shard {0} połączony ponownie.", - "administration_shard_reconnecting": "Shard {0} łączy się ponownie.", - "administration_shutting_down": "Wyłączanie.", - "administration_slowmode_desc": "Użytkownik nie może wysłać więcej niż {1} wiadomości na {1} sekund.", - "administration_slowmode_disabled": "Slow mode wyłączony.", - "administration_slowmode_init": "Slow mode włączony", - "administration_soft_banned_pl": "lekko zbanowany (wyrzucony)", - "administration_spam_ignore": "{0} będzie ignorował ten kanał.", - "administration_spam_not_ignore": "{0} nie będzie więcej ignorował tego kanału.", - "administration_spam_stats": "Jeśli użytkownik napisze {0} takich samych wiadomości pod rząd, {0} go.\n __IgnorowaneKanały__: {2}", - "administration_text_chan_created": "Kanał tekstowy został stworzony.", - "administration_text_chan_destroyed": "Kanał tekstowy został usunięty.", - "administration_undeafen": "wyciszenie wyłączone", - "administration_unmuted_sn": "Odciszony", - "administration_username": "Nazwa użytkownika", - "administration_username_changed": "Nazwa użytkownika została zmieniona", - "administration_users": "Użytkownicy", - "administration_user_banned": "Użytkownik zbanowany", - "administration_user_chat_mute": "{0} został **wyciszony** z chatowania. ", - "administration_user_chat_unmute": "{0} został **odciszony** z chatowania. ", - "administration_user_joined": "Użytkownik dołączył", - "administration_user_left": "Użytkownik wyszedł", - "administration_user_muted": "{0} został **wyciszony** z chatu głosowego i pisanego.", - "administration_user_role_add": "Rola użytkownika dodana", - "administration_user_role_rem": "Rola użytkownika usunięta", - "administration_user_status_change": "{0} jest teraz {1}", - "administration_user_unmuted": "{0} został **odciszony** z chatu głosowego i pisanego.", - "administration_user_vjoined": "{0} dołączył do kanału {1}.", - "administration_user_vleft": "{0} opuścił kanał {1}.", - "administration_user_vmoved": "{0} przeniesiony z kanału {1} na {2}", - "administration_user_voice_mute": "{0} został **wyciszony z chatu głosowego**.", - "administration_user_voice_unmute": "{0} został **odciszony z chatu głosowego**.", - "administration_voice_chan_created": "Kanał głosowy został stworzony", - "administration_voice_chan_destroyed": "Kanał głosowy został usunięty", - "administration_vt_disabled": "Wyłączono funkcję głos + tekst.", - "administration_vt_enabled": "Włączono funkcję głos + tekst.", - "administration_vt_exit": "Nie mam uprawnień: **zarządzanie rolami** i **zarządzanie kanałami**, więc nie mogę uruchomić funkcji `głos+tekst` na serwerze {0}.", - "administration_vt_no_admin": "Włączasz/Wyłączasz tą funkcję i **Nie mam uprawnień ADMINISTRATORA**. Może to spowodować problemy i będziesz musiał czyścić kanały tekstowe sam.", - "administration_vt_perms": "By włączyć tą funkcję, muszę posiadać uprawnienia: **zarządzanie rolami** i **zarządzanie kanałami**. (Preferowane uprawnienia administratora)", - "administration_xmuted_text": "Użytkownik {0} z tekstowego czatu", - "administration_xmuted_text_and_voice": "Użytkownik {0} z tekstowego i głosowego czatu", - "administration_xmuted_voice": "Użytkownik {0} z czatu głosowego", - "administration_sbdm": "Zostałeś tymczasowo zablokowany na serwerze {0}\nPowód: {1}", - "administration_user_unbanned": "Użytkownik został odbanowany", - "administration_migration_done": "Migracja zakończona!", - "adminsitration_migration_error": "Błąd podczas migracji, sprawdz konsole bota po więcej informacji.", - "administration_presence_updates": "", - "administration_sb_user": "Użytkownik tymczasowo zablokowany", - "gambling_awarded": "nagrodził {0} {1}", - "gambling_better_luck": "Powodzenia następnym razem! ^_^", - "gambling_br_win": "Gratulacje! Wygrałeś {0} za wyrzucenie ponad {1}", - "gambling_deck_reshuffled": "Talia została przetasowana.", - "gambling_flipped": "wyrzucono {0}.", - "gambling_flip_guess": "Zgadłeś! Wygrałeś {0}", - "gambling_flip_invalid": "Użyty numer jest niepoprawny. Możesz rzucić 1 do {0} monet", - "gambling_flowerreaction_desc": "Dodaj reakcję {0} do tej wiadomości, aby dostać {1}", - "gambling_flowerreaction_footer": "To wydarzenie jest aktywne {0} godziny.", - "gambling_flowerreaction_title": "Wydarzenie reagowania kwiatkami rozpoczęło się!", - "gambling_gifted": "dał {0} dla {1}", - "gambling_has": "{0} ma {1}", - "gambling_heads": "Orzeł", - "gambling_leaderboard": "Ranking", - "gambling_mass_award": "Nagrodził {0} dla {1} użytkowników z roli {2}", - "gambling_max_bet_limit": "Nie możesz założyć się o więcej niż {0}", - "gambling_min_bet_limit": "Nie możesz założyć się o mniej niż {0}", - "gambling_not_enough": "Nie masz wystarczająco {0}", - "gambling_no_more_cards": "W talii nie ma więcej kart.", - "gambling_raffled_user": "Wylosowano użytkownika", - "gambling_roll": "Wyrzucono {0}", - "gambling_slot_bet": "Zakład", - "gambling_slot_jackpot": "ŁAAAAAAAAAAAAŁ!!! Gratulacje!!! x{0}", - "gambling_slot_single": "Pojedyńczy {0}, x{1}", - "gambling_slot_three": "Wow! Szczęściarz! Trójka! x{0}", - "gambling_slot_two": "Nieźle! Dwójka {0} - stawka x{1}", - "gambling_slot_won": "Wygrana", - "gambling_sneakygamestatus_desc": "Użytkownicy muszą wpisać tajny kod aby dostać {0}.\nTrwa {0} sekund. Nie nikomu. Ciiii.", - "gambling_sneakygamestatus_end": "Wydarzenie SneakyGame zakończyło się. {0} użytkowników otrzymało nagrodę.", - "gambling_sneakygamestatus_title": "Wydarzenie SneakyGameStatus rozpoczęło się.", - "gambling_tails": "Reszka", - "gambling_take": "z powodzeniem wziął {0} od {1}", - "gambling_take_fail": "nie był w stanie wziąć {0} od {1}, ponieważ użytkownik nie ma tylu {2}!", - "help_back_to_toc": "Powrót do ToC", - "help_bot_owner_only": "Tylko właściciel bota", - "help_channel_permission": "Wymagane {0} uprawnienie kanału.", - "help_cmdlist_donate": "Możesz wspierać ten projekt na patreonie: <{0}> albo poprzez paypala: <{1}>", - "help_cmd_and_alias": "Komendy i aliasy", - "help_commandlist_regen": "Lista komend została wygenerowana na nowo.", - "help_commands_instr": "Wpisz `{0}h NazwaKomendy` aby otrzymać pomoc dla danej komendy, np. `{0}h >8ball` ", - "help_command_not_found": "Nie mogę znaleźć komendy. Proszę sprawdź czy komenda istnieje, zanim jej użyjesz.", - "help_desc": "Opis", - "help_donate": "Możesz wspierać projekt NadekoBot na\nPatreonie <{0}> albo\nPaypalu <{1}>\nNie zapomnij zostawić swojej discordowej nazwy użytkownika albo ID w wiadomości.\n\n**Dziękujemy** ♥️ ", - "help_guide": "**Lista komend**:<{0}>\n**Poradniki hostowania i dokumenty znajdziesz tutaj**:<{1}>", - "help_list_of_commands": "Lista komend", - "help_list_of_modules": "Lista modułów", - "help_modules_footer": "", - "help_module_not_found": "Ten moduł nie istnieje.", - "help_server_permission": "Wymaga {0} uprawnień na serwerze.", - "help_table_of_contents": "Spis treści", - "help_usage": "Użycie", - "nsfw_autohentai_started": "Autohentai uaktywnione. Obrazki z jednym z tagów: {1} będą zamieszczane co {0} sekund.", - "nsfw_tag": "Tag", - "gambling_animal_race": "Wyścig zwierzaków", - "gambling_animal_race_failed": "Nie udało się zacząć wyścigu, ponieważ nie wzięła w nim udziału wystarczająca ilość osób.", - "gambling_animal_race_full": "Wszystkie miejsca są zajęte! Wyścig zacznie się natychmiastowo.", - "gambling_animal_race_join": "{0} dołączył jako {1}", - "gambling_animal_race_join_bet": "{0} dołączył jako {1} i założył się o {2}!", - "gambling_animal_race_join_instr": "Wpisz {0}jr aby wciąć udział w wyścigu.", - "gambling_animal_race_starting": "Zacznie się za 20 sekund albo gdy wszystkie miejsca będą zajęte.", - "gambling_animal_race_starting_with_x": "Zaczyna z {0} uczestnikami.", - "gambling_animal_race_won": "{1} czyli {0} wygrał wyścig!", - "gambling_animal_race_won_money": "{1} czyli {0} wygrał wyścig i {2}!", - "gambling_dice_invalid_number": "Użyty numer jest niepoprawny. Możesz rzucić {0}-{1} kośćmi na raz", - "gambling_dice_rolled": "wyrzucono {0}", - "gambling_dice_rolled_num": "Wyrzucone kostki: {0}", - "gambling_race_failed_starting": "Nie można zacząć wyścigu. Prawdopodobnie inny wyścig jest już aktywny.", - "gambling_race_not_exist": "Żaden wyścig nie jest aktywny na tym serwerze.", - "gambling_second_larger_than_first": "Drugi numer musi być większy od pierwszego.", - "gambling_changes_of_heart": "Zmiany serca", - "gambling_claimed_by": "Zdobyta przez", - "gambling_divorces": "Rozwody", - "gambling_likes": "Lubi", - "gambling_price": "Cena", - "gambling_waifus_none": "Nie zdobyłeś jeszcze żadnej waifu.", - "gambling_waifus_top_waifus": "Ranking", - "gambling_waifu_affinity_already": "", - "gambling_waifu_affinity_changed": "lubi teraz {0} zamiast {1}.\n\n*Czy to aby na pewno moralne?*", - "gambling_waifu_affinity_cooldown": "Musisz poczekać {0} godzin i {1} minut aby zmienić swój obiekt westchnień.", - "gambling_waifu_affinity_reset": "", - "gambling_waifu_affinity_set": "chce być zdobyta przez {0}. Aww <3", - "gambling_waifu_claimed": "zdobył waifu {0} za {1}!", - "gambling_waifu_divorced_like": "Rozwiodłeś się z waifu, która cię lubi. Ty bezduszny potworze!\n{0} odtrzymał {1} jako rekompensatę.", - "gambling_waifu_egomaniac": "", - "gambling_waifu_fulfilled": "🎉 To prawdziwa miłość! 🎉 \nNowa wartość {0} to {1}!", - "gambling_waifu_isnt_cheap": "Żadna waifu nie jest taka tania. Musisz zapłacić co najmniej {0} aby zdobyć waifu, nawet jeśli nie jest tyle warta.", - "gambling_waifu_not_enough": "Musisz zapłacić {0} albo więcej aby zdobyć tą waifu.", - "gambling_waifu_not_yours": "Ta waifu nie jest twoja.", - "gambling_waifu_not_yourself": "Nie możesz zdobyć siebie.", - "gambling_waifu_recent_divorce": "Rozwiodłeś się ostatnio. Musisz poczekać {0} ny i {1} minuty aby rozwieść się ponownie.", - "gambling_nobody": "Nikt", - "gambling_waifu_divorced_notlike": "Rozwiodłeś się z waifu, która cię nie lubi. W zamian dostałeś {0}.", - "games_8ball": "Kula nr. 8", - "games_acrophobia": "Lęk wysokości", - "games_acro_ended_no_sub": "Gra zakończona bez żadnych zgłoszeń.", - "games_acro_no_votes_cast": "Brak głosów. Gra zakończyła się bez zwycięzcy.", - "games_acro_nym_was": "Akronim to {0}.", - "games_acro_running": "", - "games_acro_started": "Gra rozpoczęta. Stwórz zdanie z podanym akronimem: {0}.", - "games_acro_started_footer": "Masz {0} sekund aby coś zgłosić.", - "games_acro_submit": "{0} zgłosił swoje zdanie. (łącznie {1})", - "games_acro_vote": "Głosuj, wpisując numer zgłoszenia.", - "games_acro_vote_cast": "{0} dał swój głos!", - "games_acro_winner": "Zwycięzcą jest {0} z {1} punktami.", - "games_acro_winner_only": "Użytkownik {0} wygrywa, ponieważ jako jedyny coś zgłosił!", - "games_question": "Pytanie", - "games_rps_draw": "Remis! Dwie osoby wybrały {0}", - "games_rps_win": "{0} wygrał! {1} pokonuje {2}", - "games_submissions_closed": "Zgłoszenia zakończone", - "gambling_animal_race_already_started": "Wyścig zwierzaków właśnie się odbywa.", - "gambling_total_average": "Łącznie: {0} Średnia: {1}", - "games_category": "Kategoria", - "games_cleverbot_disabled": "Wyłączono cleverbota na tym serwerze.", - "games_cleverbot_enabled": "Włączono cleverbota na tym serwerze.", - "games_curgen_disabled": "Generowanie przychodów zostało wyłączone na tym kanale.", - "games_curgen_enabled": "Generowanie przychodów zostało włączone na tym kanale.", - "games_curgen_pl": "", - "games_curgen_sn": "{0} się pojawiły!", - "games_failed_loading_question": "Nie udało się załadować pytania.", - "games_game_started": "Gra rozpoczęta.", - "games_hangman_game_started": "Gra w wisielca rozpoczęta", - "games_hangman_running": "Gra w wisielca już trwa na tym kanale.", - "games_hangman_start_errored": "Rozpoczynanie gry w wisielca nie powiodło się.", - "games_hangman_types": "", - "games_leaderboard": "Ranking", - "games_not_enough": "Nie masz wystarczająco {0}", - "games_no_results": "Brak wyników", - "games_picked": "podniósł {0}", - "games_planted": "{0} zasadził {1]", - "games_trivia_already_running": "Trivia jest aktywna na tym serwerze.", - "games_trivia_game": "Trivia", - "games_trivia_guess": "{0} zgadł! Odpowiedź to: {1}", - "games_trivia_none": "Trivia nie jest aktywna na tym serwerze.", - "games_trivia_points": "{0} posiada {1} punktów", - "games_trivia_stopping": "Koniec po tym pytaniu.", - "games_trivia_times_up": "Koniec czasu! Prawidłowa odpowiedź to {0}", - "games_trivia_win": "{0} zgadł i wygrał grę! Odpowiedź to: {1}", - "games_ttt_against_yourself": "Nie możesz grać przeciwko sobie.", - "games_ttt_already_running": "Gra kółko i krzyżyk jest aktywna na tym serwerze.", - "games_ttt_a_draw": "Remis!", - "games_ttt_created": "stworzył grę w kółko i krzyżyk.", - "games_ttt_has_won": "{0} wygrał!", - "games_ttt_matched_three": "", - "games_ttt_no_moves": "Brak ruchów!", - "games_ttt_time_expired": "Koniec czasu!", - "games_ttt_users_move": "Kolej {0}", - "games_vs": "{0} kontra {1}", - "music_attempting_to_queue": "Próba dołączenia {0} piosenek do kolejki...", - "music_autoplay_disabled": "Automatyczne odtwarzanie wyłączone.", - "music_autoplay_enabled": "Automatyczne odtwarzanie włączone.", - "music_defvol_set": "Domyślna głośność ustawiona na {0}%", - "music_dir_queue_complete": "", - "music_fairplay": "fairplay", - "music_finished_song": "Zakończono odtwarzanie piosenki", - "music_fp_disabled": "Fair play wyłączony.", - "music_fp_enabled": "Fair play włączony.", - "music_from_position": "Z pozycji", - "music_id": "ID", - "music_invalid_input": "Niepoprawna zmienna.", - "music_max_playtime_none": "Maksymalny czas grania ustawiony na: bez limitu.", - "music_max_playtime_set": "Maksymalny czas grania ustawiony na: {0} sekund.", - "music_max_queue_unlimited": "Maksymalna długość kolejki ustawiona na: bez limitu.", - "music_max_queue_x": "Maksymalna długość kolejki ustawiona na {5} utworów.", - "music_must_be_in_voice": "Musisz być na kanale głosowym na tym serwerze.", - "music_name": "Imię", - "music_now_playing": "Teraz gra", - "music_no_player": "Brak aktywnego odtwarzacza muzyki.", - "music_no_search_results": "Brak wyników", - "music_paused": "Odtwarzanie muzyki wstrzymane.", - "music_player_queue": "", - "music_playing_song": "Gra utwór", - "music_playlists": "`#{0}` - **{1}** przez *{2}* ({3} piosenek)", - "music_playlists_page": "Strona {0} zapisanych playlist", - "music_playlist_deleted": "Playlista usunięta.", - "music_playlist_delete_fail": "Nie możesz usunąć tej playlisty. Albo nie istnieje albo nie jesteś jej autorem.", - "music_playlist_id_not_found": "Playlista z takim ID nie istnieje.", - "music_playlist_queue_complete": "Kolejka do playlisty zakończona", - "music_playlist_saved": "Playlista zapisana", - "music_play_limit": "Limit {0}", - "music_queue": "Kolejka", - "music_queued_song": "Zakolejkowany utwór", - "music_queue_cleared": "Kolejka wyczyszczona.", - "music_queue_full": "Zapełnienie kolejki: {0}/{0}", - "music_removed_song": "Usunięto utwór", - "music_repeating_cur_song": "Powtarzanie aktualnego utworu", - "music_repeating_playlist": "Powtarzenie playlisty", - "music_repeating_track": "Powtarzanie utworu", - "music_repeating_track_stopped": "Powtarzanie aktualnego utworu zatrzymane.", - "music_resumed": "Odtwarzanie muzyki wznowione.", - "music_rpl_disabled": "Powtarzanie playlisty wyłączone.", - "music_rpl_enabled": "Powtarzanie playlisty włączone.", - "music_set_music_channel": "", - "music_skipped_to": "Przewinięto do `{0}:{1}`", - "music_songs_shuffled": "Utwory pomieszane", - "music_song_moved": "Utwór przeniesiony", - "music_time_format": "{0}g {1}m {2}s", - "music_to_position": "Do pozycji", - "music_unlimited": "bez limitu", - "music_volume_input_invalid": "Głośność musi być pomiędzy 0 a 100.", - "music_volume_set": "Głośność ustawiona na {0}%", - "permissions_acm_disable": "Wyłączono użycie WSZYSTKICH MODÓŁÓW na kanale {0}.", - "permissions_acm_enable": "Włączono użycie WSZYSTKICH MODÓŁÓW na kanale {0}.", - "permissions_allowed": "Dozwolone", - "permissions_arm_disable": "Wyłączono użycie WSZYSTKICH MODÓŁÓW dla roli {0}.", - "permissions_arm_enable": "Włączono użycie WSZYSTKICH MODÓŁÓW dla roli {0}.", - "permissions_asm_disable": "Wyłączono użycie WSZYSTKICH MODÓŁÓW na tym serwerze.", - "permissions_asm_enable": "Włączono użycie WSZYSTKICH MODÓŁÓW na tym serwerze.", - "permissions_aum_disable": "Wyłączono użycie WSZYSTKICH MODÓŁÓW dla użytkownika {0}.", - "permissions_aum_enable": "Włączono użycie WSZYSTKICH MODÓŁÓW dla użytkownika {0}.", - "permissions_blacklisted": "Na czarną listę wpisano użytkownika {0} z ID {1}", - "permissions_cmdcd_add": "Komenda {0} ma teraz {1}-sekundowy cooldown.", - "permissions_cmdcd_cleared": "Komenda {0} nie ma teraz cooldown'a. Wszystkie aktywne cooldown'y zostały zresetowane.", - "permissions_cmdcd_none": "Żadna komenda nie ma cooldown'a.", - "permissions_command_costs": "Komenda kosztuje", - "permissions_cx_disable": "Wyłączono użycie {0} {1} na kanale {2}.", - "permissions_cx_enable": "Włączono użycie {0} {1} na kanale {2}.", - "permissions_denied": "Odmówiono", - "permissions_filter_word_add": "Dodano słowo {0} do listy odfiltrowanych słów.", - "permissions_filter_word_list": "Lista odfiltrowanych słów", - "permissions_filter_word_remove": "Usunięto słowo {0} z listy odfiltrowanych słów.", - "permissions_invalid_second_param_between": "Błędny drugi parametr. (Musi być to liczba od {0} do {1})", - "permissions_invite_filter_channel_off": "", - "permissions_invite_filter_channel_on": "", - "permissions_invite_filter_server_off": "Filtrowanie zaproszeń na tym serwerze wyłączone.", - "permissions_invite_filter_server_on": "Filtrowanie zaproszeń na tym serwerze włączone.", - "permissions_moved_permission": "Przeniesiono uprawnienia {0} z #{1} to #{2}", - "permissions_not_found": "Nie znaleziono uprawnień w indeksie #{0}", - "permissions_no_costs": "", - "permissions_of_command": "komenda", - "permissions_of_module": "moduł", - "permissions_page": "Strona uprawnień {0}", - "permissions_permrole": "Aktualna rola z uprawnieniami to {0}.", - "permissions_permrole_changed": "Użytkownicy wymagają roli {0}, by móc edytować uprawnienia.", - "permissions_perm_out_of_range": "Żadne uprawnienia nie zostały znalezione w tym indeksie.", - "permissions_removed": "przeniesiono uprawnienia #{0} - {1} ", - "permissions_rx_disable": "Wyłączono użycie {0} {1} dla roli {2}.", - "permissions_rx_enable": "Włączono użycie {0} {1} dla roli {2}.", - "permissions_sec": "sek.", - "permissions_sx_disable": "Wyłączono użycie {0} {1} na tym serwerze.", - "permissions_sx_enable": "Włączono użycie {0} {1} na tym serwerze.", - "permissions_unblacklisted": "Z czarnej listy usunięto użytkownika {0} z ID {1}", - "permissions_uneditable": "nie do edytowania", - "permissions_ux_disable": "Wyłączono użycie {0} {1} dla użytkownika {2}.", - "permissions_ux_enable": "Włączono użycie {0} {1} dla użytkownika {2}.", - "permissions_verbose_false": "Nie będę więcej pokazywać ostrzeżeń dotyczących uprawnień.", - "permissions_verbose_true": "Będę pokazywać ostrzeżenia dotyczące uprawnień.", - "permissions_word_filter_channel_off": "Filtrowanie słów wyłączone na tym kanale.", - "permissions_word_filter_channel_on": "Filtrowanie słów włączone na tym kanale.", - "permissions_word_filter_server_off": "Filtrowanie słów wyłączone na tym serwerze.", - "permissions_word_filter_server_on": "Filtrowanie słów włączone na tym serwerze.", - "searches_abilities": "Zdolności", - "searches_anime_no_fav": "Brak ulubionego anime", - "searches_atl_ad_started": "Zaczęto automatyczne tłumaczenie wiadomości na tym kanale. Wiadomości użytkowników będą automatycznie usuwane.", - "searches_atl_removed": "twój auto-tłumaczący język został usunięty.", - "searches_atl_set": "twój auto-tłumaczący język został ustawiony {0}>{1}", - "searches_atl_started": "Zaczęto automatyczne tłumaczenie wiadomości na tym kanale.", - "searches_atl_stopped": "Zakończono automatyczne tłumaczenie wiadomości na tym kanale.", - "searches_bad_input_format": "Złe dane wejściowe albo coś poszło nie tak.", - "searches_card_not_found": "Nieznaleziono tej karty.", - "searches_catfact": "fakt", - "searches_chapters": "Rozdziały", - "searches_comic_number": "Komiks #", - "searches_compet_loses": "Przegrane rywalizacje", - "searches_compet_played": "Grane rywalizacje", - "searches_compet_rank": "Ranking rywalizacji", - "searches_compet_wins": "Wygrane rywalizacje", - "searches_completed": "Zakończony", - "searches_condition": "Warunek", - "searches_cost": "Koszt", - "searches_date": "Data", - "searches_define": "Zdefiniuj:", - "searches_dropped": "Porzucone", - "searches_episodes": "Odcinki", - "searches_error_occured": "Wystąpił błąd.", - "searches_example": "Przykład", - "searches_failed_finding_anime": "Wyszukiwanie tego animu nie powiodło się.", - "searches_failed_finding_manga": "Wyszukiwanie mango nie powiodło się.", - "searches_genres": "Gatunki", - "searches_hashtag_error": "Nie udało się znaleźć definicji dla tego tagu.", - "searches_height_weight": "Wysokość/szerokość", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Wilgotność", - "searches_image_search_for": "Szukanie obrazka dla:", - "searches_imdb_fail": "Wyszukiwanie tego filmu nie powiodło się.", - "searches_invalid_lang": "", - "searches_jokes_not_loaded": "Żarty nie zostały załadowane.", - "searches_latlong": "", - "searches_level": "Poziom", - "searches_list_of_place_tags": "Lista {0}place tagów", - "searches_location": "Lokalizacja", - "searches_magicitems_not_loaded": "Magiczne przedmioty nie zostały załadowane.", - "searches_mal_profile": "MAL użytkownika {0}", - "searches_mashape_api_missing": "Właściciel bota nie sprecyzował MashapeApiKey. Nie możesz użyć tej funkcji.", - "searches_min_max": "Min/Max", - "searches_no_channel_found": "Nie znaleziono kanału.", - "searches_no_results": "Brak rezultatów.", - "searches_on_hold": "Wstrzymane", - "searches_original_url": "Oryginalny URL", - "searches_osu_api_key": "Klucz osu! API jest wymagany.", - "searches_osu_failed": "Nie udało się wywołać sygnatury osu!.", - "searches_over_x": "Znaleziono {0} obrazków. Pokazuję przypadkowe {0}", - "searches_ow_user_not_found": "Nie znaleziono użytkownika! Proszę sprawdzić Region i BattleTag zanim znowu spróbujesz.", - "searches_plan_to_watch": "Planowane", - "searches_platform": "Platforma", - "searches_pokemon_ability_none": "Nie znaleziono umięjętności.", - "searches_pokemon_none": "Pokemon nieznaleziony", - "searches_profile_link": "Link profilowy:", - "searches_quality": "Jakość:", - "searches_quick_playtime": "", - "searches_quick_wins": "Szybkie wygrane", - "searches_rating": "Ocena", - "searches_score": "Wynik:", - "searches_search_for": "Szukaj:", - "searches_shorten_fail": "Skracanie tego url'u nie powiodło się", - "searches_short_url": "Skróć url", - "searches_something_went_wrong": "Coś poszło nie tak.", - "searches_specify_search_params": "Proszę o sprecyzowanie kryteriów wyszukiwania.", - "searches_status": "Status", - "searches_store_url": "Url sklepu", - "searches_streamer_offline": "Streamer {0} jest niedostępny.", - "searches_streamer_online": "Streamer {0} jest online z {1} widzami.", - "searches_streams_following": "Śledzisz {0} streamów na tym serwerze.", - "searches_streams_none": "Nie śledzisz żadnych streamów na tym serwerze.", - "searches_stream_no": "Nie ma takiego streamu.", - "searches_stream_not_exist": "Stream prawdopodobnie nie istnieje.", - "searches_stream_removed": "Usunięto stream użytkownika {0} ({1}) z powiadomień.", - "searches_stream_tracked": "Powiadomię ten kanał kiedy status się zmieni.", - "searches_sunrise": "Wschód słońca", - "searches_sunset": "Zachód słońca", - "searches_temperature": "Temperatura", - "searches_title": "Tytuł:", - "searches_top_3_fav_anime": "3 ulubione anime:", - "searches_translation": "Tłumaczenie:", - "searches_types": "Typy", - "searches_ud_error": "Nie znaleziono definicji dla tego terminu.", - "searches_url": "Url", - "searches_viewers": "Widzowie:", - "searches_watching": "Oglądane", - "searches_wikia_error": "Nie znaleziono tego terminu na konkretnej wikii.", - "searches_wikia_input_error": "", - "searches_wiki_page_not_found": "Strona nie została znaleziona.", - "searches_wind_speed": "Szybkość wiatru", - "searches_x_most_banned_champs": "Najczęściej banowane postacie w {0}", - "searches_yodify_error": "Problem z napisaniem Twojego zdania w stylu Yody", - "utiliity_joined": "Dołączył", - "utility_activity_line": "", - "utility_activity_page": "Strona aktywności #{0}", - "utility_activity_users_total": "Łącznie {0} użytkowników.", - "utility_author": "Autor", - "utility_botid": "ID bota", - "utility_calcops": "", - "utility_channelid": "{0} tego kanału to {1}", - "utility_channel_topic": "Temat kanału", - "utility_commands_ran": "", - "utility_convert": "{0} {1} wynosi {2} {3}", - "utility_convertlist": "Jednostki które mogą być przekonwertwane", - "utility_convert_not_found": "Nie można przekonwertować {0} na {1}: nie znaleziono jednostki", - "utility_convert_type_error": "", - "utility_created_at": "Stworzono w", - "utility_csc_join": "", - "utility_csc_leave": "", - "utility_csc_token": "To jest twój token CSC", - "utility_custom_emojis": "Niestandardowe emotikony", - "utility_error": "Błąd", - "utility_features": "Funkcje", - "utility_id": "ID", - "utility_index_out_of_range": "", - "utility_inrole_list": "Lista użytkowników w roli {0}", - "utility_inrole_not_allowed": "", - "utility_invalid_value": "", - "utility_joined_discord": "Dołączył do Discorda", - "utility_joined_server": "Dołączył do serwera", - "utility_listservers": "ID: {0}\nCzłonkowie: {1}\nID właściciela: {2}", - "utility_listservers_none": "Nie znaleziono serwerów na tej stronie.", - "utility_list_of_repeaters": "", - "utility_members": "Członkowie", - "utility_memory": "Pamięć", - "utility_messages": "Wiadomości", - "utility_message_repeater": "", - "utility_name": "Imię", - "utility_nickname": "Pseudonim", - "utility_nobody_playing_game": "Nikt nie gra w tą grę.", - "utility_no_active_repeaters": "", - "utility_no_roles_on_page": "Brak roli na tej stronie.", - "utility_no_shards_on_page": "Brak shard'ów na tej stronie.", - "utility_no_topic_set": "Brak tematu.", - "utility_owner": "Właściciel", - "utility_owner_ids": "ID właściciela", - "utility_presence": "Obecność", - "utility_presence_txt": "{0} serwerów\n{1} kanałów głosowych\n{2} kanałów tekstowych", - "utility_quotes_deleted": "Usunięto wszystkie cytaty ze słowem {0}.", - "utility_quotes_page": "{0} strona cytatów", - "utility_quotes_page_none": "Brak cytatów ona tej stronie.", - "utility_quotes_remove_none": "Nie znaleziono żadnych cytatów które możesz usunąć.", - "utility_quote_added": "Dodano cytat", - "utility_quote_deleted": "Usunięto cytat #{0}", - "utility_region": "Region", - "utility_registered_on": "Zarejestrowany", - "utility_remind": "Przypomnę {0} dla {2} `({3:d.M.yyyy.} o {4:HH:mm})`", - "utility_remind_invalid_format": "", - "utility_remind_template": "", - "utility_repeater": "Powtarzanie {0} co {1} dni, {2} godzin i {3} minut.", - "utility_repeaters_list": "", - "utility_repeaters_none": "", - "utility_repeater_stopped": "#{0} zatrzymany.", - "utility_repeat_invoke_none": "", - "utility_result": "Wynik", - "utility_roles": "Role", - "utility_roles_all_page": "Strona #{} wszystkich ról na tym serwerze:", - "utility_roles_page": "Strona #{0} ról {1}", - "utility_rrc_no_colors": "Kolory zostały podane w niepoprawnej formie. Użyj np. `#00ff00`", - "utility_rrc_start": "Zaczęto zmienianie kolorów dla roli {0}", - "utility_rrc_stop": "Zakończono zmienianie kolorów dla roli {0}", - "utility_serverid": "{0} tego serwera to {1}", - "utility_server_info": "Informacje o serwerze", - "utility_shard": "Shard", - "utility_shard_stats": "Statystyki odłamka", - "utility_shard_stats_txt": "", - "utility_showemojis": "**Nazwa:** {0} **Link:** {1}", - "utility_showemojis_none": "Nie znaleziono żadnych specjalnych emotikon", - "utility_stats_songs": "Teraz leci {0} piosenek; {1} w kolejce", - "utility_text_channels": "Kanały głosowe", - "utility_togtub_room_link": "Twój link do pokoju:", - "utility_uptime": "Czas działania", - "utility_userid": "", - "utility_users": "Użytkownicy", - "utility_voice_channels": "Kanały głosowe", - "gambling_animal_race_already_in": "Już dołączyłeś do tego wyścigu!", - "games_current_poll_results": "", - "games_no_votes_cast": "Nie ma oddanych głosów.", - "games_poll_already_running": "Ankieta już istnieje na tym serwerze.", - "games_poll_created": "📃 {0} stworzył ankietę, która wymaga twojej uwagi:", - "games_poll_result": "`{0}.` {1} z {2} głosami.", - "games_poll_voted": "{0} głosów.", - "games_poll_vote_private": "", - "games_poll_vote_public": "", - "games_thanks_for_voting": "Dziękuję za oddany głos, {0}", - "games_x_votes_cast": "{0} oddanych głosów.", - "games_pick_pl": "Podnieś je przez napisanie `{0}pick`", - "games_pick_sn": "Podnieś to przez napisanie `{0}pick`", - "gambling_no_users_found": "Nie znaleziono użytkownika.", - "gambling_page": "Strona {0}", - "administration_must_be_in_voice": "Musisz znajdować się na kanale głosowym na tym serwerze.", - "administration_no_vcroles": "Niema żadnych ról w kanałach głosowych. ", - "administration_user_muted_time": "{0} został **wyciszony** w kanałach tekstowych oraz głosowych na {1} minut.", - "administration_vcrole_added": "Użytkownicy którzy dołączą do kanału głosowego {0} , otrzymają rolę {1}.", - "administration_vcrole_removed": "Użytkownicy którzy dołączą do kanału głosowego {0} już nie dostaną roli.", - "administration_vc_role_list": "Uprawnienia kanału głosowego", - "customreactions_crad_disabled": "", - "customreactions_crad_enabled": "", - "customreactions_crdm_disabled": "Odpowiedź na niestandardową reakcję z id {0} będzie wysłana jako wiadomość prywatna.", - "customreactions_crdm_enabled": "Odpowiedź na niestandardową reakcję z id {0} będzie wysłana jako wiadomość prywatna.", - "utility_aliases_none": "", - "utility_alias_added": "", - "utility_alias_list": "Lista pseudonimów", - "utility_alias_removed": "", - "utility_alias_remove_fail": "", - "searches_compet_playtime": "", - "administration_channel": "Kanał", - "administration_command_text": "", - "administration_kicked_pl": "Wyrzucony", - "administration_moderator": "Moderator", - "administration_page": "strona {0}", - "administration_reason": "Powód", - "administration_scadd": "", - "administration_scrm": "", - "administration_scrm_fail": "", - "administration_server": "Serwer", - "administration_startcmdlist_none": "", - "administration_startcmds_cleared": "", - "administration_unbanned_user": "Użytkownik {0} został odbanowany.", - "administration_user_not_found": "Użytkownik nieznaleziony.", - "administration_user_warned": "Użytkownik {0} został ostrzeżony.", - "administration_user_warned_and_punished": "", - "administration_warned_on": "", - "administration_warned_on_by": "Dnia {0} o godzinie {1} przez {2}", - "administration_warnings_cleared": "", - "administration_warnings_none": "", - "administration_warnlog_for": "", - "administration_warnpl_none": "", - "administration_warn_cleared_by": "", - "administration_warn_punish_list": "", - "administration_warn_punish_rem": "", - "administration_warn_punish_set": "", - "administration_slowmodewl_role_start": "", - "administration_slowmodewl_role_stop": "", - "administration_slowmodewl_user_start": "", - "administration_slowmodewl_user_stop": "", - "utility_clpa_fail": "", - "utility_clpa_fail_already": "", - "utility_clpa_fail_already_title": "", - "utility_clpa_fail_conn": "", - "utility_clpa_fail_conn_title": "", - "utility_clpa_fail_sup": "", - "utility_clpa_fail_sup_title": "", - "utility_clpa_fail_wait": "", - "utility_clpa_fail_wait_title": "", - "utility_clpa_success": "Otrzymałeś {0}. Dziękujemy, że wspierasz projekt!", - "utility_clpa_too_early": "", - "searches_time": "", - "administration_rh": "", - "gambling_name": "", - "gambling_shop": "", - "gambling_shop_item_add": "", - "gambling_shop_none": "", - "gambling_shop_role": "", - "gambling_type": "", - "utility_clpa_next_update": "", - "administration_global_perms_reset": "", - "administration_gvc_disabled": "", - "administration_gvc_enabled": "", - "administration_not_in_voice": "", - "gambling_item": "", - "gambling_out_of_stock": "", - "gambling_random_unique_item": "", - "gambling_shop_buy_error": "", - "gambling_shop_item_not_found": "", - "gambling_shop_item_purchase": "", - "gambling_shop_item_rm": "", - "gambling_shop_item_wrong_type": "", - "gambling_shop_list_item_added": "", - "gambling_shop_list_item_not_unique": "", - "gambling_shop_purchase": "", - "gambling_shop_role_not_found": "", - "gambling_shop_role_purchase": "", - "gambling_shop_role_purchase_error": "", - "gambling_unique_items_left": "", - "permissions_blocked_commands": "", - "permissions_blocked_modules": "", - "permissions_gcmd_add": "", - "permissions_gcmd_remove": "", - "permissions_gmod_add": "", - "permissions_gmod_remove": "", - "permissions_lgp_none": "" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.pt-BR.json b/src/NadekoBot/_strings/ResponseStrings.pt-BR.json deleted file mode 100644 index 0b0478b2..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.pt-BR.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Esta base já foi reivindicada ou destruída.", - "clashofclans_base_already_destroyed": "Esta base já está destruída.", - "clashofclans_base_already_unclaimed": "Esta base não foi reivindicada.", - "clashofclans_base_destroyed": "Base #{0} **DESTRUÍDA** na guerra contra {1}", - "clashofclans_base_unclaimed": "{0} **RENUNCIOU** a base #{1} na guerra contra {2}", - "clashofclans_claimed_base": "{0} reivindicou a base #{1} durante a guerra contra {2}", - "clashofclans_claimed_other": "@{0} Você já reivindicou a base #{1}. Você não pode reivindicar uma nova.", - "clashofclans_claim_expired": "O pedido de guerra de @{0} contra {1} expirou.", - "clashofclans_enemy": "Inimigo\n", - "clashofclans_info_about_war": "Informações sobre a guerra contra {0}", - "clashofclans_invalid_base_number": "Número de base inválido.", - "clashofclans_invalid_size": "Não é um tamanho de guerra válido.", - "clashofclans_list_active_wars": "Lista de guerras ativas", - "clashofclans_not_claimed": "não reivindicado", - "clashofclans_not_partic": "Você não está participando nesta guerra.", - "clashofclans_not_partic_or_destroyed": "@{0} Você não está participando nessa guerra, ou essa base já está destruída.", - "clashofclans_no_active_wars": "Nenhuma guerra ativa.", - "clashofclans_size": "Tamanho", - "clashofclans_war_already_started": "Guerra contra {0} já começou.", - "clashofclans_war_created": "Guera contra {0} criada.", - "clashofclans_war_ended": "Guerra contra {0} acabou.", - "clashofclans_war_not_exist": "Essa guerra não existe.", - "clashofclans_war_started": "Guerra contra {0} iniciada!", - "customreactions_all_stats_cleared": "Todos os status de reações personalizadas limpos.", - "customreactions_deleted": "Reação personalizada deletada", - "customreactions_insuff_perms": "Permissão Insuficiente. Precisa ser dono do bot para reações personalizadas globais, e permissão de administrador para reações personalizadas no servidor.", - "customreactions_list_all": "Lista de todas as reações personalizadas", - "customreactions_name": "Reações Personalizadas", - "customreactions_new_cust_react": "Nova Reação Personalizada", - "customreactions_no_found": "Nenhuma reação personalizada encontrada.", - "customreactions_no_found_id": "Nenhuma reação personalizada encontrada com este id.", - "customreactions_response": "Resposta", - "customreactions_stats": "Status de Reação Personalizada", - "customreactions_stats_cleared": "Status da reação customizável {0} limpo.", - "customreactions_stats_not_found": "Nenhum status para aquele comando encontrado, nenhuma ação foi tomada.", - "customreactions_trigger": "Comando", - "nsfw_autohentai_stopped": "Autohentai parou.", - "nsfw_not_found": "Nenhum resultado encontrado.", - "pokemon_already_fainted": "{0} já desmaiou.", - "pokemon_already_full": "{0} já tem HP cheio.", - "pokemon_already_that_type": "Seu tipo já é {0}", - "pokemon_attack": "usou {0}{1} em {2}{3} para {4} dano.", - "pokemon_cant_attack_again": "Você não pode atacar novamente sem retaliação!", - "pokemon_cant_attack_yourself": "Você não pode atacar a si mesmo.", - "pokemon_fainted": "{0} desmaiou!", - "pokemon_healed": "curou {0} com uma {1}", - "pokemon_hp_remaining": "{0} tem {1} HP restante.", - "pokemon_invalid_move": "Você não pode usar {0}. Digite `{1}ml` para ver uma lista de ataques que você pode usar.", - "pokemon_moves": "Lista de golpes para tipo {0}", - "pokemon_not_effective": "Não é efetivo.", - "pokemon_no_currency": "Você não tem {0} suficiente", - "pokemon_revive_other": "Reviveu {0} com uma {1}", - "pokemon_revive_yourself": "Você reviveu a si mesmo com uma {0}", - "pokemon_settype_success": "Seu tipo foi mudado para {0} por uma {1}", - "pokemon_somewhat_effective": "É mais ou menos efetivo.", - "pokemon_super_effective": "É super efetivo!", - "pokemon_too_many_moves": "Você usou muitos ataques de uma vez, então você não pode se mexer!", - "pokemon_type_of_user": "O tipo de {0} é {1}", - "pokemon_user_not_found": "Usuário não encontrado.", - "pokemon_you_fainted": "Você desmaiou, então você não pode se mexer!", - "administration_aar_disabled": "**Atribuir cargo automaticamente** a novos usuários **desabilitado**.", - "administration_aar_enabled": "**Atribuir cargo automaticamente** a novos usuários **habilitado**.", - "administration_attachments": "Anexos", - "administration_avatar_changed": "Avatar alterado", - "administration_bandm": "Você foi BANIDO do servidor {0}.\nMotivo: {1}", - "administration_banned_pl": "Banidos", - "administration_banned_user": "Usuário Banido", - "administration_bot_name": "Nome do bot alterado para {0}", - "administration_bot_status": "Status do bot alterado para {0}", - "administration_byedel_off": "Remoção automática de mensagens de despedida foi desativada.", - "administration_byedel_on": "Mensagens de despedida serão deletadas após {0} segundos.", - "administration_byemsg_cur": "Mensagem de despedida atual: {0}", - "administration_byemsg_enable": "Ative mensagens de despedidas digitando {0}", - "administration_byemsg_new": "Nova mensagem de despedida definida.", - "administration_bye_off": "Mensagens de despedidas desativadas.", - "administration_bye_on": "Mensagens de despedidas foram ativadas neste canal.", - "administration_ch_name_change": "Nome do canal alterado", - "administration_ch_old_name": "Nome antigo", - "administration_ch_topic_change": "Tópico do canal alterado", - "administration_cleaned_up": "Limpo.", - "administration_content": "Conteúdo", - "administration_cr": "Cargo {0} criado com sucesso", - "administration_createtextchan": "Canal de texto {0} criado.", - "administration_createvoich": "Canal de voz {0} criado.", - "administration_deafen": "Ensurdecido com sucesso.", - "administration_deleted_server": "Servidor {0} deletado.", - "administration_delmsg_off": "Parou a eliminação automática de invocações de comandos bem sucedidos.", - "administration_delmsg_on": "Agora automaticamente deletando invocações de comandos bem sucedidos.", - "administration_deltextchan": "Canal de texto {0} deletado.", - "administration_delvoich": "Canal de voz {0} deletado.", - "administration_dm_from": "Mensagem direta de", - "administration_donadd": "Novo doador adicionado com sucesso. Valor total doado por este usuário: {0} 👑", - "administration_donators": "Obrigado às pessoas listadas abaixo por fazer este projeto acontecer!", - "administration_fwall_start": "Vou enviar mensagens diretas a todos os donos.", - "administration_fwall_stop": "Vou enviar mensagens diretas apenas ao primeiro dono.", - "administration_fwdm_start": "Vou enviar mensagens diretas de agora em diante.", - "administration_fwdm_stop": "Vou parar de enviar mensagens diretas de agora em diante.", - "administration_greetdel_off": "Remoção automática de mensagens de boas vindas desabilitada.", - "administration_greetdel_on": "Mensagens de boas vindas serão deletadas após {0} segundos.", - "administration_greetdmmsg_cur": "Mensagem direta de boas vindas atual: {0}", - "administration_greetdmmsg_enable": "Ative mensagens diretas de boas vindas digitando {0}", - "administration_greetdmmsg_new": "Novas mensagen direta de boas vindas definida.", - "administration_greetdm_off": "Mensagens diretas de boas vindas desabilitadas.", - "administration_greetdm_on": "Mensagens diretas de boas vindas habilitadas.", - "administration_greetmsg_cur": "Mensagem de boas vindas atual: {0}", - "administration_greetmsg_enable": "Ative mensagens de boas vindas digitando {0}", - "administration_greetmsg_new": "Nova mensagem de boas vindas definida.", - "administration_greet_off": "Mensagens de boas vindas desabilitadas.", - "administration_greet_on": "Mensagens de boas vindas habilitadas neste canal.", - "administration_hierarchy": "Você não pode usar este comando em usuários com um cargo maior ou igual ao seu na hierarquia dos cargos.", - "administration_images_loaded": "Imagens carregadas após {0} segundos!", - "administration_invalid_format": "Formato de entrada inválido.", - "administration_invalid_params": "Parâmetros inválidos.", - "administration_joined": "{0} juntou-se a {1}", - "administration_kickdm": "Você foi kickado do servidor {0}.\nRazão: {1}", - "administration_kicked_user": "Usuário Kickado", - "administration_lang_list": "Lista de Linguagens\n{0}", - "administration_lang_set": "A região do seu servidor agora é {0} - {1}", - "administration_lang_set_bot": "A região padrão do bot agora é {0} - {1}", - "administration_lang_set_bot_show": "A linguagem foi definida para {0} - {1}", - "administration_lang_set_fail": "Falha ao definir região. Veja a ajuda desse comando.", - "administration_lang_set_show": "A língua do servidor está definida para: {0} - {1}", - "administration_left": "{0} saiu de {1}", - "administration_left_server": "Servidor {0} deixado.", - "administration_log": "Logando o evento {0} neste canal.", - "administration_log_all": "Logando todos os eventos neste canal.", - "administration_log_disabled": "Log desativado.", - "administration_log_events": "Eventos Log em que você pode se inscrever:", - "administration_log_ignore": "O log vai ignorar {0}", - "administration_log_not_ignore": "O log vai deixar de ignorar {0}", - "administration_log_stop": "Parando de logar o evento {0}.", - "administration_menrole": "{0} invocou uma menção nos seguintes cargos", - "administration_message_from_bo": "Mensagem de {0} `[Bot Owner]`", - "administration_message_sent": "Mensagem enviada.", - "administration_moved": "{0} movido de {1} to {2}", - "administration_msg_del": "Mensagem deletada em #{0}", - "administration_msg_update": "Mensagem atualizada em #{0}", - "administration_muted_pl": "Mutados", - "administration_muted_sn": "Mutado", - "administration_mute_error": "Não tenho a permissão para isso, provavelmente.", - "administration_mute_role_set": "Novo cargo mudo definido.", - "administration_need_admin": "Eu preciso da permissão de **Administrador** para fazer isso.", - "administration_new_msg": "Nova mensagem", - "administration_new_nick": "Novo Apelido", - "administration_new_topic": "Novo Tópico", - "administration_nick_change": "Apelido Alterado", - "administration_no_server": "Não posso encontrar esse servidor", - "administration_no_shard_id": "Nenhum shard com aquele ID foi encontrado.", - "administration_old_msg": "Mensagem Anterior", - "administration_old_nick": "Apelido Antigo", - "administration_old_topic": "Tópico Antigo", - "administration_perms": "Erro. Não tenho permissões suficientes.", - "administration_perms_reset": "As permissões para este servidor foram resetadas.", - "administration_prot_active": "Proteções ativadas", - "administration_prot_disable": "{0} foi **desativado** neste servidor.", - "administration_prot_enable": "{0} Ativado", - "administration_prot_error": "Erro. Preciso da permissão \"Gerenciar Cargos\".", - "administration_prot_none": "Nenhuma proteção ativa.", - "administration_raid_cnt": "O limite de usuários deve ser entre {0} e {1}.", - "administration_raid_stats": "Se {0} ou mais usuários entrarem em menos de {1} segundos, {2}.", - "administration_raid_time": "O tempo deve ser entre {0} e {1} segundos.", - "administration_rar": "Todos os cargos foram removidos do usuário {0} com sucesso", - "administration_rar_err": "Falha ao remover cargos. Eu não possuo permissões suficientes.\n", - "administration_rc": "A cor do cargo {0} foi alterada.", - "administration_rc_not_exist": "Esse cargo não existe.", - "administration_rc_params": "Os parâmetros especificados são inválidos.", - "administration_rc_perms": "Um erro ocorreu devido à cor inválida ou permissões insuficientes.", - "administration_remrole": "Cargo {0} removido do usuário {1} com sucesso", - "administration_remrole_err": "Falha ao remover o cargo. Não possuo permissões suficientes.", - "administration_renrole": "Cargo renomeado.", - "administration_renrole_err": "Falha ao renomear o cargo. Não possuo permissões suficientes.", - "administration_renrole_perms": "Você não pode editar cargos superiores ao seu cargo mais elevado.", - "administration_reprm": "Removida a mensagem \"jogando\": {0}", - "administration_role_added": "O cargo {0} foi adicionado a lista.", - "administration_role_clean": "{0} não encontrado. Limpo.", - "administration_role_in_list": "O cargo {0} já está na lista.", - "administration_ropl_added": "Adicionado.", - "administration_ropl_disabled": "Rotação de status \"jogando\" desativada.", - "administration_ropl_enabled": "Rotação de status \"jogando\" ativada.", - "administration_ropl_list": "Aqui está uma lista dos status rotacionados:\n{0}", - "administration_ropl_not_set": "Nenhum status de rotação \"jogando\" definido.", - "administration_self_assign_already": "Você já possui o cargo {0}.", - "administration_self_assign_already_excl": "Você já possui o cargo auto-atribuível exclusivo {0}.", - "administration_self_assign_excl": "Cargos auto-atribuíveis agora são exclusivos!", - "administration_self_assign_list": "Existem {0} cargos auto-atribuíveis", - "administration_self_assign_not": "Esse cargo não é auto-atribuível.", - "administration_self_assign_not_have": "Você não possui o cargo {0}.", - "administration_self_assign_no_excl": "Cargos auto-atribuíveis agora são exclusivos!", - "administration_self_assign_perms": "Não sou capaz de adicionar esse cargo a você. `Não posso adicionar cargos a donos ou outros cargos maiores que o meu cargo na hierarquia dos cargos.`", - "administration_self_assign_rem": "{0} foi removido da lista de cargos auto-atribuíveis.", - "administration_self_assign_remove": "Você não possui mais o cargo {0}.", - "administration_self_assign_success": "Você agora possui o cargo {0}.", - "administration_setrole": "Cargo {0} adicionado ao usuário {1} com sucesso.", - "administration_setrole_err": "Falha ao adicionar o cargo. Não possuo permissões suficientes.", - "administration_set_avatar": "Novo avatar definido!", - "administration_set_channel_name": "Novo nome do canal definido.", - "administration_set_game": "Novo jogo definido!", - "administration_set_stream": "Nova stream definida!", - "administration_set_topic": "Novo tópico do canal definido.", - "administration_shard_reconnected": "Shard {0} reconectado.", - "administration_shard_reconnecting": "Reconectando shard {0}.", - "administration_shutting_down": "Desligando", - "administration_slowmode_desc": "Usuários não podem mandar mais de {0} mensagens a cada {1} segundos.", - "administration_slowmode_disabled": "Modo lento desativado.", - "administration_slowmode_init": "Modo lento iniciado.", - "administration_soft_banned_pl": "Banidos temporariamente (kickados)", - "administration_spam_ignore": "{0} irá ignorar esse canal.", - "administration_spam_not_ignore": "{0} irá deixar de ignorar esse canal.", - "administration_spam_stats": "Se um usuário postar {0} mensagens iguais em seguida, {1}.\n__Canais Ignorados__: {2}", - "administration_text_chan_created": "Canal de Texto Criado", - "administration_text_chan_destroyed": "Canal de Texto Destruído", - "administration_undeafen": "Desensurdecido com sucesso.", - "administration_unmuted_sn": "Desmutado", - "administration_username": "Nome de usuário", - "administration_username_changed": "Nome de usuário alterado", - "administration_users": "Usuários", - "administration_user_banned": "Usuário Banido", - "administration_user_chat_mute": "{0} foi **mutado**", - "administration_user_chat_unmute": "{0} foi **desmutado**", - "administration_user_joined": "Usuário juntou-se", - "administration_user_left": "Usuário saiu", - "administration_user_muted": "{0} foi **mutado** nos chats de voz e texto.", - "administration_user_role_add": "Cargo do usuário adicionado", - "administration_user_role_rem": "Cargo do usuário removido", - "administration_user_status_change": "{0} agora está {1}", - "administration_user_unmuted": "{0} foi **desmutado** nos chats de voz e texto.", - "administration_user_vjoined": "{0} juntou-se ao canal de voz {1}.", - "administration_user_vleft": "{0} deixou o canal de voz {1}.", - "administration_user_vmoved": "{0} moveu-se do canal de voz {1} para {2}.", - "administration_user_voice_mute": "{0} foi **mutado por voz**.", - "administration_user_voice_unmute": "{0} foi **desmutado por voz**.", - "administration_voice_chan_created": "Canal de voz criado", - "administration_voice_chan_destroyed": "Canal de voz destruído", - "administration_vt_disabled": "Atributo voz + texto desabilitado.", - "administration_vt_enabled": "Atributo voz + texto habilitado.", - "administration_vt_exit": "Eu não possuo a permissão de **gerenciar cargos** e/ou **gerenciar canais**, então não posso executar `voz+texto` no servidor {0}.", - "administration_vt_no_admin": "Você está habilitando/desabilitando este atributo e **Eu não tenho permissão de ADMINISTRADOR**. Isso pode causar alguns problemas e você terá que limpar os canais de texto você mesmo depois.", - "administration_vt_perms": "Eu preciso pelo menos das permissões de **gerenciar cargos** e **gerenciar canais** para habilitar este atributo. (Preferencialmente, permissão de Administrador)", - "administration_xmuted_text": "Usuário {0} do chat de texto", - "administration_xmuted_text_and_voice": "Usuário {0} dos chats de voz e texto", - "administration_xmuted_voice": "Usuário {0} do chat de voz", - "administration_sbdm": "Você foi banido temporariamente do servidor {0}.\nMotivo: {1}", - "administration_user_unbanned": "Usuário desbanido", - "administration_migration_done": "Migração concluída!", - "adminsitration_migration_error": "Erro enquanto migrava, verifique o console do bot para mais informações.", - "administration_presence_updates": "Atualizações de Presença", - "administration_sb_user": "Usuário Banido Temporariamente", - "gambling_awarded": "concedeu {0} para {1}", - "gambling_better_luck": "Mais sorte na próxima vez ^_^", - "gambling_br_win": "Parabéns! Você ganhou {0} por rolar acima de {1}", - "gambling_deck_reshuffled": "Baralho re-embaralhado.", - "gambling_flipped": "girou {0}.", - "gambling_flip_guess": "Você adivinhou! Você ganhou {0}", - "gambling_flip_invalid": "O número especificado é inválido. Você pode girar de 1 a {0} moedas.", - "gambling_flowerreaction_desc": "Adicione {0} reação a esta mensagem para ganhar {1}", - "gambling_flowerreaction_footer": "Este evento está ativo por até {0} horas.", - "gambling_flowerreaction_title": "Evento de Reação da Flor iniciado!", - "gambling_gifted": "deu {0} de presente para {1}", - "gambling_has": "{0} tem {1}", - "gambling_heads": "Cara", - "gambling_leaderboard": "Placar de Líderes", - "gambling_mass_award": "Concedeu {0} a {1} usuários do cargo {2}.", - "gambling_max_bet_limit": "Você não pode apostar mais que {0}", - "gambling_min_bet_limit": "Você não pode apostar menos que {0}", - "gambling_not_enough": "Você não tem {0} suficientes.", - "gambling_no_more_cards": "Sem cartas no baralho.", - "gambling_raffled_user": "Usuário sorteado", - "gambling_roll": "Você rolou {0}.", - "gambling_slot_bet": "Aposta", - "gambling_slot_jackpot": "WOAAHHHHHH!!! Parabéns!!! x{0}", - "gambling_slot_single": "Um único {0}, x{1}", - "gambling_slot_three": "Wow! Que sorte! Três de um tipo! x{0}", - "gambling_slot_two": "Bom trabalho! Dois {0} - aposta x{1}", - "gambling_slot_won": "Ganhou", - "gambling_sneakygamestatus_desc": "Usuários devem digitar um código secreto pra ganhar {0}.\nDura {1} segundos. Não diga a ninguém. Shhh.", - "gambling_sneakygamestatus_end": "O evento \"Jogo Sorrateiro\" terminou. {0} usuários receberam o prêmio.", - "gambling_sneakygamestatus_title": "O evento \"Jogo Sorrateiro\" começou", - "gambling_tails": "Coroa", - "gambling_take": "Tomou {0} de {1} com sucesso", - "gambling_take_fail": "Não foi possível tomar {0} de {1} porque o usuário não possuí tanto {2}!", - "help_back_to_toc": "Voltar à Tabela de Conteúdos", - "help_bot_owner_only": "Proprietário do bot apenas.", - "help_channel_permission": "Requer a permissão {0} do canal.", - "help_cmdlist_donate": "Você pode dar suporte ao projeto no Patreon: <{0}> ou Paypal: <{1}>", - "help_cmd_and_alias": "Comandos e abreviações", - "help_commandlist_regen": "Lista de Comandos Regenerada.", - "help_commands_instr": "Digite `{0}h NomeDoComando` para ver a ajuda para o comando especificado. Ex: `{0}h >8ball`", - "help_command_not_found": "Não consigo encontrar esse comando. Por favor, verifique se esse comando existe antes de tentar de novo.", - "help_desc": "Descrição", - "help_donate": "Você pode dar suporte ao projeto da NadekoBot por\nPatreon <{0}> ou\nPaypal <{1}>\nNão esqueça de deixar seu nome ou id do discord na mensagem.\n**Obrigado**♥️", - "help_guide": "**Lista de Comandos**. <{0}>\n**Guias de hosteamento e documentos podem ser encontrados aqui**. <{1}>", - "help_list_of_commands": "Lista de Comandos", - "help_list_of_modules": "Lista de Módulos", - "help_modules_footer": "Digite `{0}cmds NomeDoMódulo` para receber uma lista de comandos deste módulo. Ex: `{0}cmds games`", - "help_module_not_found": "Esse módulo não existe.", - "help_server_permission": "Requer a permissão {0} do servidor.", - "help_table_of_contents": "Tabela de Conteúdo", - "help_usage": "Modo de uso", - "nsfw_autohentai_started": "Autohentai iniciado. Repostando a cada {0}s com uma das seguintes tags:\n{1}", - "nsfw_tag": "Tag", - "gambling_animal_race": "Corrida de Animais", - "gambling_animal_race_failed": "Falha ao iniciar, não houve participantes suficientes.", - "gambling_animal_race_full": "Corrida cheia! Começando imediatamente.", - "gambling_animal_race_join": "{0} juntou-se como {1}", - "gambling_animal_race_join_bet": "{0} juntou-se como {1} e apostou {2}!", - "gambling_animal_race_join_instr": "Digite {0}jr para juntar-se a corrida.", - "gambling_animal_race_starting": "Iniciando em 20 segundos ou quando estiver completa.", - "gambling_animal_race_starting_with_x": "Iniciando com {0} participantes.", - "gambling_animal_race_won": "{0} como {1} ganhou a corrida!", - "gambling_animal_race_won_money": "{0} como {1} ganhou a corrida e {2}!", - "gambling_dice_invalid_number": "Número especificado inválido. Você pode rolar {0}-{1} dados de uma vez.", - "gambling_dice_rolled": "rolou {0}", - "gambling_dice_rolled_num": "Dados rolados: {0}", - "gambling_race_failed_starting": "Falha ao iniciar a corrida. Outra corrida provavelmente está em andamento.", - "gambling_race_not_exist": "Nenhuma raça existe neste servidor.", - "gambling_second_larger_than_first": "O segundo número deve ser maior que o primeiro.", - "gambling_changes_of_heart": "Mudanças de ideia", - "gambling_claimed_by": "Reivindicado por", - "gambling_divorces": "Divórcios", - "gambling_likes": "Gosta de", - "gambling_price": "Preço", - "gambling_waifus_none": "Nenhuma waifu foi reivindicada ainda.", - "gambling_waifus_top_waifus": "Top Waifus", - "gambling_waifu_affinity_already": "Sua afinidade já foi definida para essa waifu ou você está tentando remover sua afinidade sem ter uma.", - "gambling_waifu_affinity_changed": "Mudou a afinidade de {0} para {1}.\n\n*Isto é moralmente questionável.*🤔", - "gambling_waifu_affinity_cooldown": "Você deve esperar {0} horas e {1} minutos para mudar sua afinidade de novo.", - "gambling_waifu_affinity_reset": "Sua afinidade foi reiniciada. Você não possui mas alguém que você goste.", - "gambling_waifu_affinity_set": "quer ser a waifu de {0}. Aww <3", - "gambling_waifu_claimed": "clamou {0} como sua waifu por {1}!", - "gambling_waifu_divorced_like": "Você se divorciou de uma waifu que gostava de você. Seu monstro sem coração.\n{0} recebeu {1} como compensação.", - "gambling_waifu_egomaniac": "Você não pode colocar sua afinidade em você mesmo, seu egomaníaco.", - "gambling_waifu_fulfilled": "🎉 O amor deles está realizado! 🎉\nO novo valor de {0} é {1}!", - "gambling_waifu_isnt_cheap": "Nenhuma waifu é tão barata. Você deve pagar pelo menos {0} para ter uma waifu, mesmo se o valor dela for menor.", - "gambling_waifu_not_enough": "Você deve pagar {0} ou mais para reivindicar essa waifu!", - "gambling_waifu_not_yours": "Essa waifu não é sua.", - "gambling_waifu_not_yourself": "Você não pode reivindicar a si próprio.", - "gambling_waifu_recent_divorce": "Você se divorciou recentemente. Aguarde {0} horas e {1} minutos para se divorciar de novo.", - "gambling_nobody": "Ninguém", - "gambling_waifu_divorced_notlike": "Você se divorciou de uma waifu que não gostava de você. Você recebeu {0} de volta.", - "games_8ball": "8ball", - "games_acrophobia": "Acrofobia", - "games_acro_ended_no_sub": "O jogo terminou sem submissões.", - "games_acro_no_votes_cast": "Nenhum voto recebido. O jogo terminou sem vencedores.", - "games_acro_nym_was": "O acrônimo era {0}.", - "games_acro_running": "Acrofobia já está em andamento neste canal.", - "games_acro_started": "Jogo iniciado. Crie uma frase com o seguinte acrônimo: {0}.", - "games_acro_started_footer": "Você tem {0} segundos para fazer uma submissão.", - "games_acro_submit": "{0} submeteram suas frases. ({1} no total)", - "games_acro_vote": "Vote digitando um número da submissão", - "games_acro_vote_cast": "{0} lançam seus votos!", - "games_acro_winner": "Vence {0} com {1} pontos.", - "games_acro_winner_only": "{0} venceu por ser o único usuário a fazer uma submissão!", - "games_question": "Questão", - "games_rps_draw": "É um empate! ambos escolheram {0}", - "games_rps_win": "{0} ganhou! {1} vence {2}", - "games_submissions_closed": "Submissões Encerradas", - "gambling_animal_race_already_started": "A Corrida de Animais já está em andamento", - "gambling_total_average": "Total: {1} Média: {1}", - "games_category": "Categoria", - "games_cleverbot_disabled": "Cleverbot desabilitado neste servidor", - "games_cleverbot_enabled": "Cleverbot habilitado neste servidor.", - "games_curgen_disabled": "Geração de moeda desabilitada neste canal.", - "games_curgen_enabled": "Geração de moeda habilitada neste canal.", - "games_curgen_pl": "{0} {1} aleatórios aparecem! Capture-os digitando `{2}pick`", - "games_curgen_sn": "Um {0} aleatório apareceu! Capture-o digitando `{1}pick`", - "games_failed_loading_question": "Falha ao carregar a questão.", - "games_game_started": "Jogo Iniciado", - "games_hangman_game_started": "Jogo da Forca iniciado", - "games_hangman_running": "Já existe um Jogo da Forca em andamento neste canal.", - "games_hangman_start_errored": "Erro ao iniciar o Jogo da Forca.", - "games_hangman_types": "Lista dos tipos de termos do \"{0}hangman\"", - "games_leaderboard": "Placar de Lideres", - "games_not_enough": "Você não possui {0} suficiente", - "games_no_results": "Sem resultados", - "games_picked": "pegou {0}", - "games_planted": "{0} plantou {1}", - "games_trivia_already_running": "Trivia já está em andamento neste servidor.", - "games_trivia_game": "Trivia", - "games_trivia_guess": "{0} acertou! A resposta era: {1}", - "games_trivia_none": "Nenhuma trivia está em andamento neste servidor.", - "games_trivia_points": "{0} tem {1} pontos", - "games_trivia_stopping": "Parando após esta questão.", - "games_trivia_times_up": "Tempo esgotado! A resposta correta era {0}", - "games_trivia_win": "{0} adivinhou e VENCEU o jogo! A resposta era: {1}", - "games_ttt_against_yourself": "Você não pode jogar contra si mesmo.", - "games_ttt_already_running": "Um Jogo da Velha já está em andamento neste canal.", - "games_ttt_a_draw": "Um empate!", - "games_ttt_created": "criou um Jogo da Velha.", - "games_ttt_has_won": "{0} venceu!", - "games_ttt_matched_three": "Combinou três", - "games_ttt_no_moves": "Nenhum movimento restante!", - "games_ttt_time_expired": "Tempo Esgotado!", - "games_ttt_users_move": "É a vez de {0}", - "games_vs": "{0} vs {1}", - "music_attempting_to_queue": "Tentando adicionar {0} músicas à fila...", - "music_autoplay_disabled": "Autoplay desabilitado.", - "music_autoplay_enabled": "Autoplay habilitado.", - "music_defvol_set": "Volume padrão definido para {0}%", - "music_dir_queue_complete": "Diretório adicionado à fila.", - "music_fairplay": "fairplay", - "music_finished_song": "Música concluída.", - "music_fp_disabled": "Fair play desativado.", - "music_fp_enabled": "Fair play ativado.", - "music_from_position": "Da posição", - "music_id": "Id", - "music_invalid_input": "Entrada inválida.", - "music_max_playtime_none": "Tempo de atividade máximo agora não tem limite.", - "music_max_playtime_set": "Tempo de atividade máximo definido para {0} segundo(s).", - "music_max_queue_unlimited": "Tamanho máximo da fila de música definido para ilimitado.", - "music_max_queue_x": "Tamanho máximo da fila de música definido para {0} faixa(s).", - "music_must_be_in_voice": "Você precisa estar em um canal de voz nesse servidor.", - "music_name": "Nome", - "music_now_playing": "Tocando agora", - "music_no_player": "Nenhum player de música ativo.", - "music_no_search_results": "Nenhum resultado para a busca.", - "music_paused": "Música pausada.", - "music_player_queue": "Fila de Músicas - Página {0}/{1}", - "music_playing_song": "Tocando Musica", - "music_playlists": "`#{0}` - **{1}** by *{2}* ({3} músicas)", - "music_playlists_page": "Página {0} de Playlists Salvas", - "music_playlist_deleted": "Playlist deletada.", - "music_playlist_delete_fail": "Falha ao deletar essa playlist. Ela não existe ou você não é seu o criador.", - "music_playlist_id_not_found": "Não existe uma playlist com esse ID.", - "music_playlist_queue_complete": "Playlist adicionada à fila.", - "music_playlist_saved": "Playlist Salva", - "music_play_limit": "Limite de {0}s", - "music_queue": "Fila", - "music_queued_song": "Músicas em fila", - "music_queue_cleared": "Fila de músicas limpa.", - "music_queue_full": "A fila está cheia em {0}/{0}", - "music_removed_song": "Música removida:", - "music_repeating_cur_song": "Repetindo a Música Atual", - "music_repeating_playlist": "Repetindo Playlist", - "music_repeating_track": "Repetindo Faixa", - "music_repeating_track_stopped": "A repetição da faixa atual parou.", - "music_resumed": "Música retomada.", - "music_rpl_disabled": "Repetição de playlist desabilitada.", - "music_rpl_enabled": "Repetição de playlist habilitada.", - "music_set_music_channel": "Eu irei mostrar as músicas em andamento, concluídas, pausadas e removidas neste canal.", - "music_skipped_to": "Pulando para `{0}:{1}`", - "music_songs_shuffled": "Músicas embaralhadas.", - "music_song_moved": "Música movida", - "music_time_format": "{0}h {1}m {2}s", - "music_to_position": "para a posição", - "music_unlimited": "ilimitada", - "music_volume_input_invalid": "Volume deve estar entre 0 e 100", - "music_volume_set": "Volume ajustado para {0}%", - "permissions_acm_disable": "O uso de TODOS OS MÓDULOS foi desabilitado no canal {0}.", - "permissions_acm_enable": "O uso de TODOS OS MÓDULOS foi habilitado no canal {0}.", - "permissions_allowed": "Permitido", - "permissions_arm_disable": "O uso de TODOS OS MÓDULOS foi desabilitado para o cargo {0}.", - "permissions_arm_enable": "O uso de TODOS OS MÓDULOS foi habilitado para o cargo {0}.", - "permissions_asm_disable": "O uso de TODOS OS MÓDULOS foi desabilitado neste servidor.", - "permissions_asm_enable": "O uso de TODOS OS MÓDULOS foi habilitado neste servidor.", - "permissions_aum_disable": "O uso de TODOS OS MÓDULOS foi desabilitado para o usuário {0}.", - "permissions_aum_enable": "O uso de TODOS OS MÓDULOS foi habilitado para o usuário {0}.", - "permissions_blacklisted": "{0} entrou na Lista Negra com o ID {1}", - "permissions_cmdcd_add": "O comando {0} agora possui um cooldown de {1}s.", - "permissions_cmdcd_cleared": "O comando {0} não possui nenhum cooldown agora e todos os cooldowns existentes foram limpos.", - "permissions_cmdcd_none": "Nenhum cooldown de comando definido.", - "permissions_command_costs": "Custos de Comando", - "permissions_cx_disable": "Desabilitado o uso de {0} {1} no canal {2}.", - "permissions_cx_enable": "Habilitado o uso de {0} {1} no canal {2}.", - "permissions_denied": "Negado", - "permissions_filter_word_add": "A palavra {0} foi adicionada a lista de palavras filtradas.", - "permissions_filter_word_list": "Lista de Palavras Filtradas", - "permissions_filter_word_remove": "A palavra {0} foi removida da lista de palavras filtradas.", - "permissions_invalid_second_param_between": "Segundo parâmetro inválido. (Deve ser um número entre {0} e {1})", - "permissions_invite_filter_channel_off": "Filtro de convite desabilitado neste canal.", - "permissions_invite_filter_channel_on": "Filtro de convite habilitado neste canal.", - "permissions_invite_filter_server_off": "Filtro de convite desabilitado neste servidor.", - "permissions_invite_filter_server_on": "Filtro de convite habilitado neste servidor.", - "permissions_moved_permission": "Permissão {0} movida de #{1} para #{2}", - "permissions_not_found": "Não consigo encontrar a permissão no índice #{0}", - "permissions_no_costs": "Nenhum custo definido.", - "permissions_of_command": "comando", - "permissions_of_module": "módulo", - "permissions_page": "Página {0} de Permissões", - "permissions_permrole": "Cargo atual de permissões é {0}.", - "permissions_permrole_changed": "Usuários agora precisam do cargo {0} para editar permissões.", - "permissions_perm_out_of_range": "Nenhuma permissão encontrada nesse índice.", - "permissions_removed": "Permissões removidas #{0} - {1}", - "permissions_rx_disable": "Desabilitado o uso de {0} {1} para o cargo {2}.", - "permissions_rx_enable": "Habilitado o uso de {0} {1} para o cargo {2}.", - "permissions_sec": "sec.", - "permissions_sx_disable": "Desabilitado o uso de {0} {1} nesse servidor.", - "permissions_sx_enable": "Habilitado o uso de {0} {1} nesse servidor.", - "permissions_unblacklisted": "{0} saiu da Lista Negra com o ID {1}", - "permissions_uneditable": "não editável", - "permissions_ux_disable": "Desabilitado o uso de {0} {1} para o usuário {2}.", - "permissions_ux_enable": "Habilitado o uso de {0} {1} para o usuário {2}.", - "permissions_verbose_false": "Não vou mais mostrar avisos de permissões.", - "permissions_verbose_true": "Vou passar a mostrar avisos de permissões.", - "permissions_word_filter_channel_off": "Filtragem de palavras desabilitada nesse canal.", - "permissions_word_filter_channel_on": "Filtragem de palavras habilitada nesse canal.", - "permissions_word_filter_server_off": "Filtragem de palavras desabilitada nesse servidor.", - "permissions_word_filter_server_on": "Filtragem de palavras habilitada nesse servidor.", - "searches_abilities": "Habilidades", - "searches_anime_no_fav": "Nenhum anime favorito ainda", - "searches_atl_ad_started": "Iniciada a tradução automática de mensagens nesse canal. As mensagens do usuário serão deletadas automaticamente.", - "searches_atl_removed": "A linguagem de tradução automática foi removida.", - "searches_atl_set": "A linguagem de tradução automática foi definida de {0}>{1}", - "searches_atl_started": "A tradução automática de mensagens foi ativada neste canal.", - "searches_atl_stopped": "A tradução automática de mensagens neste canal parou.", - "searches_bad_input_format": "Entrada com má formatação ou algo deu errado.", - "searches_card_not_found": "Não consegui encontrar essa carta.", - "searches_catfact": "fato", - "searches_chapters": "Capítulos", - "searches_comic_number": "HQ #", - "searches_compet_loses": "Derrotas Competitivas", - "searches_compet_played": "Partidas Competitivas jogadas", - "searches_compet_rank": "Rank Competitivo", - "searches_compet_wins": "Vitórias Competitivas", - "searches_completed": "Concluída", - "searches_condition": "Condição", - "searches_cost": "Custo", - "searches_date": "Data", - "searches_define": "Defina:", - "searches_dropped": "Dropado", - "searches_episodes": "Episódios", - "searches_error_occured": "Ocorreu um erro.", - "searches_example": "Exemplo", - "searches_failed_finding_anime": "Falha ao encontrar este animu.", - "searches_failed_finding_manga": "Falha ao encontrar este mango.", - "searches_genres": "Gêneros", - "searches_hashtag_error": "Falha ao encontrar uma definição para essa tag.", - "searches_height_weight": "Altura/Peso", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Humidade", - "searches_image_search_for": "Busca de imagem para:", - "searches_imdb_fail": "Falha ao encontrar este filme.", - "searches_invalid_lang": "Linguagem ou fonte inválida.", - "searches_jokes_not_loaded": "Piadas não carregadas.", - "searches_latlong": "Latitude/Longitude", - "searches_level": "Nível", - "searches_list_of_place_tags": "lista de tags {0}place", - "searches_location": "Localização", - "searches_magicitems_not_loaded": "Itens mágicos não carregados.", - "searches_mal_profile": "Perfil MAL de {0}", - "searches_mashape_api_missing": "O proprietário do bot não especificou a MashapeApiKey. Você não pode usar essa funcionalidade.", - "searches_min_max": "Min/Max", - "searches_no_channel_found": "Nenhum canal encontrado.", - "searches_no_results": "Nenhum resultado encontrado.", - "searches_on_hold": "Em espera", - "searches_original_url": "Url Original", - "searches_osu_api_key": "Requer uma API key de osu!", - "searches_osu_failed": "Falha ao obter a assinatura osu!", - "searches_over_x": "Cerca de {0} imagens encontradas. Mostrando aleatória {0}.", - "searches_ow_user_not_found": "Usuário não encontrado! Por favor cheque a região e a BattleTag antes de tentar de novo.", - "searches_plan_to_watch": "Planeja assistir", - "searches_platform": "Plataforma", - "searches_pokemon_ability_none": "Nenhuma habilidade encontrada.", - "searches_pokemon_none": "Nenhum pokemon encontrado.", - "searches_profile_link": "Link do Perfil:", - "searches_quality": "Qualidade:", - "searches_quick_playtime": "Tempo em Partida Rápida", - "searches_quick_wins": "Vitórias em Partida Rápida", - "searches_rating": "Avaliação", - "searches_score": "Pontuação:", - "searches_search_for": "Buscar Por:", - "searches_shorten_fail": "Falha ao encurtar esse url.", - "searches_short_url": "Url Curta", - "searches_something_went_wrong": "Alguma coisa deu errado.", - "searches_specify_search_params": "Por favor, especifique os parâmetros de busca.", - "searches_status": "Status", - "searches_store_url": "Url da Loja", - "searches_streamer_offline": "Streamer {0} está offline.", - "searches_streamer_online": "Streamer {0} está online com {1} espectadores.", - "searches_streams_following": "Você esta seguindo {0} streams nesse servidor.", - "searches_streams_none": "Você não está seguindo nenhuma stream neste servidor.", - "searches_stream_no": "Nenhuma stream.", - "searches_stream_not_exist": "Stream provavelmente não existe.", - "searches_stream_removed": "Stream de {0} ({1}) removida das notificações.", - "searches_stream_tracked": "Eu notificarei este canal quando o status mudar.", - "searches_sunrise": "Nascer do Sol", - "searches_sunset": "Pôr do Sol", - "searches_temperature": "Temperatura", - "searches_title": "Título:", - "searches_top_3_fav_anime": "Top 3 animes favoritos:", - "searches_translation": "Tradução:", - "searches_types": "Tipos", - "searches_ud_error": "Falha ao encontrar a definição para esse termo.", - "searches_url": "Url", - "searches_viewers": "Espectadores", - "searches_watching": "Assistindo", - "searches_wikia_error": "Falha ao tentar encontrar esse termo na wikia especificada.", - "searches_wikia_input_error": "Por favor, insira a wikia alvo, seguida do que deve ser pesquisado.", - "searches_wiki_page_not_found": "Página não encontrada.", - "searches_wind_speed": "Velocidade do Vento", - "searches_x_most_banned_champs": "Os {0} campeões mais banidos", - "searches_yodify_error": "Falha ao yodificar sua frase.", - "utiliity_joined": "Juntou-se", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} total", - "utility_activity_page": "Página de Atividade #{0}", - "utility_activity_users_total": "{0} usuários no total.", - "utility_author": "Autor", - "utility_botid": "Bot ID", - "utility_calcops": "Lista de funções no comando {0}calc", - "utility_channelid": "{0} deste canal é {1}", - "utility_channel_topic": "Tópico do Canal", - "utility_commands_ran": "Comandos Utilizados", - "utility_convert": "{0} {1} é igual a {2} {3}", - "utility_convertlist": "Unidades que podem ser utilizadas pelo conversor", - "utility_convert_not_found": "Não foi possível converter {0} para {1}: unidades não encontradas", - "utility_convert_type_error": "Não foi possível converter {0} para {1}: as unidades não são do mesmo tipo", - "utility_created_at": "Criado em", - "utility_csc_join": "Juntou-se ao canal de servidor cruzado.", - "utility_csc_leave": "Deixou o canal de servidor cruzado.", - "utility_csc_token": "Este é seu token de Canal de Servidor Cruzado", - "utility_custom_emojis": "Emojis Personalizados", - "utility_error": "Erro", - "utility_features": "Atributos", - "utility_id": "ID", - "utility_index_out_of_range": "Índice fora de alcance.", - "utility_inrole_list": "Lista de usuários no cargo {0}", - "utility_inrole_not_allowed": "você não tem permissão de usar esse comando em cargos com muitos usuários para prevenir abuso.", - "utility_invalid_value": "Valor {0} inválido.", - "utility_joined_discord": "Juntou-se ao Discord", - "utility_joined_server": "Juntou-se ao Servidor", - "utility_listservers": "ID: {0}\nMembros: {1}\nOwnerID: {2}", - "utility_listservers_none": "Nenhum servidor encontrado nessa página.", - "utility_list_of_repeaters": "Lista de Repetidores", - "utility_members": "Membros", - "utility_memory": "Memória", - "utility_messages": "Mensagens", - "utility_message_repeater": "Repetidor de Mensagem", - "utility_name": "Nome", - "utility_nickname": "Apelido", - "utility_nobody_playing_game": "Ninguém está jogando esse jogo.", - "utility_no_active_repeaters": "Nenhum repetidor ativo.", - "utility_no_roles_on_page": "Nenhum cargo nesta página.", - "utility_no_shards_on_page": "Nenhum Shard nesta página.", - "utility_no_topic_set": "Nenhum tópico definido.", - "utility_owner": "Dono", - "utility_owner_ids": "IDs do Dono", - "utility_presence": "Presença", - "utility_presence_txt": "{0} Servidores\n{1} Canais de Texto\n{2} Canais de Voz", - "utility_quotes_deleted": "Todas as citações com a palavra-chave {0} foram deletadas.", - "utility_quotes_page": "Página {0} de citações", - "utility_quotes_page_none": "Nenhuma citação nesta página.", - "utility_quotes_remove_none": "Nenhuma citação que você possa remover foi encontrada.", - "utility_quote_added": "Citação adicionada", - "utility_quote_deleted": "Citação #{0} Deletada.", - "utility_region": "Região", - "utility_registered_on": "Registrado em", - "utility_remind": "Eu lembrarei {0} de {1} em {2} `({3:d.M.yyyy.} at {4:HH:mm})`", - "utility_remind_invalid_format": "Formato de data inválido. Verifique a lista de comandos.", - "utility_remind_template": "Novo modelo de lembrete definido.", - "utility_repeater": "Repetindo {0} a cada {1} dia(s), {2} hora(s) e {3} minuto(s).", - "utility_repeaters_list": "Lista de Repetidores", - "utility_repeaters_none": "Nenhum repetidor neste servidor.", - "utility_repeater_stopped": "#{0} parou.", - "utility_repeat_invoke_none": "Nenhuma mensagem repetindo neste servidor.", - "utility_result": "Resultado", - "utility_roles": "Cargos", - "utility_roles_all_page": "Página #{0} de todos os cargos neste servidor:", - "utility_roles_page": "Página #{0} de cargos para {1}", - "utility_rrc_no_colors": "Nenhuma cor no formato correto. Use `#00ff00`, por exemplo.", - "utility_rrc_start": "Começando a rotacionar cores do cargo {0}.", - "utility_rrc_stop": "Parando de rotacionar cores do cargo {0}", - "utility_serverid": "{0} deste servidor é {1}", - "utility_server_info": "Informações do Servidor", - "utility_shard": "Shard", - "utility_shard_stats": "Status do Shard", - "utility_shard_stats_txt": "Shard **#{0}** está no estado {1} com {2} servidores", - "utility_showemojis": "**Nome:** {0} **Link:** {1}", - "utility_showemojis_none": "Nenhum emoji especial encontrado.", - "utility_stats_songs": "Tocando {0} músicas, {1} na fila.", - "utility_text_channels": "Canais de Texto", - "utility_togtub_room_link": "Aqui está o link da sala:", - "utility_uptime": "Tempo de Atividade", - "utility_userid": "{0} do usuário {1} é {2}", - "utility_users": "Usuários", - "utility_voice_channels": "Canais de Voz", - "gambling_animal_race_already_in": "Você já entrou nesta corrida!", - "games_current_poll_results": "Resultado atual da votação", - "games_no_votes_cast": "Nenhum voto proferido.", - "games_poll_already_running": "Uma votação já está ocorrendo neste servidor.", - "games_poll_created": "📃 {0} criou uma votação que requer sua atenção:", - "games_poll_result": "`{0}.` {1} com {2} votos.", - "games_poll_voted": "{0} votou.", - "games_poll_vote_private": "Mande uma Mensagem Direta para mim com o número que corresponde à resposta.", - "games_poll_vote_public": "Mande uma Mensagem aqui com o número que corresponde à resposta.", - "games_thanks_for_voting": "Obrigado por votar, {0}", - "games_x_votes_cast": "Total de {0} votos proferidos.", - "games_pick_pl": "Pegue digitando `{0}pick`", - "games_pick_sn": "Pegue digitando `{0}pick`", - "gambling_no_users_found": "Nenhum usuário encontrado.", - "gambling_page": "Página {0}", - "administration_must_be_in_voice": "Você deve estar em um canal de voz neste servidor.", - "administration_no_vcroles": "Não há cargos de canais de voz.", - "administration_user_muted_time": "{0} foi **mutado** nos chats de texto e voz por {1} minutos.", - "administration_vcrole_added": "Usuários que entrarem no canal de voz {0} receberão o cargo {1}.", - "administration_vcrole_removed": "Usuários que entrarem no canal de voz {0} não irão mais receber um cargo.", - "administration_vc_role_list": "Cargos de canais de voz", - "customreactions_crad_disabled": "A mensagem que ativa a reação personalizada com id {0} não será deletada automaticamente.", - "customreactions_crad_enabled": "A mensagem que ativa a reação personalizada com id {0} será deletada automaticamente.", - "customreactions_crdm_disabled": "A resposta para a reação personalizada com o id {0} não será enviada como mensagem direta.", - "customreactions_crdm_enabled": "A resposta para a reação personalizada com o id {0} será enviada como mensagem direta.", - "utility_aliases_none": "Atalho não encontrado", - "utility_alias_added": "Digitar {0} agora será um atalho de {1}.", - "utility_alias_list": "Lista de atalhos", - "utility_alias_removed": "Comando {0} não possui mais um atalho.", - "utility_alias_remove_fail": "Comando {0} não possui um atalho.", - "searches_compet_playtime": "Tempo de jogo competitivo", - "administration_channel": "Canal", - "administration_command_text": "Comando de Texto", - "administration_kicked_pl": "Kickados", - "administration_moderator": "Moderador", - "administration_page": "página {0}", - "administration_reason": "Motivo", - "administration_scadd": "Novo comando de inicialização adicionado.", - "administration_scrm": "Comando de inicialização removido com sucesso.", - "administration_scrm_fail": "Comando de inicialização não encontrado.", - "administration_server": "Servidor", - "administration_startcmdlist_none": "Não há comandos de inicialização nesta página.", - "administration_startcmds_cleared": "Todos os comandos de inicialização foram removidos.", - "administration_unbanned_user": "Usuário {0} foi desbanido.", - "administration_user_not_found": "Usuário não encontrado.", - "administration_user_warned": "Usuário {0} foi advertido.", - "administration_user_warned_and_punished": "Usuário {0} foi advertido e {1} punição foi aplicada.", - "administration_warned_on": "Advertiu no server {0}", - "administration_warned_on_by": "Em {0} às {1} por {2}", - "administration_warnings_cleared": "Todas as advertências foram removidas para {0}", - "administration_warnings_none": "Não há advertências nessa página.", - "administration_warnlog_for": "Log de advertências para {0}", - "administration_warnpl_none": "Nenhuma punição definida.", - "administration_warn_cleared_by": "Limpado por {0}", - "administration_warn_punish_list": "Lista de punições por advertência", - "administration_warn_punish_rem": "Possuir {0} advertências não irá mais resultar em punição.", - "administration_warn_punish_set": "Eu irei aplicar punição {0} para usuários com {1} advertências.", - "administration_slowmodewl_role_start": "Modo lento agora irá ignorar o cargo {0}.", - "administration_slowmodewl_role_stop": "Modo lento não ira mais ignorar o cargo {0}.", - "administration_slowmodewl_user_start": "Modo lento irá ignorar o usuário {0}.", - "administration_slowmodewl_user_stop": "Modo lento não irá mais ignorar o usuário {0}.", - "utility_clpa_fail": "Falha em reivindicar recompensas devido a uma das seguintes razões:", - "utility_clpa_fail_already": "Talvez você já tenha recebido sua recompensa esse mês. Você pode receber recompensas apenas uma vez por mês a não ser que você aumente o seu pagamento.", - "utility_clpa_fail_already_title": "Já recompensado", - "utility_clpa_fail_conn": "Sua conta do discord pode não estar conectada ao Patreon. Se você não tem certeza do que isso significa, ou não sabe como conectá-la - Você deve ir para [Página de configurações de conta do Patreon](https://patreon.com/settings/account) e clicar no botão 'Connect to discord'.", - "utility_clpa_fail_conn_title": "Conta do discord não conectada", - "utility_clpa_fail_sup": "Para poder receber recompensas, você deve dar suporte ao projeto no patreon. Você pode usar o comando {0} para receber o link.", - "utility_clpa_fail_sup_title": "Não suportando", - "utility_clpa_fail_wait": "Você deve esperar algumas horas depois de realizar seu pagamento. Se não o fez, tente novamente mais tarde.", - "utility_clpa_fail_wait_title": "Espere um momento", - "utility_clpa_success": "Você recebeu {0} Obrigado por dar suporte ao projeto!", - "utility_clpa_too_early": "Recompensas podem ser reivindicadas no ou a partir do 5° dia de cada mês", - "searches_time": "Hora em {0} é {1} - {2}", - "administration_rh": "Definir a exibição da função de guild {0} para {1}", - "gambling_name": "Nome", - "gambling_shop": "Loja", - "gambling_shop_item_add": "Adicionado item na loja", - "gambling_shop_none": "Nenhum item da loja encontrado nesta página.", - "gambling_shop_role": "Você receberá a role {0}.", - "gambling_type": "Tipo", - "utility_clpa_next_update": "Próximo update em {0}", - "administration_global_perms_reset": "Permissões globais foram resetadas.", - "administration_gvc_disabled": "Canais de Voz de Jogos foram desabilitados neste server.", - "administration_gvc_enabled": "{0} é um Canal de Voz de Jogos agora.", - "administration_not_in_voice": "Você não está em um canal de voz neste server.", - "gambling_item": "Item", - "gambling_out_of_stock": "Fora de estoque", - "gambling_random_unique_item": "Item único aleatório.", - "gambling_shop_buy_error": "Erro ao encaminhar item. Você foi reembolsado.", - "gambling_shop_item_not_found": "Não foi encontrado nenhum item neste índice.", - "gambling_shop_item_purchase": "Compra de item bem-sucedida.", - "gambling_shop_item_rm": "Item removido da loja", - "gambling_shop_item_wrong_type": "Esta entrada de loja não suporta a adição de itens.", - "gambling_shop_list_item_added": "Item adicionado com sucesso.", - "gambling_shop_list_item_not_unique": "Este item já foi adicionado.", - "gambling_shop_purchase": "Compra no servidor {0}", - "gambling_shop_role_not_found": "Função à venda não existe mais.", - "gambling_shop_role_purchase": "Você comprou a função {0} com sucesso.", - "gambling_shop_role_purchase_error": "Erro ao atribuir função. Sua compra foi reembolsada.", - "gambling_unique_items_left": "Restam {0} itens únicos.", - "permissions_blocked_commands": "Comandos Bloqueados", - "permissions_blocked_modules": "Módulos Bloqueados", - "permissions_gcmd_add": "Comando {0} foi desabilitado em todos os servidores.", - "permissions_gcmd_remove": "Comando {0} foi habilitado em todos os servidores.", - "permissions_gmod_add": "Módulo {0} foi desabilitado em todos os servidores.", - "permissions_gmod_remove": "Módulo {0} foi habilitado em todos os servidores.", - "permissions_lgp_none": "Não há comandos ou módulos bloqueados." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.ru-RU.json b/src/NadekoBot/_strings/ResponseStrings.ru-RU.json deleted file mode 100644 index d3b53025..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.ru-RU.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Эта база уже захвачена или разрушена.", - "clashofclans_base_already_destroyed": "Эта база уже разрушена", - "clashofclans_base_already_unclaimed": "Эта база не захвачена.", - "clashofclans_base_destroyed": "**РАЗРУШЕННАЯ** база #{0} ведёт войну против {1}.", - "clashofclans_base_unclaimed": "У {0} есть **НЕ ЗАХВАЧЕННАЯ** база #{1}, ведущая войну против {2}", - "clashofclans_claimed_base": "{0} захватил базу #{1}, ведя войну против {2}", - "clashofclans_claimed_other": "@{0} Вы уже захватили базу #{1}. Вы не можете захватить новую базу.", - "clashofclans_claim_expired": "Время действия запроса от @{0} на войну против {1} истекло.", - "clashofclans_enemy": "Враг", - "clashofclans_info_about_war": "Информация о войне против {0}", - "clashofclans_invalid_base_number": "Неправильный номер базы.", - "clashofclans_invalid_size": "Неправильный размер войны.", - "clashofclans_list_active_wars": "Список активных войн", - "clashofclans_not_claimed": "не захвачена", - "clashofclans_not_partic": "Вы не участвуете в этой войне.", - "clashofclans_not_partic_or_destroyed": "@{0} Вы либо не участвуете в этой войне, либо эта база уже разрушена.", - "clashofclans_no_active_wars": "Нет активных войн.", - "clashofclans_size": "Размер", - "clashofclans_war_already_started": "Война против {0} уже началась.", - "clashofclans_war_created": "Война против {0} начата.", - "clashofclans_war_ended": "Война против {0} закончилась.", - "clashofclans_war_not_exist": "Этой войны не существует.", - "clashofclans_war_started": "Война против {0} началась!", - "customreactions_all_stats_cleared": "Вся статистика настраиваемых реакций стёрта.", - "customreactions_deleted": "Настраиваемая реакция удалена", - "customreactions_insuff_perms": "Недостаточно разрешений. Необходимо иметь разрешение владельца бота для глобальных настраиваемых реакций, и разрешение Администратора для реакций по серверу.", - "customreactions_list_all": "Список всех настраиваемых реакций", - "customreactions_name": "Настраиваемые реакции", - "customreactions_new_cust_react": "Новая настраиваемая реакция", - "customreactions_no_found": "Не найдено настраиваемых реакций.", - "customreactions_no_found_id": "Не найдено настраиваемых реакций с таким номером.", - "customreactions_response": "Ответ", - "customreactions_stats": "Статистика настраеваемых реакций", - "customreactions_stats_cleared": "Статистика для настраиваемой реакции {0} очищена.", - "customreactions_stats_not_found": "Не найдено статистики для этого активатора, никаких действий не применено.", - "customreactions_trigger": "Активатор", - "nsfw_autohentai_stopped": "Авто-хентай остановлен.", - "nsfw_not_found": "Результатов не найдено.", - "pokemon_already_fainted": "{0} уже потерял сознание.", - "pokemon_already_full": "{0} уже имеет полное здоровье.", - "pokemon_already_that_type": "Ваш тип уже {0}", - "pokemon_attack": "использовал {0}{1} против {2}{3} и нанёс {4} урона.", - "pokemon_cant_attack_again": "Вы не можете атаковать два раза подряд.", - "pokemon_cant_attack_yourself": "Вы не можете атаковать самого себя.", - "pokemon_fainted": "{0} потерял сознание!", - "pokemon_healed": "вылечил {0}, использовав {1}", - "pokemon_hp_remaining": "У {0} осталось {1} здоровья.", - "pokemon_invalid_move": "Вы не можете использовать {0}. Напишите '{1}ml', чтобы увидеть список доступных Вам приёмов.", - "pokemon_moves": "Список приёмов {0} типа", - "pokemon_not_effective": "Эта атака неэффективна.", - "pokemon_no_currency": "У вас недостаточно {0}", - "pokemon_revive_other": "воскресил {0}, использовав один {1}", - "pokemon_revive_yourself": "Вы воскресили себя, использовав один {0}", - "pokemon_settype_success": "Ваш тип изменён с {0} на {1}", - "pokemon_somewhat_effective": "Эта атака немного эффективна.", - "pokemon_super_effective": "Эта атака очень эффективна!", - "pokemon_too_many_moves": "Вы использовали слишком много приёмов подряд, поэтому вы не можете двигаться!", - "pokemon_type_of_user": "Тип {0} — {1}", - "pokemon_user_not_found": "Пользователь не найден.", - "pokemon_you_fainted": "Вы потеряли сознание, поэтому вы не можете двигаться!", - "administration_aar_disabled": "***Авто выдача роли*** каждому новому пользователю **отключена**", - "administration_aar_enabled": "***Авто выдача роли*** каждому новому пользователю **включена**", - "administration_attachments": "Вложения", - "administration_avatar_changed": "Аватар изменён", - "administration_bandm": "Вы были забанены на сервере {0}. Причина бана: {1}.", - "administration_banned_pl": "забанены", - "administration_banned_user": "Пользователь забанен.", - "administration_bot_name": "Имя бота изменено на {0}", - "administration_bot_status": "Статус бота изменен на {0}", - "administration_byedel_off": "Автоматическое удаление прощальных сообщений отключено.", - "administration_byedel_on": "Прощальные сообщения будут удаляться через {0} секунд.", - "administration_byemsg_cur": "Текущее прощальное сообщение: {0}", - "administration_byemsg_enable": "Чтобы включить прощальные сообщения введите {0}", - "administration_byemsg_new": "Новое прощальное сообщение было установлено.", - "administration_bye_off": "Прощальные сообщения выключены.", - "administration_bye_on": "Прощальные сообщения включены на этом канале.", - "administration_ch_name_change": "Имя канала изменено", - "administration_ch_old_name": "Старое имя.", - "administration_ch_topic_change": "Тема канала изменена", - "administration_cleaned_up": "Чат очищен.", - "administration_content": "Содержание", - "administration_cr": "Роль {0} создана успешно", - "administration_createtextchan": "Текстовый канал {0} создан.", - "administration_createvoich": "Голосовой канал {0} создан.", - "administration_deafen": "Успешное оглушение.", - "administration_deleted_server": "Сервер {0} удален.", - "administration_delmsg_off": "Отключено автоматическое удаление успешно выполненных команд.", - "administration_delmsg_on": "Включено автоматическое удаление сообщений для успешно выполненных команд.", - "administration_deltextchan": "Текстовый канал {0} удален.", - "administration_delvoich": "Голосовой канал {0} удален.", - "administration_dm_from": "ЛС от", - "administration_donadd": "Успешно добавлен новый донатор. Общее количество пожертвований от этого пользователя: {0} 👑", - "administration_donators": "Спасибо ниже перечисленным людям за помощь в развитии этого проекта!", - "administration_fwall_start": "Я буду перенаправлять личные сообщения всем владельцам.", - "administration_fwall_stop": "Я буду перенаправлять личные сообщения только первому владельцу.", - "administration_fwdm_start": "Теперь я буду перенаправлять ЛС.", - "administration_fwdm_stop": "Теперь я прекращу перенаправлять ЛС.", - "administration_greetdel_off": "Автоматическое удаление приветственных сообщений выключено.", - "administration_greetdel_on": "Приветственные сообщения будут удаляться через {0} секунд.", - "administration_greetdmmsg_cur": "Текущее приветственное ЛС: {0}", - "administration_greetdmmsg_enable": "Включите приветственные ЛС, написав {0}", - "administration_greetdmmsg_new": "Новое приветственное ЛС установлено.", - "administration_greetdm_off": "Приветственые ЛС отключены.", - "administration_greetdm_on": "Приветственные ЛС включены.", - "administration_greetmsg_cur": "Текущее приветственное сообщение: {0}", - "administration_greetmsg_enable": "Чтобы включить приветственные сообщения введите {0}", - "administration_greetmsg_new": "Новое приветственное сообщение установлено.", - "administration_greet_off": "Приветственные сообщения выключены.", - "administration_greet_on": "Приветственные сообщения включены на этом канале.", - "administration_hierarchy": "Вы не можете использовать эту команду на пользователях равным или более высоким в иерархии ролей.", - "administration_images_loaded": "Картинки загружены за {0} секунд!", - "administration_invalid_format": "Неправильный формат ввода.", - "administration_invalid_params": "Неправильные параметры.", - "administration_joined": "{0} присоединился к {1}", - "administration_kickdm": "Вы были выгнаны с сервера {0}.\nПричина: {1}", - "administration_kicked_user": "Пользователь выгнан", - "administration_lang_list": "Список языков", - "administration_lang_set": "Язык вашего сервера теперь {0} - {1}", - "administration_lang_set_bot": "Язык бота по умолчанию теперь {0} - {1}", - "administration_lang_set_bot_show": "Язык бота установлен как {0} - {1}", - "administration_lang_set_fail": "Не удалось выставить язык. Проверьте справку к этой команде.", - "administration_lang_set_show": "Язык этого сервера установлен как {0} - {1}", - "administration_left": "{0} покинул {1}", - "administration_left_server": "Покинул сервер {0}", - "administration_log": "В этом канале регистрируется событие {0}.", - "administration_log_all": "В этом канале регистрируются все события.", - "administration_log_disabled": "Регистрация событий отключена.", - "administration_log_events": "Регистрируйте события, на которые Вы можете подписаться:", - "administration_log_ignore": "Регистрация будет игнорировать {0}.", - "administration_log_not_ignore": "Регистрация не будет игнорировать {0}.", - "administration_log_stop": "Прекращена регистрация события {0}.", - "administration_menrole": "{0} вызвал оповещение для следующих ролей", - "administration_message_from_bo": "Сообщение от {0} '[Владелец бота]':", - "administration_message_sent": "Сообщение отправлено.", - "administration_moved": "{0} перемещён из {1} в {2}", - "administration_msg_del": "Сообщение удалено в #{0}", - "administration_msg_update": "Сообщение изменено в #{0}", - "administration_muted_pl": "Заглушены", - "administration_muted_sn": "Заглушён", - "administration_mute_error": "Похоже, у меня нет необходимых разрешений.", - "administration_mute_role_set": "Новая роль заглушения установлена.", - "administration_need_admin": "Мне нужно право **Администратор**, чтобы это сделать.", - "administration_new_msg": "Новое сообщение", - "administration_new_nick": "Новое имя", - "administration_new_topic": "Новый заголовок", - "administration_nick_change": "Имя изменено", - "administration_no_server": "Не могу найти этот сервер", - "administration_no_shard_id": "Не найдено Shard-а с таким ID.", - "administration_old_msg": "Старое сообщение", - "administration_old_nick": "Старое имя", - "administration_old_topic": "Старый заголовок", - "administration_perms": "Ошибка. Скорее всего мне не хватает прав.", - "administration_perms_reset": "Разрешения для этого сервера были сброшены.", - "administration_prot_active": "Активные защиты от рейдов", - "administration_prot_disable": "{0} был **отключён** на этом сервере.", - "administration_prot_enable": "{0} включен", - "administration_prot_error": "Ошибка. Требуется право на управление ролями.", - "administration_prot_none": "Защита от рейдов отключена.", - "administration_raid_cnt": "Порог пользователей должен лежать между {0} и {1}.", - "administration_raid_stats": "Если {0} или больше пользователей присоединяются в течение {1} секунд, Я {2} их.", - "administration_raid_time": "Время должно быть между {0} и {1} секунд.", - "administration_rar": "Все роли пользователя {0} были успешно убраны с него", - "administration_rar_err": "Не удалось убрать роли. Отсутвуют требуемые разрешения.", - "administration_rc": "Цвет роли {0} был изменён.", - "administration_rc_not_exist": "Данная роль не существует.", - "administration_rc_params": "Заданные параметры недействительны.", - "administration_rc_perms": "Возникла ошибка из-за недействительного цвета или недостаточных разрешений.", - "administration_remrole": "Успешно убрана роль {0} пользователя {1}.", - "administration_remrole_err": "Не удалось убрать роль. Отсутвуют требуемые разрешения.", - "administration_renrole": "Роль переименована.", - "administration_renrole_err": "Не получилось переименовать роль. У меня недостаточно прав.", - "administration_renrole_perms": "Вы не можете редактировать роли, находящиеся выше чем ваша роль.", - "administration_reprm": "Удалено повторяющееся сообщение: {0}", - "administration_role_added": "Роль {0} добавлена в лист.", - "administration_role_clean": "Роль {0} не найдена. Чат очищен.", - "administration_role_in_list": "Роль {0} уже есть в списке.", - "administration_ropl_added": "Добавлено.", - "administration_ropl_disabled": "Чередующиеся статусы отключены.", - "administration_ropl_enabled": "Чередующиеся статусы включены.", - "administration_ropl_list": "Список чередующихся статусов:\n{0}", - "administration_ropl_not_set": "Чередующиеся статусы не установлены.", - "administration_self_assign_already": "У вас уже есть роль {0}", - "administration_self_assign_already_excl": "У Вас уже есть исключенная самоназначенная роль {0}.", - "administration_self_assign_excl": "Самоназначенные роли теперь взаимоисключающие!", - "administration_self_assign_list": "Существует {0} самоназначенных ролей", - "administration_self_assign_not": "Эта роль не является самоназначаемой.", - "administration_self_assign_not_have": "У вас отсуствует роль {0}", - "administration_self_assign_no_excl": "Самоназначенные роли теперь не взаимоисключающие!", - "administration_self_assign_perms": "Не удалось добавить Вам эту роль. 'Нельзя добавлять роли владельцам или другим ролям, находящимся выше моей роли в ролевой иерархии'", - "administration_self_assign_rem": "Роль {0} убрана из списка самоназначаемых ролей.", - "administration_self_assign_remove": "У вас больше нет роли {0}", - "administration_self_assign_success": "Теперь у вас есть роль {0}", - "administration_setrole": "Успешно добавлена роль {0} пользователю {1}", - "administration_setrole_err": "Не удалось добавить роль. Недостаточно разрешений.", - "administration_set_avatar": "Новый аватар установлен!", - "administration_set_channel_name": "Новое имя канала установлено.", - "administration_set_game": "Новая игра установлена!", - "administration_set_stream": "Новая трансляция установлена!", - "administration_set_topic": "Новая тема канала установлена.", - "administration_shard_reconnected": "Shard {0} переподключён.", - "administration_shard_reconnecting": "Shard {0} переподключается.", - "administration_shutting_down": "Выключение", - "administration_slowmode_desc": "Пользователи не могут писать более {0} сообщений в {1} секунд.", - "administration_slowmode_disabled": "Медленный режим выключен.", - "administration_slowmode_init": "Медленный режим включен", - "administration_soft_banned_pl": "выгнаны", - "administration_spam_ignore": "{0} будет игнорировать данный канал.", - "administration_spam_not_ignore": "{0} не будет игнорировать данный канал. ", - "administration_spam_stats": "Если пользователь пишет {0} одинаковых сообщений подряд, я {} их. __Игнорируемые каналы__: {2}", - "administration_text_chan_created": "Создан текстовый канал.", - "administration_text_chan_destroyed": "Уничтожен текстовый канал.", - "administration_undeafen": "Отключено заглушение.", - "administration_unmuted_sn": "Вернут звук", - "administration_username": "Имя", - "administration_username_changed": "Имя изменено", - "administration_users": "Пользователи", - "administration_user_banned": "Пользователь заблокирован", - "administration_user_chat_mute": "{0} получил **запрет** на разговор в текстовых каналах.", - "administration_user_chat_unmute": "{0} получил **разрешение** на разговор в текстовых каналах.", - "administration_user_joined": "Пользователь присоединился", - "administration_user_left": "Пользователь вышел", - "administration_user_muted": "{0} получил **запрет** на разговор в текстовых и голосовых каналах.", - "administration_user_role_add": "Добавлена роль пользователя", - "administration_user_role_rem": "Удалена роль пользователя", - "administration_user_status_change": "{0} теперь {1}", - "administration_user_unmuted": "{0} получил **разрешение** на разговор в текстовых и голосовых каналах.", - "administration_user_vjoined": "{0} присоединился к голосовому каналу {1}.", - "administration_user_vleft": "{0} покинул голосовой канал {1}.", - "administration_user_vmoved": "{0} переместился из голосового канала {1} в {2}.", - "administration_user_voice_mute": "**Выключен микрофон** у {0}.", - "administration_user_voice_unmute": "**Включён микрофон** у {0}.", - "administration_voice_chan_created": "Голосовой канал создан", - "administration_voice_chan_destroyed": "Голосовой канал удалён", - "administration_vt_disabled": "Отключены голосовые + текстовые функции.", - "administration_vt_enabled": "Включены голосовые + текстовые функции.", - "administration_vt_exit": "Нет разрешения на **Управление ролями** и/или **Управление каналами**, поэтому нельзя использовать команду 'voice+text' на сервере {0}.", - "administration_vt_no_admin": "Вы пытаетесь включить/отключить это свойство и **отсутствует разрешение АДМИНИСТРАТОР**. Это может вызвать ошибки, и вам придётся удалять текст в текстовых каналах самостоятельно.", - "administration_vt_perms": "Для этого свойства требуются как минимум разрешения **управление ролями** и **управление каналами**. (Рекомендуется разрешение Администратор)", - "administration_xmuted_text": "Пользователь {0} в текстовом чате", - "administration_xmuted_text_and_voice": "Пользователь {0} в текстовом и голосовом чатах", - "administration_xmuted_voice": "Пользовать {0} в голосовом чате", - "administration_sbdm": "Вас забанили на сервере {0}. Причина: {1}", - "administration_user_unbanned": "Пользователь разбанен.", - "administration_migration_done": "Перемещение закончено!", - "adminsitration_migration_error": "Ошибка при переносе файлов, проверьте консоль бота для получения дальнейшей информации.", - "administration_presence_updates": "История присутвия пользователей", - "administration_sb_user": "Пользователя выгнали", - "gambling_awarded": "наградил {0} пользователю {1}", - "gambling_better_luck": "В следующий раз повезёт ^_^", - "gambling_br_win": "Поздравляем! Вы выиграли {0}, так как выбросили больше {1}", - "gambling_deck_reshuffled": "Колода перетасована.", - "gambling_flipped": "подброшено {0}", - "gambling_flip_guess": "Вы угадали! Вы выиграли {0}", - "gambling_flip_invalid": "Указано неверное число. Вы можете подбросить от 1 до {0} монет.", - "gambling_flowerreaction_desc": "Добавьте {0}, как реакцию к этому сообщению, чтобы получить {1}␣", - "gambling_flowerreaction_footer": "Это событие активно в течение не более {0} часов.", - "gambling_flowerreaction_title": "Событие получения цветов началось!", - "gambling_gifted": "подарил {0} {1}", - "gambling_has": "У {0} есть {1}", - "gambling_heads": "Решка", - "gambling_leaderboard": "Таблица рекордов", - "gambling_mass_award": "{1} пользователей c ролью {2} награждены {0}.", - "gambling_max_bet_limit": "Вы не можете поставить больше {0}", - "gambling_min_bet_limit": "Вы не можете поставить меньше {0}", - "gambling_not_enough": "У Вас недостаточно {0}", - "gambling_no_more_cards": "В колоде закончились карты.", - "gambling_raffled_user": "Победитель лотереи", - "gambling_roll": "Вам выпало {0}.", - "gambling_slot_bet": "Ставка", - "gambling_slot_jackpot": "НИЧЕГО СЕБЕ!!! Поздраляем!!! x{0}", - "gambling_slot_single": "Один {0}, x{1}", - "gambling_slot_three": "Вот это повезло! Тройка! x{0}", - "gambling_slot_two": "Молодец! Две {} - ставка x{1}", - "gambling_slot_won": "Выиграл", - "gambling_sneakygamestatus_desc": "Пользователи могут ввести секретный код, чтобы получить {0}. Длится {1} секунд. Никому не говори!", - "gambling_sneakygamestatus_end": "Закончилось событие SneakyGame. {0} пользователей получили награду.", - "gambling_sneakygamestatus_title": "Началось событие SneakyGameStatus", - "gambling_tails": "Орёл", - "gambling_take": "успешно забрал {0} у {1}", - "gambling_take_fail": "не смог забрать {0} у {1}, поскольку у пользователя нет столько {2}!", - "help_back_to_toc": "Вернуться к оглавлению", - "help_bot_owner_only": "Только для владельца бота", - "help_channel_permission": "Требуется разрешение канала {0}.", - "help_cmdlist_donate": "Вы можете поддержать проект в patreon: <{0}> или через paypal: <{1}>", - "help_cmd_and_alias": "Команды и альтернативные имена команд", - "help_commandlist_regen": "Список команд создан.", - "help_commands_instr": "Напишите '{0}h ИмяКоманды', чтобы получить справку для этой команды. Например, '{0}h >8ball'", - "help_command_not_found": "Эта команда не найдена. Пожалуйста, убедитесь, что команда существует.", - "help_desc": "Описание", - "help_donate": "Вы можете поддержать проект NadekoBot в \nPatreon <{0}> или\nPaypal <{1}>\nНе забудьте оставить ваше имя в Discord или id в Вашем сообщении.\n\n**Спасибо** ♥️", - "help_guide": "**Список команд**: <{0}>\n**Руководства по установке и документы можно найти здесь**: <{1}>", - "help_list_of_commands": "Список команд", - "help_list_of_modules": "Список модулей", - "help_modules_footer": "Напишите '{0}cmds ИмяМодуля', чтобы получить список команд в этом модуле. Например, '{0}cmds games'", - "help_module_not_found": "Этот модуль не существует", - "help_server_permission": "Требуются серверное право {0}", - "help_table_of_contents": "Оглавление", - "help_usage": "Использование", - "nsfw_autohentai_started": "Авто-хентай запущен. Каждые {0}с будут отправляться изображения с одним из следующих тэгов:\n{1}", - "nsfw_tag": "Тэг", - "gambling_animal_race": "Гонка зверей", - "gambling_animal_race_failed": "Не удалось начать гонку, так как не хватает участников.", - "gambling_animal_race_full": "В гонке не осталось мест! Гонка начинается.", - "gambling_animal_race_join": "{0} присоединился в роли {1}", - "gambling_animal_race_join_bet": "{0} присоединился в роли {1} и сделал ставку {2}!", - "gambling_animal_race_join_instr": "Напишите {0}jr, чтобы присоединиться к гонке.", - "gambling_animal_race_starting": "Гонка начнётся через 20 секунд или когда все места будут заняты.", - "gambling_animal_race_starting_with_x": "Гонка началась с {0} участниками.", - "gambling_animal_race_won": "{0} в роли {1} победил в гонке!", - "gambling_animal_race_won_money": "{0} в роли {1} победил в гонке и получил {2}!", - "gambling_dice_invalid_number": "Задано неправильное число. Можно бросить {0}-{1} костей одновременно.", - "gambling_dice_rolled": "выпало {0}", - "gambling_dice_rolled_num": "Брошено {0} костей.", - "gambling_race_failed_starting": "Не удалось начать гонку. Другая гонка уже идёт.", - "gambling_race_not_exist": "На данном сервере не идёт гонка.", - "gambling_second_larger_than_first": "Второе число должно быть больше первого.", - "gambling_changes_of_heart": "Изменения в чувствах", - "gambling_claimed_by": "Является мужем", - "gambling_divorces": "Разводы", - "gambling_likes": "Нравится", - "gambling_price": "Цена", - "gambling_waifus_none": "Ни одной вайфу ещё не забрали", - "gambling_waifus_top_waifus": "Рейтинг вайфу", - "gambling_waifu_affinity_already": "Ваша предрасположенность уже установлена для этой вайфу или Вы пытаесь убрать предрасположенность к вайфу, которой нет.", - "gambling_waifu_affinity_changed": "сменил свою предрасположенность с {0} на {1}.\n\n*Это сомнительно с моральной точки зрения.*🤔", - "gambling_waifu_affinity_cooldown": "Вам нужно подождать {0} часов и {1} минут перед тем, как опять менять Вашу предрасположенность.", - "gambling_waifu_affinity_reset": "Ваша предрасположенность сброшена. У Вас больше нет человека, который Вам нравится.", - "gambling_waifu_affinity_set": "хочет быть вайфу {0}. Как мило <3", - "gambling_waifu_claimed": "объявил {0} своей вайфу за {1}!", - "gambling_waifu_divorced_like": "Вы развелись с вайфу, которой Вы нравитесь. Вы бессердечный прохиндей! {0} получил {1} в качестве компенсации.", - "gambling_waifu_egomaniac": "Вы не можете установить предрасположенность к самому себе, это чересчур эгоистичсно.", - "gambling_waifu_fulfilled": "🎉Их любовь нашла взаимность!🎉\nНовое значение {0} — {1}.", - "gambling_waifu_isnt_cheap": "Не бывает таких дешёвых вайфу. Вам нужно заплатить как минимум {0}, чтобы получить вайфу, даже если их фактическая стоимость ниже этого значения.", - "gambling_waifu_not_enough": "Вам нужно заплатить {0} или больше, чтобы получить эту вайфу!", - "gambling_waifu_not_yours": "Эта вайфу — не Ваша.", - "gambling_waifu_not_yourself": "Вы не можете потребовать себя в вайфу.", - "gambling_waifu_recent_divorce": "Вы недавно развелись. Нужно подождать {0} часов и {1} минут, если хотите снова развестись.", - "gambling_nobody": "Никто", - "gambling_waifu_divorced_notlike": "Вы развелись с вайфу, которой Вы не нравились. Вам вернули {0}.", - "games_8ball": "8ball", - "games_acrophobia": "Акрофобия.", - "games_acro_ended_no_sub": "Игра закончилась без ответов.", - "games_acro_no_votes_cast": "Никто не проголосовал. Игра закончилась без победителся.", - "games_acro_nym_was": "Акроним был {0}.", - "games_acro_running": "В этом канале уже идёт игра Акрофобии.", - "games_acro_started": "Игра начинается. Составьте предложение со следующим акронимом: {0}.", - "games_acro_started_footer": "У Вас есть {0} секунд, чтобы предложить ответ.", - "games_acro_submit": "{0} предложил своё предложение. ({1} в общей сложности)", - "games_acro_vote": "Чтобы проголосовать, напишите номер ответа.", - "games_acro_vote_cast": "{0} проголосовал!", - "games_acro_winner": "Победитель — {0} с {1} очками.", - "games_acro_winner_only": "{0} — победитель, так как только он привёл ответ!", - "games_question": "Вопрос", - "games_rps_draw": "Ничья! Оба игрока выбрали {0}", - "games_rps_win": "{0} выиграл! {1} побеждает {2}", - "games_submissions_closed": "Приём ответов закончен.", - "gambling_animal_race_already_started": "Гонка зверей уже идёт.", - "gambling_total_average": "Итого: {0} Среднее: {1}", - "games_category": "Категория", - "games_cleverbot_disabled": "На этом сервере отключён cleverbot.", - "games_cleverbot_enabled": "На этом сервере включён cleverbot.", - "games_curgen_disabled": "В этом канале отключено появление валюты.", - "games_curgen_enabled": "В этом канале включено появление валюты.", - "games_curgen_pl": "{0} случайных {1} появились!", - "games_curgen_sn": "Случайный {0} появился!", - "games_failed_loading_question": "Не удалось загрузить вопрос.", - "games_game_started": "Игра началась", - "games_hangman_game_started": "Игра в Виселицу началась", - "games_hangman_running": "Игра в Виселицу уже идёт в этом канале.", - "games_hangman_start_errored": "Не удалось начать игру в Виселицу.", - "games_hangman_types": "Список типов слов для \"{0}hangman\":", - "games_leaderboard": "Таблица рекордов", - "games_not_enough": "У вас не хватает {0}", - "games_no_results": "Нет результатов", - "games_picked": "собрал {0}", - "games_planted": "{0} посадил {1}", - "games_trivia_already_running": "Викторина уже идёт на этом сервере.", - "games_trivia_game": "Викторина", - "games_trivia_guess": "{0} угадал! Ответ: {1}", - "games_trivia_none": "На этом сервере не идёт викторина.", - "games_trivia_points": "У {0} {1} очков.", - "games_trivia_stopping": "Игра закончится после этого вопроса.", - "games_trivia_times_up": "Время вышло! Правильный ответ — {0}", - "games_trivia_win": "{0} угадал и ВЫИГРАЛ в игре! Ответ: {0}", - "games_ttt_against_yourself": "Вы не можете играть против самого себя.", - "games_ttt_already_running": "В этом канале уже идёт игра в крестики-нолики.", - "games_ttt_a_draw": "Ничья!", - "games_ttt_created": "создал игру в крестики-нолики.", - "games_ttt_has_won": "{0} выиграл!", - "games_ttt_matched_three": "Выстроил 3 в ряд", - "games_ttt_no_moves": "Ходов не осталось!", - "games_ttt_time_expired": "Время вышло!", - "games_ttt_users_move": "Ход {0}", - "games_vs": "{0} против {1}", - "music_attempting_to_queue": "Пытаюсь добавить {0} песен в очередь...", - "music_autoplay_disabled": "Автовоспроизведение отключено.", - "music_autoplay_enabled": "Автовоспроизведение включено.", - "music_defvol_set": "Громкость по умолчанию выставлена на {0}%", - "music_dir_queue_complete": "Папка успешно добавлена в очередь воспроизведения.", - "music_fairplay": "справедливое воспроизведение", - "music_finished_song": "Песня завершилась.", - "music_fp_disabled": "Отключено честное воспроизведение.", - "music_fp_enabled": "Включено честное воспроизведение.", - "music_from_position": "С момента", - "music_id": "Имя", - "music_invalid_input": "Неправильный ввод.", - "music_max_playtime_none": "Максимальное время воспроизведения теперь неограничено.", - "music_max_playtime_set": "Максимальное время воспроизведения установлено на {0} секунд.", - "music_max_queue_unlimited": "Максимальный размер очереди воспроизведения теперь неограничен.", - "music_max_queue_x": "Максимальный размер очереди воспроизведения установлен на {0} песен.", - "music_must_be_in_voice": "Вам требуется быть в голосовом канале на этом сервере.", - "music_name": "Название", - "music_now_playing": "Сейчас играет", - "music_no_player": "Нет активного музыкального проигрывателя.", - "music_no_search_results": "Нет результатов поиска.", - "music_paused": "Проигрывание музыки приостановлено.", - "music_player_queue": "Очередь воспроизведения - Страница {0}/{1}", - "music_playing_song": "Проигрывается песня", - "music_playlists": "'#{0}' - **{1}** *{2}* ({3} песен)", - "music_playlists_page": "Страница {0} сохранённых плейлистов.", - "music_playlist_deleted": "Плейлист удалён.", - "music_playlist_delete_fail": "Не удалось удалить плейлист. Он либо не существует, либо Вы не его автор.", - "music_playlist_id_not_found": "Плейлист с таким номером не существует.", - "music_playlist_queue_complete": "Добавление плейлиста в очередь завершено.", - "music_playlist_saved": "Плейлист сохранён.", - "music_play_limit": "Ограничение {0}c", - "music_queue": "Очередь воспроизведения", - "music_queued_song": "Песня добавлена в очередь воспроизведения.", - "music_queue_cleared": "Очередь воспроизведения музыки очищена.", - "music_queue_full": "Очередь воспроизведения полна {0}/{0}.", - "music_removed_song": "Убрана песня", - "music_repeating_cur_song": "Повторяется текущая песня.", - "music_repeating_playlist": "Повторяется плейлист", - "music_repeating_track": "Повторяется песня", - "music_repeating_track_stopped": "Повтор текущей песни приостановлен.", - "music_resumed": "Воспроизведение музыки возобновлено.", - "music_rpl_disabled": "Отключено повторение плейлиста.", - "music_rpl_enabled": "Включено повторение плейлиста.", - "music_set_music_channel": "Проигрываемые, завершённые, приостановленные и удалённые песни будут выводится в этом канале.", - "music_skipped_to": "Пропускаю до '{0}:{1}'", - "music_songs_shuffled": "Песни перемешаны", - "music_song_moved": "Песня перемещена", - "music_time_format": "{0}ч {1}м {2}с", - "music_to_position": "К моменту", - "music_unlimited": "неограничено", - "music_volume_input_invalid": "Уровень громкости должен быть от 0 до 100", - "music_volume_set": "Уровень громкости установлен на {0}%", - "permissions_acm_disable": "Отключено использование ВСЕХ МОДУЛЕЙ в канале {0}.", - "permissions_acm_enable": "Включено использование ВСЕХ МОДУЛЕЙ в канале {0}.", - "permissions_allowed": "Разрешено", - "permissions_arm_disable": "Отключено использование ВСЕХ МОДУЛЕЙ для роли {0}.", - "permissions_arm_enable": "Включено использование ВСЕХ МОДУЛЕЙ для роли {0}.", - "permissions_asm_disable": "Отключено использование ВСЕХ МОДУЛЕЙ на этом сервере.", - "permissions_asm_enable": "Включено использование ВСЕХ МОДУЛЕЙ на этом сервере.", - "permissions_aum_disable": "Отключено использование ВСЕХ МОДУЛЕЙ для пользователя {0}.", - "permissions_aum_enable": "Включено использование ВСЕХ МОДУЛЕЙ для пользователя {0}.", - "permissions_blacklisted": "{0} добавлено в чёрный список под номером {1}", - "permissions_cmdcd_add": "У команды {0} теперь есть время перезарядки {1}c", - "permissions_cmdcd_cleared": "У команды {0} больше нет времени перезарядки и все существующие перезарядки были сброшены.", - "permissions_cmdcd_none": "У команды не установлено время перезарядки.", - "permissions_command_costs": "Стоимость команд", - "permissions_cx_disable": "Отключено использование {0} {1} в канале {2}.", - "permissions_cx_enable": "Включено использование {0} {1} в канале {2}.", - "permissions_denied": "Отказано", - "permissions_filter_word_add": "Слово {0} добавлено в список фильтруемых слов.", - "permissions_filter_word_list": "Список фильтруемых слов", - "permissions_filter_word_remove": "Слово {0} убрано из списка фильтруемых слов.", - "permissions_invalid_second_param_between": "Неправильный второй параметр. (Должно быть числом от {0} до {1})", - "permissions_invite_filter_channel_off": "Отключена фильтрация приглашений в этом канале.", - "permissions_invite_filter_channel_on": "Включена фильтрация приглашений в этом канале. ", - "permissions_invite_filter_server_off": "Отключена фильтрация приглашений в этом сервере.", - "permissions_invite_filter_server_on": "Включена фильтрация приглашений в этом сервере.", - "permissions_moved_permission": "Передано разрешение {0} с #{1} в #{2}", - "permissions_not_found": "Не найдено разрешение с номером #{0}", - "permissions_no_costs": "Стоимости не установлены.", - "permissions_of_command": "команда", - "permissions_of_module": "модуль", - "permissions_page": "Страница разрешений {0}", - "permissions_permrole": "Текущая роль разрешений — {0}", - "permissions_permrole_changed": "Пользователям требуется роль {0} для редактирования разрешений.", - "permissions_perm_out_of_range": "Не найдено разрешения с таким номером.", - "permissions_removed": "удалил разрешение #{0} - {1}", - "permissions_rx_disable": "Отключено использование {0} {1} для роли {2}.", - "permissions_rx_enable": "Включено использование {0} {1} для роли {2}.", - "permissions_sec": "сек.", - "permissions_sx_disable": "Отключено использование {0} {1} для данного сервера.", - "permissions_sx_enable": "Включено использование {0} {1} для данного сервера.", - "permissions_unblacklisted": "{0} с номером {1} убраны из черного списка.", - "permissions_uneditable": "нередактируемое", - "permissions_ux_disable": "Отключено использование {0} {1} для пользователя {2}.", - "permissions_ux_enable": "Включено использование {0} {1} для пользователя {2}.", - "permissions_verbose_false": "Оповещения о разрешениях больше не будут показываться в чате.", - "permissions_verbose_true": "Оповещения о разрешениях будут показываться в чате.", - "permissions_word_filter_channel_off": "В данном канале отключена фильтрация слов.", - "permissions_word_filter_channel_on": "В данном канале включена фильтрация слов.", - "permissions_word_filter_server_off": "На данном сервере оключена фильтрация слов.", - "permissions_word_filter_server_on": "На данном сервере включена фильтрация слов.", - "searches_abilities": "Способности", - "searches_anime_no_fav": "Нет любимого аниме", - "searches_atl_ad_started": "Начинается автоматический перевод сообщений в этом канале. Сообщения пользователей будут автоматически удаляться.", - "searches_atl_removed": "Ваш язык автоперевода был удалён.", - "searches_atl_set": "Ваш язык автоперевода изменён с {0} на {1}", - "searches_atl_started": "Начинается автоматический перевод сообщений в этом канале.", - "searches_atl_stopped": "Остановлен автоматический перевод сообщений в этом канале.", - "searches_bad_input_format": "Неправильный формат ввода, что-то пошло не так.", - "searches_card_not_found": "Эта карта не найдена.", - "searches_catfact": "факт", - "searches_chapters": "Главы", - "searches_comic_number": "Комикс #", - "searches_compet_loses": "Поражений в соревновательном режиме", - "searches_compet_played": "Матчей в соревновательном режиме", - "searches_compet_rank": "Соревновательный ранг", - "searches_compet_wins": "Победы в соревновательном режиме", - "searches_completed": "Завершено", - "searches_condition": "Условие", - "searches_cost": "Стоимость", - "searches_date": "Дата", - "searches_define": "Определить:", - "searches_dropped": "Брошено", - "searches_episodes": "Эпизоды", - "searches_error_occured": "Произошла ошибка", - "searches_example": "Образец", - "searches_failed_finding_anime": "Не удалось найти это аниму.", - "searches_failed_finding_manga": "Не удалось найти это манго.", - "searches_genres": "Жанры", - "searches_hashtag_error": "Не удалось найти определение для этого тэга.", - "searches_height_weight": "Высота/Вес", - "searches_height_weight_val": "{0}м/{1}кг", - "searches_humidity": "Влажность", - "searches_image_search_for": "Поиск изображений:", - "searches_imdb_fail": "Не удалос найти этот фильм.", - "searches_invalid_lang": "Неправильный источник или целевой язык.", - "searches_jokes_not_loaded": "Шутки не были загружены.", - "searches_latlong": "Шир/Долг", - "searches_level": "Уровень", - "searches_list_of_place_tags": "Список тэгов для команды {0}place", - "searches_location": "Местоположение", - "searches_magicitems_not_loaded": "Волшебные предметы не были загружены.", - "searches_mal_profile": "Профиль в MAL {0}", - "searches_mashape_api_missing": "Владелец бота не задал MashapeApiKey. Вы не можете использовать эту функцию.", - "searches_min_max": "Мин/Макс", - "searches_no_channel_found": "Каналов не найдено.", - "searches_no_results": "Результаты не найдены.", - "searches_on_hold": "Ожидание", - "searches_original_url": "Оригинальный URL", - "searches_osu_api_key": "Требуется ключ osu! API.", - "searches_osu_failed": "Не удалось получить подпись osu!", - "searches_over_x": "Найдено больше {0} изображений. Показывается случайные {0} изображений.", - "searches_ow_user_not_found": "Пользователь не найден! Проверьте регион и BattleTag и попробуйте ещё раз.", - "searches_plan_to_watch": "Планирует смотреть", - "searches_platform": "Платформа", - "searches_pokemon_ability_none": "Способность не найдена", - "searches_pokemon_none": "Покемон не найден", - "searches_profile_link": "Ссылка на профиль:", - "searches_quality": "Качество:", - "searches_quick_playtime": "Время в Быстрой игре", - "searches_quick_wins": "Побед в Быстрой Игре", - "searches_rating": "Рейтинг:", - "searches_score": "Отметка:", - "searches_search_for": "Искать:", - "searches_shorten_fail": "Не удалось укоротить эту ссылку.", - "searches_short_url": "Короткая ссылка", - "searches_something_went_wrong": "Что-то пошло не так.", - "searches_specify_search_params": "Пожалуйста, задайте параметры поиска.", - "searches_status": "Состояние", - "searches_store_url": "URL Магазина", - "searches_streamer_offline": "Стример {0} в оффлане.", - "searches_streamer_online": "Стример {0} в онлайне с {1} зрителями.", - "searches_streams_following": "Вы подписаны на {0} стримов на этом сервере.", - "searches_streams_none": "Вы не подписаны ни на один стрим на этом сервере.", - "searches_stream_no": "Такого стрима не существует.", - "searches_stream_not_exist": "Скорее всего, этот стрим не существует.", - "searches_stream_removed": "Стрим {0} ({1}) убран из оповещений.", - "searches_stream_tracked": "Этот канал будет оповещён, когда статус стрима изменится.", - "searches_sunrise": "Рассвет", - "searches_sunset": "Закат", - "searches_temperature": "Температура", - "searches_title": "Название:", - "searches_top_3_fav_anime": "3 любимых аниме:", - "searches_translation": "Перевод:", - "searches_types": "Типы:", - "searches_ud_error": "Не удалось найти определение для этого запроса.", - "searches_url": "Url", - "searches_viewers": "Зрители", - "searches_watching": "Смотрят", - "searches_wikia_error": "Не удалось найти этот термин на указаной вики.", - "searches_wikia_input_error": "Укажите целевую вики и после этого поисковый запрос.", - "searches_wiki_page_not_found": "Страница не найдена.", - "searches_wind_speed": "Скорость ветра", - "searches_x_most_banned_champs": "{0} наиболее часто забаненных чемпионов.", - "searches_yodify_error": "Предложение, как у Йоды, не получилось сделать.", - "utiliity_joined": "Присоединился", - "utility_activity_line": "'{0}.' {1} [{2:F2}/с] - {3} всего", - "utility_activity_page": "Страница списка активности #{0}", - "utility_activity_users_total": "Всего {0} пользователей.", - "utility_author": "Автор", - "utility_botid": "ID бота", - "utility_calcops": "Список функций команды {0}calc", - "utility_channelid": "{0} этого канала — {1}", - "utility_channel_topic": "Тема канала", - "utility_commands_ran": "Команд запущено", - "utility_convert": "{0} {1} равно {2} {3}", - "utility_convertlist": "Единицы, которые можно использовать в конвертировании", - "utility_convert_not_found": "Нельзя перевести {0} в {1}: единицы измерения не найдены", - "utility_convert_type_error": "Нельзя перевести {0} в {1}: единицы измерения не эквивалентны.", - "utility_created_at": "Создано", - "utility_csc_join": "Присоедился к межсерверному каналу.", - "utility_csc_leave": "Покинул межсерверный канал.", - "utility_csc_token": "Ваш CSC токен:", - "utility_custom_emojis": "Серверные emoji", - "utility_error": "Ошибка", - "utility_features": "Признаки", - "utility_id": "Имя", - "utility_index_out_of_range": "Указатель вышел за пределы диапазона.", - "utility_inrole_list": "Список пользователей с ролью {0}:", - "utility_inrole_not_allowed": "Вам запрещено использовать эту комманду в отношении ролей с большим числом пользователей для предотвращения чрезмерного использования.", - "utility_invalid_value": "Неправильное значение {0}.", - "utility_joined_discord": "Присоединился к Discord", - "utility_joined_server": "Присоединился к серверу", - "utility_listservers": "Имя: {0}\nУчастники: {1}\nID Владельца: {2}", - "utility_listservers_none": "На этой странице не найдено серверов.", - "utility_list_of_repeaters": "Список повторяемых сообщений", - "utility_members": "Участники", - "utility_memory": "Память", - "utility_messages": "Сообщения", - "utility_message_repeater": "Повторяемые сообщения", - "utility_name": "Имя", - "utility_nickname": "Кличка", - "utility_nobody_playing_game": "Никто не играет в эту игру", - "utility_no_active_repeaters": "Нет активных повторяемых сообщений", - "utility_no_roles_on_page": "На этой странице нет ролей.", - "utility_no_shards_on_page": "На этой странице нет Shard-ов.", - "utility_no_topic_set": "Тема не задана", - "utility_owner": "Владелец", - "utility_owner_ids": "ID владельца", - "utility_presence": "Присутствие", - "utility_presence_txt": "{0} Серверов\n{1} Текстовых каналов\n{2} Голосовых каналов", - "utility_quotes_deleted": "Удалены все цитаты с ключевым словом {0}.", - "utility_quotes_page": "Страница {0} цитат", - "utility_quotes_page_none": "На этой странице нет цитат.", - "utility_quotes_remove_none": "Не найдено цитат, пригодных для удаления.", - "utility_quote_added": "Цитата добавлена", - "utility_quote_deleted": "Цитата #{0} удалена.", - "utility_region": "Регион", - "utility_registered_on": "Зарегистрирован", - "utility_remind": "Я напомню, чтобы {0} сделал {2} '{3:d.M.yyyy.} в {4:HH:mm}'", - "utility_remind_invalid_format": "Неправильный формат времени. Проверьте список команд.", - "utility_remind_template": "Новый образец для напоминаний задан.", - "utility_repeater": "Повторяю {0} каждые {} дня(ей), {2} час(а) и {3} минут(у).", - "utility_repeaters_list": "Список повторяемых сообщений", - "utility_repeaters_none": "На этом сервере нет повторяемых сообщений.", - "utility_repeater_stopped": "#{0} остановлен.", - "utility_repeat_invoke_none": "На этом сервере не найдено повторяемых сообщений", - "utility_result": "Результат", - "utility_roles": "Роли", - "utility_roles_all_page": "Страница #{0} всех ролей на этом сервере:", - "utility_roles_page": "Страница #{0} ролей для {1}", - "utility_rrc_no_colors": "Цвета заданы в неправильном формате. Используйте, например '#00ff00'.", - "utility_rrc_start": "Начато чередование цветов роли {0}.", - "utility_rrc_stop": "Остановлено чередование цветов роли {0}.", - "utility_serverid": "{0} этого сервера — {1}", - "utility_server_info": "Информация о сервере", - "utility_shard": "Shard", - "utility_shard_stats": "Статистика Shard-а", - "utility_shard_stats_txt": "Shard **#{0}** находится в состоянии {1} с {2} серверами.", - "utility_showemojis": "**Имя:** {0} **Link:** {1}", - "utility_showemojis_none": "Серверные emoji не найдены.", - "utility_stats_songs": "Проигрывается {0} песен, {1} в очереди", - "utility_text_channels": "Текстовые каналы", - "utility_togtub_room_link": "Ссылка на Вашу комнату:", - "utility_uptime": "Время работы", - "utility_userid": "{0} пользователя {1} — {2}", - "utility_users": "Пользователи", - "utility_voice_channels": "Голосовые каналы", - "gambling_animal_race_already_in": "Вы уже участвуете в этой гонке!", - "games_current_poll_results": "Результаты опроса", - "games_no_votes_cast": "Не получено ни одного ответа.", - "games_poll_already_running": "На данном сервере уже идёт опрос.", - "games_poll_created": "{0} создал опрос, требующий Вашего внимания:", - "games_poll_result": "'{0}.' У {1} {2} голосов.", - "games_poll_voted": "{0} проголосовал.", - "games_poll_vote_private": "Отправьте сообщение в этом текстовом канале с номером, соответствующему Вашему ответу.", - "games_poll_vote_public": "Отправьте сообщение в этом текстовом канале с номером, соответствующему Вашему ответу.", - "games_thanks_for_voting": "Спасибо за Ваш ответ, {0}.", - "games_x_votes_cast": "Всего получено {0} ответов.", - "games_pick_pl": "Напишите '{0}pick', чтобы собрать их", - "games_pick_sn": "Напишите '{0}pick', чтобы собрать его", - "gambling_no_users_found": "Пользователи не найдены.", - "gambling_page": "Страница {0}", - "administration_must_be_in_voice": "Вы должны быть в голосовом канале на этом сервере.", - "administration_no_vcroles": "Нет ролей для голосовых каналов.", - "administration_user_muted_time": "{0} получил **запрет** на разговор в текстовых и голосовых каналах на {1} минут.", - "administration_vcrole_added": "Пользователи, присоединяющиеся к голосовому каналу {0}, получат роль {1}.", - "administration_vcrole_removed": "Пользователи, присоединяющиеся к голосовому каналу {0}, больше не будут получать роль.", - "administration_vc_role_list": "Роли голосовых каналов", - "customreactions_crad_disabled": "Сообщение, инициирующее настраиваемую реакцию с номером {0}, не будет автоматически удалено.", - "customreactions_crad_enabled": "Сообщение, инициирующее настраиваемую реакцию с номером {0}, будет автоматически удалено.", - "customreactions_crdm_disabled": "Ответное сообщение для настраиваемой реакции с номером {0} не будет отправлено в ЛС.", - "customreactions_crdm_enabled": "Ответное сообщение для настраиваемой реакции с номером {0} будет отправлено в ЛС.", - "utility_aliases_none": "Альтернативная команда не найдена", - "utility_alias_added": "{0} теперь будет альтернативной командой для {1}.", - "utility_alias_list": "Список альтернативных команд", - "utility_alias_removed": "У триггера {0} больше нет альтернативных команд.", - "utility_alias_remove_fail": "У триггера {0} не было альтернативных команд.", - "searches_compet_playtime": "Время в игре", - "administration_channel": "Канал", - "administration_command_text": "Текст команды", - "administration_kicked_pl": "Выгнаны", - "administration_moderator": "Модератор", - "administration_page": "страница {0}", - "administration_reason": "Причина", - "administration_scadd": "Новая команда автозапуска добавлена.", - "administration_scrm": "Новая команда автозапуска успешно удалена.", - "administration_scrm_fail": "Команда автозапуска не найдена.", - "administration_server": "Сервер", - "administration_startcmdlist_none": "Не найдено команд автозапуска на этой странице.", - "administration_startcmds_cleared": "Удалены все команды автозапуска.", - "administration_unbanned_user": "Пользователь {0} был разбанен.", - "administration_user_not_found": "Пользователь не найден.", - "administration_user_warned": "Пользователь {0} получил предупреждение.", - "administration_user_warned_and_punished": "Пользователь {0} получил предупреждение и наказание {1} было применено.", - "administration_warned_on": "Предупреждение было вынесено на сервере {0}", - "administration_warned_on_by": "{0} в {1} пользователем {2}", - "administration_warnings_cleared": "Все предупреждения были удалены для пользователя {0}.", - "administration_warnings_none": "На этой странице нет предупреждений.", - "administration_warnlog_for": "Регистрация предупреждений для пользователя {0}", - "administration_warnpl_none": "Наказания не выставлены.", - "administration_warn_cleared_by": "очищен пользователем {0}", - "administration_warn_punish_list": "Список наказаний для предупреждений", - "administration_warn_punish_rem": "Наказание больше не будет применено после {0} предупреждений.", - "administration_warn_punish_set": "Для пользователей с {1} предупреждениями будет применено наказание {0}.", - "administration_slowmodewl_role_start": "Медленный режим больше не распространяется на роль {0}.", - "administration_slowmodewl_role_stop": "Медленный режим теперь распространяется на роль {0}.", - "administration_slowmodewl_user_start": "Медленный режим больше не распространяется на пользователя {0}.", - "administration_slowmodewl_user_stop": "Медленный режим теперь распространяется на пользователя {0}.", - "utility_clpa_fail": "Не удалось получить награды по одной из следующих причин:", - "utility_clpa_fail_already": "Возможно, Вы уже получили Ваши награды за этот месяц. Вы можете получать награды только раз в месяц, если Вы не увеличивали Ваше пожертвование.", - "utility_clpa_fail_already_title": "Уже были получены", - "utility_clpa_fail_conn": "Ваш аккаунт в Discord, скорее всего, не подключён к Patreon. Если Вы не уверены, что это значит или не знаете, как его подключить, то Вам необходимо перейти на [Страницу настроек аккаунта в Patreon](https://patreon.com/settings/account) и нажать кнопку \"Connect to discord.\"", - "utility_clpa_fail_conn_title": "Аккаунт Discord не подключён", - "utility_clpa_fail_sup": "Для получения наград Вам необходимо поддерживать проект в Patreon. Вы можете воспользоваться командой {0}, чтобы получить ссылку.", - "utility_clpa_fail_sup_title": "Вы не поддерживаете проект", - "utility_clpa_fail_wait": "Вам необходимо подождать несколько часов после Вашего пожертвования, если Вы не делали этого, попробуйте позже.", - "utility_clpa_fail_wait_title": "Подождите немного", - "utility_clpa_success": "Вы получили {0}. Спасибо за поддержку проекта!", - "utility_clpa_too_early": "Награды могут быть получены только начиная с 5-го числа месяца.", - "searches_time": "Время в {0} сейчас {1} - {2}", - "administration_rh": "Изменено отображение роли {0}, отображаемой отдельно от участников онлайн, на {1}.", - "gambling_name": "Название", - "gambling_shop": "Магазин", - "gambling_shop_item_add": "Предмет для покупки был добавлен", - "gambling_shop_none": "На этой странице нет предметов для покупки.", - "gambling_shop_role": "Вы получите роль {0}", - "gambling_type": "Вид", - "utility_clpa_next_update": "Следующее обновление в {0}", - "administration_global_perms_reset": "Глобальные разрешения были сброшены.", - "administration_gvc_disabled": "Функция Игрового Голосового Канала отключена на этом сервере.", - "administration_gvc_enabled": "{0} теперь является Игровым Голосовом Каналом.", - "administration_not_in_voice": "Вы не находитесь в голосовом канале на этом сервере.", - "gambling_item": "Предмет", - "gambling_out_of_stock": "Закончились.", - "gambling_random_unique_item": "Случайный уникальный предмет.", - "gambling_shop_buy_error": "Ошибка при отправке сообщения в ЛС. Ваши деньги возвращены.", - "gambling_shop_item_not_found": "Ни одного предмета с этим номером не было найдено.", - "gambling_shop_item_purchase": "Покупка предмета прошла успешно.", - "gambling_shop_item_rm": "Предмет для покупки был удален", - "gambling_shop_item_wrong_type": "Этот отдел магазина не поддерживает добавление предметов.", - "gambling_shop_list_item_added": "Предмет успешно добавлен.", - "gambling_shop_list_item_not_unique": "Этот предмет уже был добавлен.", - "gambling_shop_purchase": "Покупка на {0} сервере", - "gambling_shop_role_not_found": "Роль, которая была продана, больше не существует.", - "gambling_shop_role_purchase": "Вы успешно купили роль {0}.", - "gambling_shop_role_purchase_error": "Ошибка при выдаче роли. Ваша покупка была сброшена.", - "gambling_unique_items_left": "Осталось {0} уникальных предметов.", - "permissions_blocked_commands": "Заблокированные Команды", - "permissions_blocked_modules": "Заблокированные Модули", - "permissions_gcmd_add": "Команда {0} была отключена на всех серверах.", - "permissions_gcmd_remove": "Команда {0} была включена на всех серверах.", - "permissions_gmod_add": "Модуль {0} был отключен на всех серверах.", - "permissions_gmod_remove": "Модуль {0} был включен на всех серверах.", - "permissions_lgp_none": "Нет заблокированных команд или модулей." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.sr-cyrl-rs.json b/src/NadekoBot/_strings/ResponseStrings.sr-cyrl-rs.json deleted file mode 100644 index d28e4cd0..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.sr-cyrl-rs.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Та база је већ под захетвом или је уништена.", - "clashofclans_base_already_destroyed": "Та база је већ под захтевом.", - "clashofclans_base_already_unclaimed": "Та база није под захтевом.", - "clashofclans_base_destroyed": "**УНИШТЕНА** база #{0} у рату против {1}", - "clashofclans_base_unclaimed": "{0} је **ПОНИШТИО ЗАХТЕВ** за базу #{1} у рату против {2}", - "clashofclans_claimed_base": "{0} захтева базу #{1} у рату против {2}", - "clashofclans_claimed_other": "@{0} Ти већ захтеваш базу #{1}. Не можеш захтевати још једну.", - "clashofclans_claim_expired": "Захтев од @{0} у рату против {1} је истекао.", - "clashofclans_enemy": "Противник", - "clashofclans_info_about_war": "Подаци о рату против {0}", - "clashofclans_invalid_base_number": "Број базе није валидан.", - "clashofclans_invalid_size": "Величина рата није валидна.", - "clashofclans_list_active_wars": "Листа ратова у току", - "clashofclans_not_claimed": "нема захтева", - "clashofclans_not_partic": "Ти не учествујеш у том рату.", - "clashofclans_not_partic_or_destroyed": "@{0} Ти или не учествујеш у рату или је та база већ уништена.", - "clashofclans_no_active_wars": "Нема ратова у току.", - "clashofclans_size": "Величина", - "clashofclans_war_already_started": "Рат против {0} је већ почео.", - "clashofclans_war_created": "Рат против {0} је направљен.", - "clashofclans_war_ended": "Рат против {0} је завршен.", - "clashofclans_war_not_exist": "Тај рат не постоји.", - "clashofclans_war_started": "Рат против {0} је започет!", - "customreactions_all_stats_cleared": "Сва статистика Реакција по Избору је обрисана.", - "customreactions_deleted": "Реакција по Избору обрисана", - "customreactions_insuff_perms": "Немате дозволу. Потребно је поседовати бота за глобалне Реакције по Избору, а Администратор за серверске Реакције по Избору.", - "customreactions_list_all": "Листа свих реакција по избору", - "customreactions_name": "Реакције по Избору", - "customreactions_new_cust_react": "Нова Реакција по Избору", - "customreactions_no_found": "Реакција по избору није нађена.", - "customreactions_no_found_id": "Није нађена реакција са тим идентификатором.", - "customreactions_response": "Одговор", - "customreactions_stats": "Статистика Реакција по Избору", - "customreactions_stats_cleared": "Статистика је обрисана за {0} реакцију по избору.", - "customreactions_stats_not_found": "Није нађена статистика за тај окидач. Нема промене.", - "customreactions_trigger": "Окидач", - "nsfw_autohentai_stopped": "АутоХентаи заустављен.", - "nsfw_not_found": "No results found.", - "pokemon_already_fainted": "{0} је већ онесвешћен.", - "pokemon_already_full": "{0} је већ потпуно здрав.", - "pokemon_already_that_type": "Твој тип већ јесте {0}", - "pokemon_attack": "је искористио {0}{1} на {2}{3} и нанео {4} штете.", - "pokemon_cant_attack_again": "Не можеш напасти пре узвратног ударца.", - "pokemon_cant_attack_yourself": "Не можеш напасти себе.", - "pokemon_fainted": "{0} се онесвестио.", - "pokemon_healed": "је излечио {0} са једним {1}", - "pokemon_hp_remaining": "{0} има {1} преосталог здравља.", - "pokemon_invalid_move": "Не можеш искористити {0}. Укуцај `{1}ml` да би видео листу удараца које можеш користити.", - "pokemon_moves": "Листа покрета за {0} тип", - "pokemon_not_effective": "Није ефективно.", - "pokemon_no_currency": "Немаш довољно {0}", - "pokemon_revive_other": "је оживео {0} са једним {1}", - "pokemon_revive_yourself": "Оживео си себе са једним {0}", - "pokemon_settype_success": "Твој тип је промењен на {0} за један {1}", - "pokemon_somewhat_effective": "Има неког ефекта!", - "pokemon_super_effective": "Супер ефективно!", - "pokemon_too_many_moves": "Користио си превише напада узастопно, не можеш да се крећеш!", - "pokemon_type_of_user": "{0}-ов тип је {1}", - "pokemon_user_not_found": "Корисник није нађен.", - "pokemon_you_fainted": "Онесвешћен си, не можеш да се крећеш.", - "administration_aar_disabled": "**Auto assign role** on user join is now **disabled**.", - "administration_aar_enabled": "**Auto assign role** on user join is now **enabled**.", - "administration_attachments": "Attachments", - "administration_avatar_changed": "Avatar Changed", - "administration_bandm": "You have been banned from {0} server.\nReason: {1}", - "administration_banned_pl": "banned", - "administration_banned_user": "User Banned", - "administration_bot_name": "Bot name changed to {0}", - "administration_bot_status": "Bot status changed to {0}", - "administration_byedel_off": "Automatic deletion of bye messages has been disabled.", - "administration_byedel_on": "Bye messages will be deleted after {0} seconds.", - "administration_byemsg_cur": "Current bye message: {0}", - "administration_byemsg_enable": "Enable bye messages by typing {0}", - "administration_byemsg_new": "New bye message set.", - "administration_bye_off": "Bye announcements disabled.", - "administration_bye_on": "Bye announcements enabled on this channel.", - "administration_ch_name_change": "Channel Name Changed", - "administration_ch_old_name": "Old Name", - "administration_ch_topic_change": "Channel Topic Changed", - "administration_cleaned_up": "Cleaned up.", - "administration_content": "Content", - "administration_cr": "Sucessfully created role {0}", - "administration_createtextchan": "Text channel {0} created.", - "administration_createvoich": "Voice channel {0} created.", - "administration_deafen": "Deafen successful.", - "administration_deleted_server": "Deleted server {0}", - "administration_delmsg_off": "Stopped automatic deletion of successful command invokations.", - "administration_delmsg_on": "Now automatically deleting sucessful command invokations.", - "administration_deltextchan": "Text channel {0} deleted.", - "administration_delvoich": "Voice channel {0} deleted.", - "administration_dm_from": "DM from", - "administration_donadd": "Sucessfully added a new donator.Total donated amount from this user: {0} 👑", - "administration_donators": "Thanks to the people listed below for making this project hjappen!", - "administration_fwall_start": "I will forward DMs to all owners.", - "administration_fwall_stop": "I will forward DMs only to the first owner.", - "administration_fwdm_start": "I will forward DMs from now on.", - "administration_fwdm_stop": "I will stop forwarding DMs from now on.", - "administration_greetdel_off": "Automatic deletion of greet messages has been disabled.", - "administration_greetdel_on": "Greet messages will be deleted after {0} seconds.", - "administration_greetdmmsg_cur": "Current DM greet message: {0}", - "administration_greetdmmsg_enable": "Enable DM greet messages by typing {0}", - "administration_greetdmmsg_new": "New DM greet message set.", - "administration_greetdm_off": "DM greet announcements disabled.", - "administration_greetdm_on": "DM greet announcements enabled.", - "administration_greetmsg_cur": "Current greet message: {0}", - "administration_greetmsg_enable": "Enable greet messages by typing {0}", - "administration_greetmsg_new": "New greet message set.", - "administration_greet_off": "Greet announcements disabled.", - "administration_greet_on": "Greet announcements enabled on this channel.", - "administration_hierarchy": "You can't use this command on users with a role higher or equal to yours in the role hierarchy.", - "administration_images_loaded": "Images loaded after {0} seconds!", - "administration_invalid_format": "Invalid input format.", - "administration_invalid_params": "Invalid parameters.", - "administration_joined": "{0} has joined {1}", - "administration_kickdm": "You have been kicked from {0} server.\nReason: {1}", - "administration_kicked_user": "Кикован корисник", - "administration_lang_list": "List Of Languages\n{0}", - "administration_lang_set": "Your server's locale is now {0} - {1}", - "administration_lang_set_bot": "Bot's default locale is now {0} - {1}", - "administration_lang_set_bot_show": "Bot's language is set to {0} - {0}", - "administration_lang_set_fail": "Failed setting locale. Revisit this command's help.", - "administration_lang_set_show": "This server's language is set to {0} - {0}", - "administration_left": "{0} has left {1}", - "administration_left_server": "Left server {0}", - "administration_log": "Logging {0} event in this channel.", - "administration_log_all": "Logging all events in this channel.", - "administration_log_disabled": "Logging disabled.", - "administration_log_events": "Log events you can subscribe to:", - "administration_log_ignore": "Logging will ignore {0}", - "administration_log_not_ignore": "Logging will not ignore {0}", - "administration_log_stop": "Stopped logging {0} event.", - "administration_menrole": "{0} has invoked a mention on the following roles", - "administration_message_from_bo": "Message from {0} `[Bot Owner]`:", - "administration_message_sent": "Message sent.", - "administration_moved": "{0} moved from {1} to {2}", - "administration_msg_del": "Message Deleted in #{0}", - "administration_msg_update": "Message Updated in #{0}", - "administration_muted_pl": "Muted", - "administration_muted_sn": "Muted", - "administration_mute_error": "I don't have the permission necessary for that most likely.", - "administration_mute_role_set": "New mute role set.", - "administration_need_admin": "I need **Administration** permission to do that.", - "administration_new_msg": "New Message", - "administration_new_nick": "New Nickname", - "administration_new_topic": "New Topic", - "administration_nick_change": "Nickname Changed", - "administration_no_server": "Can't find that server", - "administration_no_shard_id": "No shard with that ID found.", - "administration_old_msg": "Стара порука", - "administration_old_nick": "Стари надимак", - "administration_old_topic": "Стара тема", - "administration_perms": "Error. Most likely I don't have sufficient permissions.", - "administration_perms_reset": "Permissions for this server are reset.", - "administration_prot_active": "Активне заштите", - "administration_prot_disable": "{0} has been **disabled** on this server.", - "administration_prot_enable": "{0} Enabled", - "administration_prot_error": "Error. I need ManageRoles permission", - "administration_prot_none": "Нема активних заштита.", - "administration_raid_cnt": "User threshold must be between {0} and {1}.", - "administration_raid_stats": "If {0} or more users join within {1} seconds, I will {2} them.", - "administration_raid_time": "Time must be between {0} and {1} seconds.", - "administration_rar": "Successfully removed all roles from user {0}", - "administration_rar_err": "Failed to remove roles. I have insufficient permissions.", - "administration_rc": "Color of {0} role has been changed.", - "administration_rc_not_exist": "That role does not exist.", - "administration_rc_params": "The parameters specified are invalid.", - "administration_rc_perms": "Error occured due to invalid color or insufficient permissions.", - "administration_remrole": "Successfully removed role {0} from user {1}", - "administration_remrole_err": "Failed to remove role. I have insufficient permissions.", - "administration_renrole": "Role renamed.", - "administration_renrole_err": "Failed to rename role. I have insufficient permissions.", - "administration_renrole_perms": "You can't edit roles higher than your highest role.", - "administration_reprm": "Removed the playing message: {0}", - "administration_role_added": "Role {0} as been added to the list.", - "administration_role_clean": "{0} not found.Cleaned up.", - "administration_role_in_list": "Role {0} is already in the list.", - "administration_ropl_added": "Added.", - "administration_ropl_disabled": "Rotating playing status disabled.", - "administration_ropl_enabled": "Rotating playing status enabled.", - "administration_ropl_list": "Here is a list of rotating statuses:\n{0}", - "administration_ropl_not_set": "No rotating playing statuses set.", - "administration_self_assign_already": "You already have {0} role.", - "administration_self_assign_already_excl": "You already have {0} exclusive self-assigned role.", - "administration_self_assign_excl": "Self assigned roles are now exclusive!", - "administration_self_assign_list": "There are {0} self assignable roles", - "administration_self_assign_not": "That role is not self-assignable.", - "administration_self_assign_not_have": "You don't have {0} role.", - "administration_self_assign_no_excl": "Self assigned roles are now not exclusive!", - "administration_self_assign_perms": "I am unable to add that role to you. `I can't add roles to owners or other roles higher than my role in the role hierarchy.`", - "administration_self_assign_rem": "{0} has been removed from the list of self-assignable roles.", - "administration_self_assign_remove": "You no longer have {0} role.", - "administration_self_assign_success": "You now have {0} role.", - "administration_setrole": "Sucessfully added role {0} to user {1}", - "administration_setrole_err": "Failed to add role. I have insufficient permissions.", - "administration_set_avatar": "New avatar set!", - "administration_set_channel_name": "New channel name set.", - "administration_set_game": "New game set!", - "administration_set_stream": "New stream set!", - "administration_set_topic": "New channel topic set.", - "administration_shard_reconnected": "Shard {0} reconnected.", - "administration_shard_reconnecting": "Shard {0} reconnecting.", - "administration_shutting_down": "Shutting down", - "administration_slowmode_desc": "Users can't send more than {0} messages every {1} seconds.", - "administration_slowmode_disabled": "Slow mode disabled.", - "administration_slowmode_init": "Slow mode initiated", - "administration_soft_banned_pl": "soft-banned (kicked)", - "administration_spam_ignore": "{0} will ignore this channel.", - "administration_spam_not_ignore": "{0} will no longer ignore this channel.", - "administration_spam_stats": "If a user posts {0} same messages in a row, I will {1} them.\n __IgnoredChannels__: {2}", - "administration_text_chan_created": "Уништен текстуелни канал", - "administration_text_chan_destroyed": "Text Channel Destroyed ", - "administration_undeafen": "Undeafen successful.", - "administration_unmuted_sn": "Unmuted", - "administration_username": "Username", - "administration_username_changed": "Username Changed", - "administration_users": "Users", - "administration_user_banned": "User Banned", - "administration_user_chat_mute": "{0} has been **muted** from chatting.", - "administration_user_chat_unmute": "{0} has been **unmuted** from chatting.", - "administration_user_joined": "User Joined", - "administration_user_left": "User Left", - "administration_user_muted": "{0} has been **muted** from text and voice chat.", - "administration_user_role_add": "User's Role Added", - "administration_user_role_rem": "User's Role Removed", - "administration_user_status_change": "{0} is now {1}", - "administration_user_unmuted": "{0} has been **unmuted** from text and voice chat.", - "administration_user_vjoined": "{0} has joined {1} voice channel.", - "administration_user_vleft": "{0} has left {1} voice channel.", - "administration_user_vmoved": "{0} moved from {1} to {2} voice channel.", - "administration_user_voice_mute": "{0} has been **voice muted**.", - "administration_user_voice_unmute": "{0} has been **voice unmuted**.", - "administration_voice_chan_created": "Voice Channel Destroyed", - "administration_voice_chan_destroyed": "Voice Channel Destroyed", - "administration_vt_disabled": "Disabled voice + text feature.", - "administration_vt_enabled": "Enabled voice + text feature.", - "administration_vt_exit": "I don't have **manage roles** and/or **manage channels** permission, so I cannot run `voice+text` on {0} server.", - "administration_vt_no_admin": "You are enabling/disabling this feature and **I do not have ADMINISTRATOR permissions**. This may cause some issues, and you will have to clean up text channels yourself afterwards.", - "administration_vt_perms": "I require atleast **manage roles** and **manage channels** permissions to enable this feature. (preffered Administration permission)", - "administration_xmuted_text": "User {0} from text chat", - "administration_xmuted_text_and_voice": "User {0} from text and voice chat", - "administration_xmuted_voice": "User {0} from voice chat", - "administration_sbdm": "You have been soft-banned from {0} server.\nReason: {1}", - "administration_user_unbanned": "User Unbanned", - "administration_migration_done": "Migration done!", - "adminsitration_migration_error": "Error while migrating, check bot's console for more information.", - "administration_presence_updates": "Presence Updates", - "administration_sb_user": "User Soft-Banned", - "gambling_awarded": "has awarded {0} to {1}", - "gambling_better_luck": "Better luck next time ^_^", - "gambling_br_win": "Congratulations! You won {0} for rolling above {1}", - "gambling_deck_reshuffled": "Deck reshuffled.", - "gambling_flipped": "flipped {0}.", - "gambling_flip_guess": "You guessed it! You won {0}", - "gambling_flip_invalid": "Invalid number specified. You can flip 1 to {0} coins.", - "gambling_flowerreaction_desc": "Add {0} reaction to this message to get {1} ", - "gambling_flowerreaction_footer": "This event is active for up to {0} hours.", - "gambling_flowerreaction_title": "Flower reaction event started!", - "gambling_gifted": "has gifted {0} to {1}", - "gambling_has": "{0} has {1}", - "gambling_heads": "Heads", - "gambling_leaderboard": "Leaderboard", - "gambling_mass_award": "Awarded {0} to {1} users from {2} role.", - "gambling_max_bet_limit": "You can't bet more than {0}", - "gambling_min_bet_limit": "You can't bet less than {0}", - "gambling_not_enough": "You don't have enough {0}", - "gambling_no_more_cards": "No more cards in the deck.", - "gambling_raffled_user": "Raffled User", - "gambling_roll": "You rolled {0}.", - "gambling_slot_bet": "Bet", - "gambling_slot_jackpot": "WOAAHHHHHH!!! Congratulations!!! x{0}", - "gambling_slot_single": "A single {0}, x{1}", - "gambling_slot_three": "Wow! Lucky! Three of a kind! x{0}", - "gambling_slot_two": "Good job! Two {0} - bet x{1}", - "gambling_slot_won": "Won", - "gambling_sneakygamestatus_desc": "Users must type a secret code to get {0}.\nLasts {1} seconds. Don't tell anyone. Shhh.", - "gambling_sneakygamestatus_end": "SneakyGame event ended. {0} users received the reward.", - "gambling_sneakygamestatus_title": "SneakyGameStatus event started", - "gambling_tails": "Tails", - "gambling_take": "successfully took {0} from {1}", - "gambling_take_fail": "was unable to take {0} from{1} because the user doesn't have that much {2}!", - "help_back_to_toc": "Назад на Садржај", - "help_bot_owner_only": "Само Власник Бота", - "help_channel_permission": "Захтева {0} дозволу на каналу.", - "help_cmdlist_donate": "Можете подржати пројекат на Пејтриону: <{0}> или Пејпалу: <{1}>", - "help_cmd_and_alias": "Команде и псеудоними", - "help_commandlist_regen": "Листа команди је обновљена.", - "help_commands_instr": "Укуцај `{0}h ИмеКоманде` да видиш помоћ за ту команду. нпр. `{0}h >8ball`", - "help_command_not_found": "Не могу да нађем ту команду. Проверите да ли команда постоји, па покушајте поново.", - "help_desc": "Опис", - "help_donate": "Можете подржати НадекоБот пројекат на \nПејтриону <{0}> или\nПејпалу <{1}>\nНе заборавите да оставите своје корисничко име или ИД.\n\n**Хвала** ♥️", - "help_guide": "**List of Commands**: <{0}>\n**Hosting Guides and docs can be found here**: <{1}>", - "help_list_of_commands": "Листа Команди", - "help_list_of_modules": "Листа Модула", - "help_modules_footer": "Укуцај `{0}cmds ИмеМодула` да видиш листу свих команди у том модулу. нпр `{0}cmds games`", - "help_module_not_found": "Тај модул не постоји.", - "help_server_permission": "Захтева {0} дозволу на серверу.", - "help_table_of_contents": "Садржај", - "help_usage": "Упутство", - "nsfw_autohentai_started": "Аутохентаи започет. Постоваћу сваких {0} сек. користећи један од следећих тагова:\n{1}", - "nsfw_tag": "Таг", - "gambling_animal_race": "Трка Животиња", - "gambling_animal_race_failed": "Започињање трке није успело јер нема довољно учесника.", - "gambling_animal_race_full": "Трка је пуна! Почиње одмах.", - "gambling_animal_race_join": "{0} се прикључио као {1}", - "gambling_animal_race_join_bet": "{0} се прикључио као {1} и уложио {2}!", - "gambling_animal_race_join_instr": "Укуцај {0}jr да би се прикључио трци.", - "gambling_animal_race_starting": "Почиње за 20 секунди или када је соба пуна.", - "gambling_animal_race_starting_with_x": "Почиње са {0} учесника.", - "gambling_animal_race_won": "{0} као {1} је победио!", - "gambling_animal_race_won_money": "{0} као {1} је победио трку и освојио {2}!", - "gambling_dice_invalid_number": "Неисправан број. Можете бацити {0}-{1} коцкица у исто време.", - "gambling_dice_rolled": "је добио {0}", - "gambling_dice_rolled_num": "Коцкица бачена: {0}", - "gambling_race_failed_starting": "Неуспешно започињање партије. Друга трка је вероватно у току.", - "gambling_race_not_exist": "Не постоји трка на овом серверу.", - "gambling_second_larger_than_first": "Други број мора бити већи од првог.", - "gambling_changes_of_heart": "Промена Осећања", - "gambling_claimed_by": "Присвојена од стране", - "gambling_divorces": "Развода", - "gambling_likes": "Свиђа јој се", - "gambling_price": "Цена", - "gambling_waifus_none": "Ниједна waifu још није присвојена.", - "gambling_waifus_top_waifus": "Најбоље Waifu", - "gambling_waifu_affinity_already": "твој афинитет је већ постављен на ту waifu или покушаваш да обришеш афинитет који не постоји.", - "gambling_waifu_affinity_changed": "променили су афинитет са {0} на {1}.", - "gambling_waifu_affinity_cooldown": "Морате сачекати {0} сати и {1} минута да поново промените афинитет.", - "gambling_waifu_affinity_reset": "Твој афинитет је ресетован, Више немаш особу која ти се свиђа.", - "gambling_waifu_affinity_set": "хоће да буде waifu од {0}", - "gambling_waifu_claimed": "је присвојио {0} као своју waifu за {1}!", - "gambling_waifu_divorced_like": "Развео си waifu којој се свиђаш. Душмане! {0} је добио {1} као компензацију.", - "gambling_waifu_egomaniac": "не можеш ставити афинитет на себе, егоманијаче.", - "gambling_waifu_fulfilled": "🎉 Њихова љубав је испуњена! 🎉", - "gambling_waifu_isnt_cheap": "Ни једна waifu није тако јефтина. Мораш да платиш бар {0} да би имао waifu, чак иако је њена вредност мања.", - "gambling_waifu_not_enough": "Мораш да платиш {0} или више да би присвојио ту waifu.", - "gambling_waifu_not_yours": "Та waifu није твоја.", - "gambling_waifu_not_yourself": "Не можеш присвојити себе.", - "gambling_waifu_recent_divorce": "Скоро сте се развели. Морате сачекати {0} сати и {1} минута да се разведете поново.", - "gambling_nobody": "Нико", - "gambling_waifu_divorced_notlike": "Развео си waifu којој се не свиђаш. Добио си {0} назад.", - "games_8ball": "8кугла", - "games_acrophobia": "Акрофобија", - "games_acro_ended_no_sub": "Игра је се завршила без уноса.", - "games_acro_no_votes_cast": "Нема гласова. Игра је се завршила без победника.", - "games_acro_nym_was": "Акроним је био {0}.", - "games_acro_running": "Игра акрофобије већ постоји у овом каналу.", - "games_acro_started": "Игра је почела. Направи реченицу са овим акронимом: {0}", - "games_acro_started_footer": "Имате {0} секунди за унос.", - "games_acro_submit": "{0} су доставили своју реченицу. ({1} укупно)", - "games_acro_vote": "Гласај тако што укуцаш број уноса.", - "games_acro_vote_cast": "{0} је гласао!", - "games_acro_winner": "Победник је {0} са {1} поена.", - "games_acro_winner_only": "{0} је победник зато што је једини корисник са уносом.", - "games_question": "Питање", - "games_rps_draw": "Нерешено! Обоје сте изабрали {0}", - "games_rps_win": "{0} је победио! {1} је јаче од {2}", - "games_submissions_closed": "Уноси затворени", - "gambling_animal_race_already_started": "Трка животиња већ постоји.", - "gambling_total_average": "Укупно: {0} Просечно: {1}", - "games_category": "Категорија", - "games_cleverbot_disabled": "Клевербот је угашен на овом серверу.", - "games_cleverbot_enabled": "Клевербот је упаљен на овом серверу.", - "games_curgen_disabled": "Генерација валуте је угашена на овом каналу.", - "games_curgen_enabled": "Генерација валуте је упаљена на овом каналу.", - "games_curgen_pl": "{0} случајних {1} се појавило!", - "games_curgen_sn": "Случајан {0} се појавио!", - "games_failed_loading_question": "Није успело учитавање питања.", - "games_game_started": "Игра је почела", - "games_hangman_game_started": "Игра вешалица је почела", - "games_hangman_running": "Игра вешалица већ постоји на овом каналу.", - "games_hangman_start_errored": "Игра вешалица није успешно почела.", - "games_hangman_types": "Листа \"{0}hangman\" типова термина:", - "games_leaderboard": "Ранг листа\n", - "games_not_enough": "Немаш довољно {0}", - "games_no_results": "Нема резултата.", - "games_picked": "је убрао {0}", - "games_planted": "{0} је засадио {1}", - "games_trivia_already_running": "Игра тривије већ постоји на овом серверу.", - "games_trivia_game": "Игра тривије", - "games_trivia_guess": "{0} је погодио! Одговор је био: {1}", - "games_trivia_none": "Нема тривије у току на овом серверу.", - "games_trivia_points": "{0} има {1} поена", - "games_trivia_stopping": "Игра се зауставља после овог питања.", - "games_trivia_times_up": "Време је истекло! Тачан одговор је {0}", - "games_trivia_win": "{0} је погодио и ПОБЕДИО игру! Одговор је био: {1}", - "games_ttt_against_yourself": "Не можеш играти против себе.", - "games_ttt_already_running": "Игра икс-окс већ постоји на овом каналу.", - "games_ttt_a_draw": "Нерешено!", - "games_ttt_created": "је направио игру икс-окса.", - "games_ttt_has_won": "{0} је победио!", - "games_ttt_matched_three": "Три спојене", - "games_ttt_no_moves": "Нема више потеза!", - "games_ttt_time_expired": "Време је истекло!", - "games_ttt_users_move": "{0}-ов потез.", - "games_vs": "{0} против {1}", - "music_attempting_to_queue": "Покушавам да учитам {0} песама...", - "music_autoplay_disabled": "Аутопуштање је угашено.", - "music_autoplay_enabled": "Аутопуштање је упаљено.", - "music_defvol_set": "Стална вредност јачине је понедешена на {0}%", - "music_dir_queue_complete": "Директоријум успешно стављен у плејлисту.", - "music_fairplay": "ферплеј", - "music_finished_song": "Песма је завршена", - "music_fp_disabled": "Ферплеј је угашен.", - "music_fp_enabled": "Ферплеј је упаљен.", - "music_from_position": "Са позиције", - "music_id": "ИД", - "music_invalid_input": "Нисправан унос.", - "music_max_playtime_none": "Максимални плејтајм више нема лимит.", - "music_max_playtime_set": "Максимално време пуштања је сада {0} секунди.", - "music_max_queue_unlimited": "Максимална величина реда је неограничена.", - "music_max_queue_x": "Максимална величина реда подешена на {0} песама.", - "music_must_be_in_voice": "Требаш бити у говорном каналу на овом серверу.", - "music_name": "Име", - "music_now_playing": "Сада се пушта", - "music_no_player": "Нема активног музичког плејера.", - "music_no_search_results": "Нема резултата претраге.", - "music_paused": "Музика је паузирана.", - "music_player_queue": "Ред пуштања - Страна {0}/{1}", - "music_playing_song": "Пушта се песма", - "music_playlists": "`#{0}` - **{1}** by *{2}* ({3} песама)", - "music_playlists_page": "Страна {0} сачуваних плејлисти", - "music_playlist_deleted": "Плејлиста обрисана.", - "music_playlist_delete_fail": "Није успело брисање те плејлисте. Или не постоји, или ниси ти ниси њен аутор.", - "music_playlist_id_not_found": "Плејлиста са тим ИДем не постоји.", - "music_playlist_queue_complete": "Успешно учитавање плејлисте.", - "music_playlist_saved": "Плејлиста је сачувана.", - "music_play_limit": "{0}s лимит", - "music_queue": "Ред", - "music_queued_song": "Песма је учитана", - "music_queue_cleared": "Музички ред је очишћен.", - "music_queue_full": "Ред је пун на {0}/{0}.", - "music_removed_song": "Песма је обрисана", - "music_repeating_cur_song": "Понављам тренутну песму", - "music_repeating_playlist": "Понављам плејлисту", - "music_repeating_track": "Понављам нумеру", - "music_repeating_track_stopped": "Понављање нумбере стопирано.", - "music_resumed": "Музика је пуштена.", - "music_rpl_disabled": "Понављање плејлисте је угашено.", - "music_rpl_enabled": "Понављање плејлисте је упаљено.", - "music_set_music_channel": "Исписиваћу поруке за почетак, крај, паузу и брисање песме у овом каналу.", - "music_skipped_to": "Прескочено на `{0}:{1}`", - "music_songs_shuffled": "Песме су измешане", - "music_song_moved": "Песме су померене", - "music_time_format": "{0}х {1}м {2}с", - "music_to_position": "На позицију", - "music_unlimited": "неограничено", - "music_volume_input_invalid": "Јачина звука мора бити између 0 и 100", - "music_volume_set": "Јачина звука подешена на {0}%", - "permissions_acm_disable": "Искључено коришћење СВИХ МОДУЛА на каналу {0}.", - "permissions_acm_enable": "Укључено коришћење СВИХ МОДУЛА на каналу {0}.", - "permissions_allowed": "Дозвољено", - "permissions_arm_disable": "Искључено коришћење СВИХ МОДУЛА за ролу {0}.", - "permissions_arm_enable": "Укључено коришћење СВИХ МОДУЛА за ролу {0}.", - "permissions_asm_disable": "Искључено коришћење СВИХ МОДУЛА на овом серверу.", - "permissions_asm_enable": "Укључено коришћење СВИХ МОДУЛА на овом серверу.", - "permissions_aum_disable": "Искључено коришћење СВИХ МОДУЛА за корисника {0}.", - "permissions_aum_enable": "Укључено коришћење СВИХ МОДУЛА за корисника {0}.", - "permissions_blacklisted": "{0} сa ИДем {1} је стављен на црну листу.", - "permissions_cmdcd_add": "Команда {0} сада има {1}с кулдаун. ", - "permissions_cmdcd_cleared": "Команда{0} сада нема кулдаун и сви постојећи кулдаунови су обрисани.", - "permissions_cmdcd_none": "Нема кулдауна за команде.", - "permissions_command_costs": "Цене команди", - "permissions_cx_disable": "Искључено коришћење {0} {1} на каналу {2}.", - "permissions_cx_enable": "Укључено коришћење {0} {1} на каналу {2}.", - "permissions_denied": "Забрањено", - "permissions_filter_word_add": "Додата реч {0} у листу филтрираних речи.", - "permissions_filter_word_list": "Листа филтрираних речи", - "permissions_filter_word_remove": "Уклоњена реч {0} из листе филтрираних речи.", - "permissions_invalid_second_param_between": "Неисправан други параметар. (Мора бити број између {0} и {1})", - "permissions_invite_filter_channel_off": "Филтрирање позивница је угашено на овом каналу.", - "permissions_invite_filter_channel_on": "Филтрирање позивница је упаљено на овом каналу.", - "permissions_invite_filter_server_off": "Филтрирање позивница је угашено на овом серверу.", - "permissions_invite_filter_server_on": "Филтрирање позивница је упаљено на овом серверу.", - "permissions_moved_permission": "Померена дозвола {0} са #{1} на #{2}", - "permissions_not_found": "Не могу да пронађем дозволу са индексом #{0}", - "permissions_no_costs": "Нема постављених цена.", - "permissions_of_command": "команде", - "permissions_of_module": "модула", - "permissions_page": "Страна са дозволама {0}", - "permissions_permrole": "Тренутна рола за дозволе је {0}.", - "permissions_permrole_changed": "Корисници сада захтевају {0} ролу да би мењали дозволе.", - "permissions_perm_out_of_range": "Не постоји дозвола са тим индексом.", - "permissions_removed": "уклоњена дозвола #{0} - {1}", - "permissions_rx_disable": "Искључено коришћење {0} {1} за {2} ролу.", - "permissions_rx_enable": "Укључено коришћење {0} {1} за {2} ролу.", - "permissions_sec": "сек.", - "permissions_sx_disable": "Искључено коришћење {0} {1} на овом серверу.", - "permissions_sx_enable": "Укључено коришћење {0} {1} на овом серверу.", - "permissions_unblacklisted": "{0} сa ИДем {1} је скинут са црне листе.", - "permissions_uneditable": "неизмењиво", - "permissions_ux_disable": "Искључено коришћење {0} {1} за {2} корисника.", - "permissions_ux_enable": "Укључено коришћење {0} {1} за {2} корисника.", - "permissions_verbose_false": "Више нећу приказивати упозорења за дозволе.", - "permissions_verbose_true": "Од сада ћу приказивати упозорења за дозволе.", - "permissions_word_filter_channel_off": "Филтрирање речи је угашено на овом каналу.", - "permissions_word_filter_channel_on": "Филтрирање речи је упаљено на овом каналу.", - "permissions_word_filter_server_off": "Филтрирање речи је угашено на овом серверу.", - "permissions_word_filter_server_on": "Филтрирање речи је упаљено на овом серверу.", - "searches_abilities": "Моћи", - "searches_anime_no_fav": "Нема омиљених анимеа.", - "searches_atl_ad_started": "Започето аутоматско превођење порука у овом каналу. Поруке корисника ће бити аутоматски обрисане.", - "searches_atl_removed": "твој језик ауто-превођења је обрисан.", - "searches_atl_set": "Ваш језик за превођење је постављен од {0}>{1}", - "searches_atl_started": "Започето аутоматско превођење порука на овом каналу", - "searches_atl_stopped": "Стопирано аутоматско превођење порука на овом каналу", - "searches_bad_input_format": "Није добар формат уноса, или нешто друго.", - "searches_card_not_found": "Не могу да нађем ту карту.", - "searches_catfact": "чињеница", - "searches_chapters": "Поглавља", - "searches_comic_number": "Стрип #", - "searches_compet_loses": "Такмичарских партија изгубљено", - "searches_compet_played": "Такмичарских партија играно", - "searches_compet_rank": "Такмичарски ранг", - "searches_compet_wins": "Такмичних победа", - "searches_completed": "Завршено", - "searches_condition": "Услови", - "searches_cost": "Цена", - "searches_date": "Датум", - "searches_define": "Дефиниши:", - "searches_dropped": "Испуштене", - "searches_episodes": "Епизода", - "searches_error_occured": "Дошло је до грешке.", - "searches_example": "Пример", - "searches_failed_finding_anime": "Није нађен тај аниму.", - "searches_failed_finding_manga": "Није нађен тај манго.", - "searches_genres": "Жанрови", - "searches_hashtag_error": "Није успешно проналажење дефиниције за тај таг.", - "searches_height_weight": "Висина/Ширина", - "searches_height_weight_val": "{0}м/{1}кг", - "searches_humidity": "Влажност Ваздуха", - "searches_image_search_for": "Претрага слика за:", - "searches_imdb_fail": "Филм није нађен.", - "searches_invalid_lang": "Неисправан почетни или крајњи језик.", - "searches_jokes_not_loaded": "Вицеви нису учитани", - "searches_latlong": "Лат/Лонг", - "searches_level": "Ниво", - "searches_list_of_place_tags": "Листа {0}place тагова", - "searches_location": "Место", - "searches_magicitems_not_loaded": "Магични предмети нису учитани.", - "searches_mal_profile": "{0}'s МАЛ профил", - "searches_mashape_api_missing": "Власник бота није унео MashapeApiKey. Не можете да користите ову функционалност.", - "searches_min_max": "Мин/Макс", - "searches_no_channel_found": "Канал није пронађен.", - "searches_no_results": "Нема резултата.", - "searches_on_hold": "Паузирано", - "searches_original_url": "Оригинални линк", - "searches_osu_api_key": "Захтева се osu! API кључ.", - "searches_osu_failed": "Неуспешно учитавање osu! потписа.", - "searches_over_x": "Пронађено преко {0} слика. Насумично учитавам {0}.", - "searches_ow_user_not_found": "Корисник није пронађен. Проверите регион и BattleTag пре него што покушате поново.", - "searches_plan_to_watch": "Планира да гледа", - "searches_platform": "Платформа", - "searches_pokemon_ability_none": "Није пронађена моћ.", - "searches_pokemon_none": "Није пронађен покемон.", - "searches_profile_link": "Линк ка профилу:", - "searches_quality": "Квалитет:", - "searches_quick_playtime": "Време игре у квик моду", - "searches_quick_wins": "Победа у квик моду", - "searches_rating": "Рејтинг", - "searches_score": "Скор:", - "searches_search_for": "Тражи за:", - "searches_shorten_fail": "Није успешно скраћивање тог линка.", - "searches_short_url": "Кратак линк", - "searches_something_went_wrong": "Дошло је до грешке.", - "searches_specify_search_params": "Унеси параметре за претрагу.", - "searches_status": "Статус", - "searches_store_url": "Линк Продавнице", - "searches_streamer_offline": "Стример {0} није на мрежи.", - "searches_streamer_online": "Стример {0} је на мрежи са {1} прегледа.", - "searches_streams_following": "Пратите стримера {0} на овом серверу.", - "searches_streams_none": "Не пратиш ниједан стрим ан овом серверу.", - "searches_stream_no": "Нема тог стрима.", - "searches_stream_not_exist": "Стрим вероватно не постоји.", - "searches_stream_removed": "Уклоњен {0} стрим ({1}) из обавештења. ", - "searches_stream_tracked": "Обавестићу овај канал када се статус промени.", - "searches_sunrise": "Излазак сунца", - "searches_sunset": "Залазак сунца", - "searches_temperature": "Температура", - "searches_title": "Наслов:", - "searches_top_3_fav_anime": "3 омиљене аниме:", - "searches_translation": "Превод:", - "searches_types": "Типови", - "searches_ud_error": "Неуспешно проналажење дефиниције за тај термин", - "searches_url": "Линк", - "searches_viewers": "Гледаоци", - "searches_watching": "Гледа", - "searches_wikia_error": "Није успешно проналажење термина на тој викији.", - "searches_wikia_input_error": "Унеси име викије, а затим термин за претрагу.", - "searches_wiki_page_not_found": "Страница није нађена.", - "searches_wind_speed": "Брзина ветра", - "searches_x_most_banned_champs": "{0} највише банованих хероја", - "searches_yodify_error": "Јодификовање реченице није успешно.", - "utiliity_joined": "Ушао", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} укупно", - "utility_activity_page": "Страна активности #{0}", - "utility_activity_users_total": "{0} укупно корисника.", - "utility_author": "Аутор", - "utility_botid": "Бот ИД", - "utility_calcops": "Листа функција у {0}calc команди", - "utility_channelid": "{0} овог канала је {1}", - "utility_channel_topic": "Тема канала", - "utility_commands_ran": "Извршених команди", - "utility_convert": "{0} {1} је једнако {2} {3}", - "utility_convertlist": "Мере које могу бити коришћене у конвертеру", - "utility_convert_not_found": "Неуспешно конвертовање {0} у {1}: мера није пронађена", - "utility_convert_type_error": "Неуспешно конвертовање {0} у {1}: типови мера нису једнаки", - "utility_created_at": "Направљен", - "utility_csc_join": "Прикључен у међусерверни канал.", - "utility_csc_leave": "Међусерверни канал напуштен.", - "utility_csc_token": "Ово је твој CSC токен", - "utility_custom_emojis": "Емотикони по Мери", - "utility_error": "Грешка", - "utility_features": "Додатак", - "utility_id": "ИД", - "utility_index_out_of_range": "Индекс је ван опсега.", - "utility_inrole_list": "Ево је листа корисника у тим ролама:", - "utility_inrole_not_allowed": "није ти дозвољено да користиш ову команду на ролама са пуно корисника да би се спречила злоупотреба.", - "utility_invalid_value": "Нетачна вредност {0}.", - "utility_joined_discord": "Регистровао се", - "utility_joined_server": "Ушао на сервер", - "utility_listservers": "ИД: {0}\nЧланова; {1}\nИд Власника; {2}", - "utility_listservers_none": "Нема сервера на овој страници.", - "utility_list_of_repeaters": "Листа Понављача", - "utility_members": "Чланова", - "utility_memory": "Меморија", - "utility_messages": "Поруке", - "utility_message_repeater": "Понављач Порука", - "utility_name": "Име", - "utility_nickname": "Надимак", - "utility_nobody_playing_game": "Нико не игра ту игру.", - "utility_no_active_repeaters": "Нема активних понављача.", - "utility_no_roles_on_page": "Нема рола на овој страни.", - "utility_no_shards_on_page": "Нема шардова на овој страни.", - "utility_no_topic_set": "Нема теме.", - "utility_owner": "Бласник", - "utility_owner_ids": "ИДеви Власника", - "utility_presence": "Присуство", - "utility_presence_txt": "{0} Сервера\n{1} Текстуалних Канала\n{2} Говорних Канала", - "utility_quotes_deleted": "Обрисани су сви цитати са кључном речи {0}.", - "utility_quotes_page": "Страна {0} цитата.", - "utility_quotes_page_none": "Нема цитата на овој страни.", - "utility_quotes_remove_none": "Није нађен цитат који можеш да обришеш.", - "utility_quote_added": "Цитат додат", - "utility_quote_deleted": "Обрисана насумишна ", - "utility_region": "Регион", - "utility_registered_on": "Регистрован", - "utility_remind": "Подсетићу {0} да {1} у {2} `({3:d.M.yyyy.} at {4:HH:mm})` ", - "utility_remind_invalid_format": "Није исправан формат времена. Проверите листу команди.", - "utility_remind_template": "Нови темплејт за подсетник је постаљен.", - "utility_repeater": "Понављање {0} сваких {1} дан(а), {2} сат(а) и {3} минута(а).", - "utility_repeaters_list": "Листа понављача", - "utility_repeaters_none": "Нема понављача на овом серверу.", - "utility_repeater_stopped": "#{0} прекинуто. ", - "utility_repeat_invoke_none": "Нису пронађене понављајуће поруке на овом серверу.", - "utility_result": "Резултат", - "utility_roles": "Роле", - "utility_roles_all_page": "Страна #{0} свих рола на овом серверу: ", - "utility_roles_page": "Страна #{0} рола за {1} ", - "utility_rrc_no_colors": "Боје нису у исправном формату. Користите `#00ff00` као пример.", - "utility_rrc_start": "Започето ротирање боје {0} роле. ", - "utility_rrc_stop": "Стопирано ротираење боја за {0} ролу.", - "utility_serverid": "{0} овог сервера је {1} ", - "utility_server_info": "Инфо Сервера", - "utility_shard": "Шард", - "utility_shard_stats": "Статови Шардова", - "utility_shard_stats_txt": "Шард **#{0}** је у {1} стању са {2} сервера.", - "utility_showemojis": "**Име:** {0} **Линк:** {1} ", - "utility_showemojis_none": "Нема специјалних емотикона.", - "utility_stats_songs": "Пуштено {0} песама, {1} на чекању. ", - "utility_text_channels": "Текст Канали", - "utility_togtub_room_link": "Ево га твој линк ка соби:", - "utility_uptime": "Време Рада", - "utility_userid": "{0} од корисника {1} је {2} ", - "utility_users": "Корисници", - "utility_voice_channels": "Говорни канал", - "gambling_animal_race_already_in": "Већ си у овој трци!", - "games_current_poll_results": "Тренутни резултати анкете", - "games_no_votes_cast": "Нема гласова.", - "games_poll_already_running": "Анкета већ постоји на овом серверу.", - "games_poll_created": "📃 {0} је направио анкету која захтева вашу пажњу.", - "games_poll_result": "`{0}.` {1} са {2} гласова. ", - "games_poll_voted": "{0} је гласао", - "games_poll_vote_private": "Пошаљите ми број одговора у приватној поруци.", - "games_poll_vote_public": "Пошаљите број одговора у овом каналу.", - "games_thanks_for_voting": "Хвала што сте гласали.", - "games_x_votes_cast": "{0} укупан број гласова.", - "games_pick_pl": "Покупите их куцајући `{0}pick` ", - "games_pick_sn": "Покупи тако што укуцаш `{0}pick`", - "gambling_no_users_found": "Нема корисника.", - "gambling_page": "страница {0}", - "administration_must_be_in_voice": "Мораш бити у гласовном каналу на овом серверу.", - "administration_no_vcroles": "Нема рола за говорне канале.", - "administration_user_muted_time": "{0} је **занемљен** из текстовних и гласовних канала на {1} минута. ", - "administration_vcrole_added": "Корисници који уђу у говорни канал {0} ће добити ролу {1}.", - "administration_vcrole_removed": "", - "administration_vc_role_list": "", - "customreactions_crad_disabled": "", - "customreactions_crad_enabled": "", - "customreactions_crdm_disabled": "", - "customreactions_crdm_enabled": "", - "utility_aliases_none": "", - "utility_alias_added": "", - "utility_alias_list": "", - "utility_alias_removed": "", - "utility_alias_remove_fail": "", - "searches_compet_playtime": "", - "administration_channel": "", - "administration_command_text": "", - "administration_kicked_pl": "", - "administration_moderator": "", - "administration_page": "", - "administration_reason": "", - "administration_scadd": "", - "administration_scrm": "", - "administration_scrm_fail": "", - "administration_server": "", - "administration_startcmdlist_none": "", - "administration_startcmds_cleared": "", - "administration_unbanned_user": "", - "administration_user_not_found": "", - "administration_user_warned": "", - "administration_user_warned_and_punished": "", - "administration_warned_on": "", - "administration_warned_on_by": "", - "administration_warnings_cleared": "", - "administration_warnings_none": "", - "administration_warnlog_for": "", - "administration_warnpl_none": "", - "administration_warn_cleared_by": "", - "administration_warn_punish_list": "", - "administration_warn_punish_rem": "", - "administration_warn_punish_set": "", - "administration_slowmodewl_role_start": "", - "administration_slowmodewl_role_stop": "", - "administration_slowmodewl_user_start": "", - "administration_slowmodewl_user_stop": "", - "utility_clpa_fail": "", - "utility_clpa_fail_already": "", - "utility_clpa_fail_already_title": "", - "utility_clpa_fail_conn": "", - "utility_clpa_fail_conn_title": "", - "utility_clpa_fail_sup": "", - "utility_clpa_fail_sup_title": "", - "utility_clpa_fail_wait": "", - "utility_clpa_fail_wait_title": "", - "utility_clpa_success": "", - "utility_clpa_too_early": "", - "searches_time": "", - "administration_rh": "", - "gambling_name": "", - "gambling_shop": "", - "gambling_shop_item_add": "", - "gambling_shop_none": "", - "gambling_shop_role": "", - "gambling_type": "", - "utility_clpa_next_update": "", - "administration_global_perms_reset": "", - "administration_gvc_disabled": "", - "administration_gvc_enabled": "", - "administration_not_in_voice": "", - "gambling_item": "", - "gambling_out_of_stock": "", - "gambling_random_unique_item": "", - "gambling_shop_buy_error": "", - "gambling_shop_item_not_found": "", - "gambling_shop_item_purchase": "", - "gambling_shop_item_rm": "", - "gambling_shop_item_wrong_type": "", - "gambling_shop_list_item_added": "", - "gambling_shop_list_item_not_unique": "", - "gambling_shop_purchase": "", - "gambling_shop_role_not_found": "", - "gambling_shop_role_purchase": "", - "gambling_shop_role_purchase_error": "", - "gambling_unique_items_left": "", - "permissions_blocked_commands": "", - "permissions_blocked_modules": "", - "permissions_gcmd_add": "", - "permissions_gcmd_remove": "", - "permissions_gmod_add": "", - "permissions_gmod_remove": "", - "permissions_lgp_none": "" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.sv-SE.json b/src/NadekoBot/_strings/ResponseStrings.sv-SE.json deleted file mode 100644 index ea434310..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.sv-SE.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Denna bas är redan tagen eller förstörd.", - "clashofclans_base_already_destroyed": "Denna bas är redan förstörd.", - "clashofclans_base_already_unclaimed": "Denna bas är inte tagen.", - "clashofclans_base_destroyed": "**FÖRSTÖRD** bas #{0} i krig mot {1}", - "clashofclans_base_unclaimed": "{0} har **TAGIT BORT SITT ANSPRÅK PÅ** bas #{1} i krig mot {2}", - "clashofclans_claimed_base": "{0} har gjort anspråk på en bas #{1} i ett krig mot {2}", - "clashofclans_claimed_other": "@{0} Du har redan gjort anspråk på bas #{1}. Du kan inte göra ett anspråk på en ny bas.", - "clashofclans_claim_expired": "Anspråk från @{0} för ett krig mot {1} har gått ut.", - "clashofclans_enemy": "Fiende", - "clashofclans_info_about_war": "Information om krig mot {0}", - "clashofclans_invalid_base_number": "Ogiltigt basnummer.", - "clashofclans_invalid_size": "Ogiltig krigsstorlek.", - "clashofclans_list_active_wars": "Lista över aktiva krig", - "clashofclans_not_claimed": "Inte gjort anspråk på", - "clashofclans_not_partic": "Du är inte med i det kriget.", - "clashofclans_not_partic_or_destroyed": "@{0} Du är antingen inte med i det kriget eller så är basen redan förstörd.", - "clashofclans_no_active_wars": "Inga aktiva krig.", - "clashofclans_size": "Storlek", - "clashofclans_war_already_started": "Krig mot {0} har redan börjat.", - "clashofclans_war_created": "Krig mot {0} skapat.", - "clashofclans_war_ended": "Krig mot {0} har tagit slut.", - "clashofclans_war_not_exist": "Det kriget existerar inte.", - "clashofclans_war_started": "Krig mot {0} har börjat!", - "customreactions_all_stats_cleared": "Alla anpassade emojis uppgifter borttagna.", - "customreactions_deleted": "Anpassad emoji har blivit raderad", - "customreactions_insuff_perms": "Otillräckliga behörigheter. Kräver Bot ägande för globala anpassade reaktioner, och administratör för server anpassade reaktioner.", - "customreactions_list_all": "Lista av alla egengjorda reaktioner", - "customreactions_name": "Egengjorda Reaktioner", - "customreactions_new_cust_react": "Nya egengjorda Reaktioner", - "customreactions_no_found": "Inga custom reaktioner hittades.", - "customreactions_no_found_id": "Ingen egengjord reaktion funnen med det id.", - "customreactions_response": "Svar", - "customreactions_stats": "Egengjord reaktion statistiker", - "customreactions_stats_cleared": "Statistiker rensade för {0} egengjorda reaktioner.", - "customreactions_stats_not_found": "Inga statistik för den triggern funnen, inget återgärd gjord.", - "customreactions_trigger": "Trigger", - "nsfw_autohentai_stopped": "Automatisk hentai stoppad.", - "nsfw_not_found": "Inga resultat hittades.", - "pokemon_already_fainted": "{0} har redan svimmat.", - "pokemon_already_full": "{0} har redan full hälsa.", - "pokemon_already_that_type": "din typ är redan {0}", - "pokemon_attack": "har använt {0}{1} på {2}{3} för {4} skada.", - "pokemon_cant_attack_again": "Du kan inte attackera igen utan motståndarens drag!", - "pokemon_cant_attack_yourself": "du kan inte attackera dig själv", - "pokemon_fainted": "{0} har svimmat!", - "pokemon_healed": "helade {0} med en {1}\n", - "pokemon_hp_remaining": "{0} har {1} hälsa kvar", - "pokemon_invalid_move": "Du kan inte använda {0}. Skriv `{1}ml` för att se en lista av attacker du kan använda.", - "pokemon_moves": "Attacker för {0} typer", - "pokemon_not_effective": "Detta var inte så effektivt.", - "pokemon_no_currency": "Du har inte nog {0}", - "pokemon_revive_other": "återupplivade {0} med en {1}", - "pokemon_revive_yourself": "Du återupplivade dig själv med en {0}", - "pokemon_settype_success": "Din typ har blivit ändrad till {0} för en {1}", - "pokemon_somewhat_effective": "Det är någorlunda effektivt.", - "pokemon_super_effective": "Det är super effektivt!", - "pokemon_too_many_moves": "Du använde för många attacker på raken, så du kan inte attackera!", - "pokemon_type_of_user": "Typ av {0} är {1}", - "pokemon_user_not_found": "Användaren hittades inte.", - "pokemon_you_fainted": "Du svimmade, så du kan inte attackera!", - "administration_aar_disabled": "**Auto tilldela roll** på användare som ansluter sig är nu **inaktiverad**.", - "administration_aar_enabled": "**Auto tildela roll** på användare som ansluter sig är nu **aktiverad**.", - "administration_attachments": "Tillbehör", - "administration_avatar_changed": "Avatar byttes", - "administration_bandm": "Du har blivit bannad från {0} server. anledning: {1}", - "administration_banned_pl": "bannad", - "administration_banned_user": "Användare bannad", - "administration_bot_name": "Bot namn byttes till {0}", - "administration_bot_status": "Bot status byttes till {0}", - "administration_byedel_off": "Automastisk radering av avskeds meddelanden har blivit avaktiverat.", - "administration_byedel_on": "Avskeds meddelanden kommer bli raderade efter {0} sekunder.", - "administration_byemsg_cur": "Nuvarande avskeds meddelande: {0}", - "administration_byemsg_enable": "Aktivera avskeds meddelanden genom att skriva {0}", - "administration_byemsg_new": "Nytt avskeds meddelande satt.", - "administration_bye_off": "Avskeds meddelande inaktiverat.", - "administration_bye_on": "Avskeds meddelanden aktiverad på denna kanal.", - "administration_ch_name_change": "Kanal namn har byts.", - "administration_ch_old_name": "Gammalt Namn", - "administration_ch_topic_change": "Kanal ämne har byts.", - "administration_cleaned_up": "Städats upp.", - "administration_content": "Innehåll", - "administration_cr": "Lyckats skapa roll {0}", - "administration_createtextchan": "Text kanal {0} skapad.", - "administration_createvoich": "Röstkanal {0} skapad.", - "administration_deafen": "Dövning lyckats.", - "administration_deleted_server": "Raderad server {0}", - "administration_delmsg_off": "Stoppad automatisk borttagning av lyckade kommando åkallanden.", - "administration_delmsg_on": "Raderar nu lyckade kommando åkallanden.", - "administration_deltextchan": "Text kanal {0} raderad.", - "administration_delvoich": "Röstkanal {0} raderad.", - "administration_dm_from": "Meddelande från", - "administration_donadd": "Lyckats lägga till en ny donator. Totalt donerat från denna användare: {0} 👑", - "administration_donators": "Tack alla personer listade som har hjälpt oss skapa detta projekt!", - "administration_fwall_start": "Jag kommer skicka vidare meddelanden till alla ägare.", - "administration_fwall_stop": "Jag kommer bara skicka vidare meddelanden till den första ägaren.", - "administration_fwdm_start": "Jag kommer skicka vidare meddelanden från och med nu.", - "administration_fwdm_stop": "Jag kommer sluta skicka vidare meddelande från och med nu.", - "administration_greetdel_off": "Automatisk radering av hälsnings meddelanden har blivit avaktiverat.", - "administration_greetdel_on": "hälsnings meddelanden kommer bli raderade efter {0} sekunder", - "administration_greetdmmsg_cur": "Nuvarande direkt meddelande hälsning: {0}", - "administration_greetdmmsg_enable": "Aktivera hälsnings direkt meddelande genom att skriva {0}", - "administration_greetdmmsg_new": "Ny direkt meddenlande vid hälsning har gjorts.", - "administration_greetdm_off": "Direkt meddelande för hälsning har avaktiverats.", - "administration_greetdm_on": "Direkt meddelande för hälsning har aktiverats.", - "administration_greetmsg_cur": "Nuvarande hälsning: {0}", - "administration_greetmsg_enable": "Aktivera hälsning genom att skriva {0}", - "administration_greetmsg_new": "Ny hälsning skapad.", - "administration_greet_off": "Hälsningar har blivit avaktiverade.", - "administration_greet_on": "Hälsningar har blivit aktiverade på denna kanal.", - "administration_hierarchy": "Du kan inte använda detta kommando på användare med högre eller likastående rank till din egna enligt rankerna.", - "administration_images_loaded": "Bilder laddade efter {0} sekunder!", - "administration_invalid_format": "Ogiltig inmatnings format.", - "administration_invalid_params": "Ogiltiga parametrar.", - "administration_joined": "{0} har gått med {1}", - "administration_kickdm": "Du har blivit kickad från {0} server.\nAnledning: {1}", - "administration_kicked_user": "Användare sparkad", - "administration_lang_list": "Lista av språk \n{0}", - "administration_lang_set": "Din servers lokal är nu {0} -{ 1}", - "administration_lang_set_bot": "Bottens standard lokal är nu {0} - {1}", - "administration_lang_set_bot_show": "Bottens språk är nu gjord till {0} - {1}", - "administration_lang_set_fail": "Misslyckades att ställa lokal. Se över kommandots hjälp.", - "administration_lang_set_show": "Denna servers språk är nu gjord till {0} - {1}", - "administration_left": "{0} har lämnat {1}", - "administration_left_server": "Lämnat server {0}", - "administration_log": "Loggar {0} händelser i denna kanal.", - "administration_log_all": "Loggar alla händelser i denna kanal.", - "administration_log_disabled": "Loggning avaktiverad.", - "administration_log_events": "Loggade event du kan prenumerera till:", - "administration_log_ignore": "Loggning kommer ignorera {0}", - "administration_log_not_ignore": "Loggning kommer inte ignorera {0}", - "administration_log_stop": "Stoppade loggning {0} händelser.", - "administration_menrole": "{0} har åkallat ett omnämnande på följande roller", - "administration_message_from_bo": "Meddelande från {0} `[Bot Ägare]`:", - "administration_message_sent": "Meddelande skickat.", - "administration_moved": "{0} flyttad från {1] till {2}", - "administration_msg_del": "Meddelande raderat i #{0}", - "administration_msg_update": "Meddelande uppdaterat i #{0}", - "administration_muted_pl": "Mutade", - "administration_muted_sn": "Mutad", - "administration_mute_error": "Jag har sannolikt inte de flesta tillstånd för detta.", - "administration_mute_role_set": "Ny mute roll gjord.", - "administration_need_admin": "Jag behöver **Administration** tillåtelse för att göra det där.", - "administration_new_msg": "Nytt meddelande", - "administration_new_nick": "Nytt smeknamn", - "administration_new_topic": "Nytt ämne", - "administration_nick_change": "Smeknamn ändrat", - "administration_no_server": "Kan inte hitta den servern", - "administration_no_shard_id": "Ingen shard med den ID funnen", - "administration_old_msg": "Gammal meddelande", - "administration_old_nick": "Gammal smeknamn", - "administration_old_topic": "Gammal ämne", - "administration_perms": "Fel. Troligtvis så har jag inte tillräcklig behörighet.", - "administration_perms_reset": "Tillstånd för denna server har blivit återställt.", - "administration_prot_active": "Aktiva skydd", - "administration_prot_disable": "{0} har blivit **avaktiverat** på denna server.", - "administration_prot_enable": "{0} Aktiverad", - "administration_prot_error": "Fel. Jag behöver tillstånd att hantera roller.\n\n", - "administration_prot_none": "Inga skydd är aktiverade.", - "administration_raid_cnt": "Användar ", - "administration_raid_stats": "Om {0} eller mer användare går med inom {1} sekunder, kommer jag {2} dom.", - "administration_raid_time": "Tiden måste vara inom {0} och {1} sekunder.", - "administration_rar": "Lyckats ta bort alla roller från användare {0}", - "administration_rar_err": "Misslyckades att ta bort roller. Jag har inte nog med behörighet.", - "administration_rc": "Färger av {0} roll har blivit ändrad.", - "administration_rc_not_exist": "Den rollen existerar inte.", - "administration_rc_params": "Dom angivna parametrarna är ogiltiga.", - "administration_rc_perms": "Ett fel uppstod på grund av ogiltig färg eller otillräckliga behörigheter.", - "administration_remrole": "Lyckats ta bort roll {0} från användare {1}", - "administration_remrole_err": "Misslyckades att ta bort roll. Jag har inte tillräckligt med behörighet.", - "administration_renrole": "Roll omdöpt.", - "administration_renrole_err": "Det gick inte att byta namn på roll. Jag har inte tillräckligt behörighet.", - "administration_renrole_perms": "Du kan inte redigera roller högre än din högsta roll.", - "administration_reprm": "Tog bort spelande meddelande: {0}", - "administration_role_added": "Roll {0} har blivit tillagd till listan.", - "administration_role_clean": "{0} inte funnen. Städar upp.", - "administration_role_in_list": "Roll {0} finns redan i listan.", - "administration_ropl_added": "Tillagd.", - "administration_ropl_disabled": "Rotering av spelar status avaktiverad.", - "administration_ropl_enabled": "Rotering av spelar status aktiverad.", - "administration_ropl_list": "Här är en lista av roterande statusar:\n{0}", - "administration_ropl_not_set": "Inga roterande spel statusar aktiverade.", - "administration_self_assign_already": "Du har redan {0} roll.", - "administration_self_assign_already_excl": "Du har redan {0} exklusiv egentilldelad roll", - "administration_self_assign_excl": "Egentilldelade roller är nu exklusiva!", - "administration_self_assign_list": "Det finns {0} egentilldelade roller", - "administration_self_assign_not": "Den rollen är inte möjlig att egentilldela.", - "administration_self_assign_not_have": "Du har inte {0} roll.", - "administration_self_assign_no_excl": "Egentilldelade roller är nu inte exklusiva!", - "administration_self_assign_perms": "Jag är oförmögen att lägga den rollen för dig. 'Jag kan inte lägga till roller till ägare eller andra roller högre än min roll i roll hierarkin.` \n\n", - "administration_self_assign_rem": "{0} har tagits bort från listan av egentilldelade roller.", - "administration_self_assign_remove": "Du har inte längre {0} roll.", - "administration_self_assign_success": "Du har nu {0} roll.", - "administration_setrole": "Lyckats lägga till roll {0} till användare {1}", - "administration_setrole_err": "Misslyckades att lägga till roll. Jag har inte nog behörighet.", - "administration_set_avatar": "Ny avatar satt!", - "administration_set_channel_name": "Nytt kanal namn satt.", - "administration_set_game": "Nytt spel satt!", - "administration_set_stream": "Nytt stream satt!", - "administration_set_topic": "Nytt kanal ämne satt!", - "administration_shard_reconnected": "Shard {0} har återansluts.", - "administration_shard_reconnecting": "Shard {0} håller på att återansluta.", - "administration_shutting_down": "Stänger ner.", - "administration_slowmode_desc": "Användare kan inte skicka mer än {0} meddelanden varje {1} sekunder.", - "administration_slowmode_disabled": "Långsamt läge avaktiverat.", - "administration_slowmode_init": "Långsamt läge initierad", - "administration_soft_banned_pl": "mjukt-bannad (kickad)", - "administration_spam_ignore": "{0} kommer ignorera denna kanal.", - "administration_spam_not_ignore": "{0} kommer inte längre att ignorera denna kanal.", - "administration_spam_stats": "Om en användare skriver {0} samma meddelanden på en gång so kommer jag {1} dom.\n__IgnoreradeKannaler_: {2}", - "administration_text_chan_created": "Textkanal skapad.", - "administration_text_chan_destroyed": "Text kanal förstörd.", - "administration_undeafen": "Borttagning av dövning lyckats.", - "administration_unmuted_sn": "Omutad", - "administration_username": "Användarnamn", - "administration_username_changed": "Användarnamn ändrats", - "administration_users": "Användare", - "administration_user_banned": "Användare Bannad", - "administration_user_chat_mute": "{0} har blivit **mutad** från att chatta.", - "administration_user_chat_unmute": "{0} har blivit **omutad** från att chatta.", - "administration_user_joined": "Användare har gått med.", - "administration_user_left": "Användare har lämnat.", - "administration_user_muted": "{0} har blivit **mutad** från text och röst kanal.", - "administration_user_role_add": "Användarens roll har blivit tillagd.", - "administration_user_role_rem": "Användarens roll har blivit borttagen.", - "administration_user_status_change": "{0} är nu {1}", - "administration_user_unmuted": "{0} har nu blivit **omutad** från text och röst kanal.", - "administration_user_vjoined": "{0} har gått med {1} röst kanal.", - "administration_user_vleft": "{0} har lämnat {1} röst kanal.", - "administration_user_vmoved": "{0} flyttade från {1} till {2} röst kanal.", - "administration_user_voice_mute": "{0} har blivit **röst mutad**.", - "administration_user_voice_unmute": "{0} har blivit **röst omutad**-", - "administration_voice_chan_created": "Röstkanal Skapad", - "administration_voice_chan_destroyed": "Röstkanal Förstörd", - "administration_vt_disabled": "Avaktiverat röst + text funktion.", - "administration_vt_enabled": "Aktiverat röst + text funktion.", - "administration_vt_exit": "Jag har inte **hantera roller** och / eller **hantera kanaler** tillstånd, så jag kan inte köra `röst + text` på {0} server.", - "administration_vt_no_admin": "Du aktiverar / inaktiverar funktionen och **Jag har inte administratörsbehörighet**. Detta kan orsaka vissa problem, och du kommer själv att behöva städa upp textkanaler efteråt.", - "administration_vt_perms": "Jag behöver minst **hantera roller** och **hantera kanaler** behörighet att aktivera den här funktionen. (Föredrar Administration tillåtelse)", - "administration_xmuted_text": "Användare {0} från text chat", - "administration_xmuted_text_and_voice": "Användare {0} från text och röst chat.", - "administration_xmuted_voice": "Användare {0} från röst kanal", - "administration_sbdm": "Du har blivit mjuk-bannad från {0} server.\nAnledning: {1}", - "administration_user_unbanned": "Användare inte längre bannad.", - "administration_migration_done": "Migration gjort!", - "adminsitration_migration_error": "Fel vid migrering, kontrollera botens konsol för mer information.", - "administration_presence_updates": "Närvaro Uppdateringar.", - "administration_sb_user": "Användare mjuk-bannad.", - "gambling_awarded": "har tilldelat {0} till {1}", - "gambling_better_luck": "Bättre lycka nästa gång ^_^", - "gambling_br_win": "Grattis! Du vann {0} för att ha rullat över {1}", - "gambling_deck_reshuffled": "Kortlek omblandat.", - "gambling_flipped": "Vänt {0}.", - "gambling_flip_guess": "Du gissade rätt! Du vann {0}", - "gambling_flip_invalid": "Ogiltigt nummer anged. Du kan vända 1 till {0} mynt. ", - "gambling_flowerreaction_desc": "Lägg till {0} reaktion till detta meddelande för att få {1}␣ ", - "gambling_flowerreaction_footer": "Denna händelse är aktiv upptill {0} timmar.", - "gambling_flowerreaction_title": "Blomm reaktions händelse igång!", - "gambling_gifted": "har begåvat {0} till {1}", - "gambling_has": "{0} har {1}", - "gambling_heads": "Krona", - "gambling_leaderboard": "Topplista", - "gambling_mass_award": "Tilldelat {0} till {1} ​​användare från {2} roll.", - "gambling_max_bet_limit": "Du kan inte satsa mer än {0}", - "gambling_min_bet_limit": "Du kan inte satsa mindre än {0}", - "gambling_not_enough": "Du har inte nog med {0}", - "gambling_no_more_cards": "Inga fler kort i kortleken.", - "gambling_raffled_user": "Lotto användare", - "gambling_roll": "Du rullade {0}", - "gambling_slot_bet": "Satsa", - "gambling_slot_jackpot": "WOAAHHHHHH!!! Grattis!!! x{0}", - "gambling_slot_single": "En enda {0}, x {1}", - "gambling_slot_three": "Wow! Tur! Tre av en sort! x {0}", - "gambling_slot_two": "Bra jobbat! Två {0} - insats x {1}", - "gambling_slot_won": "Vann", - "gambling_sneakygamestatus_desc": "Användare måste ange en hemlig kod för att få {0}.\nVarar {1} sekunder. Berätta inte för någon. Shhh.", - "gambling_sneakygamestatus_end": "Hemlig spel händelse har tagit slut. {0} användare fick belöningen.", - "gambling_sneakygamestatus_title": "Hemlig spel status händelse har börjat", - "gambling_tails": "Klave", - "gambling_take": "Lyckats ta {0} från {1}", - "gambling_take_fail": "Lyckades inte ta {0} från {1} för att användaren inte har så mycket {2}!", - "help_back_to_toc": "Tillback till ToC", - "help_bot_owner_only": "Bara Bot ägare", - "help_channel_permission": "Kräver {0} kanal tillstånd.", - "help_cmdlist_donate": "Du kan stödja projektet på patreon: <{0}> eööer paypal: <{1}>", - "help_cmd_and_alias": "Kommando och alias", - "help_commandlist_regen": "Kommando lista regenereras.", - "help_commands_instr": "Skriv `{0}h CommandName` för att se hjälp för det specifika kommandot. t.ex. `{0}h >8ball`", - "help_command_not_found": "Jag kan inte hitta det kommandot. Var snäll och verifiera om det kommandot existerar innan du provar igen.", - "help_desc": "Beskrivning", - "help_donate": "Du kan stödja NadekoBot projektet på\nPatreon <{0}> eller\nPaypal <{1}>\nGlömm inte att lämna ditt discord namn eller id i meddelandet.\n\n**Tack så mycket** ♥️ ", - "help_guide": "**Lista av kommandon**. <{0}>\n**Värd guider och dokument kan bli hittade här*': <{1}>", - "help_list_of_commands": "Kommandolista", - "help_list_of_modules": "Modullista", - "help_modules_footer": "Skriv `{0}cmds ModuleName` för att få en lista av kommandon i den modulen. t.ex. `{0}cmds games` ", - "help_module_not_found": "Modulen existerar inte.", - "help_server_permission": "Kräver {0} server tillåtelse.", - "help_table_of_contents": "Innehållsförteckning", - "help_usage": "Användning", - "nsfw_autohentai_started": "Auto hentai startad. Svarar varje {0}s med en av följande taggar:\n{1}", - "nsfw_tag": "Tagg", - "gambling_animal_race": "Djur Lopp", - "gambling_animal_race_failed": "Det gick inte att starta eftersom det inte fanns tillräckligt många deltagare.", - "gambling_animal_race_full": "Loppet är full! Startar omedelbart.", - "gambling_animal_race_join": "{0} gick med som en {1}", - "gambling_animal_race_join_bet": "{0} gick med som en {1} och satsa {2}!", - "gambling_animal_race_join_instr": "Skriv {0}jr för att ansluta dig till loppet.", - "gambling_animal_race_starting": "Börjar från inom 20 sekunder eller när rummet är fullt.", - "gambling_animal_race_starting_with_x": "Startar från och med {0} deltagare.", - "gambling_animal_race_won": "{0} som {1} Vann loppet!", - "gambling_animal_race_won_money": "{0} som {1} Vann loppet och {2}!", - "gambling_dice_invalid_number": "Ogiltigt nummer specificerat. Du kan rulla {0}-{1} tärningar på en gång.", - "gambling_dice_rolled": "rullade {0}", - "gambling_dice_rolled_num": "Tärningar rullade: {0}", - "gambling_race_failed_starting": "Misslyckades att starta loppet. Ett annat lopp är förmodligen igång.", - "gambling_race_not_exist": "Inget lopp finns på denna server", - "gambling_second_larger_than_first": "Andra numret måste vara större än den första.", - "gambling_changes_of_heart": "Ändring av hjärta", - "gambling_claimed_by": "Anspråk av", - "gambling_divorces": "Skilsmässor", - "gambling_likes": "Gillar", - "gambling_price": "Pris", - "gambling_waifus_none": "Inga waifus har blivit tagna hittls.", - "gambling_waifus_top_waifus": "Top Waifus", - "gambling_waifu_affinity_already": "din affinitet är redan inställd på den waifun eller så försöker du att ta bort din affinitet utan att ha en.", - "gambling_waifu_affinity_changed": "ändrat sin affinitet från {0} till {1}.\n\n* Detta är moraliskt tveksamt. * 🤔", - "gambling_waifu_affinity_cooldown": "Du måste vänta {0} timmar och {1} minuter för att byta affinitet igen.", - "gambling_waifu_affinity_reset": "Din affinitet återställs. Du har inte en person som du gillar längre.", - "gambling_waifu_affinity_set": "vill vara {0}s waifu. Aww <3 ", - "gambling_waifu_claimed": "har tagit {0} som deras waifu för {1}!", - "gambling_waifu_divorced_like": "Du har skilt dig från en waifu som gillar dig. Ditt hjärtlösa monster.\n{0} har fått {1} som kompensation.", - "gambling_waifu_egomaniac": "du kan inte ställa affinitet till dig själv, din egoist.", - "gambling_waifu_fulfilled": "🎉 Deras kärlek är uppfyllt! 🎉\n{0} s nya värdet är {1}!", - "gambling_waifu_isnt_cheap": "Ingen waifu är så billig. Du måste betala minst {0} för att få en waifu, även om deras riktiga värde är lägre.", - "gambling_waifu_not_enough": "Du måste betala {0} eller mer för att ta den waifun!", - "gambling_waifu_not_yours": "Denna waifun är inte din.", - "gambling_waifu_not_yourself": "Du kan inte göra anspråk på sig själv.", - "gambling_waifu_recent_divorce": "Du blev frånskild nyligen. Du måste vänta {0} timmar och {1} minuter att skilja sig igen.", - "gambling_nobody": "Ingen", - "gambling_waifu_divorced_notlike": "Du har frånskild en waifu som inte gillar dig. Du har fått {0} tillbaka.", - "games_8ball": "8boll", - "games_acrophobia": "Acrophobia", - "games_acro_ended_no_sub": "Spelet slutade utan några synpunkter.", - "games_acro_no_votes_cast": "Inga röster. Spelet slutade med ingen vinnare.", - "games_acro_nym_was": "Acronym var {0}.", - "games_acro_running": "Acrophobia spel är redan igång i denna kanal.", - "games_acro_started": "Spelet började. Skapa en mening med följande akronym: {0}.", - "games_acro_started_footer": "Du har {0} sekunder för att göra en inlaga.", - "games_acro_submit": "{0} lämnat sitt straff. ({1} totalt)", - "games_acro_vote": "Rösta genom att skriva ett number av det du inlämnar", - "games_acro_vote_cast": "{0} lägger sin röst!", - "games_acro_winner": "Vinnaren är {0} med {1} poäng.", - "games_acro_winner_only": "{0} är vinnaren för att vara den enda användaren som gjorde ett förslag!", - "games_question": "Fråga", - "games_rps_draw": "Det är lika! Båda valde {0}", - "games_rps_win": "{0} vann! {1} slår {2}", - "games_submissions_closed": "Förslag Stängda ", - "gambling_animal_race_already_started": "Djur lopp körs redan.", - "gambling_total_average": "Totalt: {0} Genomsnitt: {1} ", - "games_category": "Kategori", - "games_cleverbot_disabled": "Avaktiverade cleverbot på denna server.", - "games_cleverbot_enabled": "Aktiverat cleverbot på denna server. ", - "games_curgen_disabled": "Valuta skapande har inaktiverats på denna kanal.", - "games_curgen_enabled": "Valuta skapande har aktiverats på denna kanal.", - "games_curgen_pl": "{0} slumpmässig {1} dök up! Plocka upp genom att skriva `{2} pick`", - "games_curgen_sn": "En slumpmässig {0} dök upp! Plocka upp genom att skriva `{1} pick`", - "games_failed_loading_question": "Misslyckades ladda en fråga.", - "games_game_started": "Spel börjat", - "games_hangman_game_started": "Hänga gubbe har börjat", - "games_hangman_running": "Hänga gubbe spelas redan i denna kanal.", - "games_hangman_start_errored": "Startar hänga gubbe errored.", - "games_hangman_types": "Lista över \"{0} hängagubbe\" term typer:", - "games_leaderboard": "Ledartavla", - "games_not_enough": "Du har inte nog med {0}", - "games_no_results": "Inga resultat", - "games_picked": "plockade {0}", - "games_planted": "{0} planterade {1}", - "games_trivia_already_running": "Trivia spel pågår redan i denna server.", - "games_trivia_game": "Trivia spel", - "games_trivia_guess": "{0} gissade rätt! Svaret var: {1}", - "games_trivia_none": "Inget trivia spel pågår just nu.", - "games_trivia_points": "{0} har {1} poäng", - "games_trivia_stopping": "Stoppar efter denna fråga.", - "games_trivia_times_up": "Tiden är slut! Det korrekta svaret var {0}", - "games_trivia_win": "{0} gissade rätt och VANN spelet! Svaret var: {1} ", - "games_ttt_against_yourself": "Du kan inte spela mot dig själv.", - "games_ttt_already_running": "Tre I Rad spelet pågår redan i denna kanal.", - "games_ttt_a_draw": "Oavgjort!", - "games_ttt_created": "har skapat ett spel av Tre I Rad.", - "games_ttt_has_won": "{0} har Vunnit! ", - "games_ttt_matched_three": "Matchade Tre", - "games_ttt_no_moves": "Inga drag kvar!", - "games_ttt_time_expired": "Tiden är Slut!", - "games_ttt_users_move": "{0}s drag", - "games_vs": "{0} mot {1}", - "music_attempting_to_queue": "Försöker köa {0} låtar...", - "music_autoplay_disabled": "Auto spelning avaktiverad.", - "music_autoplay_enabled": "Auto spelning aktiverad.", - "music_defvol_set": "Standard volym satt till {0}%", - "music_dir_queue_complete": "Katalog kö komplett.", - "music_fairplay": "rent spel", - "music_finished_song": "Sång Avslutad", - "music_fp_disabled": "Rent spel avaktiverat", - "music_fp_enabled": "Rent spel aktiverat", - "music_from_position": "Från position", - "music_id": "Id", - "music_invalid_input": "Ogiltig inmatning.", - "music_max_playtime_none": "Max speltid har ingen gräns nu.", - "music_max_playtime_set": "Max speltid satt till {0} sekund(er).", - "music_max_queue_unlimited": "Max musik köns storleken inställd på obegränsad.", - "music_max_queue_x": "Max musik köns storleken inställd på {0} spår.", - "music_must_be_in_voice": "Du måste vara i röst kanalen på den här servern.", - "music_name": "Namn", - "music_now_playing": "Nu Spelas", - "music_no_player": "Ingen aktiv musikspelare.", - "music_no_search_results": "Inga sök resultat.", - "music_paused": "Musikuppspelning pausas.", - "music_player_queue": "Spelar Kö - Sida {0}/{1}", - "music_playing_song": "Spelar låt", - "music_playlists": " `#{0}` - **{1}** by *{2}* ({3} låtar)", - "music_playlists_page": "Sida {0} av Sparade Spellistor", - "music_playlist_deleted": "Spelllista borttagen.", - "music_playlist_delete_fail": "Kunde ej ta bort den låtlistan. Antingen finns den ej eller så är det inte du som skapat den.", - "music_playlist_id_not_found": "Spellista med det ID existerar inte.", - "music_playlist_queue_complete": "Spellista komplett.", - "music_playlist_saved": "Spellista Sparad", - "music_play_limit": "{0}s gräns", - "music_queue": "Kö", - "music_queued_song": "Köad sång", - "music_queue_cleared": "Musik kön rensad.", - "music_queue_full": "Kön är full på {0}/{0}.", - "music_removed_song": "Tog bort låt", - "music_repeating_cur_song": "Repeterar Nuvarande Låt", - "music_repeating_playlist": "Repeterar Spellistan", - "music_repeating_track": "Repeterar Låt", - "music_repeating_track_stopped": "Nuvarande låt repetering stoppad.", - "music_resumed": "Musikuppspelning återupptas.", - "music_rpl_disabled": "Upprepning av spellista inaktiverad.", - "music_rpl_enabled": "Upprepning av spellista aktiverad.", - "music_set_music_channel": "Jag kommer nu att utgångs spela, färdig pausad och borttagna låtar i denna kanal.", - "music_skipped_to": "Skippat till `{0}:{1}`", - "music_songs_shuffled": "Sånger blandade.", - "music_song_moved": "Sång flyttad", - "music_time_format": "{0}h {1}m {2}s", - "music_to_position": "Till position", - "music_unlimited": "obegränsad", - "music_volume_input_invalid": "Volym måste vara mellan 0 och 100", - "music_volume_set": "Volym satt till {0}%", - "permissions_acm_disable": "Avaktiverat användning av alla MODULER på kanalen {0}.", - "permissions_acm_enable": "Aktiverat användning av alla MODULER på kanalen {0}.", - "permissions_allowed": "Tillåtet", - "permissions_arm_disable": "Avaktiverat användning av alla MODULER för roll {0}.", - "permissions_arm_enable": "Aktiverat användning av alla MODULER för roll {0}.", - "permissions_asm_disable": "Avaktiverat användning av alla MODULER på denna server.", - "permissions_asm_enable": "Aktiverat användning av alla MODULER på denna server.", - "permissions_aum_disable": "Avaktiverat användning av alla MODULER för användare {0}.", - "permissions_aum_enable": "Aktiverat användning av alla MODULER för användare {0}.", - "permissions_blacklisted": "Svartlistat {0} med ID {1}", - "permissions_cmdcd_add": "Kommando {0} har nu {1}s väntetid.", - "permissions_cmdcd_cleared": "Kommando {0} har nu ingen väntetid och alla existerande väntetider har blivit rensade.", - "permissions_cmdcd_none": "Inga kommando väntetider satta.", - "permissions_command_costs": "Kommando kostar", - "permissions_cx_disable": "Avaktiverade användning av {0} {1} på kanal {2}.", - "permissions_cx_enable": "Aktiverade användning av {0} {1} på kanal {2}.", - "permissions_denied": "Nekad", - "permissions_filter_word_add": "La till ordet {0} till listan över filtrerade ord.", - "permissions_filter_word_list": "Lista av filtrerade ord", - "permissions_filter_word_remove": "Tog bort ord {0} från listan av filtrerade ord.", - "permissions_invalid_second_param_between": "Ogiltig andra parameter.(Måste vara ett nummer mellan {0} och {1})", - "permissions_invite_filter_channel_off": "Inbjuds filtrering avaktiverad på denna kanal.", - "permissions_invite_filter_channel_on": "Inbjuds filtrering aktiverad på denna kanal.", - "permissions_invite_filter_server_off": "Inbjuds filtrering avaktiverad på denna server.", - "permissions_invite_filter_server_on": "Inbjuds filtrering aktiverad på denna server.", - "permissions_moved_permission": "Flyttade behörighet {0} från #{1} till #{2}", - "permissions_not_found": "Kan inte kitta behörighet på index #{0}", - "permissions_no_costs": "Inga kostnader satta.", - "permissions_of_command": "kommando", - "permissions_of_module": "modul", - "permissions_page": "Behörighets sida {0}", - "permissions_permrole": "Nuvarade behörighets roll är {0}", - "permissions_permrole_changed": "Användare behöver nu {0} rollen för att kunna ändra behörigheter.", - "permissions_perm_out_of_range": "Inga behörigheter funna i den indexen.", - "permissions_removed": "Tog bort behörighet #{0} - {1}", - "permissions_rx_disable": "Avaktiverat användning av {0} {1} för {2} rollen.", - "permissions_rx_enable": "Aktiverat användning av {0} {1} för {2} rollen.", - "permissions_sec": "sek.", - "permissions_sx_disable": "Avaktiverat användning av {0} {1} på denna server.", - "permissions_sx_enable": "Aktiverat användning av {0} {1} på denna server.", - "permissions_unblacklisted": "Togbort {0} från svartlistan med ID {1}", - "permissions_uneditable": "oredigerbar", - "permissions_ux_disable": "Avaktiverat användning av {0} {1} för {2} användare.", - "permissions_ux_enable": "Aktiverat användning av {0} {1} för {2} användare.", - "permissions_verbose_false": "Jag kommer inte länga visa behörighets varningar.", - "permissions_verbose_true": "Jag kommer nu visa behörighets varningar.", - "permissions_word_filter_channel_off": "Ord filtrering avaktiverat i denna kanal.", - "permissions_word_filter_channel_on": "Ord filtrering aktiverat i denna kanal.", - "permissions_word_filter_server_off": "Ord filtrering avaktiverat på denna server.", - "permissions_word_filter_server_on": "Ord filtrering aktiverat på denna server.", - "searches_abilities": "Förmågor", - "searches_anime_no_fav": "Ingen favoritanime än", - "searches_atl_ad_started": "Började automatisk översättning av meddelanden på denna kanal. Användarmeddelanden kommer att automatiskt tas bort.", - "searches_atl_removed": "ditt automatiska översätta-språk har tagits bort.", - "searches_atl_set": "ditt automatiska översätta-språk har blivit satt till {0}>{1} ", - "searches_atl_started": "Började automatisk översättning av meddelanden på denna kanal.", - "searches_atl_stopped": "Stoppat automatisk översättning av meddelanden på denna kanal.", - "searches_bad_input_format": "Dålig inmatnings format, eller så gick något fel.", - "searches_card_not_found": "Kunde ej hitta det kortet.", - "searches_catfact": "fakta", - "searches_chapters": "Kapitel", - "searches_comic_number": "Serie #", - "searches_compet_loses": "Kompetitiva Förluster", - "searches_compet_played": "Kompetitiva Spelade", - "searches_compet_rank": "Kompetitiv Rank", - "searches_compet_wins": "Kompetitiva Vinster", - "searches_completed": "Avslutade", - "searches_condition": "Kondition", - "searches_cost": "Kostnad", - "searches_date": "Datum", - "searches_define": "Definera:", - "searches_dropped": "Övergivna", - "searches_episodes": "Avsnitt", - "searches_error_occured": "Ett fel inträffade.", - "searches_example": "Exempel", - "searches_failed_finding_anime": "Kunde ej hitta den animun.", - "searches_failed_finding_manga": "Kunde ej hitta den mangon.", - "searches_genres": "Genres", - "searches_hashtag_error": "Misslyckades att hitta en definition för den taggen.", - "searches_height_weight": "Längd/Vikt", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Fuktighet", - "searches_image_search_for": "Bild sökning för:", - "searches_imdb_fail": "Kunde ej hitta den filmen.", - "searches_invalid_lang": "Ogiltig källa eller mål språk. ", - "searches_jokes_not_loaded": "Skämt ej laddade.", - "searches_latlong": "Lat/Long", - "searches_level": "Nivå", - "searches_list_of_place_tags": "Lista av {0} plats taggar", - "searches_location": "Plats", - "searches_magicitems_not_loaded": "Magiska föremål inte laddade. ", - "searches_mal_profile": "{0}:s MAL profil", - "searches_mashape_api_missing": "Bot ägare specificerade inte MashapeApiKey. Du kan inte använda den här funktionen.", - "searches_min_max": "Min/Max", - "searches_no_channel_found": "Inga kanaler hittades.", - "searches_no_results": "Inga resultat hittades.", - "searches_on_hold": "Placerad i kö", - "searches_original_url": "Original url", - "searches_osu_api_key": "En osu! API nyckel krävs.", - "searches_osu_failed": "Misslyckades att hämta osu! signatur.", - "searches_over_x": "Hittade över {0} bilder. Visar slumpmässig {0}.", - "searches_ow_user_not_found": "Användare inte funnen! Snälla kolla Regionen och BattleTag innan du försöker igen.", - "searches_plan_to_watch": "Planerar att kolla", - "searches_platform": "Plattform", - "searches_pokemon_ability_none": "Ingen förmåga hittad.", - "searches_pokemon_none": "Ingen pokemon funnen.", - "searches_profile_link": "Profil link:", - "searches_quality": "Kvalitet:", - "searches_quick_playtime": "Snabb speltid", - "searches_quick_wins": "Snabba vinster", - "searches_rating": "Betyg", - "searches_score": "Poäng:", - "searches_search_for": "Leta efter:", - "searches_shorten_fail": "Misslyckades att förkorta den url.", - "searches_short_url": "Kort utl", - "searches_something_went_wrong": "Något gick fel.", - "searches_specify_search_params": "Var snäll och specificera sök parametrar.", - "searches_status": "Status", - "searches_store_url": "Butik url", - "searches_streamer_offline": "Streamer {0} är offline.", - "searches_streamer_online": "Streamer {0} är online med {1} tittare.", - "searches_streams_following": "Du följer {0} streams på denna server.", - "searches_streams_none": "Du följer inga streams på denna server.", - "searches_stream_no": "Finns ingen sådan stream.", - "searches_stream_not_exist": "Stream existerar förmodligen inte.", - "searches_stream_removed": "Tog bort {0}'s stream från notifikationer.", - "searches_stream_tracked": "Jag kommer notifikera denna kanal när status ändras.", - "searches_sunrise": "Soluppgång", - "searches_sunset": "Solnedgång", - "searches_temperature": "Temperatur", - "searches_title": "Titel:", - "searches_top_3_fav_anime": "Top 3 favorit anime:", - "searches_translation": "Översättning:", - "searches_types": "Typer", - "searches_ud_error": "Misslyckades att hitta definitionen för den termen.", - "searches_url": "Url", - "searches_viewers": "Tittare", - "searches_watching": "Tittar", - "searches_wikia_error": "Misslyckades att hitta term på den specificerade wikia.", - "searches_wikia_input_error": "Snälla skriv en wikia, följd av sökfråga.", - "searches_wiki_page_not_found": "Sidan kunde ej hittas.", - "searches_wind_speed": "vindhastighet", - "searches_x_most_banned_champs": "De {0} mest bannade mästare", - "searches_yodify_error": "Misslyckades att yodifiera din mening.", - "utiliity_joined": "Gick med", - "utility_activity_line": "`{0}.` {1} [{2:F2}/s] - {3} total ", - "utility_activity_page": "Aktivitets sida #{0}", - "utility_activity_users_total": "{0} användare totalt.", - "utility_author": "Författare", - "utility_botid": "Bot ID", - "utility_calcops": "Lista av funktioner i {0}calc kommando", - "utility_channelid": "Kanalens {0} är {1}", - "utility_channel_topic": "Kanal ämne", - "utility_commands_ran": "Kommandon Körda", - "utility_convert": "{0} {1} är samma som {2} {3}", - "utility_convertlist": "Enheter som kan användas av konverteraren", - "utility_convert_not_found": "Kan inte konvertera {0} till {1}: enheter inte funna.", - "utility_convert_type_error": "Kan inte konvertera {0} till {1}: typer av enheter är inte lika värda.", - "utility_created_at": "Skapad vid", - "utility_csc_join": "Gå med kanal för att prata över servrar.", - "utility_csc_leave": "Lämnade kanal för att prata över servrar.", - "utility_csc_token": "Detta är din CSC token", - "utility_custom_emojis": "Egengjorda emojis", - "utility_error": "Fel", - "utility_features": "Funktioner", - "utility_id": "ID", - "utility_index_out_of_range": "Index utom räckhåll", - "utility_inrole_list": "Här är en lista av användare i dom rollerna:", - "utility_inrole_not_allowed": "Du är inte tillåten att använda detta kommando på roller med många användare i dem för att förhindra missbruk.", - "utility_invalid_value": "Ogiltigt {0} värde.", - "utility_joined_discord": "Gick med Discord", - "utility_joined_server": "Gick med Server", - "utility_listservers": "ID: {0}\nMedlemmar: {1}\nÄgarID: {2}", - "utility_listservers_none": "Inga servrar funna på den sidan.", - "utility_list_of_repeaters": "List över repeterare", - "utility_members": "Medlemmar", - "utility_memory": "Minne", - "utility_messages": "Meddelanden", - "utility_message_repeater": "Meddelande repeterare", - "utility_name": "Namn", - "utility_nickname": "Smeknamn", - "utility_nobody_playing_game": "Ingen spelar det spelet.", - "utility_no_active_repeaters": "Inga aktiva repeterare.", - "utility_no_roles_on_page": "Inga roller på denna sida.", - "utility_no_shards_on_page": "Inga shards på denna sida.", - "utility_no_topic_set": "Inget ämne satt", - "utility_owner": "Ägare", - "utility_owner_ids": "Ägar IDs", - "utility_presence": "Närvaro", - "utility_presence_txt": "{0} Servrar\n{1} Textkanaler\n{2} Röstkanaler", - "utility_quotes_deleted": "Tog bort alla citat med nyckelordet {0}.", - "utility_quotes_page": "Sida {0} av citat", - "utility_quotes_page_none": "Inga citat på denna sida.", - "utility_quotes_remove_none": "Inga citat hittades som du kan ta bort.", - "utility_quote_added": "Citat tillagt", - "utility_quote_deleted": "Tog bort ett slumpvalt citat.", - "utility_region": "Region", - "utility_registered_on": "Registrerad på", - "utility_remind": "Jag kommer påminna {0} att {1} om {2} `({3:d.M.yyyy.} klockan {4:HH:mm})`", - "utility_remind_invalid_format": "Inte en giltig tids format. Kolla kommandolistan.", - "utility_remind_template": "Ny påminnelse mall satt. ", - "utility_repeater": "Repeterar {0} varje {1} dag(ar), {2} timme(ar) and {3} minut(er).", - "utility_repeaters_list": "Lista av repeterare", - "utility_repeaters_none": "Ingen repeterare körs på denna server.", - "utility_repeater_stopped": "#{0} slutade.", - "utility_repeat_invoke_none": "Inga repeterande medelanden funna på denna server.", - "utility_result": "Resultat", - "utility_roles": "Roller", - "utility_roles_all_page": "Sida #{0} av roller på denna server:", - "utility_roles_page": "Sida #{0} av roller för {1}", - "utility_rrc_no_colors": "Inga färger använder rätt format. Använd `#00ff00` som exempel.", - "utility_rrc_start": "Började rotera {0} rollens färger.", - "utility_rrc_stop": "Slutade rotera färger för {0} rollen", - "utility_serverid": "Denna servers {0} är {1}", - "utility_server_info": "Server Information", - "utility_shard": "Shard", - "utility_shard_stats": "Shard status", - "utility_shard_stats_txt": "Shard **#{0}** är i {1} status med {2} servers", - "utility_showemojis": "**Namn:** {0} **Länk:** {1}", - "utility_showemojis_none": "Inga special emojis funna.", - "utility_stats_songs": "Spelar {0} låtar, {1} köad.", - "utility_text_channels": "Textkanaler", - "utility_togtub_room_link": "Här är länken till ditt rum:", - "utility_uptime": "Upptid", - "utility_userid": "{0} av användare {1} är {2}", - "utility_users": "Användare", - "utility_voice_channels": "Röstkanaler", - "gambling_animal_race_already_in": "Du har redan gått med detta lopp!", - "games_current_poll_results": "Nuvarande röstningsresultat", - "games_no_votes_cast": "Inga röster gjorda.", - "games_poll_already_running": "Rösten är redan igång på denna server.", - "games_poll_created": "📃 {0} har skapat en röst som kräver din uppmärksamhet:", - "games_poll_result": "`{0}.` {1} med {2} röster.", - "games_poll_voted": "{0} röstade.", - "games_poll_vote_private": "Privat Meddela mig det nummer som stämmer överens med svaret.", - "games_poll_vote_public": "Skicka ett Meddelande här med det nummer som stämmer överens med svaret.", - "games_thanks_for_voting": "Tack för att du röstade, {0}", - "games_x_votes_cast": "{0} antal röster gjorda.", - "games_pick_pl": "Plocka upp de genom att skriva `{0}pick`", - "games_pick_sn": "Plocka upp den genom att skriva `{0}pick`", - "gambling_no_users_found": "Inga användare funna.", - "gambling_page": "sida {0}", - "administration_must_be_in_voice": "Du måste vara i en röstkanal på denna server.", - "administration_no_vcroles": "Det finns inga röstkanalsroller.", - "administration_user_muted_time": "{0} har blivit **mutad** från text och röstchatt i {1} minuter.", - "administration_vcrole_added": "Användare som går in i röstkanalen {0} får rollen {1}.", - "administration_vcrole_removed": "Användare som går med {0} röstkanalen kommer inte längre få en roll.", - "administration_vc_role_list": "Röstkanalsroller", - "customreactions_crad_disabled": "Meddelande som triggrar den egengjorda reaktion med id {0} kommer inte bli automatiskt raderad.", - "customreactions_crad_enabled": "Meddelandet som triggrar den egengjorda reaktion med id {0} kommer bli", - "customreactions_crdm_disabled": "Svar meddelande för den egengjorda reaktion med id {0} kommer inte att skickas som ett DM.", - "customreactions_crdm_enabled": "Svar meddelande för den egengjoda reaktion med id {0} kommer att skickas som ett DM.", - "utility_aliases_none": "Ingen alias hittad", - "utility_alias_added": "Skriver {0} kommer nu vara en alias av {1}.", - "utility_alias_list": "Lista av aliaser", - "utility_alias_removed": "Aktivering {0} har inte längre någon alias. ", - "utility_alias_remove_fail": "Trigger {0} hade ingen alias.", - "searches_compet_playtime": "Kompetitiv speltid", - "administration_channel": "Kanal", - "administration_command_text": "Kommando Text", - "administration_kicked_pl": "Sparkad", - "administration_moderator": "Moderator", - "administration_page": "Sida {0}", - "administration_reason": "Anledning", - "administration_scadd": "Ny uppstart kommando tillagd.", - "administration_scrm": "Uppstart kommando har blivit avtagen.", - "administration_scrm_fail": "Uppstart kommando hittas inte.", - "administration_server": "Server", - "administration_startcmdlist_none": "Ingen uppstart kommando har hittats på denna sidan.", - "administration_startcmds_cleared": "Rensat alla uppstart kommando.", - "administration_unbanned_user": "Användaren {0} har blivit icke avstängd.", - "administration_user_not_found": "Användaren hittades inte. ", - "administration_user_warned": "Användaren {0} har blivit varnad.", - "administration_user_warned_and_punished": "Användaren {0} har blivit varnad och {1} straff har blivit tillämpat.", - "administration_warned_on": "Varning på {0} server", - "administration_warned_on_by": "På {0} i {1} av {2}", - "administration_warnings_cleared": "Alla varningar har blivit rensad.", - "administration_warnings_none": "Inga varningar på denna sidan.", - "administration_warnlog_for": "Varning log för {0}", - "administration_warnpl_none": "Ingen straff ställt.", - "administration_warn_cleared_by": "rensad av {0}", - "administration_warn_punish_list": "Varning straff lista", - "administration_warn_punish_rem": "Har {0} varningar kommer inte längre aktivera ett straff.", - "administration_warn_punish_set": "Jag kommer att tillägga {0} straff till användare med {1} varningar.", - "administration_slowmodewl_role_start": "Långsam läge kommer nu att bli ignorerad {0} roll.", - "administration_slowmodewl_role_stop": "Långsam läge kommer inte längre att bli ignorerad {0} roll.", - "administration_slowmodewl_user_start": "Långsam läge kommer nu ignorera användaren {0}", - "administration_slowmodewl_user_stop": "Långsam läge kommer inte längre ignorera användaren {0}", - "utility_clpa_fail": "Misslyckad anpråk av pris på grund av följande anledningar:", - "utility_clpa_fail_already": "Du har kanske redan mottagit din pris för denna månaden. Du kan bara motta priser en gång per månad om inte du ökar din pledge.", - "utility_clpa_fail_already_title": "Redan belönat", - "utility_clpa_fail_conn": "Din discord konto är kanske inte ansluten till Patreon. Om du inte är säker om vad det betyder, eller inte vet hur du skall ansluta det - du måse då gå till [Patreon account settings page]\n(https://patreon.com/settings/account) och klicka på 'Connect to discord' knappen.", - "utility_clpa_fail_conn_title": "Discord konto är icke ansluten.", - "utility_clpa_fail_sup": "För att vara berättigad till priset så måste du stödja projektet på patreon. Du kan använda {0} kommandot för att få länken.", - "utility_clpa_fail_sup_title": "Ingen stöd", - "utility_clpa_fail_wait": "Du måste vänta några timmer efter din pledge, om du inte har gjort det, prova igen senare.", - "utility_clpa_fail_wait_title": "Vänta en stund", - "utility_clpa_success": "Du har mottagit {0} Tack för att du har stödjat projektet! ", - "utility_clpa_too_early": "Pris kan bli hävdad på eller efter femte av varje månad.", - "searches_time": "Tid i {0} är {1} - {2}", - "administration_rh": "Ställ display av guild roll {0} till {1}", - "gambling_name": "Namn", - "gambling_shop": "Affär", - "gambling_shop_item_add": "Affär föremål tillagd", - "gambling_shop_none": "Ingen shop föremål kan hittas på denna sidan.", - "gambling_shop_role": "Du kommer att få {0} roll.", - "gambling_type": "Typ", - "utility_clpa_next_update": "Nästa uppdatering i {0}", - "administration_global_perms_reset": "Global tillåtelse har blivit återställt. ", - "administration_gvc_disabled": "Spel Röst Kanal funktion har blivit inaktiverad på denna servern. ", - "administration_gvc_enabled": "{0} är ett Spel Röst Kanal nu.\n", - "administration_not_in_voice": "Du är inte i röst kanalen på denna server. ", - "gambling_item": "Föremål", - "gambling_out_of_stock": "Tillfälligt slut.", - "gambling_random_unique_item": "Slumpmässig unik föremål.", - "gambling_shop_buy_error": "Fel DMing föremål. Du har blivit återbetalad. ", - "gambling_shop_item_not_found": "Ingen föremål på den Index har hittats.", - "gambling_shop_item_purchase": "Föremål inköp är lyckad.", - "gambling_shop_item_rm": "Shop föremål borttagen.", - "gambling_shop_item_wrong_type": "Den shop artikeln stödjer ej föremål tilläggning.", - "gambling_shop_list_item_added": "Föremål har blivit tillagd. ", - "gambling_shop_list_item_not_unique": "Den där föremålet har redan blivit tillagd. ", - "gambling_shop_purchase": "Inköp på {0} server", - "gambling_shop_role_not_found": "Roll som säljs existerar inte längre.", - "gambling_shop_role_purchase": "Du har köpt {0} roll.", - "gambling_shop_role_purchase_error": "Fel tilldelning av roll. Din inköp har blivit återbetalt.", - "gambling_unique_items_left": "{0} unika föremål kvar. ", - "permissions_blocked_commands": "Blockerad Kommandos", - "permissions_blocked_modules": "Blockerad Moduller", - "permissions_gcmd_add": "Kommando {0} har blivit avaktiverad på alla server. ", - "permissions_gcmd_remove": "Kommando {0} har blivit aktiverad på alla server.", - "permissions_gmod_add": "Modull {0} har blivit avaktiverad på alla server.", - "permissions_gmod_remove": "Modull {0} har blivit aktiverad på alla server. ", - "permissions_lgp_none": "Ingen blockerad kommando eller moduller. " -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.tr-TR.json b/src/NadekoBot/_strings/ResponseStrings.tr-TR.json deleted file mode 100644 index 2a54d87c..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.tr-TR.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "Bu köy daha önceden alınmış veya yok edilmiş.", - "clashofclans_base_already_destroyed": "Bu köy önceden yok edilmiş.", - "clashofclans_base_already_unclaimed": "Bu köy alınmamış.", - "clashofclans_base_destroyed": " {1}'ye karşı savaşta köy #{0} **BERTARAF EDİLDİ**", - "clashofclans_base_unclaimed": "{0},{2} karşı savaşta #{1} üssünü alamadı.", - "clashofclans_claimed_base": "{0}, {2} ile savaşan bir #{1} temel hak iddia etti.", - "clashofclans_claimed_other": "@{0} zaten #{1} aldın. Yeni bir tane daha alamazsın.", - "clashofclans_claim_expired": "{1}'a karşı savaşta @{0} tarafından yapılan hak talebinin süresi dolmuştur.", - "clashofclans_enemy": "Düşman", - "clashofclans_info_about_war": "{0} ile savaşa ilişkin bilgi", - "clashofclans_invalid_base_number": "Hatalı köy numarası.", - "clashofclans_invalid_size": "Savaş büyüklüğü geçerli değil.", - "clashofclans_list_active_wars": "Aktif olan savaşlar", - "clashofclans_not_claimed": "Alınmamış", - "clashofclans_not_partic": "Bu savaşa katılmadınız.", - "clashofclans_not_partic_or_destroyed": "@{0} Bu savaşa katılmadınız veya köyünüz yok edildi.", - "clashofclans_no_active_wars": "Aktif olan savaş yok.", - "clashofclans_size": "Büyüklük", - "clashofclans_war_already_started": "{0} ile olan savaş başladı.", - "clashofclans_war_created": "{0} ile şavaş çıkardın.", - "clashofclans_war_ended": "{0} ile olan savaş sona erdi.", - "clashofclans_war_not_exist": "Böyle bir savaş bulunamadı.", - "clashofclans_war_started": "{0} ile olan savaş başladı.", - "customreactions_all_stats_cleared": "Tüm özel reaksiyon istatistikleri temizlendi.", - "customreactions_deleted": "Özel reaksiyon silindi", - "customreactions_insuff_perms": "Yetersiz yetki.Global özel reaksiyonlar için bot sahibi yetkisi gerkirken, server tabanlı özel reaksiyonlar için Administrator yetkisi gerekir.", - "customreactions_list_all": "Tüm özel reaksiyonların listesi", - "customreactions_name": "Özel reaksiyonlar", - "customreactions_new_cust_react": "Yeni özel reaksiyon", - "customreactions_no_found": "Hiç özel reaksiyon bulunamadı.", - "customreactions_no_found_id": "Bu kimliğe sahip bir özel reaksiyon bulunamadı.", - "customreactions_response": "Cevap", - "customreactions_stats": "Özel reaksiyon istatistikleri", - "customreactions_stats_cleared": "{0} özel reaksiyonun istatistikleri temizlendi.", - "customreactions_stats_not_found": "Bu tetikleyici için herhangi bir istatistik bulunamadı, herhangi bir işlem yapılmadı.", - "customreactions_trigger": "Tetikleyen", - "nsfw_autohentai_stopped": "Autohentai durduruldu.", - "nsfw_not_found": "Sonuç bulunamadı.", - "pokemon_already_fainted": "{0} zaten bayılmış.", - "pokemon_already_full": "{0} zaten canı dolu.", - "pokemon_already_that_type": "Senin türün zaten {0}", - "pokemon_attack": "{2}{3}'de {4} hasar için {0}{1} kullandı", - "pokemon_cant_attack_again": "İntikam almadan bir daha saldıramazsın.", - "pokemon_cant_attack_yourself": "Kendine saldıramazsın.", - "pokemon_fainted": "{0} bayıldı!", - "pokemon_healed": "Bir {1} kullanılarak {0} iyileştirildi", - "pokemon_hp_remaining": "{0} canı {1} kaldı.", - "pokemon_invalid_move": "{0}'ı kullanamazsın. Kullanabileceğiniz hamle listesini görmek için `{1}ml` yazın.", - "pokemon_moves": "{0} tipi için hareklerin listesi", - "pokemon_not_effective": "Efektif değil.", - "pokemon_no_currency": "Sende yeteri kadar {0} yok", - "pokemon_revive_other": "{0} {1} ile canlandırıldı", - "pokemon_revive_yourself": "{0} ile kendinizi yeniden canlandırdınız.", - "pokemon_settype_success": "{1} için türünüz {0} olarak değiştirildi.", - "pokemon_somewhat_effective": "Biraz etkili.", - "pokemon_super_effective": "Süper etkili!", - "pokemon_too_many_moves": "Çok fazla hamle yaptınız, bu nedenle hareket edemezsiniz!", - "pokemon_type_of_user": "{0} türü {1}", - "pokemon_user_not_found": "Kullanıcı bulunamadı.", - "pokemon_you_fainted": "Bayıldın,yani hareket edemiyiceksin.", - "administration_aar_disabled": "Kullanıcı girişinde **Otomatik Rol Tanımlaması** **Devre Dışı**.", - "administration_aar_enabled": "Kullanıcı girişinde **Otomatik Rol Tanımlaması** **Devrede**.", - "administration_attachments": "Eklentiler", - "administration_avatar_changed": "Profil fotoğrafı değiştirildi", - "administration_bandm": "{0} sunucusundan uzaklaştırıldınız.\nSebep: {1}", - "administration_banned_pl": "Uzaklaştırıldı.", - "administration_banned_user": "Kullanıcı Uzaklaştırıldı", - "administration_bot_name": "Bot ismi {0} olarak değiştirildi.", - "administration_bot_status": "Bot durum mesajı {0} olarak değiştirildi.", - "administration_byedel_off": "Çıkış mesajlarının otomatik silinmesi devre dışı bırakıldı.", - "administration_byedel_on": "Çıkış mesajları {0} saniye sonra silinecektir.", - "administration_byemsg_cur": "Şu anki çıkış mesajı: {0}", - "administration_byemsg_enable": "{0} yazarak çıkış mesajlarını etkinleştirin.", - "administration_byemsg_new": "Yeni çıkış mesajı tanımlandı.", - "administration_bye_off": "Çıkış duyuruları devre dışı.", - "administration_bye_on": "Çıkış duyuruları bu kanalda devreye sokuldu.", - "administration_ch_name_change": "Kanal İsmi Değişti", - "administration_ch_old_name": "Eski İsim", - "administration_ch_topic_change": "Kanal Konusu Değişti", - "administration_cleaned_up": "Temizlendi.", - "administration_content": "İçerik", - "administration_cr": "{0} rolü başarıyla oluşturuldu.", - "administration_createtextchan": "{0} yazı kanalı oluşturuldu.", - "administration_createvoich": "{0} ses kanalı oluşturuldu.", - "administration_deafen": "Sağırlaştırma başarılı.", - "administration_deleted_server": "{0} sunucusu silindi.", - "administration_delmsg_off": "Komut bildirimlerinin otomatik silinmesi başarıyla durduruldu.", - "administration_delmsg_on": "Artık komut bildirimleri başarıyla siliniyor.", - "administration_deltextchan": "{0} yazı kanalı silindi.", - "administration_delvoich": "{0} ses kanalı silindi.", - "administration_dm_from": "Bu kullanıcıdan özel mesaj geldi:", - "administration_donadd": "Başarıyla yeni bağışçı eklendi. Bu kullanıcının bağışladığı toplam miktar: {0} 👑", - "administration_donators": "Aşağıda ismi bulunan kişilerin bu projeyi gerçekleşmesini sağladıkları için teşekkürler!", - "administration_fwall_start": "Özel mesajları tüm sahiplerine ileteceğim.", - "administration_fwall_stop": "Özel mesajları sadece ilk sahibine ileteceğim.", - "administration_fwdm_start": "Özel mesajları iletmeye başlayacağım.", - "administration_fwdm_stop": "Özel mesajları iletmeyi bırakacağım.", - "administration_greetdel_off": "Karşılama mesajlarının otomatik silinmesi devre dışı bırakıldı.", - "administration_greetdel_on": "Karşılama mesajları {0} saniye sonra silinecektir.", - "administration_greetdmmsg_cur": "Şu anki özelden karşılama mesajı: {0}", - "administration_greetdmmsg_enable": "{0} yazarak özelden karşılama mesajlarını aktif edebilirsiniz.", - "administration_greetdmmsg_new": "Yeni özelden karşılama mesajı tanımlandı.", - "administration_greetdm_off": "Özel mesajdan karşılama duyuruları devre dışı.", - "administration_greetdm_on": "Özel mesajdan karşılama duyuruları devrede.", - "administration_greetmsg_cur": "Şu anki karşılama mesajı: {0}", - "administration_greetmsg_enable": "{0} yazarak karşılama mesajlarını aktif et.", - "administration_greetmsg_new": "Yeni karşılama mesajı tanımlandı.", - "administration_greet_off": "Karşılama duyuruları devre dışı.", - "administration_greet_on": "Karşılama duyuruları bu kanalda aktif edildi.", - "administration_hierarchy": "Bu komutu, rol hiyerarşisinde sizinle aynı veya daha yüksek bir rolü olan kullanıcılar üzerinde kullanamazsınız.", - "administration_images_loaded": "Resimler {0} saniye sonra yüklendi!", - "administration_invalid_format": "Geçersiz giriş biçimi.", - "administration_invalid_params": "Geçersiz parametreler.", - "administration_joined": "{0} {1}'e katıldı.", - "administration_kickdm": "{0} sunucusundan atıldınız.\nSebep: {1}", - "administration_kicked_user": "Kullanıcı atıldı", - "administration_lang_list": "Dil Listesi", - "administration_lang_set": "Sunucunuzun dili değiştirildi: {0} - {1}", - "administration_lang_set_bot": "Bot varsayılan dili değiştirildi: {0} - {1}", - "administration_lang_set_bot_show": "Bot dili değiştirildi: {0} - {1}", - "administration_lang_set_fail": "Dil ayarları değiştirilemedi. Komutun kılavuzuna bakın.", - "administration_lang_set_show": "Sunucunun dili değiştirildi: {0} - {1}", - "administration_left": "{0} {1}'den ayrıldı.", - "administration_left_server": "{0} sunucudan ayrıldı.", - "administration_log": "Bu kanaldaki {0} olayları kayıt ediliyor.", - "administration_log_all": "Bu kanaldaki bütün olaylar kayıt ediliyor.", - "administration_log_disabled": "Kayıtlar devre dışı.", - "administration_log_events": "Abone olabileceğiniz olaylar:", - "administration_log_ignore": "{0} günlük kayıtlarını yok sayar.", - "administration_log_not_ignore": "{0} günlüğe yazmayı yok saymaz.", - "administration_log_stop": "{0} olayını günlüğe kaydetme işlemi durduruldu.", - "administration_menrole": "{0}, aşağıdaki rollerde bir söz atadı.", - "administration_message_from_bo": "{0} gönderdiği mesaj `[Bot Sahibi]`:", - "administration_message_sent": "Mesaj yollandı.", - "administration_moved": "{0} {1}'den {2}'ye taşındı.", - "administration_msg_del": "{0} içindeki mesajlar silinicek.", - "administration_msg_update": "Mesaj {0} da güncellendi", - "administration_muted_pl": "Susturuldular!", - "administration_muted_sn": "Susturuldu!", - "administration_mute_error": "Bunun için gerekli iznim yok.", - "administration_mute_role_set": "Yeni sessiz rolü atandı.", - "administration_need_admin": "Bunu yapmak için **Yönetici** iznine ihtiyacım var.", - "administration_new_msg": "Yeni Mesaj", - "administration_new_nick": "Yeni takma ad", - "administration_new_topic": "Yeni Konu", - "administration_nick_change": "Takma Ad değiştirildi.", - "administration_no_server": "Sunucu bulunamadı.", - "administration_no_shard_id": "Kimlik numarası bulunamadı.", - "administration_old_msg": "Eski mesaj", - "administration_old_nick": "Eski takma ad", - "administration_old_topic": "Eski konu", - "administration_perms": "Hata.Yüksek ihtimalle yeterli yetki'ye sahip değilim.", - "administration_perms_reset": "Bu server için yetkiler sıfırlandı.", - "administration_prot_active": "Koruma Aktif", - "administration_prot_disable": "{0} Bu sunucudaki {0} **Devre Dışı**.", - "administration_prot_enable": "{0} Etkin", - "administration_prot_error": "Hata. Rolleri Yönet iznine ihtiyacım var", - "administration_prot_none": "Hiçbir koruma etkin değil.", - "administration_raid_cnt": "Kullanıcı eşiği {0} ile {1} arasında olmalıdır.", - "administration_raid_stats": "{0} veya daha fazla kullanıcı {1} saniye içinde katılırsa, onlara {2} uygulayacağım.", - "administration_raid_time": "Zaman {0} ile {1} saniye arasında olmalıdır.", - "administration_rar": "{0} kullanıcısından tüm roller başarıyla kaldırdı.", - "administration_rar_err": "Yetkileri almada hata. Yüksek ihtimalle yeteri kadar yetkim yok.", - "administration_rc": "{0} rolünün rengi değiştirildi.", - "administration_rc_not_exist": "Bu rol bulunmamakta.", - "administration_rc_params": "Belirtilen parametreler geçersiz.", - "administration_rc_perms": "Renk geçersiz veya yetersiz izinler nedeniyle hata oluştu.", - "administration_remrole": "{1} kullanıcısının sahip olduğu {0} rolü başarı ile alındı.", - "administration_remrole_err": "Yetkiyi almada hata. Yüksek ihtimalle yeteri kadar yetkim yok.", - "administration_renrole": "Rol yeniden adlandırıldı.", - "administration_renrole_err": "Rol yeniden adladırılmasında hata. Yüksek ihtimalle yeteri kadar yetkim yok.", - "administration_renrole_perms": "Kendi rolunüzden daha yüksek rolleri değiştiremezsiniz.", - "administration_reprm": "{0} oynatılan mesaj kaldırıldı.", - "administration_role_added": "Rol {0}, listeye eklendi.", - "administration_role_clean": "{0} bulunamadı. Temizlendi.", - "administration_role_in_list": "Rol {0} zaten listede.", - "administration_ropl_added": "Eklendi.", - "administration_ropl_disabled": "Döndürme işlemi durdu.", - "administration_ropl_enabled": "Döndürme işlemi etkinleştirildi.", - "administration_ropl_list": "Döndürülen durumların bir listesi:\n{0}", - "administration_ropl_not_set": "Dönen durumlar ayarlanmadı.", - "administration_self_assign_already": "Zaten {0} role sahip.", - "administration_self_assign_already_excl": "{0} özel otomatik atanmış role zaten sahibidir.", - "administration_self_assign_excl": "Otomatik atanmış roller artık özel!", - "administration_self_assign_list": "{0} otomatik atanabilir rolü var", - "administration_self_assign_not": "Bu rol otomatik atanabilir değil.", - "administration_self_assign_not_have": "{0} rolünüz yok.", - "administration_self_assign_no_excl": "Otomatik atanabilir roller artık özel değil!", - "administration_self_assign_perms": "Bu rolü ekleyemem. `Rol hiyerarşisinde rolümden daha yüksek olan sahiplere veya diğer rollere rol ekleyemem. '", - "administration_self_assign_rem": "{0}, otomatik atanabilir roller listesinden kaldırıldı.", - "administration_self_assign_remove": "Artık {0} rolü yok.", - "administration_self_assign_success": "Şimdi {0} rolünüz var.", - "administration_setrole": "{1} kullanıcısına {0} rolü başarıyla eklendi", - "administration_setrole_err": "Rol eklenemedi. İzinlerim yetersiz.", - "administration_set_avatar": "Yeni profil resmi belirlendi!", - "administration_set_channel_name": "Yeni kanal adı belirlendi.", - "administration_set_game": "Yeni oyun belirlendi!", - "administration_set_stream": "Yeni yayıncı belirlendi!", - "administration_set_topic": "Yeni kanal konusu belirlendi.", - "administration_shard_reconnected": "Shard {0} yeniden bağlandı.", - "administration_shard_reconnecting": "Shard {0} yeniden bağlanıyor.", - "administration_shutting_down": "Kapatılıyor.", - "administration_slowmode_desc": "Kullanıcılar, {1} saniyede bir {0}'den fazla mesaj gönderemez.", - "administration_slowmode_disabled": "Yavaşlatılmış mod devre dışı.", - "administration_slowmode_init": "Yavaşlatılmış mod başlatıldı", - "administration_soft_banned_pl": "Hafif bir şekilde yasaklandılar (atıldılar)", - "administration_spam_ignore": "{0} bu kanalı yoksayacak.", - "administration_spam_not_ignore": "{0} artık bu kanalı yoksaymayacak.", - "administration_spam_stats": "Bir kullanıcı {0} aynı mesajı aynı sırada gönderirse, bunları {1} yapacağım.\n__Yok Sayılan Kanallar__: {2}", - "administration_text_chan_created": "Metin kanalı oluşturuldu.", - "administration_text_chan_destroyed": "Metin kanalı yok edildi.", - "administration_undeafen": "Sağırlaştırmayı kaldırma başarılı.", - "administration_unmuted_sn": "Sesi açıldı", - "administration_username": "Kullanıcı adı", - "administration_username_changed": "Kullanıcı adı değişti", - "administration_users": "Kullanıcılar", - "administration_user_banned": "Kullanıcı yasaklandı", - "administration_user_chat_mute": "{0} sohbet **edemiyor**.", - "administration_user_chat_unmute": "{0} sohbet **edebiliyor**.", - "administration_user_joined": "Kullanıcı katıldı", - "administration_user_left": "Kullanıcı ayrıldı", - "administration_user_muted": "{0}, metin ve sesli sohbetde **sessiz durumda**.", - "administration_user_role_add": "Kullanıcının rolü eklendi", - "administration_user_role_rem": "Kullanıcının rolü kaldırıldı", - "administration_user_status_change": "{0} artık {1}", - "administration_user_unmuted": "{0}, metin ve sesli sohbetde **sessiz durumda değil**.", - "administration_user_vjoined": "{0}, {1} sesli kanalına katıldı.", - "administration_user_vleft": "{0}, {1} sesli kanalından ayrıldı.", - "administration_user_vmoved": "{0}, {1} kanalından {2} sesli kanalına taşındı.", - "administration_user_voice_mute": "{0} **susturuldu**.", - "administration_user_voice_unmute": "{0} **susturulması kaldırıldı**.", - "administration_voice_chan_created": "Ses kanalı oluşturuldu", - "administration_voice_chan_destroyed": "Ses kanalı yok edildi", - "administration_vt_disabled": "Ses + metin özelliği devre dışı.", - "administration_vt_enabled": "Ses + metin özelliği etkin.", - "administration_vt_exit": "**Rolleri yönetme** ve/veya **Kanalları yönetme** iznim yok, Bu yüzden {0} sunucusunda 'ses + metin' çalıştıramıyorum.", - "administration_vt_no_admin": "Bu özelliği etkinleştiriyorsun/devre dışı bırakıyorsun ve **YÖNETİCİ izinlerine sahip değilim**. Bu bazı sorunlara neden olabilir ve daha sonra kendiniz metin kanallarını temizlemeklisiniz.", - "administration_vt_perms": "Bu özelliği etkinleştirmek için en azından **rolleri yönetmek** ve **kanal izinlerini yönetmek** zorundayım.(Tercih edilen Yönetim izni)", - "administration_xmuted_text": "Metin sohbetinde {0} kullanıcı", - "administration_xmuted_text_and_voice": "Metin ve sesli sohbetinde {0} kullanıcı", - "administration_xmuted_voice": "Sesli sohbetten {0} kullanıcı", - "administration_sbdm": "{0} sunucusundan hafif bir şekilde yasaklandınız.\nSebep: {1}", - "administration_user_unbanned": "Kullanıcı yasağı kaldırıldı", - "administration_migration_done": "Eski kayıtlar taşındı!", - "adminsitration_migration_error": "Taşıma işlemi sırasında hata oluştu, daha fazla bilgi için bot konsolunu kontrol edin.", - "administration_presence_updates": "Durum güncellemeleri", - "administration_sb_user": "Kullanıcı hafif bir şekilde yasaklandı.", - "gambling_awarded": "{1} 'e {0} ödül vermiş", - "gambling_better_luck": "Bir dahaki sefere artık ^_^", - "gambling_br_win": "Tebrik ederiz! {1} çevirdi ve {0} kazandı", - "gambling_deck_reshuffled": "Deste yeniden düzenlendi.", - "gambling_flipped": "{0} çevirdi.", - "gambling_flip_guess": "Tahmin ettin! {0} kazandın", - "gambling_flip_invalid": "Geçersiz numara belirtildi. 1 tanesini {0} madeni paraya çevirebilirsiniz.", - "gambling_flowerreaction_desc": "{1} almak için bu mesaja {0} reaksiyon ekleyin. ", - "gambling_flowerreaction_footer": "Bu etkinlik {0} saat boyunca aktiftir.", - "gambling_flowerreaction_title": "Çiçek reaksiyonu olayı başladı!", - "gambling_gifted": "{0}'dan {1}'e hediye verdi", - "gambling_has": "{0}'da {1} var", - "gambling_heads": "Kafa", - "gambling_leaderboard": "Lider listesi", - "gambling_mass_award": "{2} rolünden {1} kullanıcıya {0} kazandı.", - "gambling_max_bet_limit": "{0}'dan fazla bahse giremezsiniz.", - "gambling_min_bet_limit": "{0}'dan daha az bahis oynayamazsınız", - "gambling_not_enough": "Yeterli düzeyde {0} yok", - "gambling_no_more_cards": "Destede artık kart yok.", - "gambling_raffled_user": "Kullanıcı piyango çekti", - "gambling_roll": "{0} çevrildi.", - "gambling_slot_bet": "Bahis", - "gambling_slot_jackpot": "Vay canına!!! Tebrik ederiz!!! x{0}", - "gambling_slot_single": "Tek bir {0}, x{1}", - "gambling_slot_three": "Vaov! Şanslı! Üç çeşit! x{0}", - "gambling_slot_two": "Aferin! İki {0} - bahis x{1}", - "gambling_slot_won": "Kazandı", - "gambling_sneakygamestatus_desc": "Kullanıcılar {0} almak için gizli bir kod yazmalıdır.\n{1} saniye sürer. Kimseye söyleme. Shhh.", - "gambling_sneakygamestatus_end": "GizliOyun etkinliği sona erdi. {0} kullanıcılar ödüllerini aldı.", - "gambling_sneakygamestatus_title": "GizliOyunDurumu etkinliği başlatıldı", - "gambling_tails": "Kuyruk", - "gambling_take": "Başarıyla {1}'den {0} aldı", - "gambling_take_fail": "Kullanıcı {2} sayısına sahip olmadığından {1}'ten {0} alamadı!", - "help_back_to_toc": "Listenin başına dön", - "help_bot_owner_only": "Sadece bot sahibi", - "help_channel_permission": "{0} kanal izni gerektiriyor.", - "help_cmdlist_donate": "Projeyi patreonda destekleyebilirsin:<{0}> ya da paypalde:<{1}>", - "help_cmd_and_alias": "Komutlar ve takma adlar", - "help_commandlist_regen": "Komut listesi yeniden oluşturuldu.", - "help_commands_instr": "Belirli bir komut hakkinda yardim icin, {0}h \"Komut Adı\" bu şekilde kullanınız. (Örneğin: {0}h >8ball).", - "help_command_not_found": "Bu komutu bulamıyorum. Lütfen tekrar denemeden önce komutun var olduğunu doğrulayın.", - "help_desc": "Tanıtım", - "help_donate": "NadekoBot projesini destekleyebilirsiniz \n Patreon <{0}> yada\n Paypal <{1}>\n Mesajda discord adınızı veya kimliğini bırakmayı unutma.\n \n**Teşekkür ederim** ♥️", - "help_guide": "**Komutların listesi**: <{0}>\n**Rehber ve dokümanlar barındırma sayfasında bulunabilir**: <{1}>", - "help_list_of_commands": "Komutların listesi", - "help_list_of_modules": "Modüllerin listesi", - "help_modules_footer": "Modül komutlarının bir listesini görmek için \"{0}cmds Modül İsmi\" (Örneğin: {0}cmds Administration) şeklinde kullanmalısınız.", - "help_module_not_found": "Bu modül mevcut değil.", - "help_server_permission": "{0} sunucu izni gerektirir.", - "help_table_of_contents": "İçindekiler", - "help_usage": "Kullanım", - "nsfw_autohentai_started": "Otomatik hentai başladı. Her {0} saniyede bir aşağıdaki etiketlerden biriyle yeniden yayınlanıyor:\n{1}", - "nsfw_tag": "Etiket", - "gambling_animal_race": "Hayvan yarışı", - "gambling_animal_race_failed": "Yeterli katılımcı olmadığından başlatılamadı.", - "gambling_animal_race_full": "Yarış doldu! Derhal başlıyoruz.", - "gambling_animal_race_join": "{0} bir {1} olarak katıldı", - "gambling_animal_race_join_bet": "{0} bir {1} olarak ve {2} bahisleriyle katıldı!", - "gambling_animal_race_join_instr": "Yarışa katılmak için {0}jr yazın.", - "gambling_animal_race_starting": "20 saniye içinde veya oda dolu olduğunda başlayarak.", - "gambling_animal_race_starting_with_x": "{0} katılımcı ile başlıyor.", - "gambling_animal_race_won": "{0} {1}. olarak yarışı kazandı!", - "gambling_animal_race_won_money": "{0} {1}. olarak yarışı kazandı ve {2} aldı!", - "gambling_dice_invalid_number": "Geçersiz numara belirtildi. Bir kerede {0} - {1} zar atabilirsiniz.", - "gambling_dice_rolled": "{0} çevirdi", - "gambling_dice_rolled_num": "Zar atıldı: {0}", - "gambling_race_failed_starting": "Yarış başlatılamadı. Muhtemelen başka bir yarış çalışıyor.", - "gambling_race_not_exist": "Bu sunucuda yarış yok", - "gambling_second_larger_than_first": "İkinci numara birinciden büyük olmalıdır.", - "gambling_changes_of_heart": "Aşkı değişti", - "gambling_claimed_by": "tarafından talip talep etti.", - "gambling_divorces": "Boşandı", - "gambling_likes": "Beğendi", - "gambling_price": "Fiyat", - "gambling_waifus_none": "Henüz hiçbir talep de bulunulmadı.", - "gambling_waifus_top_waifus": "En İyi Talipler", - "gambling_waifu_affinity_already": "Çekiminiz zaten o talip ayarlıyken veya çekim yapmadığınız halde çekimliliğinizi kaldırmaya çalışıyorsunuz.", - "gambling_waifu_affinity_changed": "Bağlılıkları {0}'dan {1}'e değiştirildi.\n\n*Bu ahlaki açıdan sorgulanabilir.*🤔", - "gambling_waifu_affinity_cooldown": "Benzeşimini tekrar değiştirmek için {0} saat ve {1} dakika beklemelisiniz.", - "gambling_waifu_affinity_reset": "Benzeşim sıfırlandı. Artık sevdiğin bir insana sahip değilsin.", - "gambling_waifu_affinity_set": "{0} 'ın talip olmasını istiyor. Aww <3 ", - "gambling_waifu_claimed": "{1} için kendi talibi olarak {0} iddiasında bulundu!", - "gambling_waifu_divorced_like": "Seni seven bir talipden boşandın. Seni kalpsiz canavar.\n{0} tazminat olarak {1} aldı.", - "gambling_waifu_egomaniac": "Kendinize yakınlık kuramazsınız, sizi egomanyak.", - "gambling_waifu_fulfilled": "🎉 Aşkları yerine getirildi! 🎉\n{0}'un yeni durumu {1}!", - "gambling_waifu_isnt_cheap": "Hiçbir talip bu kadar ucuz değil. Gerçek değeriniz düşük olsa dahi, en azından {0} ödemek zorundasınız.", - "gambling_waifu_not_enough": "Talip talebinde bulunmak için {0} veya daha fazla ödeme yapmalısınız!", - "gambling_waifu_not_yours": "Bu talip senin değil.", - "gambling_waifu_not_yourself": "Kendinize talip edemezsiniz.", - "gambling_waifu_recent_divorce": "Son zamanlarda boşandın. Boşanmak için {0} saat ve {1} dakika beklemelisiniz.", - "gambling_nobody": "Kimse", - "gambling_waifu_divorced_notlike": "Senden hoşlanmayan bir talib den boşandın. {0} geri aldınız.", - "games_8ball": "8Top", - "games_acrophobia": "Akrofobi", - "games_acro_ended_no_sub": "Oyun hiç sonuç vermeden sona erdi.", - "games_acro_no_votes_cast": "Oy yok. Oyun kazanan olmadan sona erdi.", - "games_acro_nym_was": "Kısaltma {0} idi.", - "games_acro_running": "Akrofobi oyunu zaten bu kanalda çalışıyor.", - "games_acro_started": "Oyun başladı. Aşağıdaki kısaltma ile bir cümle oluşturun: {0}.", - "games_acro_started_footer": "Gönderi yapmak için {0} saniye kaldı.", - "games_acro_submit": "{0} cezalarını gönderdiler. ({1} toplam)", - "games_acro_vote": "Gönderi sayısını yazarak oy verin", - "games_acro_vote_cast": "{0} oy kullandı!", - "games_acro_winner": "Kazanan {0}, {1} puanla.", - "games_acro_winner_only": "{0} kazanan!, gönderim yapan tek kullanıcı olmakla birlikte.", - "games_question": "Soru", - "games_rps_draw": "Beraberlik! Her ikisi de {0}", - "games_rps_win": "{0} kazandı! {1} atıyor {2}", - "games_submissions_closed": "Gönderilenler kapalı", - "gambling_animal_race_already_started": "Hayvan yarışı zaten çalışıyor.", - "gambling_total_average": "Toplam: {0} Ortalama: {1}", - "games_category": "Kategori", - "games_cleverbot_disabled": "Bu sunucudaki cleverbot devre dışı bırakıldı.", - "games_cleverbot_enabled": "Bu sunucudaki cleverbot etkinleştirildi.", - "games_curgen_disabled": "Bu kanalda para birimi oluşturma devre dışı.", - "games_curgen_enabled": "Para birimi oluşturma, bu kanalda etkinleştirildi.", - "games_curgen_pl": "{0} rastgele {1} ortaya çıktı!", - "games_curgen_sn": "Rastgele bir {0} ortaya çıktı!", - "games_failed_loading_question": "Bir soru yüklenemedi.", - "games_game_started": "Oyun başladı", - "games_hangman_game_started": "Adam asmaca oyunu başladı", - "games_hangman_running": "Adam asmaca oyunu zaten bu kanalda çalışıyor.", - "games_hangman_start_errored": "Adam asmaca başlatılırken hata verdi.", - "games_hangman_types": "\"{0}hangman\" terim türlerinin listesi:", - "games_leaderboard": "Lider listesi", - "games_not_enough": "Yeterli düzeyde {0} yok", - "games_no_results": "Sonuç yok", - "games_picked": "{0} adet topladı", - "games_planted": "{0},{1} dikti.", - "games_trivia_already_running": "Oyuncak oyunu zaten bu sunucuda çalışıyor.", - "games_trivia_game": "Oyuncak oyunu", - "games_trivia_guess": "{0} tahmin etti! Cevap şuydu: {1}", - "games_trivia_none": "Bu sunucuda hiçbir oyuncak çalışmıyor.", - "games_trivia_points": "{0}'da {1} puan var", - "games_trivia_stopping": "Bu sorunun ardından bitiriyorum.", - "games_trivia_times_up": "Süre doldu! Doğru cevap {0} idi", - "games_trivia_win": "{0} tahmin etti ve oyunu kazandı! Cevap şuydu: {1}", - "games_ttt_against_yourself": "Kendinize karşı oynayamazsınız.", - "games_ttt_already_running": "TicTacToe Oyunu zaten bu kanalda çalışıyor.", - "games_ttt_a_draw": "Bir çizim!", - "games_ttt_created": "TicTacToe bir oyun oluşturdu.", - "games_ttt_has_won": "{0} kazandı!", - "games_ttt_matched_three": "Eşleşen üç", - "games_ttt_no_moves": "Hareket yok!", - "games_ttt_time_expired": "Zaman doldu!", - "games_ttt_users_move": "{0}'un hareketi", - "games_vs": "{0} ile {1} karşılaşıyor", - "music_attempting_to_queue": "Sıraya {0} şarkı ekleniyor...", - "music_autoplay_disabled": "Otomatik Oynatıcı devre dışı.", - "music_autoplay_enabled": "Otomatik Oynatıcı etkin.", - "music_defvol_set": "Varsayılan müzik sesi {0}%", - "music_dir_queue_complete": "Dizin kuyruğu tamamlandı.", - "music_fairplay": "adil oynatıcı", - "music_finished_song": "Şarkı bitti", - "music_fp_disabled": "Adil oynatıcı devre dışı.", - "music_fp_enabled": "Adil oynatıcı etkin.", - "music_from_position": "Konumdan", - "music_id": "Kimlik", - "music_invalid_input": "Geçersiz giriş.", - "music_max_playtime_none": "Şu anda maksimum oynatıcı zaman limiti yok.", - "music_max_playtime_set": "Maksimum oynatıcı zaman limiti {0} saniye(ler) olarak ayarlandı.", - "music_max_queue_unlimited": "Maksimum müzik sıra limiti, limitsiz olarak ayarlandı.", - "music_max_queue_x": "Maksimum şarkı sıra limiti {0} şarkı(lar) olarak ayarlandı.", - "music_must_be_in_voice": "Bu sunucunun bir ses kanalına ihtiyacın var.", - "music_name": "İsim", - "music_now_playing": "Şu anda yürütülüyor", - "music_no_player": "Şu anda aktif bir müzik oynatıcısı yok.", - "music_no_search_results": "Aranılan sonuç bulunamadı.", - "music_paused": "Müzik oynatıcısı duraklatıldı.", - "music_player_queue": "Oynatıcı Sıra Listesi - Sayfa {0}/{1}", - "music_playing_song": "Şarkı oynatılıyor", - "music_playlists": "`#{0}` - **{1}** *{2}* tarafından ({3} müzik)", - "music_playlists_page": "Kayıtlı çalma listelerinin {0}. sayfası.", - "music_playlist_deleted": "Çalma listesi silindi.", - "music_playlist_delete_fail": "Bu çalma listesini silmek başarısız oldu.Ya mevcut değil yada oluşturan siz değilsiniz.", - "music_playlist_id_not_found": "Bu id'ye sahip oynatma listesi mevcut değil.", - "music_playlist_queue_complete": "Oynatma listesi tamamlandı.", - "music_playlist_saved": "Oynatma listesi kayıt edildi.", - "music_play_limit": "Limit {0}", - "music_queue": "Sıra", - "music_queued_song": "Şarkı sıraya eklendi.", - "music_queue_cleared": "Müzik sırası temizlendi.", - "music_queue_full": "Sıra {0}/{0} dolu.", - "music_removed_song": "Şu numaradaki şarkı kaldırıldı.", - "music_repeating_cur_song": "Geçerli şarkı tekrarlanıyor", - "music_repeating_playlist": "Oynatma listesi tekrarlanıyor", - "music_repeating_track": "Müzik parçası tekrarlanıyor", - "music_repeating_track_stopped": "Geçerli müzik parçası tekrarı durduruldu.", - "music_resumed": "Müzik oynatıcısı yürütülüyor.", - "music_rpl_disabled": "Çalma listesi tekrarı devre dışı", - "music_rpl_enabled": "Çalma listesi tekrarı etkin.", - "music_set_music_channel": "Şimdi bu kanaldaki şarkıların çalınması, bitmesi, duraklatılması ve çıkarılmasını yapacağım.", - "music_skipped_to": "`{0}:{1}` atlandı", - "music_songs_shuffled": "Şarkılar karıştırıldı", - "music_song_moved": "Şarkı taşındı", - "music_time_format": "{0} saat {1} dakika {2} saniye", - "music_to_position": "Konumlandır", - "music_unlimited": "limitsiz", - "music_volume_input_invalid": "Ses düzeyi 0 ile 100 arasında olmalıdır.", - "music_volume_set": "Ses düzeyi {0}% olarak ayarlandı.", - "permissions_acm_disable": "{0} kanalı için TÜM MODÜLLERİN kullanımı devre dışı bırakıldı.", - "permissions_acm_enable": "{0} kanalı için TÜM MODÜLLERİN kullanımı etkinleştirdi.", - "permissions_allowed": "İzin verildi", - "permissions_arm_disable": "{0} rolü için TÜM MODÜLLERİN kullanımı devre dışı bırakıldı.", - "permissions_arm_enable": "{0} rolü için TÜM MODÜLLERİN kullanımı etkinleştirdi.", - "permissions_asm_disable": "Bu sunucudaki TÜM MODÜLLERİN kullanımı devre dışı bırakıldı.", - "permissions_asm_enable": "Bu sunucudaki TÜM MODÜLLERİN kullanımı etkinleştirdi.", - "permissions_aum_disable": "{0} kullanıcısı için TÜM MODÜLLERİN kullanımı devre dışı bırakıldı.", - "permissions_aum_enable": "{0} kullanıcısı için TÜM MODÜLLERİN kullanımı etkinleştirdi.", - "permissions_blacklisted": "{0} adlı ve {1} id'li kullanıcı karalisteye alındı.", - "permissions_cmdcd_add": "Komut {0} şimdi {1}'lik bir bekleme süresine sahip.", - "permissions_cmdcd_cleared": "{0} komutunun şimdi bir bekleme süresi yok ve mevcut tüm bekleme süreleri temizlendi.", - "permissions_cmdcd_none": "Komut çağırma süresi yok.", - "permissions_command_costs": "Komut maliyetleri", - "permissions_cx_disable": "{2} kanalında {0} {1} kullanımı devre dışı bırakıldı.", - "permissions_cx_enable": "{2} kanalında {0} {1} kullanımı etkinleştirildi.", - "permissions_denied": "Reddedildi", - "permissions_filter_word_add": "Filtrelenmiş kelimeler listesine {0} kelimesi eklendi.", - "permissions_filter_word_list": "Filtrelenmiş sözler listesi", - "permissions_filter_word_remove": "Filtrelenmiş kelimeler listesinden {0} kelimesi kaldırıldı.", - "permissions_invalid_second_param_between": "Geçersiz ikinci parametre. ({0} ile {1} arasındaki bir sayı olmalı)", - "permissions_invite_filter_channel_off": "Davet filtreleme bu kanal üzerinde devre dışı.", - "permissions_invite_filter_channel_on": "Davet filtreleme bu kanal üzerinde etkin.", - "permissions_invite_filter_server_off": "Davet filtreleme bu sunucu üzerinde devre dışı.", - "permissions_invite_filter_server_on": "Davet filtreleme bu sunucu üzerinde etkin.", - "permissions_moved_permission": "{0}, #{1}'den #{2}'ye taşındı", - "permissions_not_found": "{0} dizininde izin bulamıyor.", - "permissions_no_costs": "Maliyet ayarlanmadı.", - "permissions_of_command": "komut", - "permissions_of_module": "modül", - "permissions_page": "İzinler sayfası {0}", - "permissions_permrole": "Geçerli izin rolü {0}.", - "permissions_permrole_changed": "Kullanıcılar artık izinleri düzenlemek için {0} rolü talep ediyor.", - "permissions_perm_out_of_range": "Bu dizinde izin bulunamadı.", - "permissions_removed": "Izin kaldırıldı #{0} - {1}", - "permissions_rx_disable": "{2} rolü için {0} {1} kullanımını devre dışı bırakıldı.", - "permissions_rx_enable": "{2} rolü için {0} {1} kullanımını etkinleştirildi.", - "permissions_sec": "sn.", - "permissions_sx_disable": "Bu sunucuda {0} {1} kullanımını devre dışı bırakıldı.", - "permissions_sx_enable": "Bu sunucuda {0} {1} kullanımı etkinleştirildi.", - "permissions_unblacklisted": "{0} Kimliği {1} ile kara listeden kaldırıldı", - "permissions_uneditable": "düzenlenemez", - "permissions_ux_disable": "{2} kullanıcısı için {0} {1} kullanımı devre dışı bırakıldı.", - "permissions_ux_enable": "{2} kullanıcısı için {0} {1} kullanımı etkinleştirildi.", - "permissions_verbose_false": "Artık izin uyarıları göstermeyeceğim.", - "permissions_verbose_true": "Şimdi izin uyarılarını göstereceğim.", - "permissions_word_filter_channel_off": "Bu kanalda kelime filtreleme devre dışı.", - "permissions_word_filter_channel_on": "Bu kanalda kelime filtreleme etkin.", - "permissions_word_filter_server_off": "Bu sunucuda kelime filtreleme özelliği devre dışı.", - "permissions_word_filter_server_on": "Bu sunucuda kelime filtreleme özelliği etkin.", - "searches_abilities": "Yetenekler", - "searches_anime_no_fav": "Henüz favori anime yok", - "searches_atl_ad_started": "Bu kanaldaki mesajların otomatik çevirisi başlatıldı. Kullanıcı mesajları otomatik olarak silinecek.", - "searches_atl_removed": "Otomatik-çeviri diliniz kaldırıldı.", - "searches_atl_set": "Otomatik çevir diliniz {0}>{1} olarak ayarlandı.", - "searches_atl_started": "Bu kanaldaki mesajların otomatik çevirisi başlatıldı.", - "searches_atl_stopped": "Bu kanaldaki mesajların otomatik çevirisini durduruldu.", - "searches_bad_input_format": "Bozuk giriş biçimi veya bir şeyler ters gitti.", - "searches_card_not_found": "Kartı bulamadım.", - "searches_catfact": "gerçek", - "searches_chapters": "Bölümler", - "searches_comic_number": "Komik #", - "searches_compet_loses": "Rekabetçi kayıpları", - "searches_compet_played": "Rekabetçi oynadı", - "searches_compet_rank": "Rekabetçi sıralaması", - "searches_compet_wins": "Rekabetçi Kazançları", - "searches_completed": "Tamamlandı", - "searches_condition": "Şart", - "searches_cost": "Maliyet", - "searches_date": "Tarih", - "searches_define": "Tanımla:", - "searches_dropped": "Bırakıldı", - "searches_episodes": "Bölümler", - "searches_error_occured": "Hata oluştu.", - "searches_example": "Örnek", - "searches_failed_finding_anime": "Animu bulunamadı.", - "searches_failed_finding_manga": "Mango bulunamadı.", - "searches_genres": "Türler", - "searches_hashtag_error": "Bu etiket için bir tanım bulunamadı.", - "searches_height_weight": "Boy/Kilo", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "Nem", - "searches_image_search_for": "Resim araması:", - "searches_imdb_fail": "Bu filmi bulamadım.", - "searches_invalid_lang": "Geçersiz kaynak veya hedef dili.", - "searches_jokes_not_loaded": "Şakalar yüklenmedi.", - "searches_latlong": "Enlem/Boylam", - "searches_level": "Seviye", - "searches_list_of_place_tags": "{0}place etiketlerinin listesi", - "searches_location": "Lokasyon", - "searches_magicitems_not_loaded": "Büyülü eşyalar yüklenmedi.", - "searches_mal_profile": "{0} adlı kişinin MAL profili", - "searches_mashape_api_missing": "Bot sahibi MashapeApiKey belirtmedi. Bu işlevi kullanamazsınız.", - "searches_min_max": "Min/Maks", - "searches_no_channel_found": "Kanal bulunamadı.", - "searches_no_results": "Sonuç bulunamadı.", - "searches_on_hold": "Beklemede", - "searches_original_url": "Orjinal url", - "searches_osu_api_key": "Bir osu! API anahtarı gerekiyor.", - "searches_osu_failed": "Başarısız osu! imza.", - "searches_over_x": "{0} resimler üzerinde bulundu. Rastgele {0} gösteriliyor.", - "searches_ow_user_not_found": "Kullanıcı bulunamadı! Lütfen tekrar denemeden önce Bölge ve Savaşçı etiketini kontrol edin.", - "searches_plan_to_watch": "İzlemeyi planla", - "searches_platform": "Platform", - "searches_pokemon_ability_none": "Hiçbir yetenek bulunamadı.", - "searches_pokemon_none": "Pokemon bulunamadı.", - "searches_profile_link": "Profil adresi:", - "searches_quality": "Kalite:", - "searches_quick_playtime": "Normal maç oynama süresi", - "searches_quick_wins": "Normal maç kazanma", - "searches_rating": "Değerlendirme", - "searches_score": "Skor:", - "searches_search_for": "Arama:", - "searches_shorten_fail": "URL kısaltılamadı..", - "searches_short_url": "Kısa URL", - "searches_something_went_wrong": "Bir şeyler yanlış gitti.", - "searches_specify_search_params": "Lütfen arama parametrelerini belirtin.", - "searches_status": "Durum", - "searches_store_url": "Mağaza url", - "searches_streamer_offline": "Yayıncı {0} çevrimdışı.", - "searches_streamer_online": "Yayıncı {0}, {1} izleyici ile çevrimiçi.", - "searches_streams_following": "Bu sunucudaki {0} yayıncısını takip ediyorsunuz.", - "searches_streams_none": "Bu sunucuda herhangi bir yayıncıyı takip etmiyorsunuz.", - "searches_stream_no": "Böyle bir yayın yok.", - "searches_stream_not_exist": "Yayın muhtemelen mevcut değil.", - "searches_stream_removed": "{0} yayıncısının ({1}) bildirimlerden kaldırdı.", - "searches_stream_tracked": "Durum değiştiğinde bu kanalı bilgilendireceğim.", - "searches_sunrise": "Gün doğumu", - "searches_sunset": "Gün batımı", - "searches_temperature": "Sıcaklık", - "searches_title": "Başlık:", - "searches_top_3_fav_anime": "En çok sevilen 3 anime:", - "searches_translation": "Çeviri:", - "searches_types": "Tipler", - "searches_ud_error": "Bu terim için tanım bulma başarısız.", - "searches_url": "Url", - "searches_viewers": "İzleyici", - "searches_watching": "Seyret", - "searches_wikia_error": "Belirtilen wikia da terimi bulamadım.", - "searches_wikia_input_error": "Lütfen bir hedef wikia girip ardından arama sorgusu yapın.", - "searches_wiki_page_not_found": "Sayfa bulunamadı.", - "searches_wind_speed": "Rüzgar hızı", - "searches_x_most_banned_champs": "En çok yasaklanan {0} şampiyon", - "searches_yodify_error": "Cümleyi yozlaştırma başarısız oldu.", - "utiliity_joined": "Katıldı", - "utility_activity_line": "`{0}.` {1} [her saniye/{2:F2}] - toplam {3}", - "utility_activity_page": "Aktivite sayfası #{0}", - "utility_activity_users_total": "{0} toplam kullanıcı.", - "utility_author": "Yapımcı", - "utility_botid": "Bot Kimliği", - "utility_calcops": "{0}calc komutundaki fonksiyonların listesi", - "utility_channelid": "Bu kanalın {0} değeri {1}", - "utility_channel_topic": "Kanal konusu", - "utility_commands_ran": "Yürütülen komut", - "utility_convert": "{0} {1}, {2} {3} e eşit.", - "utility_convertlist": "Dönüştürücü tarafından kullanılabilen üniteler", - "utility_convert_not_found": "{0} 'ı {1}' e dönüştüremem: birimleri bulunamadım", - "utility_convert_type_error": "{0} 'ı {1}' e dönüştüremiyorum: birim türleri eşit değil.", - "utility_created_at": "Tarihinde oluşturuldu", - "utility_csc_join": "Çapraz sunucu kanalına katıldı.", - "utility_csc_leave": "Çapraz sunucu kanalından ayrıldı.", - "utility_csc_token": "Bu,senin CSC anahtarın", - "utility_custom_emojis": "Özel emojiler", - "utility_error": "Hata", - "utility_features": "Özellikler", - "utility_id": "Kimlik", - "utility_index_out_of_range": "Dizin aralık dışında.", - "utility_inrole_list": "{0} rolüne sahip kullanıcı listesi", - "utility_inrole_not_allowed": "Kötüye kullanımını önlemek için bu komutlar, çok sayıda kullanıcısı olan rollerde kullanmanıza izin verilmez.", - "utility_invalid_value": "Geçersiz {0} değer.", - "utility_joined_discord": "Discord'a katıldı", - "utility_joined_server": "Sunucuya katıldı", - "utility_listservers": "Kimlik: {0}\nÜyeler: {1}\nKurucu Kimliği: {2}", - "utility_listservers_none": "Bu sayfada hiçbir sunucu bulunamadı.", - "utility_list_of_repeaters": "Tekrarlayıcı Listesi", - "utility_members": "Üyeler", - "utility_memory": "Bellek", - "utility_messages": "Mesajlar", - "utility_message_repeater": "Mesaj tekrarlayıcısı", - "utility_name": "İsim", - "utility_nickname": "Takma ad", - "utility_nobody_playing_game": "Kimse o oyunu oynamıyor.", - "utility_no_active_repeaters": "Etkin tekrarlayıcı yok.", - "utility_no_roles_on_page": "Bu sayfada rol yok.", - "utility_no_shards_on_page": "Bu sayfada kırık yok.", - "utility_no_topic_set": "Konu ayarlanmadı.", - "utility_owner": "Sahip", - "utility_owner_ids": "Sahip kimlikleri", - "utility_presence": "Durum", - "utility_presence_txt": "{0} Sunucu\n{1} Metin kanalı\n{2} Ses kanalı", - "utility_quotes_deleted": "Tüm teklifleri {0} anahtar kelime ile silindi.", - "utility_quotes_page": "Alıntılar Sayfa {0}", - "utility_quotes_page_none": "Bu sayfada alıntı yok.", - "utility_quotes_remove_none": "Kaldırabileceğiniz alıntı bulunamadı.", - "utility_quote_added": "Alıntı Eklendi", - "utility_quote_deleted": "{0} numaralı alıntı silindi.", - "utility_region": "Bölge", - "utility_registered_on": "Tarihinden beri kayıtlı", - "utility_remind": "({4:HH:mm} de {3:d.M.yyyy.}) {0}'ı {2}`de {1}'e hatırlatacağım", - "utility_remind_invalid_format": "Geçerli zaman biçimi değil. Komut listesine bakın.", - "utility_remind_template": "Yeni hatırlatma şablonu ayarlandı.", - "utility_repeater": "{0} her {1} gün(de) {2} saat(te) {3} dakika(da) bir tekrarlanıyor.", - "utility_repeaters_list": "Tekrarlayıcıların listesi", - "utility_repeaters_none": "Bu sunucuda çalışan tekrarlayıcı yok.", - "utility_repeater_stopped": "#{0} durduruldu.", - "utility_repeat_invoke_none": "Bu sunucuda tekrarlanan mesaj bulunamadı.", - "utility_result": "Sonuç", - "utility_roles": "Roller", - "utility_roles_all_page": "Bu sunucudaki tüm rollerin sayfası #{0}:", - "utility_roles_page": "Page #{0} of roles for {1}", - "utility_rrc_no_colors": "Renk doğru biçimde değil. Mesela `#00ff00` şekilde kullanın.", - "utility_rrc_start": "{0} rolü için renkler döndürmeye başlandı.", - "utility_rrc_stop": "{0} rolü için renkleri döndürme durduruldu", - "utility_serverid": "Bu sunucunun {0} {1}", - "utility_server_info": "Sunucu bilgisi", - "utility_shard": "Shard", - "utility_shard_stats": "Shard istatistikleri", - "utility_shard_stats_txt": "Shard **#{0}** {2} sunucularıyla {1} durumundadır", - "utility_showemojis": "**İsim:** {0} **Adres:** {1}", - "utility_showemojis_none": "Özel emoji bulunamadı.", - "utility_stats_songs": "Şu anda {0} müzik yürütülüyor, {1} sırada.", - "utility_text_channels": "Metin odası", - "utility_togtub_room_link": "İşte odanızın bağlantısı:", - "utility_uptime": "Çalışma süresi", - "utility_userid": "{1} kullanıcısının {0} numarası {2}", - "utility_users": "Kullanıcı", - "utility_voice_channels": "Ses kanalı", - "gambling_animal_race_already_in": "Zaten bu yarışa katıldınız!", - "games_current_poll_results": "Geçerli anket sonuçları", - "games_no_votes_cast": "Oy yok.", - "games_poll_already_running": "Anket, bu sunucuda zaten çalışıyor.", - "games_poll_created": "📃 {0} dikkatinizi gerektiren bir anket hazırladı:", - "games_poll_result": "`{0}.'{1} ile {2} oy aldı.", - "games_poll_voted": "{0} oyladı.", - "games_poll_vote_private": "Özel cevap numarasına karşılık bana mesaj atın.", - "games_poll_vote_public": "Yanıtın ilgili numarasını içeren bir Mesaj gönderin.", - "games_thanks_for_voting": "Oylama için teşekkür ederiz, {0}", - "games_x_votes_cast": "{0} toplam oynanan oy.", - "games_pick_pl": "`{0}pick` yazarak onları topla", - "games_pick_sn": "`{0}pick` yazarak topla", - "gambling_no_users_found": "Kullanıcı bulunamadı.", - "gambling_page": "sayfa {0}", - "administration_must_be_in_voice": "Bu sunucudaki bir ses kanalda olmalısınız.", - "administration_no_vcroles": "Sesli kanal rolü yok.", - "administration_user_muted_time": "{0} metin ve sesli sohbetten {1} dakika **sessiz** hale getirildi.", - "administration_vcrole_added": "{0} sesli kanalına katılan kullanıcılar {1} rolünü alacaktır.", - "administration_vcrole_removed": "{0} sesli kanalına katılan kullanıcılar artık bir rol almaz.", - "administration_vc_role_list": "Sesli kanal rolleri", - "customreactions_crad_disabled": "{0} kimliğiyle özel reaksiyonu tetikleyen mesaj otomatik olarak silinmeyecek.", - "customreactions_crad_enabled": "{0} kimliğiyle özel reaksiyonu tetikleyen mesaj otomatik olarak silinecek.", - "customreactions_crdm_disabled": "{0} kimliğine sahip özel reaksiyon için verilen yanıt mesajı DM olarak gönderilmeyecek.", - "customreactions_crdm_enabled": "{0} kimliğine sahip özel reaksiyon için verilen yanıt mesajı bir DM olarak gönderilecek.", - "utility_aliases_none": "Takma ad bulunamadı", - "utility_alias_added": "Yazma {0} şimdi {1} 'in bir takma adı olacak.", - "utility_alias_list": "Takma ad listesi", - "utility_alias_removed": "Tetikleyici {0} artık bir takma ada sahip değil.", - "utility_alias_remove_fail": "Tetikleyici {0} 'nin takma adı yoktu.", - "searches_compet_playtime": "Rekabetçi oyun süresi", - "administration_channel": "Kanal", - "administration_command_text": "Kanal Mesajı", - "administration_kicked_pl": "Atıldı", - "administration_moderator": "Moderatör", - "administration_page": "sayfa {0}", - "administration_reason": "Sebep", - "administration_scadd": "Yeni başlangıç komutu eklendi.", - "administration_scrm": "Başlangıç komutu başarıyla kaldırıldı.", - "administration_scrm_fail": "Başlangıç komutu bulunamadı.", - "administration_server": "Sunucu", - "administration_startcmdlist_none": "Bu sayfada başlangıç komutları bulunmuyor.", - "administration_startcmds_cleared": "Tüm başlangıç komutları temizlendi.", - "administration_unbanned_user": "{0} kullanıcısının yasağı kaldırıldı.", - "administration_user_not_found": "Kullanıcı bulunamadı.", - "administration_user_warned": "{0} kullanıcısı uyarıldı.", - "administration_user_warned_and_punished": "{0} kullanıcısı uyarıldı ve {1} cezası uygulandı.", - "administration_warned_on": "{0} sunucusunda uyarıldı.", - "administration_warned_on_by": "{0} - {1} tarihinde {2} tarafından", - "administration_warnings_cleared": "{0} için tüm uyarılar silindi.", - "administration_warnings_none": "Bu sayfada uyarı bulunamadı.", - "administration_warnlog_for": "{0} için Uyarı Kayıtları", - "administration_warnpl_none": "Hiç ceza belirlenmedi.", - "administration_warn_cleared_by": "{0} tarafından temizlendi.", - "administration_warn_punish_list": "Uyarı ceza listesi", - "administration_warn_punish_rem": "{0} uyarılarına sahip olmak artık cezayı tetiklemeyecektir.", - "administration_warn_punish_set": "{1} uyarılarıyla {0} cezasını kullanıcılara uygulayacağım.", - "administration_slowmodewl_role_start": "Yavaş mod, artık {0} rolünü görmezden gelecektir.", - "administration_slowmodewl_role_stop": "Yavaş mod, artık {0} rolünü görmezden gelmeyecek.", - "administration_slowmodewl_user_start": "Yavaş mod, artık {0} kullanıcısını yoksayacak.", - "administration_slowmodewl_user_stop": "Yavaş mod, {0} kullanıcısını artık görmezden gelmeyecek.", - "utility_clpa_fail": "Aşağıdaki nedenlerden biriyle ödül talebinde bulunamadı:", - "utility_clpa_fail_already": "Belki de bu ay için ödülünüzü zaten almışsınızdır. Bağış miktarınızı artırmadıkça, yalnızca ayda bir kez ödül alabilirsiniz.", - "utility_clpa_fail_already_title": "Zaten ödüllendirildi", - "utility_clpa_fail_conn": "Discord hesabınız Patreon'a bağlı olmayabilir. Bunun ne anlama geldiğinden emin değilseniz veya nasıl bağlanacağınızı bilmiyorsanız - [Patreon hesap ayarları sayfasına] (https://patreon.com/settings/account) adresine gidin ve 'Bağlantı' butonuna tıklayın.", - "utility_clpa_fail_conn_title": "Discord hesabı bağlı değil", - "utility_clpa_fail_sup": "Ödül için uygun olabilmeniz için, projeyi patreon'da bağış yapmanız gerek. Bağlantıyı almak için {0} komutunu kullanabilirsiniz.", - "utility_clpa_fail_sup_title": "Desteklemiyor", - "utility_clpa_fail_wait": "Bağış yaptıktan sonra birkaç saat beklemek zorundasınız, yapmadıysanız, daha sonra tekrar deneyin.", - "utility_clpa_fail_wait_title": "Biraz bekleyin", - "utility_clpa_success": "{0} Projeyi desteklediğiniz için teşekkürlerimizi aldınız!", - "utility_clpa_too_early": "Ödüller, her ayın 5'inde veya sonrasında talep edilebilir.", - "searches_time": "{0} 'daki zaman {1} - {2}", - "administration_rh": "Lonca rolü {0} görüntüsünü {1} ayarlayın", - "gambling_name": "İsim", - "gambling_shop": "Market", - "gambling_shop_item_add": "Markete eşya eklendi", - "gambling_shop_none": "Bu sayfada market eşyası bulunamadı", - "gambling_shop_role": "{0} rol alacaksınız.", - "gambling_type": "Tip", - "utility_clpa_next_update": "{0} 'da sonraki güncelleme", - "administration_global_perms_reset": "Genel izinler sıfırlandı.", - "administration_gvc_disabled": "Oyun Ses Kanalı özelliği bu sunucuda devre dışı bırakıldı.", - "administration_gvc_enabled": "{0} şimdi bir Oyun Sesli Kanal.", - "administration_not_in_voice": "Bu sunucuda sesli kanalda değilsiniz.", - "gambling_item": "eşya", - "gambling_out_of_stock": "Stoklar tükendi", - "gambling_random_unique_item": "Rastgele eşsiz öğe.", - "gambling_shop_buy_error": "Direkt Mesajlaşma öğesinde hata. Satın aldığınız eşyanın para iadesi yapıldı.", - "gambling_shop_item_not_found": "Bu dizinde hiçbir öğe bulunamadı.", - "gambling_shop_item_purchase": "Eşya satın alımı başarılı.", - "gambling_shop_item_rm": "Market eşyası kaldırıldı", - "gambling_shop_item_wrong_type": "Dükkan girişi öğe eklemeyi desteklemez.", - "gambling_shop_list_item_added": "Eşya başarıyla eklendi.", - "gambling_shop_list_item_not_unique": "Bu eşya zaten ekli", - "gambling_shop_purchase": "{0} sunucusunda satın alma", - "gambling_shop_role_not_found": "Satılan rol artık yok.", - "gambling_shop_role_purchase": "{0} rolünü başarıyla satın aldınız.", - "gambling_shop_role_purchase_error": "Rol atama hatası. Satın aldığınız eşyanın para iadesi yapıldı.", - "gambling_unique_items_left": "{0} eşsiz öğe kaldı.", - "permissions_blocked_commands": "Engellenen Komutlar", - "permissions_blocked_modules": "Engellenen Modüller", - "permissions_gcmd_add": "{0} komutu tüm sunucularda devre dışı bırakıldı.", - "permissions_gcmd_remove": "{0} komutu tüm sunucularda etkinleştirildi.", - "permissions_gmod_add": "{0} modülü tüm sunucularda devre dışı bırakıldı.", - "permissions_gmod_remove": "{0} modülü tüm sunucularda etkinleştirildi. ", - "permissions_lgp_none": "Bloke edilmiş komut veya modül yok." -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.zh-CN.json b/src/NadekoBot/_strings/ResponseStrings.zh-CN.json deleted file mode 100644 index 89c34daf..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.zh-CN.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "此基地已被认领或毁坏。", - "clashofclans_base_already_destroyed": "此基地已被毁坏\n", - "clashofclans_base_already_unclaimed": "此基地还未被认领", - "clashofclans_base_destroyed": "在与{1} 对战时**毁坏**基地 #{0}", - "clashofclans_base_unclaimed": "{0} 在与 {2} 对战时 **取消认领** 基地 #{1}", - "clashofclans_claimed_base": "{0} 在与 {2} 对战时 **认领** 基地 #{1}", - "clashofclans_claimed_other": "@{0} 您已认领基地 #{1}。您不能认领一个新的。", - "clashofclans_claim_expired": "@{0} 在与 {1} 对战后认领的基地已过期。", - "clashofclans_enemy": "敌人", - "clashofclans_info_about_war": "与{0} 对战的信息", - "clashofclans_invalid_base_number": "此基地号码无效。", - "clashofclans_invalid_size": "此战争大小无效", - "clashofclans_list_active_wars": "现进行的战争列表", - "clashofclans_not_claimed": "未被认领", - "clashofclans_not_partic": "您并未参与此战争。", - "clashofclans_not_partic_or_destroyed": "@{0} 您并未参与此战争或此基地已被毁坏。", - "clashofclans_no_active_wars": "现无战争进行。", - "clashofclans_size": "大小", - "clashofclans_war_already_started": "与{0}的战争已开始。", - "clashofclans_war_created": "与{0}的战争已创建。", - "clashofclans_war_ended": "与{0}的战争已结束。", - "clashofclans_war_not_exist": "此战争不存在。", - "clashofclans_war_started": "与{0}的对战已开始!", - "customreactions_all_stats_cleared": "所有定制反应数据清除。", - "customreactions_deleted": "定制反应删除", - "customreactions_insuff_perms": "权限不足。通用定制反应需要机器人主人之权限而服务器定制反应需要管理员之权限。", - "customreactions_list_all": "列出所有定制反应", - "customreactions_name": "定制反应", - "customreactions_new_cust_react": "新定制反应", - "customreactions_no_found": "没有找到定制反应。", - "customreactions_no_found_id": "于此用户标识相联系的定制反应并未找到。", - "customreactions_response": "回应", - "customreactions_stats": "定制反应数据", - "customreactions_stats_cleared": "{0} 定制反应数据清除。", - "customreactions_stats_not_found": "此触发器并无数据, 因此无行动。", - "customreactions_trigger": "触发器", - "nsfw_autohentai_stopped": "autohentai停止。", - "nsfw_not_found": "没有结果。", - "pokemon_already_fainted": "{0} 已昏厥。", - "pokemon_already_full": "{0} 气血已满。", - "pokemon_already_that_type": "您的类型已是 {0}", - "pokemon_attack": "对 {2}{3} 使出{0}{1} 而造成 {4}伤害。", - "pokemon_cant_attack_again": "您不能在对方未反击之前再次攻击!", - "pokemon_cant_attack_yourself": "您不能攻击自己。", - "pokemon_fainted": "{0} 已昏厥!", - "pokemon_healed": "用 {1} 医好 {0}", - "pokemon_hp_remaining": "{0} 还剩余 {1} 生命值。 ", - "pokemon_invalid_move": "您不能使用{0}. 输入`{1}ml` 观看您能用的招式。", - "pokemon_moves": "{0} 类型的招式列表", - "pokemon_not_effective": "没有效果。", - "pokemon_no_currency": "你并没有足够的 {0}", - "pokemon_revive_other": "使用 {1} 复活 {0}", - "pokemon_revive_yourself": "您使用 {0} 复活自己", - "pokemon_settype_success": "您的类型已从 {0} 改成了 {1}", - "pokemon_somewhat_effective": "效果不理想。", - "pokemon_super_effective": "效果绝佳!", - "pokemon_too_many_moves": "您已一连使用太多招式,所以您不能行动!", - "pokemon_type_of_user": " {0} 的类型是 {1} ", - "pokemon_user_not_found": "该用户不存在。", - "pokemon_you_fainted": "您已昏厥所以不能移动!", - "administration_aar_disabled": "**已解除**.为刚加入的用户 **自动指派身份** 的功能。", - "administration_aar_enabled": "**已启动**.为刚加入的用户 **自动指派身份** 的功能。", - "administration_attachments": "附件", - "administration_avatar_changed": "头像更换成功。", - "administration_bandm": "你已经被{0}服务器封号。\n原因: {1}", - "administration_banned_pl": "已被禁止了", - "administration_banned_user": "用户禁止", - "administration_bot_name": "机器人名改成{0}", - "administration_bot_status": "机器人状态换成{0}", - "administration_byedel_off": "自动删除告别消息关闭。", - "administration_byedel_on": "告别消息将在{0}秒钟内删除。", - "administration_byemsg_cur": "现在告别消息: {0}", - "administration_byemsg_enable": "输入{0}以启用告别消息", - "administration_byemsg_new": "新告别消息设定。", - "administration_bye_off": "告别公告被关掉。", - "administration_bye_on": "此频道启用告别公告。", - "administration_ch_name_change": "频道名字已改", - "administration_ch_old_name": "旧名", - "administration_ch_topic_change": "频道主题已改", - "administration_cleaned_up": "清理完毕。", - "administration_content": "内容", - "administration_cr": "身份 {0} 成功创立", - "administration_createtextchan": "文字频道 {0} 成功创立", - "administration_createvoich": "语音频道 {0} 成功创立", - "administration_deafen": "静音成功", - "administration_deleted_server": "服务器 {0} 已被删除", - "administration_delmsg_off": "自动删除已处理指令已被停止", - "administration_delmsg_on": "自动删除已处理指令已被启动", - "administration_deltextchan": "文字频道 {0} 成功删除", - "administration_delvoich": "语音频道 {0} 成功删除", - "administration_dm_from": "私人信息来自", - "administration_donadd": "成功添加新的捐赠者. 此用户总共捐赠了: {0} 👑", - "administration_donators": "感谢下面列出的人们使这个项目发生!", - "administration_fwall_start": "我会将DM转发给所有业主。", - "administration_fwall_stop": "我会将DM转发给第一个业主。", - "administration_fwdm_start": "我将从现在起转发DMs。", - "administration_fwdm_stop": "从现在开始我将停止转发DMs。", - "administration_greetdel_off": "已关闭自动删除欢迎消息。", - "administration_greetdel_on": "欢迎消息将在{0}秒后删除。", - "administration_greetdmmsg_cur": "现DM欢迎消息:{0}", - "administration_greetdmmsg_enable": "输入{0}启用DM欢迎消息", - "administration_greetdmmsg_new": "新DM欢迎消息设定成功。", - "administration_greetdm_off": "DM欢迎公告关闭。", - "administration_greetdm_on": "DM欢迎公告启用。", - "administration_greetmsg_cur": "当前欢迎消息是:{0}", - "administration_greetmsg_enable": "输入{0}来启用欢迎消息", - "administration_greetmsg_new": "新欢迎消息设定成功。", - "administration_greet_off": "欢迎公告关闭。", - "administration_greet_on": "欢迎公告在此频道开启。", - "administration_hierarchy": "您不能对身份层次结构中身份高于或等于您的身份的用户使用此命令。", - "administration_images_loaded": "{0}秒后加载图片!", - "administration_invalid_format": "输入格式不正确。", - "administration_invalid_params": "参数不正确。", - "administration_joined": "{0} 加入了 {1}", - "administration_kickdm": "你被踢出{0}的服务器。\n理由:{1}", - "administration_kicked_user": "用户已被踢出", - "administration_lang_list": "语言列表\n{0}", - "administration_lang_set": "您的服务器的语言设置现在为{0} - {1}", - "administration_lang_set_bot": "机器人的默认语言环境现在是{0} - {1}", - "administration_lang_set_bot_show": "机器人的语言设置为{0} - {1}", - "administration_lang_set_fail": "设置语言设置失败。 重新访问此命令帮助。", - "administration_lang_set_show": "此服务器的语言设置为{0} - {1}", - "administration_left": "{0}已离开{1}", - "administration_left_server": "离开服务器{0}", - "administration_log": "在此频道中记录{0}事件。", - "administration_log_all": "记录频道中所有事件", - "administration_log_disabled": "记录功能取消", - "administration_log_events": "您可以设定的记录项目:", - "administration_log_ignore": "记录会忽略{0}", - "administration_log_not_ignore": "记录不会忽略{0}", - "administration_log_stop": "已停止记录{0}事件。", - "administration_menrole": "{0}已经提到了以下身份", - "administration_message_from_bo": "来自{0}`[机器人主人]’的消息:", - "administration_message_sent": "消息已发.", - "administration_moved": "{0}被移动由{1}到{2}", - "administration_msg_del": "在#{0}中删除讯息", - "administration_msg_update": "讯息在#{0}中被更新", - "administration_muted_pl": "已静音", - "administration_muted_sn": "已静音", - "administration_mute_error": "权限不够执行此命令", - "administration_mute_role_set": "新的静音角色设定成功。", - "administration_need_admin": "我需要**管理**权限才能做那个。", - "administration_new_msg": "新消息", - "administration_new_nick": "新昵称", - "administration_new_topic": "新主题", - "administration_nick_change": "昵称成功更换", - "administration_no_server": "找不到该服务器", - "administration_no_shard_id": "找不到具有该ID的分片。", - "administration_old_msg": "旧信息", - "administration_old_nick": "旧昵称", - "administration_old_topic": "旧题目", - "administration_perms": "失败。很可能我没有足够的权限。", - "administration_perms_reset": "重置此服务器的权限。", - "administration_prot_active": "主动保护", - "administration_prot_disable": "{0}已在此服务器禁用。", - "administration_prot_enable": "{0}已启用。", - "administration_prot_error": "失败。 我需要 ManageRoles 权限", - "administration_prot_none": "未启用保护项目。", - "administration_raid_cnt": "用户阈值必须介于{0}和{1}之间。", - "administration_raid_stats": "如果{0}或更多用户在{1}秒内加入,我将{2}他们。", - "administration_raid_time": "时间必须在{0}和{1}秒之间。", - "administration_rar": "已成功从用户{0}中移除所有身份", - "administration_rar_err": "无法移除身份。 我没有足够的权限。", - "administration_rc": "{0}身份的颜色已更改。", - "administration_rc_not_exist": "那个身份不存在。", - "administration_rc_params": "指定的参数错误。", - "administration_rc_perms": "由于颜色无效或权限不足而发生错误。", - "administration_remrole": "已成功从用户{1}中删除身份{0}", - "administration_remrole_err": "无法移除身份。 我没有足够的权限。", - "administration_renrole": "身份名已改", - "administration_renrole_err": "身份重命名失败。我的权限不足。", - "administration_renrole_perms": "您不能编辑比你", - "administration_reprm": "已移除游玩消息:{0}", - "administration_role_added": "身份{0}已添加到列表中。", - "administration_role_clean": "{0}未找到。已清理。", - "administration_role_in_list": "身份{0}已在列表中。", - "administration_ropl_added": "添加成功.", - "administration_ropl_disabled": "旋转游玩状态关闭。", - "administration_ropl_enabled": "旋转游玩状态开启。", - "administration_ropl_list": "以下是旋转状态列表:\n{0}", - "administration_ropl_not_set": "未设置旋转游戏状态。", - "administration_self_assign_already": "您已经拥有{0}身份。", - "administration_self_assign_already_excl": "您已拥有{0}独占的自行分配。", - "administration_self_assign_excl": "自行分配身份现在是独家!", - "administration_self_assign_list": "有{0}个可自行分配身份", - "administration_self_assign_not": "这个身份是不可自行分配的。", - "administration_self_assign_not_have": "您没有{0}身份。", - "administration_self_assign_no_excl": "自我分配的身份现在不是独家的!", - "administration_self_assign_perms": "我无法向您添加该身份。 ‘我不能向身份层次结构中我身份以外的所有者或其他身份添加身份。’", - "administration_self_assign_rem": "{0}已从可自我分配身份列表中删除。", - "administration_self_assign_remove": "您不再拥有{0}身份。", - "administration_self_assign_success": "您现在拥有{0}身份。", - "administration_setrole": "已成功将身份{0}添加到用户{1}", - "administration_setrole_err": "无法添加身份。 我没有足够的权限。", - "administration_set_avatar": "新头像集!", - "administration_set_channel_name": "新频道名称设定。", - "administration_set_game": "新游戏设定!", - "administration_set_stream": "新直播设定!", - "administration_set_topic": "新频道主题集。", - "administration_shard_reconnected": "分段{0}已重新连接。", - "administration_shard_reconnecting": "分段{0}重新连接中。", - "administration_shutting_down": "关闭中", - "administration_slowmode_desc": "用户不能在{1}秒内发送超过{0}条消息。", - "administration_slowmode_disabled": "慢速模式关闭。", - "administration_slowmode_init": "慢速模式启动", - "administration_soft_banned_pl": "软禁(踢出)", - "administration_spam_ignore": "{0}将忽略此通道。", - "administration_spam_not_ignore": "0}将不再忽略此通道。", - "administration_spam_stats": "如果用户发布{0}个相同的消息,我会{1}他们。\n     __IgnoredChannels__:{2}", - "administration_text_chan_created": "新文字频道成立", - "administration_text_chan_destroyed": "文字频道已删除", - "administration_undeafen": "Undeafen成功。", - "administration_unmuted_sn": "已取消静音", - "administration_username": "用户名", - "administration_username_changed": "用户名已更改", - "administration_users": "用户", - "administration_user_banned": "用户被禁止", - "administration_user_chat_mute": "{0}已从聊天内被静音**。", - "administration_user_chat_unmute": "{0}已从聊天内**取消静音**。", - "administration_user_joined": "用户已加入", - "administration_user_left": "用户离开了", - "administration_user_muted": "{0} 已被文字与语音静音了", - "administration_user_role_add": "用户身份添加成功", - "administration_user_role_rem": "用户身份移除了", - "administration_user_status_change": "{0} 改成了 {1}", - "administration_user_unmuted": "{0}已从文字和语音频道中取消静音**。", - "administration_user_vjoined": "{0}已加入{1}语音通道。", - "administration_user_vleft": "{0}已离开{1}语音通道。", - "administration_user_vmoved": "{0}已从{1}移至{2}语音通道。", - "administration_user_voice_mute": "{0}已被**静音**。", - "administration_user_voice_unmute": "{0}已被**取消静音**。", - "administration_voice_chan_created": "语音频道已创建", - "administration_voice_chan_destroyed": "语音通道已被毁", - "administration_vt_disabled": "已停用语音+文字功能。", - "administration_vt_enabled": "启用语音+文字功能。", - "administration_vt_exit": "我没有**管理身份**和/或**管理频道**权限,所以我不能在{0}服务器上运行`语音+文字`。", - "administration_vt_no_admin": "您正在启用/禁用此功能,并且**我没有ADMINISTRATOR权限**。 这可能会导致一些问题,您必须自己清理文本频道。", - "administration_vt_perms": "我需要至少**管理身份**和**管理频道**权限,以启用此功能。 (优先管理权限)", - "administration_xmuted_text": "用户{0}来自文字频道", - "administration_xmuted_text_and_voice": "用户{0}来自文字和语音频道", - "administration_xmuted_voice": "用户{0}来自语音频道", - "administration_sbdm": "您已从{0}服务器软禁止。\n原因:{1}", - "administration_user_unbanned": "用户已取消禁止", - "administration_migration_done": "迁移完成!", - "adminsitration_migration_error": "在迁移时出错,请检查机器人的控制台以获取更多信息。", - "administration_presence_updates": "在线状态更新", - "administration_sb_user": "用户被软禁用", - "gambling_awarded": "已将{0}奖励给{1}", - "gambling_better_luck": "下一次好运^ _ ^", - "gambling_br_win": "恭喜! 您赢得{0}因为您滚{1}或以上", - "gambling_deck_reshuffled": "卡牌改组。", - "gambling_flipped": "抛了{0}。", - "gambling_flip_guess": "你猜到了! 您赢得了{0}", - "gambling_flip_invalid": "指定的数字无效。 你可以抛1到{0}钱币。", - "gambling_flowerreaction_desc": "将{0}反应添加到此消息以获取{1}", - "gambling_flowerreaction_footer": "此活动在{0}小时内有效。", - "gambling_flowerreaction_title": "花反应活动开始了!", - "gambling_gifted": "给了{1}{0}", - "gambling_has": "{0}拥有{1}", - "gambling_heads": "头", - "gambling_leaderboard": "排行榜", - "gambling_mass_award": "从{2}身份授予{0}至{1}名用户。", - "gambling_max_bet_limit": "您赌注不能超过{0}", - "gambling_min_bet_limit": "您赌注不能低于{0}", - "gambling_not_enough": "您没有足够的{0}", - "gambling_no_more_cards": "卡牌组中没有更多的牌。", - "gambling_raffled_user": "抽奖用户", - "gambling_roll": "您抛了{0}。", - "gambling_slot_bet": "赌注", - "gambling_slot_jackpot": "哇啊啊啊啊啊啊! 恭喜! x {0}", - "gambling_slot_single": "单个{0},x {1}", - "gambling_slot_three": "哇!好运! 三个相同! x {0}", - "gambling_slot_two": "做得好! 两个{0} - 投注x {1}", - "gambling_slot_won": "胜利", - "gambling_sneakygamestatus_desc": "用户必须键入密码才能获取{0}。\n持续{1}秒。 嘘~别跟任何人说。 ", - "gambling_sneakygamestatus_end": "SneakyGame事件结束。 {0}个用户收到了奖励。", - "gambling_sneakygamestatus_title": "SneakyGameStatus事件已启动", - "gambling_tails": "尾", - "gambling_take": "已成功从{1}取得{0}", - "gambling_take_fail": "无法从{1}取得{0},因为用户没有那么多{2}!", - "help_back_to_toc": "返回ToC", - "help_bot_owner_only": "仅限Bot Owner", - "help_channel_permission": "需要{0}频道权限。", - "help_cmdlist_donate": "您可以在patreon上支持项目:<{0}>或paypal:<{1}>", - "help_cmd_and_alias": "命令和别名", - "help_commandlist_regen": "命令列表已重新生成。", - "help_commands_instr": "输入`{0} h CommandName`可查看该指定命令的帮助。 例如 `{0} h> 8ball`", - "help_command_not_found": "我找不到该命令。 请再次尝试之前验证该命令是否存在。", - "help_desc": "描述", - "help_donate": "您可以在:\nPatreon <{0}>或\nPaypal <{1}>\n上支持NadekoBot\n不要忘记在邮件中留下您的不和名字或ID。\n\n**谢谢**♥️", - "help_guide": "**命令列表**:<{0}>\n**主机指南和文档可以在这里找到**:<{1}>", - "help_list_of_commands": "命令列表", - "help_list_of_modules": "组件列表", - "help_modules_footer": "输入“{0} cmds ModuleName”以获取该组件中的命令列表。 例如`{0} cmds games`", - "help_module_not_found": "该组件不存在。", - "help_server_permission": "需要{0}服务器权限。", - "help_table_of_contents": "目录", - "help_usage": "用法", - "nsfw_autohentai_started": "自动hentai启动。 使用以下标记之一重新排列每个{0}:\n{1}", - "nsfw_tag": "标签", - "gambling_animal_race": "动物竞赛", - "gambling_animal_race_failed": "启动失败,因为没有足够的参与者。", - "gambling_animal_race_full": "竞赛已满! 立即开始。", - "gambling_animal_race_join": "{0}加入为{1}", - "gambling_animal_race_join_bet": "{0}加入为{1},赌注{2}!", - "gambling_animal_race_join_instr": "输入{0} jr 以加入竞赛。", - "gambling_animal_race_starting": "在20内秒或当房间满后开始。", - "gambling_animal_race_starting_with_x": "{0}个参与者开始。", - "gambling_animal_race_won": "{0}为{1}赢得竞赛!", - "gambling_animal_race_won_money": "0}为{1}赢得竞赛,和赢得{2}!", - "gambling_dice_invalid_number": "指定的数字无效。 您可以一次滚动{0} - {1}骰子。", - "gambling_dice_rolled": "掷了{0}", - "gambling_dice_rolled_num": "掷骰子:{0}", - "gambling_race_failed_starting": "竞赛启动失败。 另一个比赛可能正在运行。", - "gambling_race_not_exist": "此服务器上不存在竞赛", - "gambling_second_larger_than_first": "第二个数字必须大于第一个数字。", - "gambling_changes_of_heart": "爱被改变", - "gambling_claimed_by": "声称", - "gambling_divorces": "离婚", - "gambling_likes": "喜欢", - "gambling_price": "价钱", - "gambling_waifus_none": "没有waifus被要求。", - "gambling_waifus_top_waifus": "最佳Waifus", - "gambling_waifu_affinity_already": "您的兴趣已设置为该waifu,或者您尝试在没有兴趣的情况下删除您的兴趣。", - "gambling_waifu_affinity_changed": "将把兴趣从{0}更改为{1}。\n\n*这在道德上是有问题的*🤔 ", - "gambling_waifu_affinity_cooldown": "您必须等待{0}小时和{1}分钟才能再次更改您的兴趣。", - "gambling_waifu_affinity_reset": "您的兴趣已重置。 你不再有你喜欢的人。", - "gambling_waifu_affinity_set": "想成为{0}的waifu。哇非常可爱<3", - "gambling_waifu_claimed": "声明{0}为他的waifu,花了{1}!", - "gambling_waifu_divorced_like": "你已经离婚了一个喜欢你的waifu。 你无情的怪物。\n{0}收到了{1}作为补偿。", - "gambling_waifu_egomaniac": "你不能设置兴趣自己,你好自卑。", - "gambling_waifu_fulfilled": "🎉他的爱实现! 🎉\n{0}的新值为{1}!", - "gambling_waifu_isnt_cheap": "没有waifu那么便宜。 您必须至少支付{0}才能获得waifu,即使他们的实际价值较低。", - "gambling_waifu_not_enough": "您必须支付{0}或更多才能认领那个waifu!", - "gambling_waifu_not_yours": "那waifu不是你的。", - "gambling_waifu_not_yourself": "你不能认领自己。", - "gambling_waifu_recent_divorce": "你最近离婚了。 您必须等待{0}小时和{1}分钟再次离婚。", - "gambling_nobody": "没人", - "gambling_waifu_divorced_notlike": "你离婚了一个不喜欢你的waifu。 您收到了{0}。", - "games_8ball": "8ball", - "games_acrophobia": "恐惧症游戏", - "games_acro_ended_no_sub": "游戏结束,没人提交。", - "games_acro_no_votes_cast": "没人投票。 游戏结束,没有赢家。", - "games_acro_nym_was": "首字母缩写是{0}。", - "games_acro_running": "恐惧症游戏已经在这个频道中运行。", - "games_acro_started": "游戏开始。 创建具有以下首字母缩写的句子:{0}。", - "games_acro_started_footer": "您有{0}秒的时间提交。", - "games_acro_submit": "{0}提交了他的判决。 (总{1}个)", - "games_acro_vote": "通过输入提交数字投票", - "games_acro_vote_cast": "{0}投了票!", - "games_acro_winner": "获胜者{0}获得{1}分。", - "games_acro_winner_only": "{0}赢了因为是唯一的提交用户!", - "games_question": "题", - "games_rps_draw": "平局! 两个都挑了{0}", - "games_rps_win": "{0}赢了! {1} 打赢了 {2}", - "games_submissions_closed": "提交关闭", - "gambling_animal_race_already_started": "动物竞赛已经运行。", - "gambling_total_average": "总计:{0} 平均:{1}", - "games_category": "类别", - "games_cleverbot_disabled": "在此服务器上禁用cleverbot。", - "games_cleverbot_enabled": "在此服务器上启用cleverbot。", - "games_curgen_disabled": "在此频道上停用的货币生成功能。", - "games_curgen_enabled": "在此频道上启用的货币生成功能。", - "games_curgen_pl": "{0} 个 {1}出现了! 通过输入`{2} pick'来拾取", - "games_curgen_sn": "一个{0}出现了! 通过输入`{1} pick`来拾取", - "games_failed_loading_question": "加载问题失败。", - "games_game_started": "游戏开始", - "games_hangman_game_started": "Hangman游戏开始了", - "games_hangman_running": "Hangman游戏已在此频道上打开。", - "games_hangman_start_errored": "启动hangman错误。", - "games_hangman_types": "“{0} hangman”字词类型列表:", - "games_leaderboard": "排行榜", - "games_not_enough": "您没有足够的{0}", - "games_no_results": "没有结果", - "games_picked": "采了{0}", - "games_planted": "{0}种了{1}", - "games_trivia_already_running": "琐事游戏已经在这个服务器上运行。", - "games_trivia_game": "琐事游戏", - "games_trivia_guess": "{0}猜对了! 答案是:{1}", - "games_trivia_none": "此服务器上没有运行琐事游戏。", - "games_trivia_points": "{0}有{1}分", - "games_trivia_stopping": "这个问题后停止。", - "games_trivia_times_up": "时间到! 正确的答案是{0}", - "games_trivia_win": "{0}猜到了,赢得了游戏! 答案是:{1}", - "games_ttt_against_yourself": "你不能对自己玩。", - "games_ttt_already_running": "TicTacToe游戏已在此频道中运行。", - "games_ttt_a_draw": "平局!", - "games_ttt_created": "开始了一局TicTacToe游戏。", - "games_ttt_has_won": "{0}赢了!", - "games_ttt_matched_three": "相配了三个", - "games_ttt_no_moves": "没有地方动了!", - "games_ttt_time_expired": "时间已过!", - "games_ttt_users_move": "轮到{0}了", - "games_vs": "{0}对{1}", - "music_attempting_to_queue": "正在排{0}首歌...", - "music_autoplay_disabled": "已停用自动播放。", - "music_autoplay_enabled": "已启用自动播放。", - "music_defvol_set": "默认音量设置为{0}%", - "music_dir_queue_complete": "目录队列完成。", - "music_fairplay": "公平播放", - "music_finished_song": "完成歌曲", - "music_fp_disabled": "停用公平播放。", - "music_fp_enabled": "启用公平播放。", - "music_from_position": "从位置", - "music_id": "ID", - "music_invalid_input": "输入错误。", - "music_max_playtime_none": "最大播放时间没有限制移除。", - "music_max_playtime_set": "最大播放时间设置为{0}秒。", - "music_max_queue_unlimited": "最大音乐队列大小设置为无限。", - "music_max_queue_x": "最大音乐队列大小设置为{0}首。", - "music_must_be_in_voice": "您需要在此服务器上加入语音频道。", - "music_name": "名", - "music_now_playing": "现在播放", - "music_no_player": "没有活动音乐播放器。\n", - "music_no_search_results": "没有搜索结果。", - "music_paused": "音乐播放暂停。", - "music_player_queue": "播放器队列 - {0} / {1}页", - "music_playing_song": "正在播放", - "music_playlists": "`#{0}` - ** {1} ** by * {2} *({3}首歌)", - "music_playlists_page": "有保存{0}页的播放列表", - "music_playlist_deleted": "播放列表已删除。", - "music_playlist_delete_fail": "无法删除该播放列表。 它不存在,或者你不是它的作者。", - "music_playlist_id_not_found": "具有该ID的播放列表不存在。", - "music_playlist_queue_complete": "播放列表队列完成。", - "music_playlist_saved": "播放列表已保存", - "music_play_limit": "{0}秒限制", - "music_queue": "队列", - "music_queued_song": "歌加入队列", - "music_queue_cleared": "音乐队列已清除。", - "music_queue_full": "队列已满{0} / {0}。", - "music_removed_song": "歌被移除", - "music_repeating_cur_song": "重复播放当前歌曲", - "music_repeating_playlist": "重复播放列表", - "music_repeating_track": "重复曲目", - "music_repeating_track_stopped": "当前曲目停止重复。", - "music_resumed": "音乐播放已恢复。", - "music_rpl_disabled": "禁用重复播放列表", - "music_rpl_enabled": "重复播放列表已启用。", - "music_set_music_channel": "我现在将在此频道里输出播放,完成,暂停和删除歌曲。", - "music_skipped_to": "跳到‘{0}:{1}’", - "music_songs_shuffled": "歌播放列表曲被随机。", - "music_song_moved": "歌曲被移动", - "music_time_format": "{0}小时 {1}分钟 {2}秒", - "music_to_position": "到位置", - "music_unlimited": "无限", - "music_volume_input_invalid": "音量必须介于0和100之间", - "music_volume_set": "音量设置为{0}%", - "permissions_acm_disable": "在{0}频道上禁止所有组件的使用。", - "permissions_acm_enable": "在{0}频道上允许启用所有组件。", - "permissions_allowed": "允许", - "permissions_arm_disable": "{0}身份的所有组件被禁止使用。", - "permissions_arm_enable": "{0}身份的所有组件被允许使用。", - "permissions_asm_disable": "在此服务器上禁止所有组件的使用。", - "permissions_asm_enable": "在此服务器上允许所有组件的使用。", - "permissions_aum_disable": "{0}用户的所有模块被禁止使用。", - "permissions_aum_enable": "{0}用户的所有模块被允许使用。", - "permissions_blacklisted": "ID为{1}被加入黑名单{0}", - "permissions_cmdcd_add": "命令{0}冷却时间现有{1}秒。", - "permissions_cmdcd_cleared": "命令{0}没有冷却时间了,现有所有的冷却时间已被清除。", - "permissions_cmdcd_none": "没有设置命令冷却时间。", - "permissions_command_costs": "命令成本", - "permissions_cx_disable": "{2}频道上已停用{0} {1}。", - "permissions_cx_enable": "已在{2}频道上启用{0} {1}的使用。", - "permissions_denied": "被拒绝", - "permissions_filter_word_add": "以巴{0}添加到已过滤字词列表中。", - "permissions_filter_word_list": "被过滤的词列表", - "permissions_filter_word_remove": "已从过滤字词列表中删除{0}。", - "permissions_invalid_second_param_between": "第二个参数无效(必须是{0}和{1}之间的数字)", - "permissions_invite_filter_channel_off": "在此频道上停用邀请过滤功能。", - "permissions_invite_filter_channel_on": "在此频道上启用邀请过滤。", - "permissions_invite_filter_server_off": "在此服务器上停用邀请过滤功能。 ", - "permissions_invite_filter_server_on": "在此服务器上启用邀请过滤功能。 ", - "permissions_moved_permission": "已将权限{0}从#{1}移至#{2}", - "permissions_not_found": "在索引#{0}找不到权限", - "permissions_no_costs": "未设置费用。", - "permissions_of_command": "命令", - "permissions_of_module": "组件", - "permissions_page": "权限页面第{0}页", - "permissions_permrole": "当前权限身份为{0}。", - "permissions_permrole_changed": "用户现在需要{0}身份才能编辑权限。", - "permissions_perm_out_of_range": "在该索引中找不到权限。", - "permissions_removed": "已删除权限#{0} - {1}", - "permissions_rx_disable": "禁止{2}身份使用{0} {1}。", - "permissions_rx_enable": "允许{2}身份使用{0} {1}。", - "permissions_sec": "秒", - "permissions_sx_disable": "此服务器上的{0} {1}已被禁止使用。", - "permissions_sx_enable": "此服务器上的{0} {1}已被允许使用。", - "permissions_unblacklisted": "ID为{1}的{0}从黑名单上移除", - "permissions_uneditable": "不可编辑", - "permissions_ux_disable": "{2}用户的{0} {1}已被禁止使用。", - "permissions_ux_enable": "{2}用户的{0} {1}已允许使用。", - "permissions_verbose_false": "我将不再显示权限警告。", - "permissions_verbose_true": "我现在将显示权限警告。", - "permissions_word_filter_channel_off": "此频道上的字过滤已停用。", - "permissions_word_filter_channel_on": "此频道上的字过滤已启用。", - "permissions_word_filter_server_off": "此服务器上的字过滤已停用。", - "permissions_word_filter_server_on": "此服务器上的字过滤已启用。", - "searches_abilities": "能力", - "searches_anime_no_fav": "没有最喜爱的动漫", - "searches_atl_ad_started": "开始自动翻译此频道上的消息。 用户消息将被自动删除。", - "searches_atl_removed": "您的自动翻译语言已删除。", - "searches_atl_set": "您的自动翻译语言已设置为{0}> {1}", - "searches_atl_started": "开始自动翻译此频道上的消息。", - "searches_atl_stopped": "停止自动翻译此频道上的消息。", - "searches_bad_input_format": "错误格式或出现错误。", - "searches_card_not_found": "找不到该卡。", - "searches_catfact": "实", - "searches_chapters": "章", - "searches_comic_number": "漫画#", - "searches_compet_loses": "竞争模式失败次数", - "searches_compet_played": "竞争模式玩次数", - "searches_compet_rank": "竞争模式排名", - "searches_compet_wins": "竞争模式胜利次数", - "searches_completed": "完成", - "searches_condition": "条件", - "searches_cost": "花费", - "searches_date": "日期", - "searches_define": "定义:", - "searches_dropped": "放掉", - "searches_episodes": "剧集", - "searches_error_occured": "发生了错误。", - "searches_example": "例子", - "searches_failed_finding_anime": "找不到那个动画。", - "searches_failed_finding_manga": "找不到漫画。", - "searches_genres": "类型", - "searches_hashtag_error": "未能找到该标记的定义。", - "searches_height_weight": "身高/体重", - "searches_height_weight_val": "{0} m / {1} kg", - "searches_humidity": "湿度", - "searches_image_search_for": "图片搜索:", - "searches_imdb_fail": "找不到该电影。", - "searches_invalid_lang": "来源或目标语言错误。", - "searches_jokes_not_loaded": "笑话没加载。", - "searches_latlong": "纬度/经度", - "searches_level": "等级", - "searches_list_of_place_tags": "{0}地方标记列表", - "searches_location": "地点", - "searches_magicitems_not_loaded": "未加载魔术项目。", - "searches_mal_profile": "{0}的MAL个人资料", - "searches_mashape_api_missing": "机器人的业主没有指定MashapeApiKey。 您不能使用此功能。", - "searches_min_max": "最小/最大", - "searches_no_channel_found": "找不到频道。", - "searches_no_results": "没找到结果。", - "searches_on_hold": "等候接听", - "searches_original_url": "原始网址", - "searches_osu_api_key": "需要osu!API密钥。", - "searches_osu_failed": "无法检索osu! 线索。", - "searches_over_x": "找到{0}张图片。 显示随机{0}。", - "searches_ow_user_not_found": "找不到用户! 请再次前检查区域和BattleTag。", - "searches_plan_to_watch": "计划看", - "searches_platform": "平台", - "searches_pokemon_ability_none": "找不到能力。", - "searches_pokemon_none": "找不到宠物小精灵。", - "searches_profile_link": "个人资料链接:", - "searches_quality": "质量:", - "searches_quick_playtime": "快速游戏时间", - "searches_quick_wins": "快赢", - "searches_rating": "评分", - "searches_score": "得分:", - "searches_search_for": "搜索:", - "searches_shorten_fail": "无法缩短该链接。", - "searches_short_url": "短链接", - "searches_something_went_wrong": "出了些问题。", - "searches_specify_search_params": "请指定搜索参数。", - "searches_status": "状态", - "searches_store_url": "储存链接", - "searches_streamer_offline": "直播台{0}已离线。", - "searches_streamer_online": "直播台{0}在线有{1}个观众。", - "searches_streams_following": "您在此服务器上关注{0}个直播台", - "searches_streams_none": "您未在此服务器上关注任何直播台。", - "searches_stream_no": "没有这个直播台。", - "searches_stream_not_exist": "直播台可能不存在。", - "searches_stream_removed": "已从({1})的通知中移除{0}的直播台", - "searches_stream_tracked": "状态更改时,我会通知此频道。", - "searches_sunrise": "日出", - "searches_sunset": "日落", - "searches_temperature": "温度", - "searches_title": "标题:", - "searches_top_3_fav_anime": "3个最喜欢的动画:", - "searches_translation": "翻译:", - "searches_types": "类型", - "searches_ud_error": "未能找到该字词的定义。", - "searches_url": "链接", - "searches_viewers": "观众", - "searches_watching": "观看", - "searches_wikia_error": "无法在指定的维基上找到该字词。", - "searches_wikia_input_error": "请输入目标维基,然后搜索查询。", - "searches_wiki_page_not_found": "找不到该页面。", - "searches_wind_speed": "风速", - "searches_x_most_banned_champs": "{0}个被封号最多的英雄", - "searches_yodify_error": "无法yodify您的句子。", - "utiliity_joined": "加入", - "utility_activity_line": "`{0}.` {1} [{2:F2}/秒] - {3} 总计", - "utility_activity_page": "活动页面#{0}", - "utility_activity_users_total": "{0}个用户。", - "utility_author": "作者", - "utility_botid": "机器ID", - "utility_calcops": "{0} 计算器命令列表", - "utility_channelid": "此频道的{0}是{1}", - "utility_channel_topic": "频道主题", - "utility_commands_ran": "执行的命令", - "utility_convert": "{0} {1}等于{2} {3}", - "utility_convertlist": "转换器可以使用的单位", - "utility_convert_not_found": "无法将{0}转换为{1}:找不到单位", - "utility_convert_type_error": "无法将{0}转换为{1}:单位类型不属于一类", - "utility_created_at": "创建于", - "utility_csc_join": "加入跨服务器频道。", - "utility_csc_leave": "离开跨服务器频道。", - "utility_csc_token": "这是您的CSC令牌", - "utility_custom_emojis": "自定义Emojis", - "utility_error": "错误", - "utility_features": "功能", - "utility_id": "ID", - "utility_index_out_of_range": "索引超出范围。", - "utility_inrole_list": "以下是这个身份的用户列表:", - "utility_inrole_not_allowed": "为防止滥用,您不能对有过多用户的身份使用此命令。", - "utility_invalid_value": "{0}值错误。", - "utility_joined_discord": "加入Discord", - "utility_joined_server": "加入服务器", - "utility_listservers": "ID:{0}\n会员数:{1}\t\n业主ID:{2}", - "utility_listservers_none": "在该网页上找不到服务器。", - "utility_list_of_repeaters": "重复列表", - "utility_members": "会员", - "utility_memory": "存储", - "utility_messages": "讯息", - "utility_message_repeater": "消息重复功能", - "utility_name": "名字", - "utility_nickname": "昵称", - "utility_nobody_playing_game": "没有人在玩那个游戏", - "utility_no_active_repeaters": "没有正在重复的消息。", - "utility_no_roles_on_page": "此页面上没有身份。", - "utility_no_shards_on_page": "此页面上没有分片。", - "utility_no_topic_set": "没有主题设置。", - "utility_owner": "业主", - "utility_owner_ids": "业主IDs", - "utility_presence": "状态", - "utility_presence_txt": "{0}个服务器\n{1}个文字频道\n{2}个语音频道", - "utility_quotes_deleted": "已删除所有使用{0}关键字的引用。", - "utility_quotes_page": "引用的第{0}页", - "utility_quotes_page_none": "此页面上没有引用。", - "utility_quotes_remove_none": "没有您可以删除的引用。", - "utility_quote_added": "引用被添加", - "utility_quote_deleted": "引用#{0}删除。", - "utility_region": "区域", - "utility_registered_on": "注册日", - "utility_remind": "我将在{2}`({3:d.M.yyyy。}的{4:HH:mm})提醒{0}关于{1}", - "utility_remind_invalid_format": "无效时间格式。 检查命令列表。", - "utility_remind_template": "新的提醒模板被设定。", - "utility_repeater": "会每{1}天{2}小时{3}分钟重复{0}。", - "utility_repeaters_list": "重复消息列表", - "utility_repeaters_none": "此服务器上没有运行重复消息。", - "utility_repeater_stopped": "#{0}已停止。", - "utility_repeat_invoke_none": "此服务器上没有找到被重复的消息。", - "utility_result": "结果", - "utility_roles": "身份", - "utility_roles_all_page": "此服务器上所有身份第{0}页:", - "utility_roles_page": "{1}身份的第{0}页", - "utility_rrc_no_colors": "颜色的格式不正确。 例如,使用 “#00ff00”。", - "utility_rrc_start": "开始轮流{0}身份的颜色。", - "utility_rrc_stop": "停止{0}身份颜色轮流", - "utility_serverid": "此服务器的{0}是{1}", - "utility_server_info": "服务器信息", - "utility_shard": "分片", - "utility_shard_stats": "分片统计", - "utility_shard_stats_txt": "分片**#{0} **与{2}台服务器处于{1}状态", - "utility_showemojis": "**名称:** {0} **链接:** {1}", - "utility_showemojis_none": "没有找到特殊的emojis。", - "utility_stats_songs": "正在播放{0}首歌,{1}首等待播放。", - "utility_text_channels": "文字频道", - "utility_togtub_room_link": "这是你的房间链接:", - "utility_uptime": "正常运行时间", - "utility_userid": "用户 {1} 的{0} 是 {2}", - "utility_users": "用户", - "utility_voice_channels": "语音频道", - "gambling_animal_race_already_in": "你已经参加这场比赛!", - "games_current_poll_results": "当前投票结果", - "games_no_votes_cast": "没有票投。", - "games_poll_already_running": "此服务器上已运行投票。", - "games_poll_created": "📃{0}创建一个需要您注意的投票:", - "games_poll_result": "'{0}'。{1} 有 {2}票。", - "games_poll_voted": "{0}投了票。", - "games_poll_vote_private": "私人消息我相应答案的数字。", - "games_poll_vote_public": "在这里发送消息相应答案的数字。", - "games_thanks_for_voting": "谢谢投票,{0}", - "games_x_votes_cast": "{0}投票总数。", - "games_pick_pl": "用 `{0}pick` 命令來捡起。", - "games_pick_sn": "用 `{0}pick` 命令來捡起。", - "gambling_no_users_found": "此用户不存在。", - "gambling_page": "页面 {0} ", - "administration_must_be_in_voice": "您必须加入此服务器的语音频道。", - "administration_no_vcroles": "没有可设置的语音频道身份。", - "administration_user_muted_time": "用户 {0} 被静音和禁言 {1} 分钟。", - "administration_vcrole_added": "新加入{0}语音频道的用户会得到{1}身份。", - "administration_vcrole_removed": "新加入{0}语音频道的用户不会再得到身份。", - "administration_vc_role_list": "语音频道身份", - "customreactions_crad_disabled": "触发 ID{0} 定制反应的命令不会被自动删除。", - "customreactions_crad_enabled": "触发 ID{0} 定制反应的命令将会被被自动删除。", - "customreactions_crdm_disabled": "ID {0}定制反应的回复不会已私聊模式发送。", - "customreactions_crdm_enabled": "ID {0}定制反应的回复会以私聊模式发送。", - "utility_aliases_none": "没有找到任何命令别名。", - "utility_alias_added": "{1} 命令的新别名设置成为 {0}。", - "utility_alias_list": "别名列表", - "utility_alias_removed": "{0} 命令的别名已经成功删除。", - "utility_alias_remove_fail": "{0} 命令没有已经设置的别名。", - "searches_compet_playtime": "竞争比赛游戏时间。", - "administration_channel": "频道", - "administration_command_text": "指令", - "administration_kicked_pl": "已被踢出", - "administration_moderator": "群管", - "administration_page": "第{0}页", - "administration_reason": "原因", - "administration_scadd": "新启动执行命令已加", - "administration_scrm": "启动执行命令已删", - "administration_scrm_fail": "启动执行命令未找到", - "administration_server": "服务器", - "administration_startcmdlist_none": "该页并无启动执行命令", - "administration_startcmds_cleared": "清除所有启动执行命令", - "administration_unbanned_user": "用户 {0} 已被解禁", - "administration_user_not_found": "该用户未找到", - "administration_user_warned": "用户{0}已被警告", - "administration_user_warned_and_punished": "用户 {0} 已被警告,惩罚已执行。", - "administration_warned_on": "在 {0} 服务器上被警告", - "administration_warned_on_by": "在 {0} {1} 被 {2} ", - "administration_warnings_cleared": "{0} 的所有警告已清除。", - "administration_warnings_none": "该页并无警告。", - "administration_warnlog_for": "{0} 的警告记录。", - "administration_warnpl_none": "没有设定任何惩罚", - "administration_warn_cleared_by": "被{0} 清除", - "administration_warn_punish_list": "警告惩罚记录", - "administration_warn_punish_rem": "拥有{0} 个警告已不会触动惩罚。", - "administration_warn_punish_set": "我会给拥有 {1} 个警告的用户执行{0} 惩罚。", - "administration_slowmodewl_role_start": "Slowmode 现在会无视 {0} 身份组。", - "administration_slowmodewl_role_stop": "Slowmode不会无视 {0} 身份组。", - "administration_slowmodewl_user_start": "Slowmode 现在会无视用户 {0} 。", - "administration_slowmodewl_user_stop": "Slowmode 现在不会无视用户 {0} 。", - "utility_clpa_fail": "因下列原因无法领取奖励:", - "utility_clpa_fail_already": "你可能已领取这个月的奖励。除非你的赞助金额增加,你只能领取奖励一个月一次。", - "utility_clpa_fail_already_title": "已被奖励", - "utility_clpa_fail_conn": "你的discord账户可能未与Patreon连接。如果你并不明白或不知如何连接 - 你需要去 [Patreon account settings page] (https://patreon.com/settings/account) 然后点击'Connect to discord' 的按钮。 ", - "utility_clpa_fail_conn_title": "Discord账号没有连接", - "utility_clpa_fail_sup": "你必须要在patreon赞助该项目才有资格领取奖励。你可以使用命令 {0} 取得网址。", - "utility_clpa_fail_sup_title": "无法支援", - "utility_clpa_fail_wait": "你需要在赞助了之后等几个小时。如果你没有,请稍后再试。", - "utility_clpa_fail_wait_title": "稍等片刻", - "utility_clpa_success": "您已领取 {0} 。感谢您支持该项目!", - "utility_clpa_too_early": "奖励只能在每月五号或五号后才能领取。", - "searches_time": "时间在 {0} 是 {1} - {2}", - "administration_rh": "把公会身份 {0} 的表现变成 {1}", - "gambling_name": "名", - "gambling_shop": "商店", - "gambling_shop_item_add": "加了物品", - "gambling_shop_none": "没有物品在这页面", - "gambling_shop_role": "你会得到 {0} 身份", - "gambling_type": "类型", - "utility_clpa_next_update": "下个新型", - "administration_global_perms_reset": "铜盘权限被重置", - "administration_gvc_disabled": "这服务器的游戏语音频道功能已被解除", - "administration_gvc_enabled": "{0} 现在是个游戏语音频道", - "administration_not_in_voice": "你不在这服务器的语音频道", - "gambling_item": "物品", - "gambling_out_of_stock": "没有物资了", - "gambling_random_unique_item": "乱独特物品", - "gambling_shop_buy_error": "失败用隐通讯法送物品。你退了钱。", - "gambling_shop_item_not_found": "", - "gambling_shop_item_purchase": "", - "gambling_shop_item_rm": "", - "gambling_shop_item_wrong_type": "那个店条目不持加东西", - "gambling_shop_list_item_added": "", - "gambling_shop_list_item_not_unique": "", - "gambling_shop_purchase": "", - "gambling_shop_role_not_found": "", - "gambling_shop_role_purchase": "", - "gambling_shop_role_purchase_error": "", - "gambling_unique_items_left": "", - "permissions_blocked_commands": "", - "permissions_blocked_modules": "", - "permissions_gcmd_add": "", - "permissions_gcmd_remove": "", - "permissions_gmod_add": "模块 {0} 在所有服务器已被关闭。", - "permissions_gmod_remove": "模块 {0} 在所有服务器已被启动。", - "permissions_lgp_none": "没有被禁的命令或模块" -} \ No newline at end of file diff --git a/src/NadekoBot/_strings/ResponseStrings.zh-TW.json b/src/NadekoBot/_strings/ResponseStrings.zh-TW.json deleted file mode 100644 index 769e6e43..00000000 --- a/src/NadekoBot/_strings/ResponseStrings.zh-TW.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "clashofclans_base_already_claimed": "該基地已被佔領或摧毀。", - "clashofclans_base_already_destroyed": "該基地已摧毀。", - "clashofclans_base_already_unclaimed": "該基地尚未佔領", - "clashofclans_base_destroyed": "在與 {1} 對戰時 **摧毀** 了基地 #{0}", - "clashofclans_base_unclaimed": "{0} 在與 {2} 對戰時 **解放** 基地 #{1}", - "clashofclans_claimed_base": "{0} 在與 {2} 對戰時 **佔領** 基地 #{1}", - "clashofclans_claimed_other": "@{0} 您已佔領基地 #{1}。您不能再佔領一個新的。", - "clashofclans_claim_expired": "在 @{0} 與 {1} 對戰後佔領的基地已失效。", - "clashofclans_enemy": "敵人", - "clashofclans_info_about_war": "與 {0} 對戰的信息", - "clashofclans_invalid_base_number": "無效的基地編號。", - "clashofclans_invalid_size": "無效的戰爭大小。", - "clashofclans_list_active_wars": "目前正在進行的戰爭", - "clashofclans_not_claimed": "未佔領", - "clashofclans_not_partic": "您並未参與此戰爭。", - "clashofclans_not_partic_or_destroyed": "@{0} 您並未参與此戰爭或此基地已被毁壞。", - "clashofclans_no_active_wars": "目前尚無戰爭進行中。", - "clashofclans_size": "大小", - "clashofclans_war_already_started": "與 {0} 的戰爭已經開始了。", - "clashofclans_war_created": "與 {0} 的戰爭已創建。", - "clashofclans_war_ended": "與 {0} 的戰爭已結束。", - "clashofclans_war_not_exist": "此戰爭不存在。", - "clashofclans_war_started": "與 {0} 的戰爭已開始!", - "customreactions_all_stats_cleared": "所有自訂回應統計已刪除。", - "customreactions_deleted": "自訂回應已刪除", - "customreactions_insuff_perms": "權限不足。伺服器自訂回應需要管理員權限,而只有 Bot 擁有者才能設定全域自訂回應。", - "customreactions_list_all": "列出所有自訂回應", - "customreactions_name": "自訂回應", - "customreactions_new_cust_react": "新自訂回應", - "customreactions_no_found": "沒有找到自訂回應 。", - "customreactions_no_found_id": "找不到輸入的自訂回應編號。", - "customreactions_response": "回應", - "customreactions_stats": "自訂回應統計", - "customreactions_stats_cleared": "清除了 {0} 自訂回應的統計。", - "customreactions_stats_not_found": "尚未觸發此回應,故無結果。", - "customreactions_trigger": "觸發", - "nsfw_autohentai_stopped": "Autohentai 指令效果停止。", - "nsfw_not_found": "沒有结果。", - "pokemon_already_fainted": "{0} 已昏厥。", - "pokemon_already_full": "{0} HP已滿。", - "pokemon_already_that_type": "您的屬性已是 {0}", - "pokemon_attack": "對 {2}{3} 使出 {0}{1} 而造成 {4} 點傷害。", - "pokemon_cant_attack_again": "對方反擊前無法對他再次攻擊!", - "pokemon_cant_attack_yourself": "您不能攻擊自己。", - "pokemon_fainted": "{0} 已昏厥!", - "pokemon_healed": "用了一個 {1} 醫好 {0}", - "pokemon_hp_remaining": "{0} 還剩餘 {1} 生命值。", - "pokemon_invalid_move": "您不能使用 {0} 。請輸入 `{1}ml` 來查閱您能用的招式。", - "pokemon_moves": "{0} 屬性的招式列表", - "pokemon_not_effective": "沒有效果。", - "pokemon_no_currency": "你沒有足夠的 {0}", - "pokemon_revive_other": "使用了一個 {1} 復活 {0}", - "pokemon_revive_yourself": "您使用了一個 {0} 復活了自己", - "pokemon_settype_success": "您的屬性已從 {0} 變更成 {1}", - "pokemon_somewhat_effective": "效果一般。", - "pokemon_super_effective": "效果絕佳!", - "pokemon_too_many_moves": "您已連續使用太多招式,所以您無法行動!", - "pokemon_type_of_user": "{0} 的屬性是 {1} ", - "pokemon_user_not_found": "該成員不存在。", - "pokemon_you_fainted": "您已昏厥所以不能移動!", - "administration_aar_disabled": "**自動指派身分組**給新加入的成員**已停用**。", - "administration_aar_enabled": "**自動指派身分組**給新加入的成員**已啟用**。", - "administration_attachments": "附件", - "administration_avatar_changed": "頭像更換成功。", - "administration_bandm": "你已被 {0} 伺服器封鎖。\n原因:{1}", - "administration_banned_pl": "成員已封鎖", - "administration_banned_user": "成員已封鎖", - "administration_bot_name": "Bot 暱稱已改為 {0}", - "administration_bot_status": "Bot 狀態已改為 {0}", - "administration_byedel_off": "自動刪除告別訊息功能已停用。", - "administration_byedel_on": "告別訊息將於 {0} 秒後刪除。", - "administration_byemsg_cur": "目前的告別訊息: {0}", - "administration_byemsg_enable": "輸入 {0} 來啟用告別通知", - "administration_byemsg_new": "新的告別訊息已設定。", - "administration_bye_off": "告別通知已停用。", - "administration_bye_on": "在這個頻道啟用告別通知。", - "administration_ch_name_change": "頻道名稱已更改", - "administration_ch_old_name": "舊頻道名稱", - "administration_ch_topic_change": "頻道主題已更改", - "administration_cleaned_up": "清理完畢。", - "administration_content": "内容", - "administration_cr": "成功創建身分組 {0}", - "administration_createtextchan": "成功創建文字頻道 {0}", - "administration_createvoich": "成功創建語音頻道 {0}", - "administration_deafen": "成功禁音", - "administration_deleted_server": "已刪除伺服器 {0}", - "administration_delmsg_off": "自動刪除已處理指令已停用", - "administration_delmsg_on": "自動刪除已處理指令已啟用", - "administration_deltextchan": "成功刪除文字頻道 {0}", - "administration_delvoich": "成功刪除語音頻道 {0}", - "administration_dm_from": "私人訊息來自", - "administration_donadd": "成功新增了新的捐贈者。此成員總共捐贈了:{0}", - "administration_donators": "感謝下列的人使這個項目繼續運作!", - "administration_fwall_start": "我會將私人訊息轉發給所有擁有者。", - "administration_fwall_stop": "我會將私人訊息轉發給第一個擁有者。", - "administration_fwdm_start": "我將開始轉發私人訊息。", - "administration_fwdm_stop": "我將停止轉發私人訊息。", - "administration_greetdel_off": "自動刪除歡迎訊息已停用。", - "administration_greetdel_on": "歡迎訊息將於 {0} 秒後刪除。", - "administration_greetdmmsg_cur": "目前的歡迎私訊:{0}", - "administration_greetdmmsg_enable": "輸入 {0} 來啟用歡迎私訊", - "administration_greetdmmsg_new": "新的歡迎私訊已設定。", - "administration_greetdm_off": "私訊歡迎公告已停用。", - "administration_greetdm_on": "私訊歡迎公告已啟用。", - "administration_greetmsg_cur": "目前的歡迎訊息: {0}", - "administration_greetmsg_enable": "輸入 {0} 來啟用歡迎訊息", - "administration_greetmsg_new": "新的歡迎訊息已設定。", - "administration_greet_off": "歡迎通知已關閉。", - "administration_greet_on": "在這個頻道啟用歡迎通知。", - "administration_hierarchy": "您不能對身分組與您一樣或更高的成員使用此指令。", - "administration_images_loaded": "圖片共花了 {0} 秒載入!", - "administration_invalid_format": "無效的輸入格式。", - "administration_invalid_params": "無效的參數。", - "administration_joined": "{0} 已加入 {1}", - "administration_kickdm": "你已被 {0} 伺服器踢出。\n原因:{1}", - "administration_kicked_user": "成員已被踢出", - "administration_lang_list": "可用的語言清單\n{0}", - "administration_lang_set": "您的伺服器語言現在為 {0} - {1}", - "administration_lang_set_bot": "Bot 的預設語言為 {0} - {1}", - "administration_lang_set_bot_show": "Bot 的語言已被設定為 {0} - {1}", - "administration_lang_set_fail": "語言設定失敗,請重新檢閱本指令說明。", - "administration_lang_set_show": "本伺服器的語言現在為 {0} - {1}", - "administration_left": "{0} 已離開 {1}", - "administration_left_server": "已離開伺服器 {0}", - "administration_log": "在此頻道中紀錄 {0} 事件。", - "administration_log_all": "在此頻道中記錄所有事件。", - "administration_log_disabled": "紀錄功能已停用。", - "administration_log_events": "您可以記錄的事件:", - "administration_log_ignore": "紀錄將會忽略 {0}", - "administration_log_not_ignore": "紀錄將不會忽略 {0}", - "administration_log_stop": "已停止紀錄 {0} 事件。", - "administration_menrole": "{0} 提到了下列身分組", - "administration_message_from_bo": "来自 {0} '[Bot所有者]’ 的消息:", - "administration_message_sent": "訊息已傳送。", - "administration_moved": "{0} 已從 {1} 移動至 {2}", - "administration_msg_del": "#{0} 中删除了訊息", - "administration_msg_update": "#{0} 中更新了訊息", - "administration_muted_pl": "已静音", - "administration_muted_sn": "已静音", - "administration_mute_error": "我並沒有足夠的權限來執行此指令。", - "administration_mute_role_set": "新的禁言身分已設定。", - "administration_need_admin": "我需要此伺服器的**管理**權限才能執行此指令。", - "administration_new_msg": "新訊息", - "administration_new_nick": "新暱稱", - "administration_new_topic": "新主題", - "administration_nick_change": "暱稱已變更", - "administration_no_server": "找不到那個伺服器", - "administration_no_shard_id": "找不到有著那個ID的Shard。", - "administration_old_msg": "原始訊息", - "administration_old_nick": "原始暱稱", - "administration_old_topic": "原始主題", - "administration_perms": "錯誤: 很可能我並沒有足夠的權限。", - "administration_perms_reset": "此伺服器的權限已重設。", - "administration_prot_active": "生效中的保護機制", - "administration_prot_disable": "{0} 已在此伺服器 **停用**。", - "administration_prot_enable": "{0} 已啟用。", - "administration_prot_error": "錯誤。我需要此伺服器的 管理身分組 權限", - "administration_prot_none": "沒有生效中的保護機制", - "administration_raid_cnt": "成員緩衝數應介於 {0} 和 {1} 之間。", - "administration_raid_stats": "如果 {1} 秒內進入了 {0} 或更多位成員,我則會將他們 {2} 。", - "administration_raid_time": "時間必須在於 {0} 和 {1} 秒之間。", - "administration_rar": "成功的移除了 {0} 所有的身分組。", - "administration_rar_err": "無法移除身分組。我的權限不夠。", - "administration_rc": "{0} 身份組的顏色已變更。", - "administration_rc_not_exist": "那個身分組並不存在。", - "administration_rc_params": "指定的參數錯誤。", - "administration_rc_perms": "無效的色碼或是權限不足引起錯誤。", - "administration_remrole": "成功的移除了 {1} 的 {0} 身分組。", - "administration_remrole_err": "無法移除身分組。我沒有足夠的權限。", - "administration_renrole": "已更改身分組名稱。", - "administration_renrole_err": "身分組名稱變更失敗。我沒有足夠的權限。", - "administration_renrole_perms": "您不能編輯比你最高身分組還高的身分組。", - "administration_reprm": "已移除遊玩訊息: {0}", - "administration_role_added": "身分組 {0} 已新增至清單。", - "administration_role_clean": "{0} 未找到。已清理。", - "administration_role_in_list": "身分組 {0} 已在清單中。", - "administration_ropl_added": "新增成功。", - "administration_ropl_disabled": "輪播遊玩狀態已停用。", - "administration_ropl_enabled": "輪播遊玩狀態已啟用。", - "administration_ropl_list": "輪播遊玩狀態清單:\n{0}", - "administration_ropl_not_set": "尚未設定輪播遊玩狀態。", - "administration_self_assign_already": "您已經是 {0} 身分組了。", - "administration_self_assign_already_excl": "您已經是 {0} 身分組的成員,您一次只能加入一個自入身分群組。", - "administration_self_assign_excl": "自入身分群組現在為擇一模式。", - "administration_self_assign_list": "有 {0} 個可以自入的身分群組", - "administration_self_assign_not": "此身分組並不能自行加入。", - "administration_self_assign_not_have": "您並不是 {0} 身份組的成員。", - "administration_self_assign_no_excl": "自入身分群組不再為擇一模式!", - "administration_self_assign_perms": "我無法新增身分組比我還高的身分組給您。", - "administration_self_assign_rem": "{0} 已從自入身分組清單中移除。", - "administration_self_assign_remove": "您不再是 {0} 身分組的成員了。", - "administration_self_assign_success": "您現在是 {0} 身份組的成員了。", - "administration_setrole": "成功將 {0} 身分組指派給 {1}", - "administration_setrole_err": "無法指派身分組。我沒有足夠的權限。", - "administration_set_avatar": "新的大頭貼已設定!", - "administration_set_channel_name": "新的頻道名稱已設定。", - "administration_set_game": "新的遊戲名稱已設定!", - "administration_set_stream": "已設定新的實況台!", - "administration_set_topic": "新的頻道主題已設定!", - "administration_shard_reconnected": "Shard {0} 已重新連線。", - "administration_shard_reconnecting": "Shard {0} 重新連線中。", - "administration_shutting_down": "關閉中", - "administration_slowmode_desc": "成員無法在 {1} 秒發送超過 {0} 條訊息。", - "administration_slowmode_disabled": "慢速模式已停用。", - "administration_slowmode_init": "慢速模式已啟用", - "administration_soft_banned_pl": "軟禁 (踢出)", - "administration_spam_ignore": "{0} 將會忽略此頻道。", - "administration_spam_not_ignore": "{0} 將會注意此頻道。", - "administration_spam_stats": "如果成員連續貼出 {0} 個相同的訊息,我將會把他們 {1}。\n     __忽略的頻道__: {2}", - "administration_text_chan_created": "文字頻道已建立", - "administration_text_chan_destroyed": "文字頻道已刪除", - "administration_undeafen": "成功解除靜音。", - "administration_unmuted_sn": "解除靜音", - "administration_username": "成員名稱", - "administration_username_changed": "成員名稱已更改", - "administration_users": "成員", - "administration_user_banned": "成員已封鎖", - "administration_user_chat_mute": "已**禁止** {0} 的__文字聊天__。", - "administration_user_chat_unmute": "已**開啟** {0} 的__文字聊天__。", - "administration_user_joined": "成員已加入", - "administration_user_left": "成員已離開", - "administration_user_muted": "已**禁止** {0} 的__文字和語音聊天__。", - "administration_user_role_add": "成員身分組已新增", - "administration_user_role_rem": "成員身分組已移除", - "administration_user_status_change": "{0} 現在 {1}", - "administration_user_unmuted": "已**開放** {0} 的__文字和語音聊天__。", - "administration_user_vjoined": "{0} 加入了 {1} 語音頻道。", - "administration_user_vleft": "{0} 離開了 {1} 語音頻道。", - "administration_user_vmoved": "{0} 已從 {1} 移至 {2} 語音頻道。", - "administration_user_voice_mute": "已**禁止** {0} 的__語音聊天__。", - "administration_user_voice_unmute": "已**開放** {0} 的__語音聊天__。", - "administration_voice_chan_created": "已建立語音頻道", - "administration_voice_chan_destroyed": "已刪除語音頻道", - "administration_vt_disabled": "已停用語音+文字功能。", - "administration_vt_enabled": "已啟用語音+文字功能。", - "administration_vt_exit": "我沒有**管理身分組**和/或**管理頻道**權限,所以我無法在 {0} 伺服器上執行`語音+文字`功能。", - "administration_vt_no_admin": "您正在啟用/停用此功能,但我**__没有__管理員權限**。這可能會造成一些問題,而事後您必須自行處理這些文字頻道。", - "administration_vt_perms": "我至少需要**管理身份組**和**管理頻道**權限才能使用此功能。(建議給我管理員權限)", - "administration_xmuted_text": "使用者被 {0} 文字聊天", - "administration_xmuted_text_and_voice": "使用者被 {0} 文字及語音聊天", - "administration_xmuted_voice": "使用者被 {0} 語音聊天", - "administration_sbdm": "您已被伺服器 {0} 軟禁。\n理由: {1}", - "administration_user_unbanned": "成員已解禁", - "administration_migration_done": "合併完成!", - "adminsitration_migration_error": "在合併時發生問題,請查閱命令視窗來取得更多資訊。", - "administration_presence_updates": "在線狀態更新", - "administration_sb_user": "成員被軟禁", - "gambling_awarded": "賜予了 {1} 給 {0}", - "gambling_better_luck": "再接再厲,下次會更好 ^_^", - "gambling_br_win": "恭喜! 您因骰出高於 {1} 以上獲得了 {0}", - "gambling_deck_reshuffled": "重新洗牌。", - "gambling_flipped": "丟出了 {0}。", - "gambling_flip_guess": "您猜對了! 您赢得了 {0}", - "gambling_flip_invalid": "指定的數字無效。你可以丟 1 至 {0} 個硬幣。", - "gambling_flowerreaction_desc": "點選此訊息的 {0} 回應來獲得 {1}␣", - "gambling_flowerreaction_footer": "此活動只在 {0} 小時內有效。", - "gambling_flowerreaction_title": "花幣大放送開始了!", - "gambling_gifted": "送了 {0} 給 {1}", - "gambling_has": "{0} 擁有 {1}", - "gambling_heads": "正面", - "gambling_leaderboard": "排行榜", - "gambling_mass_award": "賜予了 {0} 給 {1} 名 {2} 身分組成員。", - "gambling_max_bet_limit": "你的賭注不能大於 {0}", - "gambling_min_bet_limit": "你的賭注不能少於 {0}", - "gambling_not_enough": "你沒有足夠的 {0}", - "gambling_no_more_cards": "卡堆中没有更多的牌。", - "gambling_raffled_user": "得獎成員", - "gambling_roll": "您骰了 {0}。", - "gambling_slot_bet": "下注", - "gambling_slot_jackpot": "哇啊啊啊啊啊啊!!! 恭喜!!! - 投注 x{0}", - "gambling_slot_single": "一個 {0} - 投注 x{1}", - "gambling_slot_three": "哇! 真幸運! 三個一樣! - 投注 x{0}", - "gambling_slot_two": "不錯喔! 兩個{0} - 投注 x{1}", - "gambling_slot_won": "獲得", - "gambling_sneakygamestatus_desc": "成員必須要輸入一個暗號來獲得 {0}。\n持續 {1} 秒。嘘~别跟任何人说。 ", - "gambling_sneakygamestatus_end": "秘密活動结束。 {0}個成員獲得獎勵。", - "gambling_sneakygamestatus_title": "秘密活動開始", - "gambling_tails": "反面", - "gambling_take": "成功從 {1} 獲得 {0}", - "gambling_take_fail": "無法從 {1} 獲得 {0},因為成員並沒有那麼多 {2}!", - "help_back_to_toc": "回目錄", - "help_bot_owner_only": "只限Bot擁有者", - "help_channel_permission": "需要 {0} 頻道權限。", - "help_cmdlist_donate": "您可以透過 Patreon: <{0}> 或 Paypal: <{1}> 來贊助此專案", - "help_cmd_and_alias": "指令和快捷", - "help_commandlist_regen": "已重建指令清單。", - "help_commands_instr": "輸入`{0}h 指令名稱`來查閱該指令的詳細說明。 例如 `{0}h >8ball`", - "help_command_not_found": "我找不到该指令。請再次查詢前確定該指令是否存在。", - "help_desc": "說明", - "help_donate": "您可以透過:\nPatreon <{0}> 或\nPaypal <{1}>\n來贊助NadekoBot專案\n請不要忘記在訊息中留下您的ID。\n\n**感謝您**♥️", - "help_guide": "**指令清單**: <{0}>\n**自己架設的教學和文件可參考**: <{1}>", - "help_list_of_commands": "指令清單", - "help_list_of_modules": "模組清單\n", - "help_modules_footer": "輸入`{0}cmds 模組名稱`來查閱該模組的詳細說明。 例如 `{0}cmds games`", - "help_module_not_found": "該模組不存在。", - "help_server_permission": "需要 {0} 伺服器權限。", - "help_table_of_contents": "目錄", - "help_usage": "使用方式", - "nsfw_autohentai_started": "啟動 Autohentai。每 {0} 秒發送一張含有以下標籤的圖片:\n{1}", - "nsfw_tag": "標籤", - "gambling_animal_race": "動物賽跑", - "gambling_animal_race_failed": "參賽者不足,無法開始比賽。", - "gambling_animal_race_full": "參賽者已滿! 立即開始比賽。", - "gambling_animal_race_join": "{0} 扮演為 {1}", - "gambling_animal_race_join_bet": "{0} 扮演為 {1} 並下注了 {2}!", - "gambling_animal_race_join_instr": "輸入 {0}jr 來加入比賽。", - "gambling_animal_race_starting": "比賽將於20秒後或參賽人數人滿時開始。", - "gambling_animal_race_starting_with_x": "比賽開始,共有 {0} 位參賽者。", - "gambling_animal_race_won": "身為 {1} 的 {0} 贏得比賽!", - "gambling_animal_race_won_money": "身為 {1} 的 {0} 贏得比賽並獲得 {2}!", - "gambling_dice_invalid_number": "指定的數量無效。您可以一次骰 {0} ~ {1} 個骰子。", - "gambling_dice_rolled": "骰出了 {0}", - "gambling_dice_rolled_num": "骰子數量: {0}", - "gambling_race_failed_starting": "無法開始比賽。另一個比賽可能正在進行中。", - "gambling_race_not_exist": "此伺服器上沒有競賽", - "gambling_second_larger_than_first": "第二個數字必須大於前者。", - "gambling_changes_of_heart": "變心次數", - "gambling_claimed_by": "契身約者", - "gambling_divorces": "離婚次數", - "gambling_likes": "暗戀著", - "gambling_price": "價格", - "gambling_waifus_none": "還沒有任何人擄獲任何對象。", - "gambling_waifus_top_waifus": "最佳對象", - "gambling_waifu_affinity_already": "您的暗戀目標已經是該對象,或是您在沒有暗戀對象下嘗試取消暗戀對象。", - "gambling_waifu_affinity_changed": "已將暗戀者 {0} 變更為 {1}。\n\n*這是一個值得沈思的道德問題*🤔", - "gambling_waifu_affinity_cooldown": "您必须等待 {0} 小時 {1} 分鐘才能再次變更您的暗戀者。", - "gambling_waifu_affinity_reset": "你已經不再暗戀任何人。", - "gambling_waifu_affinity_set": "想要成為 {0} 的後宮。 嗚挖~ <3", - "gambling_waifu_claimed": "花了 {1} 將 {0} 收為後宮!", - "gambling_waifu_divorced_like": "你已經甩掉了一位喜歡你的對象,你這無情的怪物。\n作為補償,{0} 獲得了{1}。", - "gambling_waifu_egomaniac": "你不能設定自己為暗戀對象,你這自戀狂。", - "gambling_waifu_fulfilled": "🎉他們的愛情終於開花結果 🎉\n{0} 的新值為 {1}!", - "gambling_waifu_isnt_cheap": "後宮才沒有那麼便宜。您必須至少支付 {0} 以上才能買下對方,即使對方的所需金額比這個還低。", - "gambling_waifu_not_enough": "您必須支付 {0} 或更多才能收納對方入你後宮!", - "gambling_waifu_not_yours": "那個後宮不是你的。", - "gambling_waifu_not_yourself": "你不能將自己收入後宮。", - "gambling_waifu_recent_divorce": "您最近才剛離過婚。您必須再等待 {0} 小時和 {1} 分鐘才能再次離婚。", - "gambling_nobody": "沒人", - "gambling_waifu_divorced_notlike": "您已經與一位不愛您的人離婚了。您回收了{0}。", - "games_8ball": "8ball", - "games_acrophobia": "藏頭詩", - "games_acro_ended_no_sub": "遊戲結束,沒人發表答案。", - "games_acro_no_votes_cast": "沒人投票。遊戲已沒有勝利者結束。", - "games_acro_nym_was": "開頭字母為 {0}。", - "games_acro_running": "藏頭詩遊戲已在此頻道中運行中。", - "games_acro_started": "遊戲開始,請造一個句子使用以下字首: {0}。", - "games_acro_started_footer": "您有 {0} 秒的時間作答。", - "games_acro_submit": "{0} 送出了他的句子。(共{1}個)", - "games_acro_vote": "請輸入您喜歡的句子編號。", - "games_acro_vote_cast": "{0} 投下了他寶貴的一票!", - "games_acro_winner": "優勝者為獲得 {1} 分的 {0}。", - "games_acro_winner_only": "優勝者為唯一一個送出答案的 {0}!", - "games_question": "題目", - "games_rps_draw": "平手! 雙方都選擇了 {0}", - "games_rps_win": "{0} 赢了! {1} 打敗了 {2}", - "games_submissions_closed": "結束收件", - "gambling_animal_race_already_started": "動物賽跑已經在運行中了。", - "gambling_total_average": "總共: {0} 平均: {1}", - "games_category": "分類", - "games_cleverbot_disabled": "已在此伺服器上停用Cleverbot。", - "games_cleverbot_enabled": "已在此伺服器上啟用Cleverbot。", - "games_curgen_disabled": "停止在此頻道上生產貨幣。", - "games_curgen_enabled": "開始在此頻道上生產貨幣。", - "games_curgen_pl": "發現了 {0} 個野生的 {1}!", - "games_curgen_sn": "發現了一個野生的 {0}!", - "games_failed_loading_question": "載入問題失敗。", - "games_game_started": "遊戲開始", - "games_hangman_game_started": "Hangman遊戲開始了", - "games_hangman_running": "Hangman遊戲已經在此頻道上執行中。", - "games_hangman_start_errored": "Hangman啟動失敗。", - "games_hangman_types": "“{0}hangman” 單詞類型:", - "games_leaderboard": "排行榜", - "games_not_enough": "您沒有足夠的 {0}", - "games_no_results": "沒有結果", - "games_picked": "獲得了 {0}", - "games_planted": "{0} 種了 {1}", - "games_trivia_already_running": "知識小學堂已經在此伺服器上運行中。", - "games_trivia_game": "知識小學堂", - "games_trivia_guess": "{0} 答對了! 答案是: {1}", - "games_trivia_none": "此伺服器上沒有運行中的知識小學堂。", - "games_trivia_points": "{0} 有 {1} 分", - "games_trivia_stopping": "於此問題後結束。", - "games_trivia_times_up": "時間到! 正確答案為: {0}", - "games_trivia_win": "{0} 答對並贏得遊戲! 答案是: {1}", - "games_ttt_against_yourself": "你不能對自己玩。", - "games_ttt_already_running": "圈圈叉叉遊戲已經在此頻道上運行中。", - "games_ttt_a_draw": "平手!", - "games_ttt_created": "開始了一場圈圈叉叉遊戲。", - "games_ttt_has_won": "{0} 赢了!", - "games_ttt_matched_three": "配對了三個", - "games_ttt_no_moves": "沒有可動的步!", - "games_ttt_time_expired": "時間已到!", - "games_ttt_users_move": "輪到 {0} 了", - "games_vs": "{0} 對 {1}", - "music_attempting_to_queue": "正在點播 {0} 首歌...", - "music_autoplay_disabled": "已停用自動播放。", - "music_autoplay_enabled": "已啟用自動播放。", - "music_defvol_set": "預設音量設定為 {0}%", - "music_dir_queue_complete": "目錄載入完成。", - "music_fairplay": "公平播放", - "music_finished_song": "完成播放", - "music_fp_disabled": "停用公平播放。", - "music_fp_enabled": "啟用公平播放。", - "music_from_position": "從位置", - "music_id": "代號", - "music_invalid_input": "輸入錯誤。", - "music_max_playtime_none": "音樂長度現在沒有限制了。", - "music_max_playtime_set": "每首音樂最長長度設定為{0}秒。", - "music_max_queue_unlimited": "播放清單大小現在沒有限制了。", - "music_max_queue_x": "播放清單最多可以點播 {0} 首。", - "music_must_be_in_voice": "你必須要進入在此伺服器上的語音頻道。", - "music_name": "名稱", - "music_now_playing": "正在播放", - "music_no_player": "沒有正在運行中的播放器。", - "music_no_search_results": "沒有搜尋結果。", - "music_paused": "暫停播放音樂。", - "music_player_queue": "播放清單 - 第 {0} / {1} 頁", - "music_playing_song": "正在播放", - "music_playlists": "`#{0}` - **{1}** by *{2}* ({3}首歌)", - "music_playlists_page": "已儲存的播放清單第 {0} 頁", - "music_playlist_deleted": "播放清單已刪除。", - "music_playlist_delete_fail": "刪除清單失敗。清單要不是不存在,或你不是該清單的作者。", - "music_playlist_id_not_found": "此播放清單代號並不存在。", - "music_playlist_queue_complete": "播放清單載入完成。", - "music_playlist_saved": "播放清單已儲存", - "music_play_limit": "{0} 秒限制", - "music_queue": "排序清單", - "music_queued_song": "加入排序", - "music_queue_cleared": "排序清單已清除", - "music_queue_full": "排序已滿於 {0} / {0}。", - "music_removed_song": "已移除歌曲", - "music_repeating_cur_song": "重複播放目前歌曲", - "music_repeating_playlist": "重複播放目前清單", - "music_repeating_track": "重複曲目", - "music_repeating_track_stopped": "停止重複播放目前歌曲。", - "music_resumed": "繼續播放音樂。", - "music_rpl_disabled": "停用重複播放清單", - "music_rpl_enabled": "啟用重複播放清單。", - "music_set_music_channel": "我將在此頻道輸出播放、暫停、結束和移除歌曲的訊息。", - "music_skipped_to": "跳至 `{0}:{1}`", - "music_songs_shuffled": "隨機播放", - "music_song_moved": "歌曲移至", - "music_time_format": "{0}小時{1}分鐘{2}秒", - "music_to_position": "到位置", - "music_unlimited": "無限", - "music_volume_input_invalid": "音量必須介於0至100之間", - "music_volume_set": "音量調整為 {0}%", - "permissions_acm_disable": "在{0}頻道上禁用執行所有模組指令。", - "permissions_acm_enable": "在{0}頻道上開放執行所有模組指令。", - "permissions_allowed": "允許", - "permissions_arm_disable": "在{0}身份組上禁用執行所有模組指令。", - "permissions_arm_enable": "在{0}身份組上開放執行所有模組指令。", - "permissions_asm_disable": "在此伺服器上禁用執行所有模組指令。", - "permissions_asm_enable": "在此伺服器上開放執行所有模組指令。", - "permissions_aum_disable": "{0}成員禁用執行所有模組指令。", - "permissions_aum_enable": "{0}成員開放執行所有模組指令。", - "permissions_blacklisted": "ID {1} 被加入 {0} 黑名单", - "permissions_cmdcd_add": "指令 {0} 現在有 {1}秒 冷卻時間。", - "permissions_cmdcd_cleared": "指令 {0} 現在沒有冷卻時間,且目前正在冷卻的也一並移除。", - "permissions_cmdcd_none": "尚未設定任何指令冷卻時間。", - "permissions_command_costs": "指令成本", - "permissions_cx_disable": "在 {2} 頻道上禁用 {0} {1}。", - "permissions_cx_enable": "在 {2} 頻道上開放 {0} {1}。", - "permissions_denied": "拒絕", - "permissions_filter_word_add": "新增 {0} 至過濾文字清單。", - "permissions_filter_word_list": "過濾文字清單", - "permissions_filter_word_remove": "從過濾文字清單中移除 {0}。", - "permissions_invalid_second_param_between": "第二個參數無效 (必須為一個在 {0} 和 {1} 之間的數字)", - "permissions_invite_filter_channel_off": "在此頻道上停用邀請連結過濾。", - "permissions_invite_filter_channel_on": "在此頻道上啟用邀請連結過濾。", - "permissions_invite_filter_server_off": "在此伺服器上停用邀請連結過濾。", - "permissions_invite_filter_server_on": "在此伺服器上啟用邀請連結過濾。", - "permissions_moved_permission": "已將權限 {0} 從 #{1} 移至 #{2}", - "permissions_not_found": "在索引 #{0} 找不到權限", - "permissions_no_costs": "尚未設置價格。", - "permissions_of_command": "指令", - "permissions_of_module": "模組", - "permissions_page": "權限頁面第 {0} 頁", - "permissions_permrole": "目前管理身分組為 {0}。", - "permissions_permrole_changed": "成員現在需要 {0} 身份組才能編輯權限。", - "permissions_perm_out_of_range": "該索引找不到權限。", - "permissions_removed": "已刪除權限 #{0} - {1}", - "permissions_rx_disable": "禁止{2}身份組執行{0} {1}。", - "permissions_rx_enable": "開放{2}身份組執行{0} {1}。", - "permissions_sec": "秒", - "permissions_sx_disable": "在此伺服器上停用 {0} {1}。", - "permissions_sx_enable": "在此伺服器上啟用 {0} {1}。", - "permissions_unblacklisted": "從 {0} 黑名單上移除 ID {1}", - "permissions_uneditable": "不可編輯", - "permissions_ux_disable": "禁止 {2} 成員執行 {0} {1}。", - "permissions_ux_enable": "開放 {2} 成員執行 {0} {1}。", - "permissions_verbose_false": "我不再顯示權限警告。", - "permissions_verbose_true": "我將會顯示權限警告。", - "permissions_word_filter_channel_off": "停用過濾此頻道文字。", - "permissions_word_filter_channel_on": "啟用過濾此頻道文字。", - "permissions_word_filter_server_off": "停用過濾此伺服器文字。", - "permissions_word_filter_server_on": "啟用過濾此伺服器文字。", - "searches_abilities": "能力", - "searches_anime_no_fav": "還沒有最喜歡的動畫", - "searches_atl_ad_started": "開始自動翻譯此頻道上的訊息。成員訊息將會被刪除。", - "searches_atl_removed": "自動翻譯設定已移除。", - "searches_atl_set": "自動翻譯語言設定為 {0} > {1}", - "searches_atl_started": "開始自動翻譯此頻道上的訊息。", - "searches_atl_stopped": "停止自動翻譯此頻道上的訊息。", - "searches_bad_input_format": "輸入格式錯誤,或是系統出問題了。", - "searches_card_not_found": "找不到該卡片", - "searches_catfact": "小知識", - "searches_chapters": "章節數", - "searches_comic_number": "漫畫編號", - "searches_compet_loses": "競技敗場數", - "searches_compet_played": "競技次數", - "searches_compet_rank": "競技排行", - "searches_compet_wins": "競技勝場數", - "searches_completed": "全部看完", - "searches_condition": "天氣情況", - "searches_cost": "消耗", - "searches_date": "日期", - "searches_define": "定義:", - "searches_dropped": "放棄", - "searches_episodes": "集數", - "searches_error_occured": "錯誤發生。", - "searches_example": "範例", - "searches_failed_finding_anime": "找不到該動畫。", - "searches_failed_finding_manga": "找不到該漫畫。", - "searches_genres": "類型", - "searches_hashtag_error": "找不到標籤定義", - "searches_height_weight": "身高/體重", - "searches_height_weight_val": "{0}m/{1}kg", - "searches_humidity": "濕度", - "searches_image_search_for": "搜尋圖片:", - "searches_imdb_fail": "找不到該電影", - "searches_invalid_lang": "來源或目標語言錯誤", - "searches_jokes_not_loaded": "沒有載入笑話。", - "searches_latlong": "緯度/經度", - "searches_level": "等級", - "searches_list_of_place_tags": "{0}place 可使用參數", - "searches_location": "地區", - "searches_magicitems_not_loaded": "沒有載入魔法道具。", - "searches_mal_profile": "{0} 的 MAL 個人檔案", - "searches_mashape_api_missing": "您無法使用此功能,因為Bot擁有者並沒有設定Mashape API代碼。", - "searches_min_max": "低溫/高溫", - "searches_no_channel_found": "找不到頻道。", - "searches_no_results": "沒有結果。", - "searches_on_hold": "暫停", - "searches_original_url": "原始連結", - "searches_osu_api_key": "需要 osu! API 代碼。", - "searches_osu_failed": "讀取 osu! 簽名檔失敗。", - "searches_over_x": "找到超過 {0} 張圖。 顯示隨機 {0}。", - "searches_ow_user_not_found": "找不到該玩家! 請再次檢查BattleTag及區域是否正確。", - "searches_plan_to_watch": "預計觀看", - "searches_platform": "平台", - "searches_pokemon_ability_none": "找不到技能", - "searches_pokemon_none": "找不到寶可夢", - "searches_profile_link": "個人首頁:", - "searches_quality": "品質:", - "searches_quick_playtime": "快速對戰時間", - "searches_quick_wins": "快速對戰勝場數", - "searches_rating": "評分", - "searches_score": "分數:", - "searches_search_for": "搜尋:", - "searches_shorten_fail": "縮短網址失敗。", - "searches_short_url": "短網址", - "searches_something_went_wrong": "出了些問題。", - "searches_specify_search_params": "請註明要搜尋的項目。", - "searches_status": "狀態", - "searches_store_url": "商店網址", - "searches_streamer_offline": "實況主 {0} 目前離線中。", - "searches_streamer_online": "實況主 {0} 目前直播中,有 {1} 名觀眾。", - "searches_streams_following": "此伺服器目前正在追蹤 {0} 位實況主。", - "searches_streams_none": "此伺服器目前沒有追蹤任何實況主。", - "searches_stream_no": "找不到實況台。", - "searches_stream_not_exist": "實況台大概不存在。", - "searches_stream_removed": "移除了追蹤清單上 {0}實況主 ({1}) 的實況台", - "searches_stream_tracked": "我將會在此頻道通知實況主狀態。", - "searches_sunrise": "日出時間", - "searches_sunset": "日落時間", - "searches_temperature": "氣溫", - "searches_title": "標題:", - "searches_top_3_fav_anime": "前三喜歡的動畫:", - "searches_translation": "翻譯:", - "searches_types": "類型", - "searches_ud_error": "找不到該詞的定義。", - "searches_url": "連結", - "searches_viewers": "觀眾", - "searches_watching": "正在看", - "searches_wikia_error": "無法在指定的維基上找到該詞。", - "searches_wikia_input_error": "請輸入要搜尋的維基,然後才是搜尋單詞。", - "searches_wiki_page_not_found": "找不到該頁面。", - "searches_wind_speed": "風速", - "searches_x_most_banned_champs": "{0} 個最常被禁的英雄", - "searches_yodify_error": "無法尤達化你的句子。", - "utiliity_joined": "已加入", - "utility_activity_line": "`{0}.` {1} [{2:F2}/秒] - 共 {3}", - "utility_activity_page": "活動頁面 #{0}", - "utility_activity_users_total": "共 {0} 個使用者。", - "utility_author": "作者", - "utility_botid": "Bot ID", - "utility_calcops": "可在 {0}calc 使用的函式", - "utility_channelid": "這個頻道的 {0} 是 {1}", - "utility_channel_topic": "頻道主題", - "utility_commands_ran": "執行指令", - "utility_convert": "{0} {1} 等於 {2} {3}", - "utility_convertlist": "轉換器可以使用的單位", - "utility_convert_not_found": "無法將 {0} 轉換成 {1}: 找不到單位", - "utility_convert_type_error": "無法將 {0} 轉換成 {1}: 單位類型並不相同", - "utility_created_at": "建立於", - "utility_csc_join": "加入了跨服頻道", - "utility_csc_leave": "離開了跨服頻道", - "utility_csc_token": "這個是你的跨服頻道代碼", - "utility_custom_emojis": "自訂表情符號", - "utility_error": "錯誤", - "utility_features": "特色", - "utility_id": "ID", - "utility_index_out_of_range": "索引超過範圍", - "utility_inrole_list": "{0} 身分組中的成員", - "utility_inrole_not_allowed": "您無法在有很多成員的身分組執行此指令來預防濫用。", - "utility_invalid_value": "無效的 {0} 數值", - "utility_joined_discord": "加入了 Discord", - "utility_joined_server": "加入了伺服器", - "utility_listservers": "伺服器 ID: {0}\n成員數: {1}\n擁有者 ID: {2}", - "utility_listservers_none": "在那個頁面找不到伺服器。", - "utility_list_of_repeaters": "重複清單", - "utility_members": "成員", - "utility_memory": "記憶體", - "utility_messages": "訊息", - "utility_message_repeater": "訊息重複器", - "utility_name": "名字", - "utility_nickname": "暱稱", - "utility_nobody_playing_game": "沒有人正在玩那款遊戲。", - "utility_no_active_repeaters": "沒有運行中的重複器", - "utility_no_roles_on_page": "此頁面上沒有身分組", - "utility_no_shards_on_page": "此頁面上沒有Shard", - "utility_no_topic_set": "沒有設定主題", - "utility_owner": "擁有者", - "utility_owner_ids": "擁有者ID", - "utility_presence": "狀態", - "utility_presence_txt": "{0} 伺服器\n{1} 文字頻道\n{2} 語音頻道", - "utility_quotes_deleted": "刪除了所有包含了 {0} 關鍵字的引句。", - "utility_quotes_page": "引句第{0}頁", - "utility_quotes_page_none": "此頁沒有引句", - "utility_quotes_remove_none": "找不到您可以刪除的引句", - "utility_quote_added": "新增引句", - "utility_quote_deleted": "引句#{0}已刪除", - "utility_region": "地區", - "utility_registered_on": "註冊於", - "utility_remind": "我將會在 {2} 後提醒 {0} 說 {1} `({3:d.M.yyyy.} 於 {4:HH:mm})` ", - "utility_remind_invalid_format": "無效的時間格式。請檢查指令說明。", - "utility_remind_template": "新的提醒範本已設定。", - "utility_repeater": "每 {1} 天 {2} 小時又 {3} 分鐘後重複 {0}。", - "utility_repeaters_list": "重複器清單", - "utility_repeaters_none": "此伺服器沒有運行中的重複器。", - "utility_repeater_stopped": "#{0} 已停止", - "utility_repeat_invoke_none": "此伺服器上找不到重複中的訊息。", - "utility_result": "結果", - "utility_roles": "身分組", - "utility_roles_all_page": "此伺服器上所有身分組 - 第 #{0} 頁", - "utility_roles_page": "身分組 {1} 的第 #{0} 頁", - "utility_rrc_no_colors": "顏色的格式錯誤。正確的格式例如`#00ff00`。", - "utility_rrc_start": "開始循環變更 {0} 身分組的顏色。", - "utility_rrc_stop": "停止循環變更 {0} 身分組的顏色。", - "utility_serverid": "這個伺服器的 {0} 是 {1}", - "utility_server_info": "伺服器資訊", - "utility_shard": "Shard", - "utility_shard_stats": "Shard狀態", - "utility_shard_stats_txt": "Shard **#{0}** 的狀態與 {2} 伺服器為 {1} ", - "utility_showemojis": "**名稱:** {0} **連結:** {1}", - "utility_showemojis_none": "找不到特殊的表情符號。", - "utility_stats_songs": "正在播放 {0} 首歌,{1} 首已點播。", - "utility_text_channels": "文字頻道", - "utility_togtub_room_link": "這是您的房間連結:", - "utility_uptime": "上線時間", - "utility_userid": "{1} 的 {0} 是 {2}", - "utility_users": "成員", - "utility_voice_channels": "語音頻道", - "gambling_animal_race_already_in": "您已經加入了這場比賽!", - "games_current_poll_results": "目前投票結果", - "games_no_votes_cast": "沒有人投票。", - "games_poll_already_running": "此伺服器正在投票中。", - "games_poll_created": "📃 {0} 建立了一個需要您的注意的投票: ", - "games_poll_result": "`{0}.` {1} 有 {2} 票。", - "games_poll_voted": "{0} 投下了神聖的一票。", - "games_poll_vote_private": "請私訊我您要投票的號碼。", - "games_poll_vote_public": "請在此打出要投票的號碼。", - "games_thanks_for_voting": "感謝您神聖的一票,{0}", - "games_x_votes_cast": "總票數為 {0}", - "games_pick_pl": "輸入 `{0}pick` 來拾取。", - "games_pick_sn": "輸入 `{0}pick` 來拾取。", - "gambling_no_users_found": "找不到成員", - "gambling_page": "第 {0} 頁", - "administration_must_be_in_voice": "您必須要在此伺服器上的語音頻道。", - "administration_no_vcroles": "沒有語音頻道身分組。", - "administration_user_muted_time": "{0} 已被 **禁止** __文字和語音聊天__,持續 {1} 分鐘。", - "administration_vcrole_added": "進入 {0} 頻道的成員將會獲得 {1} 身分組。", - "administration_vcrole_removed": "進入 {0} 頻道的成員將不再獲得身分組。", - "administration_vc_role_list": "語音頻道身分組", - "customreactions_crad_disabled": "觸發自訂回應 ID 為 {0} 的訊息不會自動刪除。", - "customreactions_crad_enabled": "觸發自訂回應 ID 為 {0} 的訊息將會自動刪除。", - "customreactions_crdm_disabled": "自訂回應 ID 為 {0} 的回應不會以私訊方式傳送。", - "customreactions_crdm_enabled": "自訂回應 ID 為 {0} 的回應將會以私訊方式傳送。", - "utility_aliases_none": "找不到別名", - "utility_alias_added": "現在輸入 {0} 會被辨識為 {1} 的別名了。", - "utility_alias_list": "別名列表", - "utility_alias_removed": "觸發 {0} 不再有別名。", - "utility_alias_remove_fail": "觸發 {0} 並沒有別名。", - "searches_compet_playtime": "競技時數", - "administration_channel": "頻道", - "administration_command_text": "指令", - "administration_kicked_pl": "踢除", - "administration_moderator": "群管", - "administration_page": "第 {0} 頁", - "administration_reason": "理由", - "administration_scadd": "已新增新的啟動執行命令。", - "administration_scrm": "啟動執行命令已移除。", - "administration_scrm_fail": "找不到啟動執行命令。", - "administration_server": "伺服器", - "administration_startcmdlist_none": "此頁沒有啟動執行命令。", - "administration_startcmds_cleared": "已清除所有啟動執行命令。", - "administration_unbanned_user": "成員 {0} 已解除封鎖。", - "administration_user_not_found": "找不到成員。", - "administration_user_warned": "已警告成員 {0} 。", - "administration_user_warned_and_punished": "成員 {0} 因警告多次故以 {0} 作為懲罰。", - "administration_warned_on": "在 {0} 伺服器上警告", - "administration_warned_on_by": "於 {0} {1},由 {2}", - "administration_warnings_cleared": "已清除成員 {0} 上的所有警告。", - "administration_warnings_none": "此頁沒有警告。", - "administration_warnlog_for": "{0} 的警告紀錄", - "administration_warnpl_none": "沒有設定懲處罰則。", - "administration_warn_cleared_by": "由 {0} 清除", - "administration_warn_punish_list": "警告懲處清單", - "administration_warn_punish_rem": "擁有 {0} 支警告不再觸發懲處。", - "administration_warn_punish_set": "我將會用 {0} 懲處擁有 {0} 支警告的成員。", - "administration_slowmodewl_role_start": "Slowmode 將不再套用於 {0} 身分組。", - "administration_slowmodewl_role_stop": "Slowmode 將套用於 {0} 身分組。", - "administration_slowmodewl_user_start": "Slowmode 將不再套用於 {0} 成員。", - "administration_slowmodewl_user_stop": "Slowmode 將套用於 {0} 成員。", - "utility_clpa_fail": "因下列因素而無法領獎:", - "utility_clpa_fail_already": "您一個月只能領一次獎勵,除非您的贊助金額有提升。", - "utility_clpa_fail_already_title": "獎勵已發送", - "utility_clpa_fail_conn": "您的Discord帳號可能未與Patreon帳戶連結。若您不確定,或不知道如何連結的話,請至您的[Patreon帳戶設定](https://patreon.com/settings/account)並點選'連節至Discord'按鈕。", - "utility_clpa_fail_conn_title": "尚未連接Discord帳號", - "utility_clpa_fail_sup": "您必須要與Patreon連結您的Discord帳戶才符合領獎資格。您可以使用 {0} 指令來取得連結。", - "utility_clpa_fail_sup_title": "無法支援", - "utility_clpa_fail_wait": "贊助完畢後需要等待數小時等資訊入系統,還請稍後再嘗試。", - "utility_clpa_fail_wait_title": "請稍等", - "utility_clpa_success": "您因贊助了此專案而獲得了{0}!", - "utility_clpa_too_early": "獎勵可於每月5日之後領取。", - "searches_time": "{0} 現在的時間為 {1} - {2}", - "administration_rh": "設定顯示{0}的身分組為{1}", - "gambling_name": "姓名", - "gambling_shop": "商店", - "gambling_shop_item_add": "商品以新增", - "gambling_shop_none": "此頁面找不到商品", - "gambling_shop_role": "您將會獲得{0}身分組。", - "gambling_type": "類型", - "utility_clpa_next_update": "下次更新於{0}", - "administration_global_perms_reset": "全域權限已重置。", - "administration_gvc_disabled": "遊戲語音頻道功能在此伺服器上停用。", - "administration_gvc_enabled": "{0}現在是一個遊戲語音頻道了。", - "administration_not_in_voice": "你並沒有在此伺服器上的語音頻道。", - "gambling_item": "物品", - "gambling_out_of_stock": "缺貨中", - "gambling_random_unique_item": "隨機獨特物品", - "gambling_shop_buy_error": "私訊物品失敗。您已獲得退款。", - "gambling_shop_item_not_found": "找不到該索引的道具。", - "gambling_shop_item_purchase": "成功購買物品。", - "gambling_shop_item_rm": "商品已移除。", - "gambling_shop_item_wrong_type": "那個商店並不支援新增商品功能。", - "gambling_shop_list_item_added": "商品已新增。", - "gambling_shop_list_item_not_unique": "該商品已存在。", - "gambling_shop_purchase": "在伺服器 {0} 上購買", - "gambling_shop_role_not_found": "該販售中的身分組已不存在。", - "gambling_shop_role_purchase": "您已經成功購買了 {0} 身分組。", - "gambling_shop_role_purchase_error": "指派身分組失敗。您已獲得退款。", - "gambling_unique_items_left": "還剩餘 {0} 物品。", - "permissions_blocked_commands": "阻擋的指令", - "permissions_blocked_modules": "阻擋的模組", - "permissions_gcmd_add": "{0} 指令已在所有伺服器上停用。", - "permissions_gcmd_remove": "{0} 指令已在所有伺服器上啟用。", - "permissions_gmod_add": "{0} 模組已在所有伺服器上停用。", - "permissions_gmod_remove": "{0} 模組已在所有伺服器上啟用。", - "permissions_lgp_none": "沒有任何阻擋的指令或模組。" -} \ No newline at end of file