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

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>
</root> <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>

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:";