1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-04-20 00:43:36 +03:00

Merge branch 'master' into embedredesign

Signed-off-by: Macintosh II <95250141+mctaylors@users.noreply.github.com>
This commit is contained in:
Macintxsh 2023-09-29 15:40:55 +03:00 committed by GitHub
commit 1860fb80c8
Signed by: GitHub
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 1305 additions and 863 deletions

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
<!--
Microsoft ResX Schema
Version 2.0
@ -47,569 +48,605 @@
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
id="root"
xmlns="">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root" xmlns="">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="mimetype" type="xsd:string"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader>
<data name="Ready" xml:space="preserve">
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 </value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 </value>
</resheader>
<data name="Ready" xml:space="preserve">
<value>I'm ready!</value>
</data>
<data name="CachedMessageDeleted" xml:space="preserve">
<data name="CachedMessageDeleted" xml:space="preserve">
<value>Deleted message by {0}:</value>
</data>
<data name="CachedMessageCleared" xml:space="preserve">
<data name="CachedMessageCleared" xml:space="preserve">
<value>Cleared message from {0} in channel {1}: {2}</value>
</data>
<data name="CachedMessageEdited" xml:space="preserve">
<data name="CachedMessageEdited" xml:space="preserve">
<value>Edited message by {0}:</value>
</data>
<data name="DefaultWelcomeMessage" xml:space="preserve">
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, welcome to {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<data name="Beep1" xml:space="preserve">
<value>Bah!</value>
</data>
<data name="Beep2" xml:space="preserve">
<data name="Beep2" xml:space="preserve">
<value>Bop!</value>
</data>
<data name="Beep3" xml:space="preserve">
<data name="Beep3" xml:space="preserve">
<value>Beep!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>I do not have permission to execute this command!</value>
</data>
<data name="CommandNoPermissionUser" xml:space="preserve">
<data name="CommandNoPermissionUser" xml:space="preserve">
<value>You do not have permission to execute this command!</value>
</data>
<data name="YouWereBanned" xml:space="preserve">
<data name="YouWereBanned" xml:space="preserve">
<value>You were banned</value>
</data>
<data name="PunishmentExpired" xml:space="preserve">
<data name="PunishmentExpired" xml:space="preserve">
<value>Punishment expired</value>
</data>
<data name="ClearAmountTooSmall" xml:space="preserve">
<data name="ClearAmountTooSmall" xml:space="preserve">
<value>You specified less than {0} messages!</value>
</data>
<data name="ClearAmountTooLarge" xml:space="preserve">
<data name="ClearAmountTooLarge" xml:space="preserve">
<value>You specified more than {0} messages!</value>
</data>
<data name="CommandHelp" xml:space="preserve">
<data name="CommandHelp" xml:space="preserve">
<value>Command help:</value>
</data>
<data name="YouWereKicked" xml:space="preserve">
<data name="YouWereKicked" xml:space="preserve">
<value>You were kicked</value>
</data>
<data name="Milliseconds" xml:space="preserve">
<data name="Milliseconds" xml:space="preserve">
<value>ms</value>
</data>
<data name="MemberAlreadyMuted" xml:space="preserve">
<data name="MemberAlreadyMuted" xml:space="preserve">
<value>Member is already muted!</value>
</data>
<data name="ChannelNotSpecified" xml:space="preserve">
<data name="ChannelNotSpecified" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="RoleNotSpecified" xml:space="preserve">
<data name="RoleNotSpecified" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="CurrentSettings" xml:space="preserve">
<data name="CurrentSettings" xml:space="preserve">
<value>Current settings:</value>
</data>
<data name="SettingsLanguage" xml:space="preserve">
<data name="SettingsLanguage" xml:space="preserve">
<value>Language</value>
</data>
<data name="SettingsPrefix" xml:space="preserve">
<data name="SettingsPrefix" xml:space="preserve">
<value>Prefix</value>
</data>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>Remove roles on mute</value>
</data>
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>Send welcome messages</value>
</data>
<data name="SettingsMuteRole" xml:space="preserve">
<data name="SettingsMuteRole" xml:space="preserve">
<value>Mute role</value>
</data>
<data name="LanguageNotSupported" xml:space="preserve">
<value>Language not supported!</value>
</data>
<data name="Yes" xml:space="preserve">
<data name="LanguageNotSupported" xml:space="preserve">
<value>Language not supported!</value>
</data>
<data name="Yes" xml:space="preserve">
<value>Yes</value>
</data>
<data name="No" xml:space="preserve">
<data name="No" xml:space="preserve">
<value>No</value>
</data>
<data name="UserNotBanned" xml:space="preserve">
<data name="UserNotBanned" xml:space="preserve">
<value>This user is not banned!</value>
</data>
<data name="MemberNotMuted" xml:space="preserve">
<data name="MemberNotMuted" xml:space="preserve">
<value>Member not muted!</value>
</data>
<data name="SettingsWelcomeMessage" xml:space="preserve">
<data name="SettingsWelcomeMessage" xml:space="preserve">
<value>Welcome message</value>
</data>
<data name="ClearAmountInvalid" xml:space="preserve">
<data name="ClearAmountInvalid" xml:space="preserve">
<value>You need to specify an integer from {0} to {1} instead of {2}!</value>
</data>
<data name="UserBanned" xml:space="preserve">
<data name="UserBanned" xml:space="preserve">
<value>{0} was banned</value>
</data>
<data name="SettingDoesntExist" xml:space="preserve">
<data name="SettingDoesntExist" xml:space="preserve">
<value>That setting doesn't exist!</value>
</data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>Receive startup messages</value>
</data>
<data name="InvalidSettingValue" xml:space="preserve">
<data name="InvalidSettingValue" xml:space="preserve">
<value>Invalid setting value specified!</value>
</data>
<data name="InvalidRole" xml:space="preserve">
<data name="InvalidRole" xml:space="preserve">
<value>This role does not exist!</value>
</data>
<data name="InvalidChannel" xml:space="preserve">
<data name="InvalidChannel" xml:space="preserve">
<value>This channel does not exist!</value>
</data>
<data name="DurationRequiredForTimeOuts" xml:space="preserve">
<data name="DurationRequiredForTimeOuts" 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>
</data>
<data name="CannotTimeOutBot" xml:space="preserve">
<data name="CannotTimeOutBot" xml:space="preserve">
<value>I cannot use time-outs on other bots! Try to set a mute role in settings</value>
</data>
<data name="EventCreated" xml:space="preserve">
<data name="EventCreated" 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>
</data>
<data name="SettingsEventNotificationRole" xml:space="preserve">
<data name="SettingsEventNotificationRole" xml:space="preserve">
<value>Role for event creation notifications</value>
</data>
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>Channel for event notifications</value>
</data>
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>Event start notifications receivers</value>
</data>
<data name="EventStarted" xml:space="preserve">
<data name="EventStarted" xml:space="preserve">
<value>Event "{0}" started</value>
</data>
<data name="SettingsFrowningFace" xml:space="preserve">
<data name="SettingsFrowningFace" xml:space="preserve">
<value>:(</value>
</data>
<data name="EventCancelled" xml:space="preserve">
<data name="EventCancelled" xml:space="preserve">
<value>Event "{0}" is cancelled!</value>
</data>
<data name="EventCompleted" xml:space="preserve">
<data name="EventCompleted" xml:space="preserve">
<value>Event "{0}" has completed!</value>
</data>
<data name="Ever" xml:space="preserve">
<data name="Ever" xml:space="preserve">
<value>ever</value>
</data>
<data name="MessagesCleared" xml:space="preserve">
<data name="MessagesCleared" xml:space="preserve">
<value>Cleared {0} messages</value>
</data>
<data name="FeedbackMemberKicked" xml:space="preserve">
<data name="FeedbackMemberKicked" xml:space="preserve">
<value>Kicked {0}: {1}</value>
</data>
<data name="FeedbackMemberMuted" xml:space="preserve">
<data name="FeedbackMemberMuted" xml:space="preserve">
<value>Muted {0} for{1}: {2}</value>
</data>
<data name="FeedbackUserUnbanned" xml:space="preserve">
<data name="FeedbackUserUnbanned" xml:space="preserve">
<value>Unbanned {0}: {1}</value>
</data>
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>Unmuted {0}: {1}</value>
</data>
<data name="SettingsNothingChanged" xml:space="preserve">
<data name="SettingsNothingChanged" xml:space="preserve">
<value>Nothing changed! `{0}` is already set to {1}</value>
</data>
<data name="SettingNotDefined" xml:space="preserve">
<data name="SettingNotDefined" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>Value of setting `{0}` is now set to {1}</value>
</data>
<data name="CommandDescriptionBan" xml:space="preserve">
<data name="CommandDescriptionBan" xml:space="preserve">
<value>Bans a user</value>
</data>
<data name="CommandDescriptionClear" xml:space="preserve">
<data name="CommandDescriptionClear" xml:space="preserve">
<value>Deletes a specified amount of messages in this channel</value>
</data>
<data name="CommandDescriptionHelp" xml:space="preserve">
<data name="CommandDescriptionHelp" xml:space="preserve">
<value>Shows this message</value>
</data>
<data name="CommandDescriptionKick" xml:space="preserve">
<data name="CommandDescriptionKick" xml:space="preserve">
<value>Kicks a member</value>
</data>
<data name="CommandDescriptionMute" xml:space="preserve">
<data name="CommandDescriptionMute" xml:space="preserve">
<value>Mutes a member</value>
</data>
<data name="CommandDescriptionPing" xml:space="preserve">
<data name="CommandDescriptionPing" xml:space="preserve">
<value>Shows (inaccurate) latency</value>
</data>
<data name="CommandDescriptionSettings" xml:space="preserve">
<data name="CommandDescriptionSettings" xml:space="preserve">
<value>Allows you to change certain preferences for this guild</value>
</data>
<data name="CommandDescriptionUnban" xml:space="preserve">
<data name="CommandDescriptionUnban" xml:space="preserve">
<value>Unbans a user</value>
</data>
<data name="CommandDescriptionUnmute" xml:space="preserve">
<data name="CommandDescriptionUnmute" xml:space="preserve">
<value>Unmutes a member</value>
</data>
<data name="MissingNumber" xml:space="preserve">
<data name="MissingNumber" xml:space="preserve">
<value>You need to specify an integer from {0} to {1}!</value>
</data>
<data name="MissingUser" xml:space="preserve">
<data name="MissingUser" xml:space="preserve">
<value>You need to specify a user!</value>
</data>
<data name="InvalidUser" xml:space="preserve">
<data name="InvalidUser" xml:space="preserve">
<value>You need to specify a user instead of {0}!</value>
</data>
<data name="MissingMember" xml:space="preserve">
<data name="MissingMember" xml:space="preserve">
<value>You need to specify a guild member!</value>
</data>
<data name="InvalidMember" xml:space="preserve">
<data name="InvalidMember" xml:space="preserve">
<value>You need to specify a member of this guild!</value>
</data>
<data name="UserCannotBanMembers" xml:space="preserve">
<data name="UserCannotBanMembers" xml:space="preserve">
<value>You cannot ban users from this guild!</value>
</data>
<data name="UserCannotManageMessages" xml:space="preserve">
<data name="UserCannotManageMessages" xml:space="preserve">
<value>You cannot manage messages in this guild!</value>
</data>
<data name="UserCannotKickMembers" xml:space="preserve">
<data name="UserCannotKickMembers" xml:space="preserve">
<value>You cannot kick members from this guild!</value>
</data>
<data name="UserCannotModerateMembers" xml:space="preserve">
<data name="UserCannotModerateMembers" xml:space="preserve">
<value>You cannot moderate members in this guild!</value>
</data>
<data name="UserCannotManageGuild" xml:space="preserve">
<data name="UserCannotManageGuild" xml:space="preserve">
<value>You cannot manage this guild!</value>
</data>
<data name="BotCannotBanMembers" xml:space="preserve">
<data name="BotCannotBanMembers" xml:space="preserve">
<value>I cannot ban users from this guild!</value>
</data>
<data name="BotCannotManageMessages" xml:space="preserve">
<data name="BotCannotManageMessages" xml:space="preserve">
<value>I cannot manage messages in this guild!</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<data name="BotCannotKickMembers" xml:space="preserve">
<value>I cannot kick members from this guild!</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>I cannot moderate members in this guild!</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<data name="BotCannotManageGuild" xml:space="preserve">
<value>I cannot manage this guild!</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<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">
<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">
<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">
<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">
<data name="MissingUnmuteReason" xml:space="preserve">
<value>You need to specify a reason for unmute this member!</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<data name="UserCannotBanOwner" xml:space="preserve">
<value>You cannot ban the owner of this guild!</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>You cannot ban yourself!</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<data name="UserCannotBanBot" xml:space="preserve">
<value>You cannot ban me!</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<data name="BotCannotBanTarget" xml:space="preserve">
<value>I cannot ban this user!</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<data name="UserCannotBanTarget" xml:space="preserve">
<value>You cannot ban this user!</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<data name="UserCannotKickOwner" xml:space="preserve">
<value>You cannot kick the owner of this guild!</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>You cannot kick yourself!</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<data name="UserCannotKickBot" xml:space="preserve">
<value>You cannot kick me!</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<data name="BotCannotKickTarget" xml:space="preserve">
<value>I cannot kick this member!</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<data name="UserCannotKickTarget" xml:space="preserve">
<value>You cannot kick this member!</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>You cannot mute the owner of this guild!</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>You cannot mute yourself!</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<data name="UserCannotMuteBot" xml:space="preserve">
<value>You cannot mute me!</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>I cannot mute this member!</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>You cannot mute this member!</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<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">
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>You are muted!</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>...</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>I cannot unmute this member!</value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>You cannot unmute this user!</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<data name="EventEarlyNotification" xml:space="preserve">
<value>Event "{0}" will start {1}!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>Early event start notification offset</value>
</data>
<data name="UserNotFound" xml:space="preserve">
<data name="UserNotFound" xml:space="preserve">
<value>I could not find this user in any guild I'm a member of! Check if the ID is correct and that the user was on this server no longer than 30 days ago</value>
</data>
<data name="SettingsDefaultRole" xml:space="preserve">
<data name="SettingsDefaultRole" xml:space="preserve">
<value>Default role</value>
</data>
<data name="CommandDescriptionRemind" xml:space="preserve">
<data name="CommandDescriptionRemind" xml:space="preserve">
<value>Adds a reminder</value>
</data>
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<value>Channel for public notifications</value>
</data>
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<value>Channel for private notifications</value>
</data>
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<value>Return roles on rejoin</value>
</data>
<data name="SettingsAutoStartEvents" xml:space="preserve">
<data name="SettingsAutoStartEvents" xml:space="preserve">
<value>Automatically start scheduled events</value>
</data>
<data name="MissingReminderText" xml:space="preserve">
<data name="MissingReminderText" xml:space="preserve">
<value>You need to specify reminder text!</value>
</data>
<data name="InvalidRemindIn" xml:space="preserve">
<data name="InvalidRemindIn" xml:space="preserve">
<value>You need to specify when I should send you the reminder!</value>
</data>
<data name="IssuedBy" xml:space="preserve">
<data name="IssuedBy" xml:space="preserve">
<value>Issued by</value>
</data>
<data name="EventCreatedTitle" xml:space="preserve">
<data name="EventCreatedTitle" xml:space="preserve">
<value>{0} has created a new event:</value>
</data>
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<value>The event will start at {0} in {1}</value>
</data>
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<value>The event will start at {0} until {1} in {2}</value>
</data>
<data name="EventDetailsButton" xml:space="preserve">
<data name="EventDetailsButton" xml:space="preserve">
<value>Event details</value>
</data>
<data name="EventDuration" xml:space="preserve">
<data name="EventDuration" xml:space="preserve">
<value>The event has lasted for `{0}`</value>
</data>
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<value>The event is happening at {0}</value>
</data>
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<value>The event is happening at {0} until {1}</value>
</data>
<data name="UserAlreadyBanned" xml:space="preserve">
<data name="UserAlreadyBanned" xml:space="preserve">
<value>This user is already banned!</value>
</data>
<data name="UserUnbanned" xml:space="preserve">
<data name="UserUnbanned" xml:space="preserve">
<value>{0} was unbanned</value>
</data>
<data name="UserMuted" xml:space="preserve">
<data name="UserMuted" xml:space="preserve">
<value>{0} was muted</value>
</data>
<data name="UserUnmuted" xml:space="preserve">
<data name="UserUnmuted" xml:space="preserve">
<value>{0} was unmuted</value>
</data>
<data name="UserNotMuted" xml:space="preserve">
<data name="UserNotMuted" xml:space="preserve">
<value>This member is not muted!</value>
</data>
<data name="UserNotFoundShort" xml:space="preserve">
<data name="UserNotFoundShort" xml:space="preserve">
<value>I could not find this user!</value>
</data>
<data name="UserKicked" xml:space="preserve">
<data name="UserKicked" xml:space="preserve">
<value>{0} was kicked</value>
</data>
<data name="DescriptionActionReason" xml:space="preserve">
<data name="DescriptionActionReason" xml:space="preserve">
<value>Reason: {0}</value>
</data>
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<value>Expires at: {0}</value>
</data>
<data name="UserAlreadyMuted" xml:space="preserve">
<data name="UserAlreadyMuted" xml:space="preserve">
<value>This user is already muted!</value>
</data>
<data name="MessageFrom" xml:space="preserve">
<data name="MessageFrom" xml:space="preserve">
<value>From {0}:</value>
</data>
<data name="AboutTitleDevelopers" xml:space="preserve">
<data name="AboutTitleDevelopers" xml:space="preserve">
<value>Developers:</value>
</data>
<data name="AboutTitleRepository" xml:space="preserve">
<value>Boyfriend's source code</value>
</data>
<data name="AboutBot" xml:space="preserve">
<data name="AboutTitleRepository" xml:space="preserve">
<value>Boyfriend's source code</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>About Boyfriend</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>developer &amp; designer, Boyfriend's Wiki creator</value>
</data>
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>developer &amp; designer, Boyfriend's Wiki creator</value>
</data>
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<value>main developer</value>
</data>
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<value>developer</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>Reminder for {0} created</value>
</data>
<data name="Reminder" xml:space="preserve">
<value>Reminder for {0}</value>
</data>
<data name="DescriptionReminder" xml:space="preserve">
<value>You asked me to remind you {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>Boyfriend's Settings</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>Setting successfully changed</value>
</data>
<data name="SettingNotChanged" xml:space="preserve">
<value>Setting not changed</value>
</data>
<data name="SettingIsNow" xml:space="preserve">
<value>is now</value>
</data>
<data name="SettingsRenameHoistedUsers" xml:space="preserve">
<value>Rename members who attempt to hoist themselves</value>
</data>
<data name="Page" xml:space="preserve">
<value>Page</value>
</data>
<data name="PageNotFound" xml:space="preserve">
<value>Page not found!</value>
</data>
<data name="PagesAllowed" xml:space="preserve">
<value>There are {0} total pages</value>
</data>
<data name="Next" xml:space="preserve">
<value>Next</value>
</data>
<data name="Previous" xml:space="preserve">
<value>Previous</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>Reminder for {0} created</value>
</data>
<data name="Reminder" xml:space="preserve">
<value>Reminder for {0}</value>
</data>
<data name="DescriptionReminder" xml:space="preserve">
<value>You asked me to remind you {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>Boyfriend's Settings</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>Setting successfully changed</value>
</data>
<data name="SettingNotChanged" xml:space="preserve">
<value>Setting not changed</value>
</data>
<data name="SettingIsNow" xml:space="preserve">
<value>is now</value>
</data>
<data name="SettingsRenameHoistedUsers" xml:space="preserve">
<value>Rename members who attempt to hoist themselves</value>
</data>
<data name="Page" xml:space="preserve">
<value>Page</value>
</data>
<data name="PageNotFound" xml:space="preserve">
<value>Page not found!</value>
</data>
<data name="PagesAllowed" xml:space="preserve">
<value>There are {0} total pages</value>
</data>
<data name="Next" xml:space="preserve">
<value>Next</value>
</data>
<data name="Previous" xml:space="preserve">
<value>Previous</value>
</data>
<data name="ReminderList" xml:space="preserve">
<value>{0}'s reminders</value>
</data>
<value>{0}'s reminders</value>
</data>
<data name="InvalidReminderIndex" xml:space="preserve">
<value>There's no reminder with that index!</value>
</data>
<value>There's no reminder with that index!</value>
</data>
<data name="ReminderDeleted" xml:space="preserve">
<value>Reminder deleted</value>
</data>
<data name="NoRemindersFound" xml:space="preserve">
<value>You don't have any reminders created!</value>
</data>
<data name="SingleSettingReset" xml:space="preserve">
<value>Setting {0} reset</value>
</data>
<data name="AllSettingsReset" xml:space="preserve">
<value>All settings have been reset</value>
</data>
<data name="DescriptionActionJumpToMessage" xml:space="preserve">
<value>Jump to message: {0}</value>
</data>
<data name="DescriptionActionJumpToChannel" xml:space="preserve">
<value>Jump to channel: {0}</value>
</data>
<data name="ReminderIndex" xml:space="preserve">
<value>Index: {0}</value>
</data>
<data name="ReminderWillBeSentOn" xml:space="preserve">
<value>The reminder will be sent on: {0}</value>
</data>
<data name="ReminderText" xml:space="preserve">
<value>Reminder text: {0}</value>
</data>
<value>Reminder deleted</value>
</data>
<data name="NoRemindersFound" xml:space="preserve">
<value>You don't have any reminders created!</value>
</data>
<data name="SingleSettingReset" xml:space="preserve">
<value>Setting {0} reset</value>
</data>
<data name="AllSettingsReset" xml:space="preserve">
<value>All settings have been reset</value>
</data>
<data name="DescriptionActionJumpToMessage" xml:space="preserve">
<value>Jump to message: {0}</value>
</data>
<data name="DescriptionActionJumpToChannel" xml:space="preserve">
<value>Jump to channel: {0}</value>
</data>
<data name="ReminderIndex" xml:space="preserve">
<value>Index: {0}</value>
</data>
<data name="ReminderWillBeSentOn" xml:space="preserve">
<value>The reminder will be sent on: {0}</value>
</data>
<data name="ReminderText" xml:space="preserve">
<value>Reminder text: {0}</value>
</data>
<data name="ShowInfoDisplayName" xml:space="preserve">
<value>Display name</value>
</data>
<data name="ShowInfoTitle" xml:space="preserve">
<value>Information about {0}</value>
</data>
<data name="ShowInfoMuted" xml:space="preserve">
<value>Muted</value>
</data>
<data name="ShowInfoDiscordUserSince" xml:space="preserve">
<value>Discord user since</value>
</data>
<data name="ShowInfoBanned" xml:space="preserve">
<value>Banned</value>
</data>
<data name="ShowInfoPunishments" xml:space="preserve">
<value>Punishments</value>
</data>
<data name="ShowInfoBannedPermanently" xml:space="preserve">
<value>Banned permanently</value>
</data>
<data name="ShowInfoNotOnGuild" xml:space="preserve">
<value>Not in the guild</value>
</data>
<data name="ShowInfoMutedByTimeout" xml:space="preserve">
<value>Muted by timeout</value>
</data>
<data name="ShowInfoMutedByMuteRole" xml:space="preserve">
<value>Muted by mute role</value>
</data>
<data name="ShowInfoGuildMemberSince" xml:space="preserve">
<value>Guild member since</value>
</data>
<data name="ShowInfoGuildNickname" xml:space="preserve">
<value>Nickname</value>
</data>
<data name="ShowInfoGuildRoles" xml:space="preserve">
<value>Roles</value>
</data>
<data name="ShowInfoGuildMemberPremiumSince" xml:space="preserve">
<value>Nitro booster since</value>
</data>
</root>

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
<!--
Microsoft ResX Schema
Version 2.0
@ -47,569 +48,605 @@
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
id="root"
xmlns="">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root" xmlns="">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="mimetype" type="xsd:string"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader>
<data name="Ready" xml:space="preserve">
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 </value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 </value>
</resheader>
<data name="Ready" xml:space="preserve">
<value>Я запустился!</value>
</data>
<data name="CachedMessageDeleted" xml:space="preserve">
<data name="CachedMessageDeleted" xml:space="preserve">
<value>Сообщение {0} удалено:</value>
</data>
<data name="CachedMessageCleared" xml:space="preserve">
<data name="CachedMessageCleared" xml:space="preserve">
<value>Очищено сообщение от {0} в канале {1}: {2}</value>
</data>
<data name="CachedMessageEdited" xml:space="preserve">
<data name="CachedMessageEdited" xml:space="preserve">
<value>Сообщение {0} отредактировано:</value>
</data>
<data name="DefaultWelcomeMessage" xml:space="preserve">
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, добро пожаловать на сервер {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<data name="Beep1" xml:space="preserve">
<value>Бап!</value>
</data>
<data name="Beep2" xml:space="preserve">
<data name="Beep2" xml:space="preserve">
<value>Боп!</value>
</data>
<data name="Beep3" xml:space="preserve">
<data name="Beep3" xml:space="preserve">
<value>Бип!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>У меня недостаточно прав для выполнения этой команды!</value>
</data>
<data name="CommandNoPermissionUser" xml:space="preserve">
<data name="CommandNoPermissionUser" xml:space="preserve">
<value>У тебя недостаточно прав для выполнения этой команды!</value>
</data>
<data name="PunishmentExpired" xml:space="preserve">
<data name="PunishmentExpired" xml:space="preserve">
<value>Время наказания истекло</value>
</data>
<data name="ClearAmountTooSmall" xml:space="preserve">
<data name="ClearAmountTooSmall" xml:space="preserve">
<value>Указано менее {0} сообщений!</value>
</data>
<data name="ClearAmountTooLarge" xml:space="preserve">
<data name="ClearAmountTooLarge" xml:space="preserve">
<value>Указано более {0} сообщений!</value>
</data>
<data name="CommandHelp" xml:space="preserve">
<data name="CommandHelp" xml:space="preserve">
<value>Справка по командам:</value>
</data>
<data name="YouWereKicked" xml:space="preserve">
<data name="YouWereKicked" xml:space="preserve">
<value>Вы были выгнаны</value>
</data>
<data name="Milliseconds" xml:space="preserve">
<data name="Milliseconds" xml:space="preserve">
<value>мс</value>
</data>
<data name="MemberAlreadyMuted" xml:space="preserve">
<data name="MemberAlreadyMuted" xml:space="preserve">
<value>Участник уже заглушен!</value>
</data>
<data name="ChannelNotSpecified" xml:space="preserve">
<data name="ChannelNotSpecified" xml:space="preserve">
<value>Не указан</value>
</data>
<data name="RoleNotSpecified" xml:space="preserve">
<data name="RoleNotSpecified" xml:space="preserve">
<value>Не указана</value>
</data>
<data name="CurrentSettings" xml:space="preserve">
<data name="CurrentSettings" xml:space="preserve">
<value>Текущие настройки:</value>
</data>
<data name="SettingsLanguage" xml:space="preserve">
<data name="SettingsLanguage" xml:space="preserve">
<value>Язык</value>
</data>
<data name="SettingsPrefix" xml:space="preserve">
<data name="SettingsPrefix" xml:space="preserve">
<value>Префикс</value>
</data>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>Удалять роли при муте</value>
</data>
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>Отправлять приветствия</value>
</data>
<data name="SettingsMuteRole" xml:space="preserve">
<data name="SettingsMuteRole" xml:space="preserve">
<value>Роль мута</value>
</data>
<data name="LanguageNotSupported" xml:space="preserve">
<value>Язык не поддерживается! </value>
</data>
<data name="Yes" xml:space="preserve">
<data name="LanguageNotSupported" xml:space="preserve">
<value>Язык не поддерживается! </value>
</data>
<data name="Yes" xml:space="preserve">
<value>Да</value>
</data>
<data name="No" xml:space="preserve">
<data name="No" xml:space="preserve">
<value>Нет</value>
</data>
<data name="UserNotBanned" xml:space="preserve">
<data name="UserNotBanned" xml:space="preserve">
<value>Этот пользователь не забанен!</value>
</data>
<data name="MemberNotMuted" xml:space="preserve">
<data name="MemberNotMuted" xml:space="preserve">
<value>Участник не заглушен!</value>
</data>
<data name="SettingsWelcomeMessage" xml:space="preserve">
<data name="SettingsWelcomeMessage" xml:space="preserve">
<value>Приветствие</value>
</data>
<data name="ClearAmountInvalid" xml:space="preserve">
<data name="ClearAmountInvalid" xml:space="preserve">
<value>Надо указать целое число от {0} до {1} вместо {2}!</value>
</data>
<data name="UserBanned" xml:space="preserve">
<data name="UserBanned" xml:space="preserve">
<value>{0} был(-а) забанен(-а)</value>
</data>
<data name="SettingDoesntExist" xml:space="preserve">
<data name="SettingDoesntExist" xml:space="preserve">
<value>Такая настройка не существует!</value>
</data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>Получать сообщения о запуске</value>
</data>
<data name="InvalidSettingValue" xml:space="preserve">
<data name="InvalidSettingValue" xml:space="preserve">
<value>Указано недействительное значение для настройки!</value>
</data>
<data name="InvalidRole" xml:space="preserve">
<data name="InvalidRole" xml:space="preserve">
<value>Эта роль не существует!</value>
</data>
<data name="InvalidChannel" xml:space="preserve">
<data name="InvalidChannel" xml:space="preserve">
<value>Этот канал не существует!</value>
</data>
<data name="DurationRequiredForTimeOuts" xml:space="preserve">
<data name="DurationRequiredForTimeOuts" xml:space="preserve">
<value>Я не могу заглушить кого-то на более чем 28 дней, используя тайм-ауты! Или укажи продолжительность менее 28 дней, или установи роль мута в настройках</value>
</data>
<data name="CannotTimeOutBot" xml:space="preserve">
<data name="CannotTimeOutBot" xml:space="preserve">
<value>Я не могу использовать тайм-ауты на других ботах! Попробуй указать роль мута в настройках</value>
</data>
<data name="EventCreated" xml:space="preserve">
<data name="EventCreated" xml:space="preserve">
<value>{0} создал событие {1}! Оно пройдёт в {2} и начнётся &lt;t:{3}:R&gt;!{4}</value>
</data>
<data name="SettingsEventNotificationRole" xml:space="preserve">
<data name="SettingsEventNotificationRole" xml:space="preserve">
<value>Роль для уведомлений о создании событий</value>
</data>
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>Канал для уведомлений о событиях</value>
</data>
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>Получатели уведомлений о начале событий</value>
</data>
<data name="EventStarted" xml:space="preserve">
<data name="EventStarted" xml:space="preserve">
<value>Событие "{0}" началось</value>
</data>
<data name="SettingsFrowningFace" xml:space="preserve">
<data name="SettingsFrowningFace" xml:space="preserve">
<value>:( </value>
</data>
<data name="EventCancelled" xml:space="preserve">
<data name="EventCancelled" xml:space="preserve">
<value>Событие "{0}" отменено!</value>
</data>
<data name="EventCompleted" xml:space="preserve">
<data name="EventCompleted" xml:space="preserve">
<value>Событие "{0}" завершено!</value>
</data>
<data name="Ever" xml:space="preserve">
<data name="Ever" xml:space="preserve">
<value>всегда</value>
</data>
<data name="MessagesCleared" xml:space="preserve">
<data name="MessagesCleared" xml:space="preserve">
<value>Очищено {0} сообщений</value>
</data>
<data name="FeedbackMemberKicked" xml:space="preserve">
<data name="FeedbackMemberKicked" xml:space="preserve">
<value>Выгнан {0}: {1}</value>
</data>
<data name="FeedbackMemberMuted" xml:space="preserve">
<data name="FeedbackMemberMuted" xml:space="preserve">
<value>Заглушен {0} на{1}: {2}</value>
</data>
<data name="FeedbackUserUnbanned" xml:space="preserve">
<data name="FeedbackUserUnbanned" xml:space="preserve">
<value>Возвращён из бана {0}: {1}</value>
</data>
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>Разглушен {0}: {1}</value>
</data>
<data name="SettingsNothingChanged" xml:space="preserve">
<data name="SettingsNothingChanged" xml:space="preserve">
<value>Ничего не изменилось! Значение настройки `{0}` уже {1}</value>
</data>
<data name="SettingNotDefined" xml:space="preserve">
<data name="SettingNotDefined" xml:space="preserve">
<value>Не указано</value>
</data>
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>Значение настройки `{0}` теперь установлено на {1}</value>
</data>
<data name="CommandDescriptionBan" xml:space="preserve">
<data name="CommandDescriptionBan" xml:space="preserve">
<value>Банит пользователя</value>
</data>
<data name="CommandDescriptionClear" xml:space="preserve">
<data name="CommandDescriptionClear" xml:space="preserve">
<value>Удаляет указанное количество сообщений в этом канале</value>
</data>
<data name="CommandDescriptionHelp" xml:space="preserve">
<data name="CommandDescriptionHelp" xml:space="preserve">
<value>Показывает эту справку</value>
</data>
<data name="CommandDescriptionKick" xml:space="preserve">
<data name="CommandDescriptionKick" xml:space="preserve">
<value>Выгоняет участника</value>
</data>
<data name="CommandDescriptionMute" xml:space="preserve">
<data name="CommandDescriptionMute" xml:space="preserve">
<value>Глушит участника</value>
</data>
<data name="CommandDescriptionPing" xml:space="preserve">
<data name="CommandDescriptionPing" xml:space="preserve">
<value>Показывает (неточную) задержку</value>
</data>
<data name="CommandDescriptionSettings" xml:space="preserve">
<data name="CommandDescriptionSettings" xml:space="preserve">
<value>Позволяет менять некоторые настройки под этот сервер</value>
</data>
<data name="CommandDescriptionUnban" xml:space="preserve">
<data name="CommandDescriptionUnban" xml:space="preserve">
<value>Возвращает пользователя из бана</value>
</data>
<data name="CommandDescriptionUnmute" xml:space="preserve">
<data name="CommandDescriptionUnmute" xml:space="preserve">
<value>Разглушает участника</value>
</data>
<data name="MissingNumber" xml:space="preserve">
<data name="MissingNumber" xml:space="preserve">
<value>Надо указать целое число от {0} до {1}!</value>
</data>
<data name="MissingUser" xml:space="preserve">
<data name="MissingUser" xml:space="preserve">
<value>Надо указать пользователя!</value>
</data>
<data name="InvalidUser" xml:space="preserve">
<data name="InvalidUser" xml:space="preserve">
<value>Надо указать пользователя вместо {0}!</value>
</data>
<data name="MissingMember" xml:space="preserve">
<data name="MissingMember" xml:space="preserve">
<value>Надо указать участника сервера!</value>
</data>
<data name="InvalidMember" xml:space="preserve">
<data name="InvalidMember" xml:space="preserve">
<value>Надо указать участника этого сервера!</value>
</data>
<data name="UserCannotBanMembers" xml:space="preserve">
<data name="UserCannotBanMembers" xml:space="preserve">
<value>Ты не можешь банить пользователей на этом сервере!</value>
</data>
<data name="UserCannotManageMessages" xml:space="preserve">
<data name="UserCannotManageMessages" xml:space="preserve">
<value>Ты не можешь управлять сообщениями этого сервера!</value>
</data>
<data name="UserCannotKickMembers" xml:space="preserve">
<data name="UserCannotKickMembers" xml:space="preserve">
<value>Ты не можешь выгонять участников с этого сервера!</value>
</data>
<data name="UserCannotModerateMembers" xml:space="preserve">
<data name="UserCannotModerateMembers" xml:space="preserve">
<value>Ты не можешь модерировать участников этого сервера!</value>
</data>
<data name="UserCannotManageGuild" xml:space="preserve">
<data name="UserCannotManageGuild" xml:space="preserve">
<value>Ты не можешь настраивать этот сервер!</value>
</data>
<data name="BotCannotBanMembers" xml:space="preserve">
<data name="BotCannotBanMembers" xml:space="preserve">
<value>Я не могу банить пользователей на этом сервере!</value>
</data>
<data name="BotCannotManageMessages" xml:space="preserve">
<data name="BotCannotManageMessages" xml:space="preserve">
<value>Я не могу управлять сообщениями этого сервера!</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<data name="BotCannotKickMembers" xml:space="preserve">
<value>Я не могу выгонять участников с этого сервера!</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>Я не могу модерировать участников этого сервера!</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<data name="BotCannotManageGuild" xml:space="preserve">
<value>Я не могу настраивать этот сервер!</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<data name="MissingBanReason" xml:space="preserve">
<value>Надо указать причину для бана этого участника!</value>
</data>
<data name="MissingKickReason" xml:space="preserve">
<data name="MissingKickReason" xml:space="preserve">
<value>Надо указать причину для кика этого участника!</value>
</data>
<data name="MissingMuteReason" xml:space="preserve">
<data name="MissingMuteReason" xml:space="preserve">
<value>Надо указать причину для мута этого участника!</value>
</data>
<data name="MissingUnbanReason" xml:space="preserve">
<data name="MissingUnbanReason" xml:space="preserve">
<value>Надо указать причину для разбана этого пользователя!</value>
</data>
<data name="MissingUnmuteReason" xml:space="preserve">
<data name="MissingUnmuteReason" xml:space="preserve">
<value>Надо указать причину для размута этого участника!</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<data name="UserCannotBanBot" xml:space="preserve">
<value>Ты не можешь меня забанить!</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<data name="UserCannotBanOwner" xml:space="preserve">
<value>Ты не можешь забанить владельца этого сервера!</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<data name="UserCannotBanTarget" xml:space="preserve">
<value>Ты не можешь забанить этого участника!</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>Ты не можешь себя забанить!</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<data name="BotCannotBanTarget" xml:space="preserve">
<value>Я не могу забанить этого пользователя!</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<data name="UserCannotKickOwner" xml:space="preserve">
<value>Ты не можешь выгнать владельца этого сервера!</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>Ты не можешь себя выгнать!</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<data name="UserCannotKickBot" xml:space="preserve">
<value>Ты не можешь меня выгнать!</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<data name="BotCannotKickTarget" xml:space="preserve">
<value>Я не могу выгнать этого участника</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<data name="UserCannotKickTarget" xml:space="preserve">
<value>Ты не можешь выгнать этого участника!</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>Ты не можешь заглушить владельца этого сервера!</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>Ты не можешь себя заглушить!</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<data name="UserCannotMuteBot" xml:space="preserve">
<value>Ты не можешь заглушить меня!</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>Я не могу заглушить этого пользователя!</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>Ты не можешь заглушить этого участника!</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<value>Тебе не надо возвращать из мута владельца этого сервера!</value>
</data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>Ты заглушен!</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>... </value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>Ты не можешь вернуть из мута этого пользователя!</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>Я не могу вернуть из мута этого пользователя!</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<data name="EventEarlyNotification" xml:space="preserve">
<value>Событие "{0}" начнется {1}!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>Офсет отправки преждевременного уведомления о начале события</value>
</data>
<data name="UserNotFound" xml:space="preserve">
<data name="UserNotFound" xml:space="preserve">
<value>Я не смог найти этого пользователя ни в одном из серверов, в которых я есть. Проверь правильность ID и нахождение пользователя на этом сервере максимум 30 дней назад</value>
</data>
<data name="SettingsDefaultRole" xml:space="preserve">
<value>Роль по умолчанию</value>
</data>
<data name="CommandDescriptionRemind" xml:space="preserve">
<data name="SettingsDefaultRole" xml:space="preserve">
<value>Роль по умолчанию</value>
</data>
<data name="CommandDescriptionRemind" xml:space="preserve">
<value>Добавляет напоминание</value>
</data>
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<value>Канал для публичных уведомлений</value>
</data>
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<value>Канал для приватных уведомлений</value>
</data>
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<value>Возвращать роли при перезаходе</value>
</data>
<data name="SettingsAutoStartEvents" xml:space="preserve">
<data name="SettingsAutoStartEvents" xml:space="preserve">
<value>Автоматически начинать события</value>
</data>
<data name="MissingReminderText" xml:space="preserve">
<data name="MissingReminderText" xml:space="preserve">
<value>Тебе нужно указать текст напоминания!</value>
</data>
<data name="InvalidRemindIn" xml:space="preserve">
<data name="InvalidRemindIn" xml:space="preserve">
<value>Нужно указать время, через которое придёт напоминание!</value>
</data>
<data name="IssuedBy" xml:space="preserve">
<data name="IssuedBy" xml:space="preserve">
<value>Ответственный</value>
</data>
<data name="EventCreatedTitle" xml:space="preserve">
<data name="EventCreatedTitle" xml:space="preserve">
<value>{0} создаёт новое событие:</value>
</data>
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<value>Событие пройдёт {0} в канале {1}</value>
</data>
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<value>Событие пройдёт с {0} до {1} в {2}</value>
</data>
<data name="EventDetailsButton" xml:space="preserve">
<data name="EventDetailsButton" xml:space="preserve">
<value>Подробнее о событии</value>
</data>
<data name="EventDuration" xml:space="preserve">
<data name="EventDuration" xml:space="preserve">
<value>Событие длилось `{0}`</value>
</data>
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<value>Событие происходит в {0}</value>
</data>
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<value>Событие происходит в {0} до {1}</value>
</data>
<data name="UserAlreadyBanned" xml:space="preserve">
<data name="UserAlreadyBanned" xml:space="preserve">
<value>Этот пользователь уже забанен!</value>
</data>
<data name="UserUnbanned" xml:space="preserve">
<data name="UserUnbanned" xml:space="preserve">
<value>{0} был(-а) разбанен(-а)</value>
</data>
<data name="UserMuted" xml:space="preserve">
<data name="UserMuted" xml:space="preserve">
<value>{0} был(-а) заглушен(-а)</value>
</data>
<data name="UserNotMuted" xml:space="preserve">
<data name="UserNotMuted" xml:space="preserve">
<value>Этот участник не заглушен!</value>
</data>
<data name="UserUnmuted" xml:space="preserve">
<data name="UserUnmuted" xml:space="preserve">
<value>{0} был(-а) разглушен(-а)</value>
</data>
<data name="UserNotFoundShort" xml:space="preserve">
<data name="UserNotFoundShort" xml:space="preserve">
<value>Я не смог найти этого пользователя!</value>
</data>
<data name="UserKicked" xml:space="preserve">
<data name="UserKicked" xml:space="preserve">
<value>{0} был(-а) выгнан(-а)</value>
</data>
<data name="DescriptionActionReason" xml:space="preserve">
<data name="DescriptionActionReason" xml:space="preserve">
<value>Причина: {0}</value>
</data>
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<value>Закончится: {0}</value>
</data>
<data name="UserAlreadyMuted" xml:space="preserve">
<data name="UserAlreadyMuted" xml:space="preserve">
<value>Этот пользователь уже в муте!</value>
</data>
<data name="YouWereBanned" xml:space="preserve">
<data name="YouWereBanned" xml:space="preserve">
<value>Вы были забанены</value>
</data>
<data name="MessageFrom" xml:space="preserve">
<data name="MessageFrom" xml:space="preserve">
<value>От {0}:</value>
</data>
<data name="AboutTitleDevelopers" xml:space="preserve">
<data name="AboutTitleDevelopers" xml:space="preserve">
<value>Разработчики:</value>
</data>
<data name="AboutTitleRepository" xml:space="preserve">
<value>Исходный код Boyfriend</value>
</data>
<data name="AboutBot" xml:space="preserve">
<data name="AboutTitleRepository" xml:space="preserve">
<value>Исходный код Boyfriend</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>О Boyfriend</value>
</data>
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<value>разработчик</value>
</data>
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<value>разработчик</value>
</data>
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<value>основной разработчик</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>разработчик и дизайнер, создатель Boyfriend's Wiki</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>Напоминание для {0} создано</value>
</data>
<data name="Reminder" xml:space="preserve">
<value>Напоминание для {0}</value>
</data>
<data name="DescriptionReminder" xml:space="preserve">
<value>Вы просили напомнить вам {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>Настройки Boyfriend</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>Настройка успешно изменена</value>
</data>
<data name="SettingNotChanged" xml:space="preserve">
<value>Настройка не редактирована</value>
</data>
<data name="SettingIsNow" xml:space="preserve">
<value>теперь имеет значение</value>
</data>
<data name="SettingsRenameHoistedUsers" xml:space="preserve">
<value>Переименовывать участников, которые пытаются поднять себя</value>
</data>
<data name="Page" xml:space="preserve">
<value>Страница</value>
</data>
<data name="PageNotFound" xml:space="preserve">
<value>Страница не найдена!</value>
</data>
<data name="PagesAllowed" xml:space="preserve">
<value>Всего есть {0} страниц(-ы)</value>
</data>
<data name="Next" xml:space="preserve">
<value>Далее</value>
</data>
<data name="Previous" xml:space="preserve">
<value>Назад</value>
</data>
<data name="ReminderList" xml:space="preserve">
<value>Напоминания {0}</value>
</data>
<data name="InvalidReminderIndex" xml:space="preserve">
<value>У тебя нет напоминания с указанным индексом!</value>
</data>
<data name="ReminderDeleted" xml:space="preserve">
<value>Напоминание удалено</value>
</data>
<data name="NoRemindersFound" xml:space="preserve">
<value>У вас нет созданных напоминаний!</value>
</data>
<data name="SingleSettingReset" xml:space="preserve">
<value>Настройка {0} сброшена</value>
</data>
<data name="AllSettingsReset" xml:space="preserve">
<value>Все настройки были сброшены</value>
</data>
<data name="DescriptionActionJumpToMessage" xml:space="preserve">
<value>Перейти к сообщению: {0}</value>
</data>
<data name="DescriptionActionJumpToChannel" xml:space="preserve">
<value>Перейти к каналу: {0}</value>
</data>
<data name="ReminderIndex" xml:space="preserve">
<value>Индекс: {0}</value>
</data>
<data name="ReminderWillBeSentOn" xml:space="preserve">
<value>Напоминание будет отправлено: {0}</value>
</data>
<data name="ReminderText" xml:space="preserve">
<value>Текст напоминалки: {0}</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>разработчик и дизайнер, создатель Boyfriend's Wiki</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>Напоминание для {0} создано</value>
</data>
<data name="Reminder" xml:space="preserve">
<value>Напоминание для {0}</value>
</data>
<data name="DescriptionReminder" xml:space="preserve">
<value>Вы просили напомнить вам {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>Настройки Boyfriend</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>Настройка успешно изменена</value>
</data>
<data name="SettingNotChanged" xml:space="preserve">
<value>Настройка не редактирована</value>
</data>
<data name="SettingIsNow" xml:space="preserve">
<value>теперь имеет значение</value>
</data>
<data name="SettingsRenameHoistedUsers" xml:space="preserve">
<value>Переименовывать участников, которые пытаются поднять себя</value>
</data>
<data name="Page" xml:space="preserve">
<value>Страница</value>
</data>
<data name="PageNotFound" xml:space="preserve">
<value>Страница не найдена!</value>
</data>
<data name="PagesAllowed" xml:space="preserve">
<value>Всего есть {0} страниц(-ы)</value>
</data>
<data name="Next" xml:space="preserve">
<value>Далее</value>
</data>
<data name="Previous" xml:space="preserve">
<value>Назад</value>
</data>
<data name="ReminderList" xml:space="preserve">
<value>Напоминания {0}</value>
</data>
<data name="InvalidReminderIndex" xml:space="preserve">
<value>У тебя нет напоминания с указанным индексом!</value>
</data>
<data name="ReminderDeleted" xml:space="preserve">
<value>Напоминание удалено</value>
</data>
<data name="NoRemindersFound" xml:space="preserve">
<value>У вас нет созданных напоминаний!</value>
</data>
<data name="SingleSettingReset" xml:space="preserve">
<value>Настройка {0} сброшена</value>
</data>
<data name="AllSettingsReset" xml:space="preserve">
<value>Все настройки были сброшены</value>
</data>
<data name="DescriptionActionJumpToMessage" xml:space="preserve">
<value>Перейти к сообщению: {0}</value>
</data>
<data name="DescriptionActionJumpToChannel" xml:space="preserve">
<value>Перейти к каналу: {0}</value>
</data>
<data name="ReminderIndex" xml:space="preserve">
<value>Индекс: {0}</value>
</data>
<data name="ReminderWillBeSentOn" xml:space="preserve">
<value>Напоминание будет отправлено: {0}</value>
</data>
<data name="ReminderText" xml:space="preserve">
<value>Текст напоминалки: {0}</value>
</data>
<data name="ShowInfoDisplayName" xml:space="preserve">
<value>Отображаемое имя</value>
</data>
<data name="ShowInfoTitle" xml:space="preserve">
<value>Информация о {0}</value>
</data>
<data name="ShowInfoMuted" xml:space="preserve">
<value>Заглушен</value>
</data>
<data name="ShowInfoDiscordUserSince" xml:space="preserve">
<value>Вступил в Discord</value>
</data>
<data name="ShowInfoBanned" xml:space="preserve">
<value>Забанен</value>
</data>
<data name="ShowInfoPunishments" xml:space="preserve">
<value>Наказания</value>
</data>
<data name="ShowInfoBannedPermanently" xml:space="preserve">
<value>Забанен навсегда</value>
</data>
<data name="ShowInfoNotOnGuild" xml:space="preserve">
<value>Не на сервере</value>
</data>
<data name="ShowInfoMutedByTimeout" xml:space="preserve">
<value>Заглушен с помощью тайм-аута</value>
</data>
<data name="ShowInfoMutedByMuteRole" xml:space="preserve">
<value>Заглушен с помощью роли мута</value>
</data>
<data name="ShowInfoGuildMemberSince" xml:space="preserve">
<value>Вступил на сервер</value>
</data>
<data name="ShowInfoGuildNickname" xml:space="preserve">
<value>Никнейм</value>
</data>
<data name="ShowInfoGuildRoles" xml:space="preserve">
<value>Роли</value>
</data>
<data name="ShowInfoGuildMemberPremiumSince" xml:space="preserve">
<value>Начал бустить сервер</value>
</data>
</root>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
<!--
Microsoft ResX Schema
Version 2.0
@ -47,569 +47,605 @@
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
id="root"
xmlns="">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root" xmlns="">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="mimetype" type="xsd:string"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
</value>
</resheader>
<data name="Ready" xml:space="preserve">
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 </value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 </value>
</resheader>
<data name="Ready" xml:space="preserve">
<value>я родился!</value>
</data>
<data name="CachedMessageDeleted" xml:space="preserve">
<data name="CachedMessageDeleted" xml:space="preserve">
<value>сообщение {0} вырезано:</value>
</data>
<data name="CachedMessageCleared" xml:space="preserve">
<data name="CachedMessageCleared" xml:space="preserve">
<value>вырезано сообщение (используя `!clear`) от {0} в канале {1}: {2}</value>
</data>
<data name="CachedMessageEdited" xml:space="preserve">
<data name="CachedMessageEdited" xml:space="preserve">
<value>сообщение {0} переделано:</value>
</data>
<data name="DefaultWelcomeMessage" xml:space="preserve">
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, добро пожаловать на сервер {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<data name="Beep1" xml:space="preserve">
<value>брах!</value>
</data>
<data name="Beep2" xml:space="preserve">
<data name="Beep2" xml:space="preserve">
<value>брох!</value>
</data>
<data name="Beep3" xml:space="preserve">
<data name="Beep3" xml:space="preserve">
<value>брух!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>у меня прав нету, сделай что нибудь.</value>
</data>
<data name="CommandNoPermissionUser" xml:space="preserve">
<data name="CommandNoPermissionUser" xml:space="preserve">
<value>у тебя прав нету, твои проблемы.</value>
</data>
<data name="YouWereBanned" xml:space="preserve">
<data name="YouWereBanned" xml:space="preserve">
<value>вы были забанены</value>
</data>
<data name="PunishmentExpired" xml:space="preserve">
<data name="PunishmentExpired" xml:space="preserve">
<value>время бана закончиловсь</value>
</data>
<data name="ClearAmountTooSmall" xml:space="preserve">
<data name="ClearAmountTooSmall" xml:space="preserve">
<value>ты выбрал менее {0} сообщений</value>
</data>
<data name="ClearAmountTooLarge" xml:space="preserve">
<data name="ClearAmountTooLarge" xml:space="preserve">
<value>ты выбрал более {0} сообщений</value>
</data>
<data name="CommandHelp" xml:space="preserve">
<data name="CommandHelp" xml:space="preserve">
<value>туториал по приколам:</value>
</data>
<data name="YouWereKicked" xml:space="preserve">
<data name="YouWereKicked" xml:space="preserve">
<value>вы были кикнуты</value>
</data>
<data name="Milliseconds" xml:space="preserve">
<data name="Milliseconds" xml:space="preserve">
<value>мс</value>
</data>
<data name="MemberAlreadyMuted" xml:space="preserve">
<data name="MemberAlreadyMuted" xml:space="preserve">
<value>шизоид уже замучен!</value>
</data>
<data name="ChannelNotSpecified" xml:space="preserve">
<data name="ChannelNotSpecified" xml:space="preserve">
<value>*тут ничего нет*</value>
</data>
<data name="RoleNotSpecified" xml:space="preserve">
<data name="RoleNotSpecified" xml:space="preserve">
<value>нъет</value>
</data>
<data name="CurrentSettings" xml:space="preserve">
<data name="CurrentSettings" xml:space="preserve">
<value>настройки:</value>
</data>
<data name="SettingsLanguage" xml:space="preserve">
<data name="SettingsLanguage" xml:space="preserve">
<value>язык</value>
</data>
<data name="SettingsPrefix" xml:space="preserve">
<data name="SettingsPrefix" xml:space="preserve">
<value>префикс</value>
</data>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>удалять звание при муте</value>
</data>
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>разглашать о том что пришел новый шизоид</value>
</data>
<data name="SettingsMuteRole" xml:space="preserve">
<data name="SettingsMuteRole" xml:space="preserve">
<value>звание замученного</value>
</data>
<data name="LanguageNotSupported" xml:space="preserve">
<value>такого языка нету...</value>
</data>
<data name="Yes" xml:space="preserve">
<data name="LanguageNotSupported" xml:space="preserve">
<value>такого языка нету...</value>
</data>
<data name="Yes" xml:space="preserve">
<value>да</value>
</data>
<data name="No" xml:space="preserve">
<data name="No" xml:space="preserve">
<value>нъет</value>
</data>
<data name="UserNotBanned" xml:space="preserve">
<data name="UserNotBanned" xml:space="preserve">
<value>шизик не забанен</value>
</data>
<data name="MemberNotMuted" xml:space="preserve">
<data name="MemberNotMuted" xml:space="preserve">
<value>шизоид не замучен!</value>
</data>
<data name="SettingsWelcomeMessage" xml:space="preserve">
<data name="SettingsWelcomeMessage" xml:space="preserve">
<value>здравствуйте (типо настройка)</value>
</data>
<data name="ClearAmountInvalid" xml:space="preserve">
<data name="ClearAmountInvalid" xml:space="preserve">
<value>выбери число от {0} до {1} вместо {2}!</value>
</data>
<data name="UserBanned" xml:space="preserve">
<data name="UserBanned" xml:space="preserve">
<value>{0} забанен</value>
</data>
<data name="SettingDoesntExist" xml:space="preserve">
<data name="SettingDoesntExist" xml:space="preserve">
<value>такой прикол не существует</value>
</data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>получать инфу о старте бота</value>
</data>
<data name="InvalidSettingValue" xml:space="preserve">
<data name="InvalidSettingValue" xml:space="preserve">
<value>криво настроил прикол, давай по новой</value>
</data>
<data name="InvalidRole" xml:space="preserve">
<data name="InvalidRole" xml:space="preserve">
<value>этого звания нету, ты шо</value>
</data>
<data name="InvalidChannel" xml:space="preserve">
<data name="InvalidChannel" xml:space="preserve">
<value>этого канала нету, ты шо</value>
</data>
<data name="DurationRequiredForTimeOuts" xml:space="preserve">
<data name="DurationRequiredForTimeOuts" xml:space="preserve">
<value>ты шо, мутить больше чем на 28 дней таймаут не разрешает, вот настроишь роль мута, тогда поговорим</value>
</data>
<data name="CannotTimeOutBot" xml:space="preserve">
<data name="CannotTimeOutBot" xml:space="preserve">
<value>я не могу замутить ботов, сделай что нибудь</value>
</data>
<data name="EventCreated" xml:space="preserve">
<data name="EventCreated" xml:space="preserve">
<value>{0} приготовил новую движуху {1}! она пройдёт в {2} и начнётся &lt;t:{3}:R&gt;!{4}</value>
</data>
<data name="SettingsEventNotificationRole" xml:space="preserve">
<data name="SettingsEventNotificationRole" xml:space="preserve">
<value>роль для уведомлений о создании движухи</value>
</data>
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>канал для уведомлений о движухах</value>
</data>
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>получатели уведомлений о начале движух</value>
</data>
<data name="EventStarted" xml:space="preserve">
<data name="EventStarted" xml:space="preserve">
<value>движуха "{0}" начинается</value>
</data>
<data name="SettingsFrowningFace" xml:space="preserve">
<data name="SettingsFrowningFace" xml:space="preserve">
<value>оъмъомоъемъъео((((</value>
</data>
<data name="EventCancelled" xml:space="preserve">
<value>движуха "{0}" отменена!</value>
</data>
<data name="EventCompleted" xml:space="preserve">
<value>движуха "{0}" завершена!</value>
</data>
<data name="Ever" xml:space="preserve">
<data name="EventCancelled" xml:space="preserve">
<value>движуха "{0}" отменена!</value>
</data>
<data name="EventCompleted" xml:space="preserve">
<value>движуха "{0}" завершена!</value>
</data>
<data name="Ever" xml:space="preserve">
<value>всегда</value>
</data>
<data name="MessagesCleared" xml:space="preserve">
<data name="MessagesCleared" xml:space="preserve">
<value>вырезано {0} забавных сообщений</value>
</data>
<data name="FeedbackMemberKicked" xml:space="preserve">
<data name="FeedbackMemberKicked" xml:space="preserve">
<value>выгнан {0}: {1}</value>
</data>
<data name="FeedbackMemberMuted" xml:space="preserve">
<data name="FeedbackMemberMuted" xml:space="preserve">
<value>замучен {0} на{1}: {2}</value>
</data>
<data name="FeedbackUserUnbanned" xml:space="preserve">
<data name="FeedbackUserUnbanned" xml:space="preserve">
<value>раззабанен {0}: {1}</value>
</data>
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>раззамучен {0}: {1}</value>
</data>
<data name="SettingsNothingChanged" xml:space="preserve">
<data name="SettingsNothingChanged" xml:space="preserve">
<value>ты все сломал! значение прикола `{0}` и так {1}</value>
</data>
<data name="SettingNotDefined" xml:space="preserve">
<data name="SettingNotDefined" xml:space="preserve">
<value>нъет</value>
</data>
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>прикол для `{0}` теперь установлен на {1}</value>
</data>
<data name="CommandDescriptionBan" xml:space="preserve">
<data name="CommandDescriptionBan" xml:space="preserve">
<value>возводит великий банхаммер над шизоидом</value>
</data>
<data name="CommandDescriptionClear" xml:space="preserve">
<data name="CommandDescriptionClear" xml:space="preserve">
<value>удаляет сообщения. сколько хош, столько и удалит</value>
</data>
<data name="CommandDescriptionHelp" xml:space="preserve">
<data name="CommandDescriptionHelp" xml:space="preserve">
<value>показывает то, что ты сейчас видишь прямо сейчас</value>
</data>
<data name="CommandDescriptionKick" xml:space="preserve">
<data name="CommandDescriptionKick" xml:space="preserve">
<value>выпинывает шизоида</value>
</data>
<data name="CommandDescriptionMute" xml:space="preserve">
<data name="CommandDescriptionMute" xml:space="preserve">
<value>мутит шизоида</value>
</data>
<data name="CommandDescriptionPing" xml:space="preserve">
<data name="CommandDescriptionPing" xml:space="preserve">
<value>показывает пинг (сверхмегаточный (нет))</value>
</data>
<data name="CommandDescriptionSettings" xml:space="preserve">
<data name="CommandDescriptionSettings" xml:space="preserve">
<value>настройки бота под этот сервер</value>
</data>
<data name="CommandDescriptionUnban" xml:space="preserve">
<data name="CommandDescriptionUnban" xml:space="preserve">
<value>отводит великий банхаммер от шизоида</value>
</data>
<data name="CommandDescriptionUnmute" xml:space="preserve">
<data name="CommandDescriptionUnmute" xml:space="preserve">
<value>раззамучивает шизоида</value>
</data>
<data name="MissingNumber" xml:space="preserve">
<data name="MissingNumber" xml:space="preserve">
<value>укажи целое число от {0} до {1}</value>
</data>
<data name="MissingUser" xml:space="preserve">
<data name="MissingUser" xml:space="preserve">
<value>укажи самого шизика</value>
</data>
<data name="InvalidUser" xml:space="preserve">
<data name="InvalidUser" xml:space="preserve">
<value>надо указать юзверя вместо {0}!</value>
</data>
<data name="MissingMember" xml:space="preserve">
<data name="MissingMember" xml:space="preserve">
<value>укажи самого шизика</value>
</data>
<data name="InvalidMember" xml:space="preserve">
<data name="InvalidMember" xml:space="preserve">
<value>укажи шизоида сервера!</value>
</data>
<data name="UserCannotBanMembers" xml:space="preserve">
<data name="UserCannotBanMembers" xml:space="preserve">
<value>бан</value>
</data>
<data name="UserCannotManageMessages" xml:space="preserve">
<data name="UserCannotManageMessages" xml:space="preserve">
<value>тебе нельзя иметь власть над сообщениями шизоидов</value>
</data>
<data name="UserCannotKickMembers" xml:space="preserve">
<data name="UserCannotKickMembers" xml:space="preserve">
<value>кик шизиков нельзя</value>
</data>
<data name="UserCannotModerateMembers" xml:space="preserve">
<data name="UserCannotModerateMembers" xml:space="preserve">
<value>тебе нельзя управлять шизоидами</value>
</data>
<data name="UserCannotManageGuild" xml:space="preserve">
<data name="UserCannotManageGuild" xml:space="preserve">
<value>тебе нельзя редактировать дурку</value>
</data>
<data name="BotCannotBanMembers" xml:space="preserve">
<data name="BotCannotBanMembers" xml:space="preserve">
<value>я не могу ваще никого банить чел.</value>
</data>
<data name="BotCannotManageMessages" xml:space="preserve">
<data name="BotCannotManageMessages" xml:space="preserve">
<value>я не могу исправлять орфографический кринж участников, сделай что нибудь.</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<data name="BotCannotKickMembers" xml:space="preserve">
<value>я не могу ваще никого кикать чел.</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>я не могу контроллировать за всеми ними, сделай что нибудь.</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<data name="BotCannotManageGuild" xml:space="preserve">
<value>я не могу этому серверу хоть че либо нибудь изменить, сделай что нибудь.</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<data name="MissingBanReason" xml:space="preserve">
<value>укажи зачем банить шизика</value>
</data>
<data name="MissingKickReason" xml:space="preserve">
<data name="MissingKickReason" xml:space="preserve">
<value>укажи зачем кикать шизика</value>
</data>
<data name="MissingMuteReason" xml:space="preserve">
<data name="MissingMuteReason" xml:space="preserve">
<value>укажи зачем мутить шизика</value>
</data>
<data name="MissingUnbanReason" xml:space="preserve">
<data name="MissingUnbanReason" xml:space="preserve">
<value>укажи зачем раззабанивать шизика</value>
</data>
<data name="MissingUnmuteReason" xml:space="preserve">
<data name="MissingUnmuteReason" xml:space="preserve">
<value>укажи зачам размучивать шизика</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<data name="UserCannotBanBot" xml:space="preserve">
<value>ээбля френдли фаер огонь по своим</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<data name="UserCannotBanOwner" xml:space="preserve">
<value>бан админу нельзя</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<data name="UserCannotBanTarget" xml:space="preserve">
<value>бан этому шизику нельзя</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>самобан нельзя</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<data name="BotCannotBanTarget" xml:space="preserve">
<value>я не могу его забанить...</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<data name="UserCannotKickOwner" xml:space="preserve">
<value>кик админу нельзя</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>самокик нельзя</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<data name="UserCannotKickBot" xml:space="preserve">
<value>ээбля френдли фаер огонь по своим</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<data name="BotCannotKickTarget" xml:space="preserve">
<value>я не могу его кикнуть...</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<data name="UserCannotKickTarget" xml:space="preserve">
<value>кик этому шизику нельзя</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>мут админу нельзя</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>самомут нельзя</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<data name="UserCannotMuteBot" xml:space="preserve">
<value>ээбля френдли фаер огонь по своим</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>я не могу его замутить...</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>мут этому шизику нельзя</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<value>сильно</value>
</data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>ты замучен.</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>... </value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>тебе нельзя раззамучивать</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>я не могу его раззамутить...</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<data name="EventEarlyNotification" xml:space="preserve">
<value>движуха "{0}" начнется {1}!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>заранее пнуть в минутах до начала движухи</value>
</data>
<data name="UserNotFound" xml:space="preserve">
<data name="UserNotFound" xml:space="preserve">
<value>у нас такого шизоида нету, проверь, валиден ли ID уважаемого (я забываю о шизоидах если они ливнули минимум месяц назад)</value>
</data>
<data name="SettingsDefaultRole" xml:space="preserve">
<data name="SettingsDefaultRole" xml:space="preserve">
<value>дефолтное звание</value>
</data>
<data name="CommandDescriptionRemind" xml:space="preserve">
<data name="CommandDescriptionRemind" xml:space="preserve">
<value>крафтит напоминалку</value>
</data>
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<value>канал для секретных уведомлений</value>
</data>
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<value>канал для не секретных уведомлений</value>
</data>
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<value>вернуть звания при переподключении в дурку</value>
</data>
<data name="SettingsAutoStartEvents" xml:space="preserve">
<data name="SettingsAutoStartEvents" xml:space="preserve">
<value>автоматом стартить движухи</value>
</data>
<data name="MissingReminderText" xml:space="preserve">
<data name="MissingReminderText" xml:space="preserve">
<value>для крафта напоминалки нужен текст</value>
</data>
<data name="InvalidRemindIn" xml:space="preserve">
<data name="InvalidRemindIn" xml:space="preserve">
<value>шизоид у меня на часах такого нету</value>
</data>
<data name="IssuedBy" xml:space="preserve">
<data name="IssuedBy" xml:space="preserve">
<value>ответственный</value>
</data>
<data name="EventCreatedTitle" xml:space="preserve">
<data name="EventCreatedTitle" xml:space="preserve">
<value>{0} создает новое событие:</value>
</data>
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<value>движуха произойдет {0} в канале {1}</value>
</data>
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<value>движуха будет происходить с {0} до {1} в {2}</value>
</data>
<data name="EventDetailsButton" xml:space="preserve">
<data name="EventDetailsButton" xml:space="preserve">
<value>побольше о движухе</value>
</data>
<data name="EventDuration" xml:space="preserve">
<data name="EventDuration" xml:space="preserve">
<value>все это длилось `{0}`</value>
</data>
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<value>движуха происходит в {0}</value>
</data>
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<value>движуха происходит в {0} до {1}</value>
</data>
<data name="UserAlreadyBanned" xml:space="preserve">
<data name="UserAlreadyBanned" xml:space="preserve">
<value>этот шизоид уже лежит в бане</value>
</data>
<data name="UserUnbanned" xml:space="preserve">
<data name="UserUnbanned" xml:space="preserve">
<value>{0} раззабанен</value>
</data>
<data name="UserMuted" xml:space="preserve">
<data name="UserMuted" xml:space="preserve">
<value>{0} в муте</value>
</data>
<data name="UserUnmuted" xml:space="preserve">
<data name="UserUnmuted" xml:space="preserve">
<value>{0} в размуте</value>
</data>
<data name="UserNotMuted" xml:space="preserve">
<data name="UserNotMuted" xml:space="preserve">
<value>этого шизоида никто не мутил.</value>
</data>
<data name="UserNotFoundShort" xml:space="preserve">
<data name="UserNotFoundShort" xml:space="preserve">
<value>у нас такого шизоида нету...</value>
</data>
<data name="UserKicked" xml:space="preserve">
<data name="UserKicked" xml:space="preserve">
<value>{0} вышел с посторонней помощью</value>
</data>
<data name="DescriptionActionReason" xml:space="preserve">
<data name="DescriptionActionReason" xml:space="preserve">
<value>причина: {0}</value>
</data>
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<value>до: {0}</value>
</data>
<data name="UserAlreadyMuted" xml:space="preserve">
<data name="UserAlreadyMuted" xml:space="preserve">
<value>этот шизоид УЖЕ замучился</value>
</data>
<data name="MessageFrom" xml:space="preserve">
<data name="MessageFrom" xml:space="preserve">
<value>от {0}</value>
</data>
<data name="AboutTitleDevelopers" xml:space="preserve">
<data name="AboutTitleDevelopers" xml:space="preserve">
<value>девелоперы:</value>
</data>
<data name="AboutTitleRepository" xml:space="preserve">
<value>репа Boyfriend (тык)</value>
</data>
<data name="AboutBot" xml:space="preserve">
<data name="AboutTitleRepository" xml:space="preserve">
<value>репа Boyfriend (тык)</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>немного о Boyfriend</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>скучный девелопер + дизайнер создавший Boyfriend's Wiki</value>
</data>
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>скучный девелопер + дизайнер создавший Boyfriend's Wiki</value>
</data>
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<value>ВАЖНЫЙ соучастник кодинг-стримов @Octol1ttle</value>
</data>
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<value>САМЫЙ ВАЖНЫЙ чел написавший кода больше всех (99.99%)</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>напоминалка для {0} скрафченА</value>
</data>
<data name="Reminder" xml:space="preserve">
<value>напоминалка для {0}</value>
</data>
<data name="DescriptionReminder" xml:space="preserve">
<value>ты хотел чтоб я напомнил тебе {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>приколы Boyfriend</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>прикол редактирован</value>
</data>
<data name="SettingNotChanged" xml:space="preserve">
<value>прикол сдох</value>
</data>
<data name="SettingIsNow" xml:space="preserve">
<value>стало</value>
</data>
<data name="SettingsRenameHoistedUsers" xml:space="preserve">
<value>переобувать шизоидов пытающихся поднять себя в табе</value>
</data>
<data name="Page" xml:space="preserve">
<value>это страница</value>
</data>
<data name="PageNotFound" xml:space="preserve">
<value>если я был бы html, я бы сказал 404</value>
</data>
<data name="PagesAllowed" xml:space="preserve">
<value>ну а если быть точнее, тут всего {0} страниц(-ы)</value>
</data>
<data name="Next" xml:space="preserve">
<value>следующее</value>
</data>
<data name="Previous" xml:space="preserve">
<value>предыдущее</value>
</data>
<data name="ReminderList" xml:space="preserve">
<value>напоминалки {0}</value>
</data>
<data name="InvalidReminderIndex" xml:space="preserve">
<value>у тебя нет напоминалки с этим индексом!</value>
</data>
<data name="ReminderDeleted" xml:space="preserve">
<value>напоминалка уничтожена</value>
</data>
<data name="NoRemindersFound" xml:space="preserve">
<value>ты еще не крафтил напоминалки</value>
</data>
<data name="SingleSettingReset" xml:space="preserve">
<value>{0} откачен к заводским</value>
</data>
<data name="AllSettingsReset" xml:space="preserve">
<value>откатываемся к заводским...</value>
</data>
<data name="DescriptionActionJumpToMessage" xml:space="preserve">
<value>чекнуть сообщение: {0}</value>
</data>
<data name="DescriptionActionJumpToChannel" xml:space="preserve">
<value>чекнуть канал: {0}</value>
</data>
<data name="ReminderIndex" xml:space="preserve">
<value>индекс: {0}</value>
</data>
<data name="ReminderWillBeSentOn" xml:space="preserve">
<value>я пну тебе это: {0}</value>
</data>
<data name="ReminderText" xml:space="preserve">
<value>че там в напоминалке: {0}</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>напоминалка для {0} скрафченА</value>
</data>
<data name="Reminder" xml:space="preserve">
<value>напоминалка для {0}</value>
</data>
<data name="DescriptionReminder" xml:space="preserve">
<value>ты хотел чтоб я напомнил тебе {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>приколы Boyfriend</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>прикол редактирован</value>
</data>
<data name="SettingNotChanged" xml:space="preserve">
<value>прикол сдох</value>
</data>
<data name="SettingIsNow" xml:space="preserve">
<value>стало</value>
</data>
<data name="SettingsRenameHoistedUsers" xml:space="preserve">
<value>переобувать шизоидов пытающихся поднять себя в табе</value>
</data>
<data name="Page" xml:space="preserve">
<value>это страница</value>
</data>
<data name="PageNotFound" xml:space="preserve">
<value>если я был бы html, я бы сказал 404</value>
</data>
<data name="PagesAllowed" xml:space="preserve">
<value>ну а если быть точнее, тут всего {0} страниц(-ы)</value>
</data>
<data name="Next" xml:space="preserve">
<value>следующее</value>
</data>
<data name="Previous" xml:space="preserve">
<value>предыдущее</value>
</data>
<data name="ReminderList" xml:space="preserve">
<value>напоминалки {0}</value>
</data>
<data name="InvalidReminderIndex" xml:space="preserve">
<value>у тебя нет напоминалки с этим индексом!</value>
</data>
<data name="ReminderDeleted" xml:space="preserve">
<value>напоминалка уничтожена</value>
</data>
<data name="NoRemindersFound" xml:space="preserve">
<value>ты еще не крафтил напоминалки</value>
</data>
<data name="SingleSettingReset" xml:space="preserve">
<value>{0} откачен к заводским</value>
</data>
<data name="AllSettingsReset" xml:space="preserve">
<value>откатываемся к заводским...</value>
</data>
<data name="DescriptionActionJumpToMessage" xml:space="preserve">
<value>чекнуть сообщение: {0}</value>
</data>
<data name="DescriptionActionJumpToChannel" xml:space="preserve">
<value>чекнуть канал: {0}</value>
</data>
<data name="ReminderIndex" xml:space="preserve">
<value>индекс: {0}</value>
</data>
<data name="ReminderWillBeSentOn" xml:space="preserve">
<value>я пну тебе это: {0}</value>
</data>
<data name="ReminderText" xml:space="preserve">
<value>че там в напоминалке: {0}</value>
</data>
<data name="ShowInfoDisplayName" xml:space="preserve">
<value>дисплейнейм</value>
</data>
<data name="ShowInfoTitle" xml:space="preserve">
<value>деанон {0}</value>
</data>
<data name="ShowInfoMuted" xml:space="preserve">
<value>замучен</value>
</data>
<data name="ShowInfoDiscordUserSince" xml:space="preserve">
<value>юзер Discord со времен</value>
</data>
<data name="ShowInfoBanned" xml:space="preserve">
<value>забанен</value>
</data>
<data name="ShowInfoPunishments" xml:space="preserve">
<value>приколы полученные по заслугам</value>
</data>
<data name="ShowInfoBannedPermanently" xml:space="preserve">
<value>забанен</value>
</data>
<data name="ShowInfoNotOnGuild" xml:space="preserve">
<value>вышел из сервера</value>
</data>
<data name="ShowInfoMutedByTimeout" xml:space="preserve">
<value>замучен таймаутом</value>
</data>
<data name="ShowInfoMutedByMuteRole" xml:space="preserve">
<value>замучен ролькой</value>
</data>
<data name="ShowInfoGuildMemberSince" xml:space="preserve">
<value>участник сервера со времен</value>
</data>
<data name="ShowInfoGuildNickname" xml:space="preserve">
<value>сервернейм</value>
</data>
<data name="ShowInfoGuildRoles" xml:space="preserve">
<value>рольки</value>
</data>
<data name="ShowInfoGuildMemberPremiumSince" xml:space="preserve">
<value>бустит сервер со времен</value>
</data>
</root>

View file

@ -102,7 +102,8 @@ public sealed class Boyfriend
.WithCommandGroup<MuteCommandGroup>()
.WithCommandGroup<PingCommandGroup>()
.WithCommandGroup<RemindCommandGroup>()
.WithCommandGroup<SettingsCommandGroup>();
.WithCommandGroup<SettingsCommandGroup>()
.WithCommandGroup<ToolsCommandGroup>();
var responderTypes = typeof(Boyfriend).Assembly
.GetExportedTypes()
.Where(t => t.IsResponder());

View file

@ -0,0 +1,231 @@
using System.ComponentModel;
using System.Drawing;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.Commands.Attributes;
using Remora.Discord.Commands.Contexts;
using Remora.Discord.Commands.Feedback.Services;
using Remora.Discord.Extensions.Embeds;
using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
/// <summary>
/// Handles commands related to tools: /showinfo.
/// </summary>
[UsedImplicitly]
public class ToolsCommandGroup : CommandGroup
{
private readonly ICommandContext _context;
private readonly FeedbackService _feedback;
private readonly IDiscordRestGuildAPI _guildApi;
private readonly GuildDataService _guildData;
private readonly IDiscordRestUserAPI _userApi;
public ToolsCommandGroup(
ICommandContext context, FeedbackService feedback,
GuildDataService guildData, IDiscordRestGuildAPI guildApi,
IDiscordRestUserAPI userApi, IDiscordRestChannelAPI channelApi)
{
_context = context;
_guildData = guildData;
_feedback = feedback;
_guildApi = guildApi;
_userApi = userApi;
}
/// <summary>
/// A slash command that shows information about user.
/// </summary>
/// <remarks>
/// Information in the output:
/// <list type="bullet">
/// <item>Display name</item>
/// <item>Discord user since</item>
/// <item>Guild nickname</item>
/// <item>Guild member since</item>
/// <item>Nitro booster since</item>
/// <item>Guild roles</item>
/// <item>Active mute information</item>
/// <item>Active ban information</item>
/// <item>Is on guild status</item>
/// </list>
/// </remarks>
/// <param name="target">The user to show info about.</param>
/// <returns>
/// A feedback sending result which may or may not have succeeded.
/// </returns>
[Command("showinfo")]
[DiscordDefaultDMPermission(false)]
[Description("Shows info about user")]
[UsedImplicitly]
public async Task<Result> ExecuteShowInfoAsync(
[Description("User to show info about")]
IUser? target = null)
{
if (!_context.TryGetContextIDs(out var guildId, out _, out var userId))
{
return new ArgumentInvalidError(nameof(_context), "Unable to retrieve necessary IDs from command context");
}
var userResult = await _userApi.GetUserAsync(userId, CancellationToken);
if (!userResult.IsDefined(out var user))
{
return Result.FromError(userResult);
}
var currentUserResult = await _userApi.GetCurrentUserAsync(CancellationToken);
if (!currentUserResult.IsDefined(out var currentUser))
{
return Result.FromError(currentUserResult);
}
var data = await _guildData.GetData(guildId, CancellationToken);
Messages.Culture = GuildSettings.Language.Get(data.Settings);
return await ShowUserInfoAsync(target ?? user, currentUser, data, guildId, CancellationToken);
}
private async Task<Result> ShowUserInfoAsync(
IUser user, IUser currentUser, GuildData data, Snowflake guildId, CancellationToken ct = default)
{
var builder = new StringBuilder().AppendLine($"### <@{user.ID}>");
if (user.GlobalName is not null)
{
builder.Append("- ").AppendLine(Messages.ShowInfoDisplayName)
.AppendLine(Markdown.InlineCode(user.GlobalName));
}
builder.Append("- ").AppendLine(Messages.ShowInfoDiscordUserSince)
.AppendLine(Markdown.Timestamp(user.ID.Timestamp));
var memberData = data.GetOrCreateMemberData(user.ID);
var embedColor = ColorsList.Cyan;
var guildMemberResult = await _guildApi.GetGuildMemberAsync(guildId, user.ID, ct);
DateTimeOffset? communicationDisabledUntil = null;
if (guildMemberResult.IsDefined(out var guildMember))
{
communicationDisabledUntil = guildMember.CommunicationDisabledUntil.OrDefault(null);
embedColor = AppendGuildInformation(embedColor, guildMember, builder);
}
var isMuted = (memberData.MutedUntil is not null && DateTimeOffset.UtcNow <= memberData.MutedUntil) ||
communicationDisabledUntil is not null;
var existingBanResult = await _guildApi.GetGuildBanAsync(guildId, user.ID, ct);
if (isMuted || existingBanResult.IsDefined())
{
builder.Append("### ")
.AppendLine(Markdown.Bold(Messages.ShowInfoPunishments));
}
if (isMuted)
{
AppendMuteInformation(memberData, communicationDisabledUntil, builder);
embedColor = ColorsList.Red;
}
if (existingBanResult.IsDefined())
{
AppendBanInformation(memberData, builder);
embedColor = ColorsList.Black;
}
if (!guildMemberResult.IsSuccess && !existingBanResult.IsDefined())
{
builder.Append("### ")
.AppendLine(Markdown.Bold(Messages.ShowInfoNotOnGuild));
embedColor = ColorsList.Default;
}
var embed = new EmbedBuilder().WithSmallTitle(
string.Format(Messages.ShowInfoTitle, user.GetTag()), currentUser)
.WithDescription(builder.ToString())
.WithColour(embedColor)
.WithLargeAvatar(user)
.WithFooter($"ID: {user.ID.ToString()}")
.Build();
return await _feedback.SendContextualEmbedResultAsync(embed, ct);
}
private static Color AppendGuildInformation(Color color, IGuildMember guildMember, StringBuilder builder)
{
if (guildMember.Nickname.IsDefined(out var nickname))
{
builder.Append("- ").AppendLine(Messages.ShowInfoGuildNickname)
.AppendLine(Markdown.InlineCode(nickname));
}
builder.Append("- ").AppendLine(Messages.ShowInfoGuildMemberSince)
.AppendLine(Markdown.Timestamp(guildMember.JoinedAt));
if (guildMember.PremiumSince.IsDefined(out var premiumSince))
{
builder.Append("- ").AppendLine(Messages.ShowInfoGuildMemberPremiumSince)
.AppendLine(Markdown.Timestamp(premiumSince.Value));
color = ColorsList.Magenta;
}
if (guildMember.Roles.Count > 0)
{
builder.Append("- ").AppendLine(Messages.ShowInfoGuildRoles);
for (var i = 0; i < guildMember.Roles.Count - 1; i++)
{
builder.Append($"<@&{guildMember.Roles[i]}>, ");
}
builder.AppendLine($"<@&{guildMember.Roles[^1]}>");
}
return color;
}
private static void AppendBanInformation(MemberData memberData, StringBuilder builder)
{
if (memberData.BannedUntil < DateTimeOffset.MaxValue)
{
builder.Append("- ").AppendLine(Messages.ShowInfoBanned)
.Append(" - ").AppendLine(string.Format(
Messages.DescriptionActionExpiresAt, Markdown.Timestamp(memberData.BannedUntil.Value)));
return;
}
builder.Append("- ").AppendLine(Messages.ShowInfoBannedPermanently);
}
private static void AppendMuteInformation(
MemberData memberData, DateTimeOffset? communicationDisabledUntil, StringBuilder builder)
{
builder.Append("- ").AppendLine(Messages.ShowInfoMuted);
if (memberData.MutedUntil is not null && DateTimeOffset.UtcNow <= memberData.MutedUntil)
{
builder.Append(" - ").AppendLine(Messages.ShowInfoMutedByMuteRole)
.Append(" - ").AppendLine(string.Format(
Messages.DescriptionActionExpiresAt, Markdown.Timestamp(memberData.MutedUntil.Value)));
}
if (communicationDisabledUntil is not null)
{
builder.Append(" - ").AppendLine(Messages.ShowInfoMutedByTimeout)
.Append(" - ").AppendLine(string.Format(
Messages.DescriptionActionExpiresAt, Markdown.Timestamp(communicationDisabledUntil.Value)));
}
}
}

View file

@ -58,6 +58,23 @@ public static class Extensions
return builder;
}
/// <summary>
/// Adds a user avatar in the thumbnail field.
/// </summary>
/// <param name="builder">The builder to add the thumbnail to.</param>
/// <param name="avatarSource">The user whose avatar to use in the thumbnail field.</param>
/// <returns>The builder with the added avatar in the thumbnail field.</returns>
public static EmbedBuilder WithLargeAvatar(
this EmbedBuilder builder, IUser avatarSource)
{
var avatarUrlResult = CDN.GetUserAvatarUrl(avatarSource, imageSize: 256);
var avatarUrl = avatarUrlResult.IsSuccess
? avatarUrlResult.Entity
: CDN.GetDefaultUserAvatarUrl(avatarSource, imageSize: 256).Entity;
return builder.WithThumbnailUrl(avatarUrl.AbsoluteUri);
}
/// <summary>
/// Adds a footer representing that the action was performed in the <paramref name="guild" />.
/// </summary>

View file

@ -1035,6 +1035,89 @@ namespace Boyfriend {
internal static string ReminderText {
get {
return ResourceManager.GetString("ReminderText", resourceCulture);
}
internal static string ShowInfoTitle {
get {
return ResourceManager.GetString("ShowInfoTitle", resourceCulture);
}
}
internal static string ShowInfoDisplayName {
get {
return ResourceManager.GetString("ShowInfoDisplayName", resourceCulture);
}
}
internal static string ShowInfoDiscordUserSince {
get {
return ResourceManager.GetString("ShowInfoDiscordUserSince", resourceCulture);
}
}
internal static string ShowInfoMuted {
get {
return ResourceManager.GetString("ShowInfoMuted", resourceCulture);
}
}
internal static string ShowInfoBanned {
get {
return ResourceManager.GetString("ShowInfoBanned", resourceCulture);
}
}
internal static string ShowInfoPunishments {
get {
return ResourceManager.GetString("ShowInfoPunishments", resourceCulture);
}
}
internal static string ShowInfoBannedPermanently {
get {
return ResourceManager.GetString("ShowInfoBannedPermanently", resourceCulture);
}
}
internal static string ShowInfoNotOnGuild {
get {
return ResourceManager.GetString("ShowInfoNotOnGuild", resourceCulture);
}
}
internal static string ShowInfoMutedByTimeout {
get {
return ResourceManager.GetString("ShowInfoMutedByTimeout", resourceCulture);
}
}
internal static string ShowInfoMutedByMuteRole {
get {
return ResourceManager.GetString("ShowInfoMutedByMuteRole", resourceCulture);
}
}
internal static string ShowInfoGuildMemberSince {
get {
return ResourceManager.GetString("ShowInfoGuildMemberSince", resourceCulture);
}
}
internal static string ShowInfoGuildNickname {
get {
return ResourceManager.GetString("ShowInfoGuildNickname", resourceCulture);
}
}
internal static string ShowInfoGuildRoles {
get {
return ResourceManager.GetString("ShowInfoGuildRoles", resourceCulture);
}
}
internal static string ShowInfoGuildMemberPremiumSince {
get {
return ResourceManager.GetString("ShowInfoGuildMemberPremiumSince", resourceCulture);
}
}
}