1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-01-31 09:09:00 +03:00

List supported languages if an invalid one is provided (#9)

Co-authored-by: l1ttleO <l1ttleofficial@outlook.com>
This commit is contained in:
Macintxsh 2022-12-09 14:39:21 +03:00 committed by GitHub
parent fc00558dce
commit 938f918445
Signed by: GitHub
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 934 additions and 736 deletions

View file

@ -21,8 +21,7 @@ public static class Boyfriend {
}; };
private static readonly List<Tuple<Game, TimeSpan>> ActivityList = new() { private static readonly List<Tuple<Game, TimeSpan>> ActivityList = new() {
Tuple.Create(new Game("UNDEAD CORPORATION - Everything will freeze", ActivityType.Listening), Tuple.Create(new Game("Masayoshi Minoshima (ft. nomico) - Bad Apple!!", ActivityType.Listening), new TimeSpan(0, 3, 40)),
new TimeSpan(0, 3, 18)),
Tuple.Create(new Game("Xi - Blue Zenith", ActivityType.Listening), new TimeSpan(0, 4, 16)), Tuple.Create(new Game("Xi - Blue Zenith", ActivityType.Listening), new TimeSpan(0, 4, 16)),
Tuple.Create(new Game("Kurokotei - Scattered Faith", ActivityType.Listening), new TimeSpan(0, 8, 21)), Tuple.Create(new Game("Kurokotei - Scattered Faith", ActivityType.Listening), new TimeSpan(0, 8, 21)),
Tuple.Create(new Game("Splatoon 3 - Candy-Coated Rocks", ActivityType.Listening), new TimeSpan(0, 2, 39)), Tuple.Create(new Game("Splatoon 3 - Candy-Coated Rocks", ActivityType.Listening), new TimeSpan(0, 2, 39)),

View file

@ -111,7 +111,11 @@ public sealed class SettingsCommand : ICommand {
} }
if (selectedSetting is "Lang" && !Utils.CultureInfoCache.ContainsKey(value)) { if (selectedSetting is "Lang" && !Utils.CultureInfoCache.ContainsKey(value)) {
cmd.Reply(Messages.LanguageNotSupported, ReplyEmojis.Error); var langNotSupported = Boyfriend.StringBuilder.Append($"{Messages.LanguageNotSupported} ");
foreach (var lang in Utils.CultureInfoCache) langNotSupported.Append($"`{lang.Key}`, ");
langNotSupported.Remove(langNotSupported.Length - 2, 2);
cmd.Reply(langNotSupported.ToString(), ReplyEmojis.Error);
langNotSupported.Clear();
return Task.CompletedTask; return Task.CompletedTask;
} }

View file

@ -1,4 +1,4 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using Discord; using Discord;
using Discord.Rest; using Discord.Rest;
using Discord.WebSocket; using Discord.WebSocket;
@ -69,8 +69,7 @@ public static class EventHandler {
"whoami" => message.ReplyAsync("`nobody`"), "whoami" => message.ReplyAsync("`nobody`"),
"сука !!" => message.ReplyAsync("`root`"), "сука !!" => message.ReplyAsync("`root`"),
"воооо" => message.ReplyAsync("`removing /...`"), "воооо" => message.ReplyAsync("`removing /...`"),
"op ??" => message.ReplyAsync( "op ??" => message.ReplyAsync("некоторые пасхальные цитаты которые вы могли найти были легально взяты у <@573772175572729876>"),
"некоторые пасхальные цитаты которые вы могли найти были легально взяты у <@573772175572729876>"),
_ => new CommandProcessor(message).HandleCommandAsync() _ => new CommandProcessor(message).HandleCommandAsync()
}; };
return Task.CompletedTask; return Task.CompletedTask;

View file

@ -1,6 +1,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@ -18,7 +19,7 @@ namespace Boyfriend {
// class via a tool like ResGen or Visual Studio. // class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen // To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project. // with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Messages { internal class Messages {
@ -528,7 +529,7 @@ namespace Boyfriend {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Language not supported!. /// Looks up a localized string similar to Language not supported! Supported languages:.
/// </summary> /// </summary>
internal static string LanguageNotSupported { internal static string LanguageNotSupported {
get { get {

View file

@ -1,369 +1,462 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" <!--
id="root" Microsoft ResX Schema
xmlns="">
<xsd:element name="root" msdata:IsDataSet="true">
</xsd:element> Version 2.0
</xsd:schema>
<resheader name="resmimetype"> The primary goals of this format is to allow a simple XML format
<value>text/microsoft-resx</value> that is mostly human readable. The generation and parsing of the
</resheader> various data types are done through the TypeConverter classes
<resheader name="version"> associated with the data types.
<value>1.3</value>
</resheader> Example:
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, ... ado.net/XML headers & schema ...
PublicKeyToken=b77a5c561934e089 <resheader name="resmimetype">text/microsoft-resx</resheader>
</value> <resheader name="version">2.0</resheader>
</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer"> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
PublicKeyToken=b77a5c561934e089 <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
</value> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
</resheader> <value>[base64 mime encoded serialized .NET Framework object]</value>
<data name="Ready" xml:space="preserve"> </data>
<value>{0}I'm ready!</value> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
</data> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<data name="CachedMessageDeleted" xml:space="preserve"> <comment>This is a comment</comment>
<value>Deleted message from {0} in channel {1}: {2}</value> </data>
</data>
<data name="CachedMessageEdited" xml:space="preserve"> There are any number of "resheader" rows that contain simple
<value>Edited message in channel {0}: {1} -&gt; {2}</value> name/value pairs.
</data>
<data name="DefaultWelcomeMessage" xml:space="preserve"> Each data row contains a name, and value. The row also contains a
<value>{0}, welcome to {1}</value> type or mimetype. Type corresponds to a .NET class that support
</data> text/value conversion through the TypeConverter architecture.
<data name="Beep1" xml:space="preserve"> Classes that don't support this are serialized and stored with the
<value>Bah! </value> mimetype set.
</data>
<data name="Beep2" xml:space="preserve"> The mimetype is used for serialized objects, and tells the
<value>Bop! </value> ResXResourceReader how to depersist the object. This is currently not
</data> extensible. For a given mimetype the value must be set accordingly:
<data name="Beep3" xml:space="preserve">
<value>Beep! </value> Note - application/x-microsoft.net.object.binary.base64 is the format
</data> that the ResXResourceWriter will generate, however the reader can
<data name="CommandNoPermissionBot" xml:space="preserve"> read any of the formats listed below.
<value>I do not have permission to execute this command!</value>
</data> mimetype: application/x-microsoft.net.object.binary.base64
<data name="CommandNoPermissionUser" xml:space="preserve"> value : The object must be serialized with
<value>You do not have permission to execute this command!</value> : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
</data> : and then encoded with base64 encoding.
<data name="YouWereBanned" xml:space="preserve">
<value>You were banned by {0} in guild {1} for {2}</value> mimetype: application/x-microsoft.net.object.soap.base64
</data> value : The object must be serialized with
<data name="PunishmentExpired" xml:space="preserve"> : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
<value>Punishment expired</value> : and then encoded with base64 encoding.
</data>
<data name="ClearAmountTooSmall" xml:space="preserve"> mimetype: application/x-microsoft.net.object.bytearray.base64
<value>You specified less than {0} messages!</value> value : The object must be serialized into a byte array
</data> : using a System.ComponentModel.TypeConverter
<data name="ClearAmountTooLarge" xml:space="preserve"> : and then encoded with base64 encoding.
<value>You specified more than {0} messages!</value> -->
</data> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<data name="CommandHelp" xml:space="preserve"> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<value>Command help:</value> <xsd:element name="root" msdata:IsDataSet="true">
</data> <xsd:complexType>
<data name="YouWereKicked" xml:space="preserve"> <xsd:choice maxOccurs="unbounded">
<value>You were kicked by {0} in guild {1} for {2}</value> <xsd:element name="metadata">
</data> <xsd:complexType>
<data name="Milliseconds" xml:space="preserve"> <xsd:sequence>
<value>ms</value> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</data> </xsd:sequence>
<data name="MemberAlreadyMuted" xml:space="preserve"> <xsd:attribute name="name" use="required" type="xsd:string" />
<value>Member is already muted!</value> <xsd:attribute name="type" type="xsd:string" />
</data> <xsd:attribute name="mimetype" type="xsd:string" />
<data name="ChannelNotSpecified" xml:space="preserve"> <xsd:attribute ref="xml:space" />
<value>Not specified</value> </xsd:complexType>
</data> </xsd:element>
<data name="RoleNotSpecified" xml:space="preserve"> <xsd:element name="assembly">
<value>Not specified</value> <xsd:complexType>
</data> <xsd:attribute name="alias" type="xsd:string" />
<data name="CurrentSettings" xml:space="preserve"> <xsd:attribute name="name" type="xsd:string" />
<value>Current settings:</value> </xsd:complexType>
</data> </xsd:element>
<data name="SettingsLang" xml:space="preserve"> <xsd:element name="data">
<value>Language</value> <xsd:complexType>
</data> <xsd:sequence>
<data name="SettingsPrefix" xml:space="preserve"> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<value>Prefix</value> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</data> </xsd:sequence>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve"> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<value>Remove roles on mute</value> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
</data> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<data name="SettingsSendWelcomeMessages" xml:space="preserve"> <xsd:attribute ref="xml:space" />
<value>Send welcome messages</value> </xsd:complexType>
</data> </xsd:element>
<data name="SettingsStarterRole" xml:space="preserve"> <xsd:element name="resheader">
<value>Starter role</value> <xsd:complexType>
</data> <xsd:sequence>
<data name="SettingsMuteRole" xml:space="preserve"> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<value>Mute role</value> </xsd:sequence>
</data> <xsd:attribute name="name" type="xsd:string" use="required" />
<data name="SettingsBotLogChannel" xml:space="preserve"> </xsd:complexType>
<value>Bot log channel</value> </xsd:element>
</data> </xsd:choice>
<data name="LanguageNotSupported" xml:space="preserve"> </xsd:complexType>
<value>Language not supported!</value> </xsd:element>
</data> </xsd:schema>
<data name="Yes" xml:space="preserve"> <resheader name="resmimetype">
<value>Yes</value> <value>text/microsoft-resx</value>
</data> </resheader>
<data name="No" xml:space="preserve"> <resheader name="version">
<value>No</value> <value>2.0</value>
</data> </resheader>
<data name="UserNotBanned" xml:space="preserve"> <resheader name="reader">
<value>This user is not banned!</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </resheader>
<data name="MemberNotMuted" xml:space="preserve"> <resheader name="writer">
<value>Member not muted!</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </resheader>
<data name="RolesReturned" xml:space="preserve"> <data name="Ready" xml:space="preserve">
<value>Someone removed the mute role manually! I added back all roles that I removed during the mute</value> <value>{0}I'm ready!</value>
</data> </data>
<data name="SettingsWelcomeMessage" xml:space="preserve"> <data name="CachedMessageDeleted" xml:space="preserve">
<value>Welcome message</value> <value>Deleted message from {0} in channel {1}: {2}</value>
</data> </data>
<data name="ClearAmountInvalid" xml:space="preserve"> <data name="CachedMessageEdited" xml:space="preserve">
<value>You need to specify an integer from {0} to {1} instead of {2}!</value> <value>Edited message in channel {0}: {1} -&gt; {2}</value>
</data> </data>
<data name="FeedbackUserBanned" xml:space="preserve"> <data name="DefaultWelcomeMessage" xml:space="preserve">
<value>Banned {0} for{1}: {2}</value> <value>{0}, welcome to {1}</value>
</data> </data>
<data name="UserNotInGuild" xml:space="preserve"> <data name="Beep1" xml:space="preserve">
<value>The specified user is not a member of this server!</value> <value>Bah! </value>
</data> </data>
<data name="SettingDoesntExist" xml:space="preserve"> <data name="Beep2" xml:space="preserve">
<value>That setting doesn't exist!</value> <value>Bop! </value>
</data> </data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve"> <data name="Beep3" xml:space="preserve">
<value>Receive startup messages</value> <value>Beep! </value>
</data> </data>
<data name="InvalidSettingValue" xml:space="preserve"> <data name="CommandNoPermissionBot" xml:space="preserve">
<value>Invalid setting value specified!</value> <value>I do not have permission to execute this command!</value>
</data> </data>
<data name="InvalidRole" xml:space="preserve"> <data name="CommandNoPermissionUser" xml:space="preserve">
<value>This role does not exist!</value> <value>You do not have permission to execute this command!</value>
</data> </data>
<data name="InvalidChannel" xml:space="preserve"> <data name="YouWereBanned" xml:space="preserve">
<value>This channel does not exist!</value> <value>You were banned by {0} in guild {1} for {2}</value>
</data> </data>
<data name="RoleRemovalFailed" xml:space="preserve"> <data name="PunishmentExpired" xml:space="preserve">
<value>I couldn't remove role {0} because of an error! {1}</value> <value>Punishment expired</value>
</data> </data>
<data name="DurationRequiredForTimeOuts" xml:space="preserve"> <data name="ClearAmountTooSmall" xml:space="preserve">
<value>I cannot mute someone for more than 28 days using timeouts! Either specify a duration shorter than 28 days, or set a mute role in settings</value> <value>You specified less than {0} messages!</value>
</data> </data>
<data name="CannotTimeOutBot" xml:space="preserve"> <data name="ClearAmountTooLarge" xml:space="preserve">
<value>I cannot use time-outs on other bots! Try to set a mute role in settings</value> <value>You specified more than {0} messages!</value>
</data> </data>
<data name="EventCreated" xml:space="preserve"> <data name="CommandHelp" xml:space="preserve">
<value>{0} has created event {1}! It will take place in {2} and will start &lt;t:{3}:R&gt;! \n {4}</value> <value>Command help:</value>
</data> </data>
<data name="SettingsEventNotificationRole" xml:space="preserve"> <data name="YouWereKicked" xml:space="preserve">
<value>Role for event creation notifications</value> <value>You were kicked by {0} in guild {1} for {2}</value>
</data> </data>
<data name="SettingsEventNotificationChannel" xml:space="preserve"> <data name="Milliseconds" xml:space="preserve">
<value>Channel for event notifications</value> <value>ms</value>
</data> </data>
<data name="SettingsEventStartedReceivers" xml:space="preserve"> <data name="MemberAlreadyMuted" xml:space="preserve">
<value>Event start notifications receivers</value> <value>Member is already muted!</value>
</data> </data>
<data name="EventStarted" xml:space="preserve"> <data name="ChannelNotSpecified" xml:space="preserve">
<value>{0}Event {1} is starting at {2}!</value> <value>Not specified</value>
</data> </data>
<data name="SettingsFrowningFace" xml:space="preserve"> <data name="RoleNotSpecified" xml:space="preserve">
<value>:(</value> <value>Not specified</value>
</data> </data>
<data name="EventCancelled" xml:space="preserve"> <data name="CurrentSettings" xml:space="preserve">
<value>Event {0} is cancelled!{1}</value> <value>Current settings:</value>
</data> </data>
<data name="EventCompleted" xml:space="preserve"> <data name="SettingsLang" xml:space="preserve">
<value>Event {0} has completed! Duration: {1}</value> <value>Language</value>
</data> </data>
<data name="Ever" xml:space="preserve"> <data name="SettingsPrefix" xml:space="preserve">
<value>ever</value> <value>Prefix</value>
</data> </data>
<data name="FeedbackMessagesCleared" xml:space="preserve"> <data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>Deleted {0} messages in {1}</value> <value>Remove roles on mute</value>
</data> </data>
<data name="FeedbackMemberKicked" xml:space="preserve"> <data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>Kicked {0}: {1}</value> <value>Send welcome messages</value>
</data> </data>
<data name="FeedbackMemberMuted" xml:space="preserve"> <data name="SettingsStarterRole" xml:space="preserve">
<value>Muted {0} for{1}: {2}</value> <value>Starter role</value>
</data> </data>
<data name="FeedbackUserUnbanned" xml:space="preserve"> <data name="SettingsMuteRole" xml:space="preserve">
<value>Unbanned {0}: {1}</value> <value>Mute role</value>
</data> </data>
<data name="FeedbackMemberUnmuted" xml:space="preserve"> <data name="SettingsBotLogChannel" xml:space="preserve">
<value>Unmuted {0}: {1}</value> <value>Bot log channel</value>
</data> </data>
<data name="SettingsNothingChanged" xml:space="preserve"> <data name="LanguageNotSupported" xml:space="preserve">
<value>Nothing changed! `{0}` is already set to {1}</value> <value>Language not supported! Supported languages:</value>
</data> </data>
<data name="SettingNotDefined" xml:space="preserve"> <data name="Yes" xml:space="preserve">
<value>Not specified</value> <value>Yes</value>
</data> </data>
<data name="FeedbackSettingsUpdated" xml:space="preserve"> <data name="No" xml:space="preserve">
<value>Value of setting `{0}` is now set to {1}</value> <value>No</value>
</data> </data>
<data name="CommandDescriptionBan" xml:space="preserve"> <data name="UserNotBanned" xml:space="preserve">
<value>Bans a user</value> <value>This user is not banned!</value>
</data> </data>
<data name="CommandDescriptionClear" xml:space="preserve"> <data name="MemberNotMuted" xml:space="preserve">
<value>Deletes a specified amount of messages in this channel</value> <value>Member not muted!</value>
</data> </data>
<data name="CommandDescriptionHelp" xml:space="preserve"> <data name="RolesReturned" xml:space="preserve">
<value>Shows this message</value> <value>Someone removed the mute role manually! I added back all roles that I removed during the mute</value>
</data> </data>
<data name="CommandDescriptionKick" xml:space="preserve"> <data name="SettingsWelcomeMessage" xml:space="preserve">
<value>Kicks a member</value> <value>Welcome message</value>
</data> </data>
<data name="CommandDescriptionMute" xml:space="preserve"> <data name="ClearAmountInvalid" xml:space="preserve">
<value>Mutes a member</value> <value>You need to specify an integer from {0} to {1} instead of {2}!</value>
</data> </data>
<data name="CommandDescriptionPing" xml:space="preserve"> <data name="FeedbackUserBanned" xml:space="preserve">
<value>Shows (inaccurate) latency</value> <value>Banned {0} for{1}: {2}</value>
</data> </data>
<data name="CommandDescriptionSettings" xml:space="preserve"> <data name="UserNotInGuild" xml:space="preserve">
<value>Allows you to change certain preferences for this guild</value> <value>The specified user is not a member of this server!</value>
</data> </data>
<data name="CommandDescriptionUnban" xml:space="preserve"> <data name="SettingDoesntExist" xml:space="preserve">
<value>Unbans a user</value> <value>That setting doesn't exist!</value>
</data> </data>
<data name="CommandDescriptionUnmute" xml:space="preserve"> <data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>Unmutes a member</value> <value>Receive startup messages</value>
</data> </data>
<data name="MissingNumber" xml:space="preserve"> <data name="InvalidSettingValue" xml:space="preserve">
<value>You need to specify an integer from {0} to {1}!</value> <value>Invalid setting value specified!</value>
</data> </data>
<data name="MissingUser" xml:space="preserve"> <data name="InvalidRole" xml:space="preserve">
<value>You need to specify a user!</value> <value>This role does not exist!</value>
</data> </data>
<data name="InvalidUser" xml:space="preserve"> <data name="InvalidChannel" xml:space="preserve">
<value>You need to specify a user instead of {0}!</value> <value>This channel does not exist!</value>
</data> </data>
<data name="MissingMember" xml:space="preserve"> <data name="RoleRemovalFailed" xml:space="preserve">
<value>You need to specify a guild member!</value> <value>I couldn't remove role {0} because of an error! {1}</value>
</data> </data>
<data name="InvalidMember" xml:space="preserve"> <data name="DurationRequiredForTimeOuts" xml:space="preserve">
<value>You need to specify a guild member instead of {0}!</value> <value>I cannot mute someone for more than 28 days using timeouts! Either specify a duration shorter than 28 days, or set a mute role in settings</value>
</data> </data>
<data name="UserCannotBanMembers" xml:space="preserve"> <data name="CannotTimeOutBot" xml:space="preserve">
<value>You cannot ban users from this guild!</value> <value>I cannot use time-outs on other bots! Try to set a mute role in settings</value>
</data> </data>
<data name="UserCannotManageMessages" xml:space="preserve"> <data name="EventCreated" xml:space="preserve">
<value>You cannot manage messages in this guild!</value> <value>{0} has created event {1}! It will take place in {2} and will start &lt;t:{3}:R&gt;! \n {4}</value>
</data> </data>
<data name="UserCannotKickMembers" xml:space="preserve"> <data name="SettingsEventNotificationRole" xml:space="preserve">
<value>You cannot kick members from this guild!</value> <value>Role for event creation notifications</value>
</data> </data>
<data name="UserCannotModerateMembers" xml:space="preserve"> <data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>You cannot moderate members in this guild!</value> <value>Channel for event notifications</value>
</data> </data>
<data name="UserCannotManageGuild" xml:space="preserve"> <data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>You cannot manage this guild!</value> <value>Event start notifications receivers</value>
</data> </data>
<data name="BotCannotBanMembers" xml:space="preserve"> <data name="EventStarted" xml:space="preserve">
<value>I cannot ban users from this guild!</value> <value>{0}Event {1} is starting at {2}!</value>
</data> </data>
<data name="BotCannotManageMessages" xml:space="preserve"> <data name="SettingsFrowningFace" xml:space="preserve">
<value>I cannot manage messages in this guild!</value> <value>:(</value>
</data> </data>
<data name="BotCannotKickMembers" xml:space="preserve"> <data name="EventCancelled" xml:space="preserve">
<value>I cannot kick members from this guild!</value> <value>Event {0} is cancelled!{1}</value>
</data> </data>
<data name="BotCannotModerateMembers" xml:space="preserve"> <data name="EventCompleted" xml:space="preserve">
<value>I cannot moderate members in this guild!</value> <value>Event {0} has completed! Duration: {1}</value>
</data> </data>
<data name="BotCannotManageGuild" xml:space="preserve"> <data name="Ever" xml:space="preserve">
<value>I cannot manage this guild!</value> <value>ever</value>
</data> </data>
<data name="MissingBanReason" xml:space="preserve"> <data name="FeedbackMessagesCleared" xml:space="preserve">
<value>You need to specify a reason to ban this user!</value> <value>Deleted {0} messages in {1}</value>
</data> </data>
<data name="MissingKickReason" xml:space="preserve"> <data name="FeedbackMemberKicked" xml:space="preserve">
<value>You need to specify a reason to kick this member!</value> <value>Kicked {0}: {1}</value>
</data> </data>
<data name="MissingMuteReason" xml:space="preserve"> <data name="FeedbackMemberMuted" xml:space="preserve">
<value>You need to specify a reason to mute this member!</value> <value>Muted {0} for{1}: {2}</value>
</data> </data>
<data name="MissingUnbanReason" xml:space="preserve"> <data name="FeedbackUserUnbanned" xml:space="preserve">
<value>You need to specify a reason to unban this user!</value> <value>Unbanned {0}: {1}</value>
</data> </data>
<data name="MissingUnmuteReason" xml:space="preserve"> <data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>You need to specify a reason for unmute this member!</value> <value>Unmuted {0}: {1}</value>
</data> </data>
<data name="MissingSetting" xml:space="preserve"> <data name="SettingsNothingChanged" xml:space="preserve">
<value>You need to specify a setting to change!</value> <value>Nothing changed! `{0}` is already set to {1}</value>
</data> </data>
<data name="UserCannotBanOwner" xml:space="preserve"> <data name="SettingNotDefined" xml:space="preserve">
<value>You cannot ban the owner of this guild!</value> <value>Not specified</value>
</data> </data>
<data name="UserCannotBanThemselves" xml:space="preserve"> <data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>You cannot ban yourself!</value> <value>Value of setting `{0}` is now set to {1}</value>
</data> </data>
<data name="UserCannotBanBot" xml:space="preserve"> <data name="CommandDescriptionBan" xml:space="preserve">
<value>You cannot ban me!</value> <value>Bans a user</value>
</data> </data>
<data name="BotCannotBanTarget" xml:space="preserve"> <data name="CommandDescriptionClear" xml:space="preserve">
<value>I cannot ban this user!</value> <value>Deletes a specified amount of messages in this channel</value>
</data> </data>
<data name="UserCannotBanTarget" xml:space="preserve"> <data name="CommandDescriptionHelp" xml:space="preserve">
<value>You cannot ban this user!</value> <value>Shows this message</value>
</data> </data>
<data name="UserCannotKickOwner" xml:space="preserve"> <data name="CommandDescriptionKick" xml:space="preserve">
<value>You cannot kick the owner of this guild!</value> <value>Kicks a member</value>
</data> </data>
<data name="UserCannotKickThemselves" xml:space="preserve"> <data name="CommandDescriptionMute" xml:space="preserve">
<value>You cannot kick yourself!</value> <value>Mutes a member</value>
</data> </data>
<data name="UserCannotKickBot" xml:space="preserve"> <data name="CommandDescriptionPing" xml:space="preserve">
<value>You cannot kick me!</value> <value>Shows (inaccurate) latency</value>
</data> </data>
<data name="BotCannotKickTarget" xml:space="preserve"> <data name="CommandDescriptionSettings" xml:space="preserve">
<value>I cannot kick this member!</value> <value>Allows you to change certain preferences for this guild</value>
</data> </data>
<data name="UserCannotKickTarget" xml:space="preserve"> <data name="CommandDescriptionUnban" xml:space="preserve">
<value>You cannot kick this member!</value> <value>Unbans a user</value>
</data> </data>
<data name="UserCannotMuteOwner" xml:space="preserve"> <data name="CommandDescriptionUnmute" xml:space="preserve">
<value>You cannot mute the owner of this guild!</value> <value>Unmutes a member</value>
</data> </data>
<data name="UserCannotMuteThemselves" xml:space="preserve"> <data name="MissingNumber" xml:space="preserve">
<value>You cannot mute yourself!</value> <value>You need to specify an integer from {0} to {1}!</value>
</data> </data>
<data name="UserCannotMuteBot" xml:space="preserve"> <data name="MissingUser" xml:space="preserve">
<value>You cannot mute me!</value> <value>You need to specify a user!</value>
</data> </data>
<data name="BotCannotMuteTarget" xml:space="preserve"> <data name="InvalidUser" xml:space="preserve">
<value>I cannot mute this member!</value> <value>You need to specify a user instead of {0}!</value>
</data> </data>
<data name="UserCannotMuteTarget" xml:space="preserve"> <data name="MissingMember" xml:space="preserve">
<value>You cannot mute this member!</value> <value>You need to specify a guild member!</value>
</data> </data>
<data name="UserCannotUnmuteOwner" xml:space="preserve"> <data name="InvalidMember" xml:space="preserve">
<value>You don't need to unmute the owner of this guild!</value> <value>You need to specify a guild member instead of {0}!</value>
</data> </data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve"> <data name="UserCannotBanMembers" xml:space="preserve">
<value>You are muted!</value> <value>You cannot ban users from this guild!</value>
</data> </data>
<data name="UserCannotUnmuteBot" xml:space="preserve"> <data name="UserCannotManageMessages" xml:space="preserve">
<value>...</value> <value>You cannot manage messages in this guild!</value>
</data> </data>
<data name="BotCannotUnmuteTarget" xml:space="preserve"> <data name="UserCannotKickMembers" xml:space="preserve">
<value>I cannot unmute this member!</value> <value>You cannot kick members from this guild!</value>
</data> </data>
<data name="UserCannotUnmuteTarget" xml:space="preserve"> <data name="UserCannotModerateMembers" xml:space="preserve">
<value>You cannot unmute this user!</value> <value>You cannot moderate members in this guild!</value>
</data> </data>
<data name="EventEarlyNotification" xml:space="preserve"> <data name="UserCannotManageGuild" xml:space="preserve">
<value>{0}Event {1} will start &lt;t:{2}:R&gt;!</value> <value>You cannot manage this guild!</value>
</data> </data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve"> <data name="BotCannotBanMembers" xml:space="preserve">
<value>Early event start notification offset</value> <value>I cannot ban users from this guild!</value>
</data> </data>
<data name="BotCannotManageMessages" xml:space="preserve">
<value>I cannot manage messages in this guild!</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<value>I cannot kick members from this guild!</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>I cannot moderate members in this guild!</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<value>I cannot manage this guild!</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<value>You need to specify a reason to ban this user!</value>
</data>
<data name="MissingKickReason" xml:space="preserve">
<value>You need to specify a reason to kick this member!</value>
</data>
<data name="MissingMuteReason" xml:space="preserve">
<value>You need to specify a reason to mute this member!</value>
</data>
<data name="MissingUnbanReason" xml:space="preserve">
<value>You need to specify a reason to unban this user!</value>
</data>
<data name="MissingUnmuteReason" xml:space="preserve">
<value>You need to specify a reason for unmute this member!</value>
</data>
<data name="MissingSetting" xml:space="preserve">
<value>You need to specify a setting to change!</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<value>You cannot ban the owner of this guild!</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>You cannot ban yourself!</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<value>You cannot ban me!</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<value>I cannot ban this user!</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<value>You cannot ban this user!</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<value>You cannot kick the owner of this guild!</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>You cannot kick yourself!</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<value>You cannot kick me!</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<value>I cannot kick this member!</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<value>You cannot kick this member!</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>You cannot mute the owner of this guild!</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>You cannot mute yourself!</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<value>You cannot mute me!</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>I cannot mute this member!</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>You cannot mute this member!</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<value>You don't need to unmute the owner of this guild!</value>
</data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>You are muted!</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>...</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>I cannot unmute this member!</value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>You cannot unmute this user!</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<value>{0}Event {1} will start &lt;t:{2}:R&gt;!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>Early event start notification offset</value>
</data>
</root> </root>

View file

@ -1,360 +1,462 @@
<root> <?xml version="1.0" encoding="utf-8"?>
<resheader name="resmimetype"> <root>
<value>text/microsoft-resx</value> <!--
</resheader> Microsoft ResX Schema
<resheader name="version">
<value>1.3</value> Version 2.0
</resheader>
<resheader name="reader"> The primary goals of this format is to allow a simple XML format
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, that is mostly human readable. The generation and parsing of the
PublicKeyToken=b77a5c561934e089 various data types are done through the TypeConverter classes
</value> associated with the data types.
</resheader>
<resheader name="writer"> Example:
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089 ... ado.net/XML headers & schema ...
</value> <resheader name="resmimetype">text/microsoft-resx</resheader>
</resheader> <resheader name="version">2.0</resheader>
<data name="Ready" xml:space="preserve"> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<value>{0}Я запустился!</value> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
</data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="CachedMessageDeleted" xml:space="preserve"> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<value>Удалено сообщение от {0} в канале {1}: {2}</value> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
</data> <value>[base64 mime encoded serialized .NET Framework object]</value>
<data name="CachedMessageEdited" xml:space="preserve"> </data>
<value>Отредактировано сообщение в канале {0}: {1} -&gt; {2}</value> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
</data> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<data name="DefaultWelcomeMessage" xml:space="preserve"> <comment>This is a comment</comment>
<value>{0}, добро пожаловать на сервер {1}</value> </data>
</data>
<data name="Beep1" xml:space="preserve"> There are any number of "resheader" rows that contain simple
<value>Бап! </value> name/value pairs.
</data>
<data name="Beep2" xml:space="preserve"> Each data row contains a name, and value. The row also contains a
<value>Боп! </value> type or mimetype. Type corresponds to a .NET class that support
</data> text/value conversion through the TypeConverter architecture.
<data name="Beep3" xml:space="preserve"> Classes that don't support this are serialized and stored with the
<value>Бип! </value> mimetype set.
</data>
<data name="CommandNoPermissionBot" xml:space="preserve"> The mimetype is used for serialized objects, and tells the
<value>У меня недостаточно прав для выполнения этой команды!</value> ResXResourceReader how to depersist the object. This is currently not
</data> extensible. For a given mimetype the value must be set accordingly:
<data name="CommandNoPermissionUser" xml:space="preserve">
<value>У тебя недостаточно прав для выполнения этой команды!</value> Note - application/x-microsoft.net.object.binary.base64 is the format
</data> that the ResXResourceWriter will generate, however the reader can
<data name="YouWereBanned" xml:space="preserve"> read any of the formats listed below.
<value>Тебя забанил {0} на сервере {1} за {2}</value>
</data> mimetype: application/x-microsoft.net.object.binary.base64
<data name="PunishmentExpired" xml:space="preserve"> value : The object must be serialized with
<value>Время наказания истекло</value> : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
</data> : and then encoded with base64 encoding.
<data name="ClearAmountTooSmall" xml:space="preserve">
<value>Указано менее {0} сообщений!</value> mimetype: application/x-microsoft.net.object.soap.base64
</data> value : The object must be serialized with
<data name="ClearAmountTooLarge" xml:space="preserve"> : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
<value>Указано более {0} сообщений!</value> : and then encoded with base64 encoding.
</data>
<data name="CommandHelp" xml:space="preserve"> mimetype: application/x-microsoft.net.object.bytearray.base64
<value>Справка по командам:</value> value : The object must be serialized into a byte array
</data> : using a System.ComponentModel.TypeConverter
<data name="YouWereKicked" xml:space="preserve"> : and then encoded with base64 encoding.
<value>Тебя кикнул {0} на сервере {1} за {2}</value> -->
</data> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<data name="Milliseconds" xml:space="preserve"> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<value>мс</value> <xsd:element name="root" msdata:IsDataSet="true">
</data> <xsd:complexType>
<data name="MemberAlreadyMuted" xml:space="preserve"> <xsd:choice maxOccurs="unbounded">
<value>Участник уже заглушен!</value> <xsd:element name="metadata">
</data> <xsd:complexType>
<data name="ChannelNotSpecified" xml:space="preserve"> <xsd:sequence>
<value>Не указан</value> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</data> </xsd:sequence>
<data name="RoleNotSpecified" xml:space="preserve"> <xsd:attribute name="name" use="required" type="xsd:string" />
<value>Не указана</value> <xsd:attribute name="type" type="xsd:string" />
</data> <xsd:attribute name="mimetype" type="xsd:string" />
<data name="CurrentSettings" xml:space="preserve"> <xsd:attribute ref="xml:space" />
<value>Текущие настройки:</value> </xsd:complexType>
</data> </xsd:element>
<data name="SettingsLang" xml:space="preserve"> <xsd:element name="assembly">
<value>Язык</value> <xsd:complexType>
</data> <xsd:attribute name="alias" type="xsd:string" />
<data name="SettingsPrefix" xml:space="preserve"> <xsd:attribute name="name" type="xsd:string" />
<value>Префикс</value> </xsd:complexType>
</data> </xsd:element>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve"> <xsd:element name="data">
<value>Удалять роли при муте</value> <xsd:complexType>
</data> <xsd:sequence>
<data name="SettingsSendWelcomeMessages" xml:space="preserve"> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<value>Отправлять приветствия</value> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</data> </xsd:sequence>
<data name="SettingsMuteRole" xml:space="preserve"> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<value>Роль мута</value> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
</data> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<data name="SettingsBotLogChannel" xml:space="preserve"> <xsd:attribute ref="xml:space" />
<value>Канал бот-уведомлений</value> </xsd:complexType>
</data> </xsd:element>
<data name="LanguageNotSupported" xml:space="preserve"> <xsd:element name="resheader">
<value>Язык не поддерживается!</value> <xsd:complexType>
</data> <xsd:sequence>
<data name="Yes" xml:space="preserve"> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<value>Да</value> </xsd:sequence>
</data> <xsd:attribute name="name" type="xsd:string" use="required" />
<data name="No" xml:space="preserve"> </xsd:complexType>
<value>Нет</value> </xsd:element>
</data> </xsd:choice>
<data name="UserNotBanned" xml:space="preserve"> </xsd:complexType>
<value>Этот пользователь не забанен!</value> </xsd:element>
</data> </xsd:schema>
<data name="MemberNotMuted" xml:space="preserve"> <resheader name="resmimetype">
<value>Участник не заглушен!</value> <value>text/microsoft-resx</value>
</data> </resheader>
<data name="RolesReturned" xml:space="preserve"> <resheader name="version">
<value>Кто-то убрал роль мута самостоятельно! Я вернул все роли, которые забрал при муте</value> <value>2.0</value>
</data> </resheader>
<data name="SettingsWelcomeMessage" xml:space="preserve"> <resheader name="reader">
<value>Приветствие</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </resheader>
<data name="ClearAmountInvalid" xml:space="preserve"> <resheader name="writer">
<value>Надо указать целое число от {0} до {1} вместо {2}!</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </resheader>
<data name="FeedbackUserBanned" xml:space="preserve"> <data name="Ready" xml:space="preserve">
<value>Забанен {0} на{1}: {2}</value> <value>{0}Я запустился!</value>
</data> </data>
<data name="UserNotInGuild" xml:space="preserve"> <data name="CachedMessageDeleted" xml:space="preserve">
<value>Указанный пользователь не является участником этого сервера!</value> <value>Удалено сообщение от {0} в канале {1}: {2}</value>
</data> </data>
<data name="SettingDoesntExist" xml:space="preserve"> <data name="CachedMessageEdited" xml:space="preserve">
<value>Такая настройка не существует!</value> <value>Отредактировано сообщение в канале {0}: {1} -&gt; {2}</value>
</data> </data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve"> <data name="DefaultWelcomeMessage" xml:space="preserve">
<value>Получать сообщения о запуске</value> <value>{0}, добро пожаловать на сервер {1}</value>
</data> </data>
<data name="InvalidSettingValue" xml:space="preserve"> <data name="Beep1" xml:space="preserve">
<value>Указано недействительное значение для настройки!</value> <value>Бап! </value>
</data> </data>
<data name="InvalidRole" xml:space="preserve"> <data name="Beep2" xml:space="preserve">
<value>Эта роль не существует!</value> <value>Боп! </value>
</data> </data>
<data name="InvalidChannel" xml:space="preserve"> <data name="Beep3" xml:space="preserve">
<value>Этот канал не существует!</value> <value>Бип! </value>
</data> </data>
<data name="RoleRemovalFailed" xml:space="preserve"> <data name="CommandNoPermissionBot" xml:space="preserve">
<value>Я не смог забрать роль {0} в связи с ошибкой! {1}</value> <value>У меня недостаточно прав для выполнения этой команды!</value>
</data> </data>
<data name="DurationRequiredForTimeOuts" xml:space="preserve"> <data name="CommandNoPermissionUser" xml:space="preserve">
<value>Я не могу заглушить кого-то на более чем 28 дней, используя тайм-ауты! Или укажи продолжительность менее 28 дней, или установи роль мута в настройках</value> <value>У тебя недостаточно прав для выполнения этой команды!</value>
</data> </data>
<data name="CannotTimeOutBot" xml:space="preserve"> <data name="YouWereBanned" xml:space="preserve">
<value>Я не могу использовать тайм-ауты на других ботах! Попробуй указать роль мута в настройках</value> <value>Тебя забанил {0} на сервере {1} за {2}</value>
</data> </data>
<data name="SettingsStarterRole" xml:space="preserve"> <data name="PunishmentExpired" xml:space="preserve">
<value>Начальная роль</value> <value>Время наказания истекло</value>
</data> </data>
<data name="EventCreated" xml:space="preserve"> <data name="ClearAmountTooSmall" xml:space="preserve">
<value>{0} создал событие {1}! Оно пройдёт в {2} и начнётся &lt;t:{3}:R&gt;!{4}</value> <value>Указано менее {0} сообщений!</value>
</data> </data>
<data name="SettingsEventNotificationRole" xml:space="preserve"> <data name="ClearAmountTooLarge" xml:space="preserve">
<value>Роль для уведомлений о создании событий</value> <value>Указано более {0} сообщений!</value>
</data> </data>
<data name="SettingsEventNotificationChannel" xml:space="preserve"> <data name="CommandHelp" xml:space="preserve">
<value>Канал для уведомлений о событиях</value> <value>Справка по командам:</value>
</data> </data>
<data name="SettingsEventStartedReceivers" xml:space="preserve"> <data name="YouWereKicked" xml:space="preserve">
<value>Получатели уведомлений о начале событий</value> <value>Тебя кикнул {0} на сервере {1} за {2}</value>
</data> </data>
<data name="EventStarted" xml:space="preserve"> <data name="Milliseconds" xml:space="preserve">
<value>{0}Событие {1} начинается в {2}!</value> <value>мс</value>
</data> </data>
<data name="SettingsFrowningFace" xml:space="preserve"> <data name="MemberAlreadyMuted" xml:space="preserve">
<value>:( </value> <value>Участник уже заглушен!</value>
</data> </data>
<data name="EventCancelled" xml:space="preserve"> <data name="ChannelNotSpecified" xml:space="preserve">
<value>Событие {0} отменено!{1}</value> <value>Не указан</value>
</data> </data>
<data name="EventCompleted" xml:space="preserve"> <data name="RoleNotSpecified" xml:space="preserve">
<value>Событие {0} завершено! Продолжительность: {1}</value> <value>Не указана</value>
</data> </data>
<data name="Ever" xml:space="preserve"> <data name="CurrentSettings" xml:space="preserve">
<value>всегда</value> <value>Текущие настройки:</value>
</data> </data>
<data name="FeedbackMessagesCleared" xml:space="preserve"> <data name="SettingsLang" xml:space="preserve">
<value>Удалено {0} сообщений в {1}</value> <value>Язык</value>
</data> </data>
<data name="FeedbackMemberKicked" xml:space="preserve"> <data name="SettingsPrefix" xml:space="preserve">
<value>Выгнан {0}: {1}</value> <value>Префикс</value>
</data> </data>
<data name="FeedbackMemberMuted" xml:space="preserve"> <data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>Заглушен {0} на{1}: {2}</value> <value>Удалять роли при муте</value>
</data> </data>
<data name="FeedbackUserUnbanned" xml:space="preserve"> <data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>Возвращён из бана {0}: {1}</value> <value>Отправлять приветствия</value>
</data> </data>
<data name="FeedbackMemberUnmuted" xml:space="preserve"> <data name="SettingsMuteRole" xml:space="preserve">
<value>Разглушен {0}: {1}</value> <value>Роль мута</value>
</data> </data>
<data name="SettingsNothingChanged" xml:space="preserve"> <data name="SettingsBotLogChannel" xml:space="preserve">
<value>Ничего не изменилось! Значение настройки `{0}` уже {1}</value> <value>Канал бот-уведомлений</value>
</data> </data>
<data name="SettingNotDefined" xml:space="preserve"> <data name="LanguageNotSupported" xml:space="preserve">
<value>Не указано</value> <value>Язык не поддерживается! Поддерживаемые языки:</value>
</data> </data>
<data name="FeedbackSettingsUpdated" xml:space="preserve"> <data name="Yes" xml:space="preserve">
<value>Значение настройки `{0}` теперь установлено на {1}</value> <value>Да</value>
</data> </data>
<data name="CommandDescriptionBan" xml:space="preserve"> <data name="No" xml:space="preserve">
<value>Банит пользователя</value> <value>Нет</value>
</data> </data>
<data name="CommandDescriptionClear" xml:space="preserve"> <data name="UserNotBanned" xml:space="preserve">
<value>Удаляет указанное количество сообщений в этом канале</value> <value>Этот пользователь не забанен!</value>
</data> </data>
<data name="CommandDescriptionHelp" xml:space="preserve"> <data name="MemberNotMuted" xml:space="preserve">
<value>Показывает эту справку</value> <value>Участник не заглушен!</value>
</data> </data>
<data name="CommandDescriptionKick" xml:space="preserve"> <data name="RolesReturned" xml:space="preserve">
<value>Выгоняет участника</value> <value>Кто-то убрал роль мута самостоятельно! Я вернул все роли, которые забрал при муте</value>
</data> </data>
<data name="CommandDescriptionMute" xml:space="preserve"> <data name="SettingsWelcomeMessage" xml:space="preserve">
<value>Глушит участника</value> <value>Приветствие</value>
</data> </data>
<data name="CommandDescriptionPing" xml:space="preserve"> <data name="ClearAmountInvalid" xml:space="preserve">
<value>Показывает (неточную) задержку</value> <value>Надо указать целое число от {0} до {1} вместо {2}!</value>
</data> </data>
<data name="CommandDescriptionSettings" xml:space="preserve"> <data name="FeedbackUserBanned" xml:space="preserve">
<value>Позволяет менять некоторые настройки под этот сервер</value> <value>Забанен {0} на{1}: {2}</value>
</data> </data>
<data name="CommandDescriptionUnban" xml:space="preserve"> <data name="UserNotInGuild" xml:space="preserve">
<value>Возвращает пользователя из бана</value> <value>Указанный пользователь не является участником этого сервера!</value>
</data> </data>
<data name="CommandDescriptionUnmute" xml:space="preserve"> <data name="SettingDoesntExist" xml:space="preserve">
<value>Разглушает участника</value> <value>Такая настройка не существует!</value>
</data> </data>
<data name="MissingNumber" xml:space="preserve"> <data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>Надо указать целое число от {0} до {1}!</value> <value>Получать сообщения о запуске</value>
</data> </data>
<data name="MissingUser" xml:space="preserve"> <data name="InvalidSettingValue" xml:space="preserve">
<value>Надо указать пользователя!</value> <value>Указано недействительное значение для настройки!</value>
</data> </data>
<data name="InvalidUser" xml:space="preserve"> <data name="InvalidRole" xml:space="preserve">
<value>Надо указать пользователя вместо {0}!</value> <value>Эта роль не существует!</value>
</data> </data>
<data name="MissingMember" xml:space="preserve"> <data name="InvalidChannel" xml:space="preserve">
<value>Надо указать участника сервера!</value> <value>Этот канал не существует!</value>
</data> </data>
<data name="InvalidMember" xml:space="preserve"> <data name="RoleRemovalFailed" xml:space="preserve">
<value>Надо указать участника сервера вместо {0}!</value> <value>Я не смог забрать роль {0} в связи с ошибкой! {1}</value>
</data> </data>
<data name="UserCannotBanMembers" xml:space="preserve"> <data name="DurationRequiredForTimeOuts" xml:space="preserve">
<value>Ты не можешь банить пользователей на этом сервере!</value> <value>Я не могу заглушить кого-то на более чем 28 дней, используя тайм-ауты! Или укажи продолжительность менее 28 дней, или установи роль мута в настройках</value>
</data> </data>
<data name="UserCannotManageMessages" xml:space="preserve"> <data name="CannotTimeOutBot" xml:space="preserve">
<value>Ты не можешь управлять сообщениями этого сервера!</value> <value>Я не могу использовать тайм-ауты на других ботах! Попробуй указать роль мута в настройках</value>
</data> </data>
<data name="UserCannotKickMembers" xml:space="preserve"> <data name="SettingsStarterRole" xml:space="preserve">
<value>Ты не можешь выгонять участников с этого сервера!</value> <value>Начальная роль</value>
</data> </data>
<data name="UserCannotModerateMembers" xml:space="preserve"> <data name="EventCreated" xml:space="preserve">
<value>Ты не можешь модерировать участников этого сервера!</value> <value>{0} создал событие {1}! Оно пройдёт в {2} и начнётся &lt;t:{3}:R&gt;!{4}</value>
</data> </data>
<data name="UserCannotManageGuild" xml:space="preserve"> <data name="SettingsEventNotificationRole" xml:space="preserve">
<value>Ты не можешь настраивать этот сервер!</value> <value>Роль для уведомлений о создании событий</value>
</data> </data>
<data name="BotCannotBanMembers" xml:space="preserve"> <data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>Я не могу банить пользователей на этом сервере!</value> <value>Канал для уведомлений о событиях</value>
</data> </data>
<data name="BotCannotManageMessages" xml:space="preserve"> <data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>Я не могу управлять сообщениями этого сервера!</value> <value>Получатели уведомлений о начале событий</value>
</data> </data>
<data name="BotCannotKickMembers" xml:space="preserve"> <data name="EventStarted" xml:space="preserve">
<value>Я не могу выгонять участников с этого сервера!</value> <value>{0}Событие {1} начинается в {2}!</value>
</data> </data>
<data name="BotCannotModerateMembers" xml:space="preserve"> <data name="SettingsFrowningFace" xml:space="preserve">
<value>Я не могу модерировать участников этого сервера!</value> <value>:( </value>
</data> </data>
<data name="BotCannotManageGuild" xml:space="preserve"> <data name="EventCancelled" xml:space="preserve">
<value>Я не могу настраивать этот сервер!</value> <value>Событие {0} отменено!{1}</value>
</data> </data>
<data name="MissingBanReason" xml:space="preserve"> <data name="EventCompleted" xml:space="preserve">
<value>Надо указать причину для бана этого участника!</value> <value>Событие {0} завершено! Продолжительность: {1}</value>
</data> </data>
<data name="MissingKickReason" xml:space="preserve"> <data name="Ever" xml:space="preserve">
<value>Надо указать причину для кика этого участника!</value> <value>всегда</value>
</data> </data>
<data name="MissingMuteReason" xml:space="preserve"> <data name="FeedbackMessagesCleared" xml:space="preserve">
<value>Надо указать причину для мута этого участника!</value> <value>Удалено {0} сообщений в {1}</value>
</data> </data>
<data name="MissingSetting" xml:space="preserve"> <data name="FeedbackMemberKicked" xml:space="preserve">
<value>Надо указать настройку, которую нужно изменить!</value> <value>Выгнан {0}: {1}</value>
</data> </data>
<data name="MissingUnbanReason" xml:space="preserve"> <data name="FeedbackMemberMuted" xml:space="preserve">
<value>Надо указать причину для разбана этого пользователя!</value> <value>Заглушен {0} на{1}: {2}</value>
</data> </data>
<data name="MissingUnmuteReason" xml:space="preserve"> <data name="FeedbackUserUnbanned" xml:space="preserve">
<value>Надо указать причину для размута этого участника!</value> <value>Возвращён из бана {0}: {1}</value>
</data> </data>
<data name="UserCannotBanBot" xml:space="preserve"> <data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>Ты не можешь меня забанить!</value> <value>Разглушен {0}: {1}</value>
</data> </data>
<data name="UserCannotBanOwner" xml:space="preserve"> <data name="SettingsNothingChanged" xml:space="preserve">
<value>Ты не можешь забанить владельца этого сервера!</value> <value>Ничего не изменилось! Значение настройки `{0}` уже {1}</value>
</data> </data>
<data name="UserCannotBanTarget" xml:space="preserve"> <data name="SettingNotDefined" xml:space="preserve">
<value>Ты не можешь забанить этого участника!</value> <value>Не указано</value>
</data> </data>
<data name="UserCannotBanThemselves" xml:space="preserve"> <data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>Ты не можешь себя забанить!</value> <value>Значение настройки `{0}` теперь установлено на {1}</value>
</data> </data>
<data name="BotCannotBanTarget" xml:space="preserve"> <data name="CommandDescriptionBan" xml:space="preserve">
<value>Я не могу забанить этого пользователя!</value> <value>Банит пользователя</value>
</data> </data>
<data name="UserCannotKickOwner" xml:space="preserve"> <data name="CommandDescriptionClear" xml:space="preserve">
<value>Ты не можешь выгнать владельца этого сервера!</value> <value>Удаляет указанное количество сообщений в этом канале</value>
</data> </data>
<data name="UserCannotKickThemselves" xml:space="preserve"> <data name="CommandDescriptionHelp" xml:space="preserve">
<value>Ты не можешь себя выгнать!</value> <value>Показывает эту справку</value>
</data> </data>
<data name="UserCannotKickBot" xml:space="preserve"> <data name="CommandDescriptionKick" xml:space="preserve">
<value>Ты не можешь меня выгнать!</value> <value>Выгоняет участника</value>
</data> </data>
<data name="BotCannotKickTarget" xml:space="preserve"> <data name="CommandDescriptionMute" xml:space="preserve">
<value>Я не могу выгнать этого участника</value> <value>Глушит участника</value>
</data> </data>
<data name="UserCannotKickTarget" xml:space="preserve"> <data name="CommandDescriptionPing" xml:space="preserve">
<value>Ты не можешь выгнать этого участника!</value> <value>Показывает (неточную) задержку</value>
</data> </data>
<data name="UserCannotMuteOwner" xml:space="preserve"> <data name="CommandDescriptionSettings" xml:space="preserve">
<value>Ты не можешь заглушить владельца этого сервера!</value> <value>Позволяет менять некоторые настройки под этот сервер</value>
</data> </data>
<data name="UserCannotMuteThemselves" xml:space="preserve"> <data name="CommandDescriptionUnban" xml:space="preserve">
<value>Ты не можешь себя заглушить!</value> <value>Возвращает пользователя из бана</value>
</data> </data>
<data name="UserCannotMuteBot" xml:space="preserve"> <data name="CommandDescriptionUnmute" xml:space="preserve">
<value>Ты не можешь заглушить меня!</value> <value>Разглушает участника</value>
</data> </data>
<data name="BotCannotMuteTarget" xml:space="preserve"> <data name="MissingNumber" xml:space="preserve">
<value>Я не могу заглушить этого пользователя!</value> <value>Надо указать целое число от {0} до {1}!</value>
</data> </data>
<data name="UserCannotMuteTarget" xml:space="preserve"> <data name="MissingUser" xml:space="preserve">
<value>Ты не можешь заглушить этого участника!</value> <value>Надо указать пользователя!</value>
</data> </data>
<data name="UserCannotUnmuteOwner" xml:space="preserve"> <data name="InvalidUser" xml:space="preserve">
<value>Тебе не надо возвращать из мута владельца этого сервера!</value> <value>Надо указать пользователя вместо {0}!</value>
</data> </data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve"> <data name="MissingMember" xml:space="preserve">
<value>Ты заглушен!</value> <value>Надо указать участника сервера!</value>
</data> </data>
<data name="UserCannotUnmuteBot" xml:space="preserve"> <data name="InvalidMember" xml:space="preserve">
<value>... </value> <value>Надо указать участника сервера вместо {0}!</value>
</data> </data>
<data name="UserCannotUnmuteTarget" xml:space="preserve"> <data name="UserCannotBanMembers" xml:space="preserve">
<value>Ты не можешь вернуть из мута этого пользователя!</value> <value>Ты не можешь банить пользователей на этом сервере!</value>
</data> </data>
<data name="BotCannotUnmuteTarget" xml:space="preserve"> <data name="UserCannotManageMessages" xml:space="preserve">
<value>Я не могу вернуть из мута этого пользователя!</value> <value>Ты не можешь управлять сообщениями этого сервера!</value>
</data> </data>
<data name="EventEarlyNotification" xml:space="preserve"> <data name="UserCannotKickMembers" xml:space="preserve">
<value>{0}Событие {1} начнется &lt;t:{2}:R&gt;!</value> <value>Ты не можешь выгонять участников с этого сервера!</value>
</data> </data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve"> <data name="UserCannotModerateMembers" xml:space="preserve">
<value>Офсет отправки преждевременного уведомления о начале события</value> <value>Ты не можешь модерировать участников этого сервера!</value>
</data> </data>
<data name="UserCannotManageGuild" xml:space="preserve">
<value>Ты не можешь настраивать этот сервер!</value>
</data>
<data name="BotCannotBanMembers" xml:space="preserve">
<value>Я не могу банить пользователей на этом сервере!</value>
</data>
<data name="BotCannotManageMessages" xml:space="preserve">
<value>Я не могу управлять сообщениями этого сервера!</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<value>Я не могу выгонять участников с этого сервера!</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>Я не могу модерировать участников этого сервера!</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<value>Я не могу настраивать этот сервер!</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<value>Надо указать причину для бана этого участника!</value>
</data>
<data name="MissingKickReason" xml:space="preserve">
<value>Надо указать причину для кика этого участника!</value>
</data>
<data name="MissingMuteReason" xml:space="preserve">
<value>Надо указать причину для мута этого участника!</value>
</data>
<data name="MissingSetting" xml:space="preserve">
<value>Надо указать настройку, которую нужно изменить!</value>
</data>
<data name="MissingUnbanReason" xml:space="preserve">
<value>Надо указать причину для разбана этого пользователя!</value>
</data>
<data name="MissingUnmuteReason" xml:space="preserve">
<value>Надо указать причину для размута этого участника!</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<value>Ты не можешь меня забанить!</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<value>Ты не можешь забанить владельца этого сервера!</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<value>Ты не можешь забанить этого участника!</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>Ты не можешь себя забанить!</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<value>Я не могу забанить этого пользователя!</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<value>Ты не можешь выгнать владельца этого сервера!</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>Ты не можешь себя выгнать!</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<value>Ты не можешь меня выгнать!</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<value>Я не могу выгнать этого участника</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<value>Ты не можешь выгнать этого участника!</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>Ты не можешь заглушить владельца этого сервера!</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>Ты не можешь себя заглушить!</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<value>Ты не можешь заглушить меня!</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>Я не могу заглушить этого пользователя!</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>Ты не можешь заглушить этого участника!</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<value>Тебе не надо возвращать из мута владельца этого сервера!</value>
</data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>Ты заглушен!</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>... </value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>Ты не можешь вернуть из мута этого пользователя!</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>Я не могу вернуть из мута этого пользователя!</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<value>{0}Событие {1} начнется &lt;t:{2}:R&gt;!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>Офсет отправки преждевременного уведомления о начале события</value>
</data>
</root> </root>

View file

@ -196,7 +196,7 @@
<value>канал бот-уведомлений</value> <value>канал бот-уведомлений</value>
</data> </data>
<data name="LanguageNotSupported" xml:space="preserve"> <data name="LanguageNotSupported" xml:space="preserve">
<value>такого языка нету, ты шо</value> <value>такого языка нету, ты шо, есть только такие:</value>
</data> </data>
<data name="Yes" xml:space="preserve"> <data name="Yes" xml:space="preserve">
<value>да</value> <value>да</value>

View file

@ -2,7 +2,7 @@ namespace Boyfriend;
public static class ReplyEmojis { public static class ReplyEmojis {
public const string Success = ":white_check_mark:"; public const string Success = ":white_check_mark:";
public const string Warning = ":warning: "; public const string Warning = ":warning:";
public const string Error = ":x:"; public const string Error = ":x:";
public const string MissingArgument = ":keyboard:"; public const string MissingArgument = ":keyboard:";
public const string InvalidArgument = ":construction:"; public const string InvalidArgument = ":construction:";