1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-04-28 10:09:54 +03:00

Tidy up project structure, fix bug with edit logging (#47)

The project structure has been changed because the previous one had
everything in 1 folder. From this PR onwards, the following is true:
- The source code is stored in `src/`
- `*.resx` and `Messages.Designer.cs` is stored in `locale/`
- Documentation is stored on the wiki and in `docs/`
- Miscellaneous files, such as dotfiles, are stored in the root folder
of the repository

This PR additionally fixes an issue that would cause logs of edited
messages to not be syntax highlighted. This happened because the
responder of edited messages was changed to use the universal
`InBlockCode` extension method which did not support syntax highlighting
until this PR

This PR additionally changes CODEOWNERS to be more reliable. Previously,
it would be possible for some PRs to be unable to be approved because
the only person who can approve them is the same person who opened the
PR.

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
This commit is contained in:
Octol1ttle 2023-07-09 22:36:44 +05:00 committed by GitHub
parent 2dd9f023ef
commit 3eb17b96c5
Signed by: GitHub
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 180 additions and 179 deletions

954
locale/Messages.Designer.cs generated Normal file
View file

@ -0,0 +1,954 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Boyfriend {
using System;
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Messages {
private static System.Resources.ResourceManager resourceMan;
private static System.Globalization.CultureInfo resourceCulture;
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Messages() {
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
internal static System.Resources.ResourceManager ResourceManager {
get {
if (object.Equals(null, resourceMan)) {
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Boyfriend.locale.Messages", typeof(Messages).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
internal static System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
internal static string Ready {
get {
return ResourceManager.GetString("Ready", resourceCulture);
}
}
internal static string CachedMessageDeleted {
get {
return ResourceManager.GetString("CachedMessageDeleted", resourceCulture);
}
}
internal static string CachedMessageCleared {
get {
return ResourceManager.GetString("CachedMessageCleared", resourceCulture);
}
}
internal static string CachedMessageEdited {
get {
return ResourceManager.GetString("CachedMessageEdited", resourceCulture);
}
}
internal static string DefaultWelcomeMessage {
get {
return ResourceManager.GetString("DefaultWelcomeMessage", resourceCulture);
}
}
internal static string Beep1 {
get {
return ResourceManager.GetString("Beep1", resourceCulture);
}
}
internal static string Beep2 {
get {
return ResourceManager.GetString("Beep2", resourceCulture);
}
}
internal static string Beep3 {
get {
return ResourceManager.GetString("Beep3", resourceCulture);
}
}
internal static string CommandNoPermissionBot {
get {
return ResourceManager.GetString("CommandNoPermissionBot", resourceCulture);
}
}
internal static string CommandNoPermissionUser {
get {
return ResourceManager.GetString("CommandNoPermissionUser", resourceCulture);
}
}
internal static string YouWereBanned {
get {
return ResourceManager.GetString("YouWereBanned", resourceCulture);
}
}
internal static string PunishmentExpired {
get {
return ResourceManager.GetString("PunishmentExpired", resourceCulture);
}
}
internal static string ClearAmountTooSmall {
get {
return ResourceManager.GetString("ClearAmountTooSmall", resourceCulture);
}
}
internal static string ClearAmountTooLarge {
get {
return ResourceManager.GetString("ClearAmountTooLarge", resourceCulture);
}
}
internal static string CommandHelp {
get {
return ResourceManager.GetString("CommandHelp", resourceCulture);
}
}
internal static string YouWereKicked {
get {
return ResourceManager.GetString("YouWereKicked", resourceCulture);
}
}
internal static string Milliseconds {
get {
return ResourceManager.GetString("Milliseconds", resourceCulture);
}
}
internal static string MemberAlreadyMuted {
get {
return ResourceManager.GetString("MemberAlreadyMuted", resourceCulture);
}
}
internal static string ChannelNotSpecified {
get {
return ResourceManager.GetString("ChannelNotSpecified", resourceCulture);
}
}
internal static string RoleNotSpecified {
get {
return ResourceManager.GetString("RoleNotSpecified", resourceCulture);
}
}
internal static string CurrentSettings {
get {
return ResourceManager.GetString("CurrentSettings", resourceCulture);
}
}
internal static string SettingsLang {
get {
return ResourceManager.GetString("SettingsLang", resourceCulture);
}
}
internal static string SettingsPrefix {
get {
return ResourceManager.GetString("SettingsPrefix", resourceCulture);
}
}
internal static string SettingsRemoveRolesOnMute {
get {
return ResourceManager.GetString("SettingsRemoveRolesOnMute", resourceCulture);
}
}
internal static string SettingsSendWelcomeMessages {
get {
return ResourceManager.GetString("SettingsSendWelcomeMessages", resourceCulture);
}
}
internal static string SettingsMuteRole {
get {
return ResourceManager.GetString("SettingsMuteRole", resourceCulture);
}
}
internal static string LanguageNotSupported {
get {
return ResourceManager.GetString("LanguageNotSupported", resourceCulture);
}
}
internal static string Yes {
get {
return ResourceManager.GetString("Yes", resourceCulture);
}
}
internal static string No {
get {
return ResourceManager.GetString("No", resourceCulture);
}
}
internal static string UserNotBanned {
get {
return ResourceManager.GetString("UserNotBanned", resourceCulture);
}
}
internal static string MemberNotMuted {
get {
return ResourceManager.GetString("MemberNotMuted", resourceCulture);
}
}
internal static string SettingsWelcomeMessage {
get {
return ResourceManager.GetString("SettingsWelcomeMessage", resourceCulture);
}
}
internal static string ClearAmountInvalid {
get {
return ResourceManager.GetString("ClearAmountInvalid", resourceCulture);
}
}
internal static string UserBanned {
get {
return ResourceManager.GetString("UserBanned", resourceCulture);
}
}
internal static string SettingDoesntExist {
get {
return ResourceManager.GetString("SettingDoesntExist", resourceCulture);
}
}
internal static string SettingsReceiveStartupMessages {
get {
return ResourceManager.GetString("SettingsReceiveStartupMessages", resourceCulture);
}
}
internal static string InvalidSettingValue {
get {
return ResourceManager.GetString("InvalidSettingValue", resourceCulture);
}
}
internal static string InvalidRole {
get {
return ResourceManager.GetString("InvalidRole", resourceCulture);
}
}
internal static string InvalidChannel {
get {
return ResourceManager.GetString("InvalidChannel", resourceCulture);
}
}
internal static string DurationRequiredForTimeOuts {
get {
return ResourceManager.GetString("DurationRequiredForTimeOuts", resourceCulture);
}
}
internal static string CannotTimeOutBot {
get {
return ResourceManager.GetString("CannotTimeOutBot", resourceCulture);
}
}
internal static string EventCreated {
get {
return ResourceManager.GetString("EventCreated", resourceCulture);
}
}
internal static string SettingsEventNotificationRole {
get {
return ResourceManager.GetString("SettingsEventNotificationRole", resourceCulture);
}
}
internal static string SettingsEventNotificationChannel {
get {
return ResourceManager.GetString("SettingsEventNotificationChannel", resourceCulture);
}
}
internal static string SettingsEventStartedReceivers {
get {
return ResourceManager.GetString("SettingsEventStartedReceivers", resourceCulture);
}
}
internal static string EventStarted {
get {
return ResourceManager.GetString("EventStarted", resourceCulture);
}
}
internal static string SettingsFrowningFace {
get {
return ResourceManager.GetString("SettingsFrowningFace", resourceCulture);
}
}
internal static string EventCancelled {
get {
return ResourceManager.GetString("EventCancelled", resourceCulture);
}
}
internal static string EventCompleted {
get {
return ResourceManager.GetString("EventCompleted", resourceCulture);
}
}
internal static string Ever {
get {
return ResourceManager.GetString("Ever", resourceCulture);
}
}
internal static string MessagesCleared {
get {
return ResourceManager.GetString("MessagesCleared", resourceCulture);
}
}
internal static string FeedbackMemberKicked {
get {
return ResourceManager.GetString("FeedbackMemberKicked", resourceCulture);
}
}
internal static string FeedbackMemberMuted {
get {
return ResourceManager.GetString("FeedbackMemberMuted", resourceCulture);
}
}
internal static string FeedbackUserUnbanned {
get {
return ResourceManager.GetString("FeedbackUserUnbanned", resourceCulture);
}
}
internal static string FeedbackMemberUnmuted {
get {
return ResourceManager.GetString("FeedbackMemberUnmuted", resourceCulture);
}
}
internal static string SettingsNothingChanged {
get {
return ResourceManager.GetString("SettingsNothingChanged", resourceCulture);
}
}
internal static string SettingNotDefined {
get {
return ResourceManager.GetString("SettingNotDefined", resourceCulture);
}
}
internal static string FeedbackSettingsUpdated {
get {
return ResourceManager.GetString("FeedbackSettingsUpdated", resourceCulture);
}
}
internal static string CommandDescriptionBan {
get {
return ResourceManager.GetString("CommandDescriptionBan", resourceCulture);
}
}
internal static string CommandDescriptionClear {
get {
return ResourceManager.GetString("CommandDescriptionClear", resourceCulture);
}
}
internal static string CommandDescriptionHelp {
get {
return ResourceManager.GetString("CommandDescriptionHelp", resourceCulture);
}
}
internal static string CommandDescriptionKick {
get {
return ResourceManager.GetString("CommandDescriptionKick", resourceCulture);
}
}
internal static string CommandDescriptionMute {
get {
return ResourceManager.GetString("CommandDescriptionMute", resourceCulture);
}
}
internal static string CommandDescriptionPing {
get {
return ResourceManager.GetString("CommandDescriptionPing", resourceCulture);
}
}
internal static string CommandDescriptionSettings {
get {
return ResourceManager.GetString("CommandDescriptionSettings", resourceCulture);
}
}
internal static string CommandDescriptionUnban {
get {
return ResourceManager.GetString("CommandDescriptionUnban", resourceCulture);
}
}
internal static string CommandDescriptionUnmute {
get {
return ResourceManager.GetString("CommandDescriptionUnmute", resourceCulture);
}
}
internal static string MissingNumber {
get {
return ResourceManager.GetString("MissingNumber", resourceCulture);
}
}
internal static string MissingUser {
get {
return ResourceManager.GetString("MissingUser", resourceCulture);
}
}
internal static string InvalidUser {
get {
return ResourceManager.GetString("InvalidUser", resourceCulture);
}
}
internal static string MissingMember {
get {
return ResourceManager.GetString("MissingMember", resourceCulture);
}
}
internal static string InvalidMember {
get {
return ResourceManager.GetString("InvalidMember", resourceCulture);
}
}
internal static string UserCannotBanMembers {
get {
return ResourceManager.GetString("UserCannotBanMembers", resourceCulture);
}
}
internal static string UserCannotManageMessages {
get {
return ResourceManager.GetString("UserCannotManageMessages", resourceCulture);
}
}
internal static string UserCannotKickMembers {
get {
return ResourceManager.GetString("UserCannotKickMembers", resourceCulture);
}
}
internal static string UserCannotModerateMembers {
get {
return ResourceManager.GetString("UserCannotModerateMembers", resourceCulture);
}
}
internal static string UserCannotManageGuild {
get {
return ResourceManager.GetString("UserCannotManageGuild", resourceCulture);
}
}
internal static string BotCannotBanMembers {
get {
return ResourceManager.GetString("BotCannotBanMembers", resourceCulture);
}
}
internal static string BotCannotManageMessages {
get {
return ResourceManager.GetString("BotCannotManageMessages", resourceCulture);
}
}
internal static string BotCannotKickMembers {
get {
return ResourceManager.GetString("BotCannotKickMembers", resourceCulture);
}
}
internal static string BotCannotModerateMembers {
get {
return ResourceManager.GetString("BotCannotModerateMembers", resourceCulture);
}
}
internal static string BotCannotManageGuild {
get {
return ResourceManager.GetString("BotCannotManageGuild", resourceCulture);
}
}
internal static string MissingBanReason {
get {
return ResourceManager.GetString("MissingBanReason", resourceCulture);
}
}
internal static string MissingKickReason {
get {
return ResourceManager.GetString("MissingKickReason", resourceCulture);
}
}
internal static string MissingMuteReason {
get {
return ResourceManager.GetString("MissingMuteReason", resourceCulture);
}
}
internal static string MissingUnbanReason {
get {
return ResourceManager.GetString("MissingUnbanReason", resourceCulture);
}
}
internal static string MissingUnmuteReason {
get {
return ResourceManager.GetString("MissingUnmuteReason", resourceCulture);
}
}
internal static string UserCannotBanOwner {
get {
return ResourceManager.GetString("UserCannotBanOwner", resourceCulture);
}
}
internal static string UserCannotBanThemselves {
get {
return ResourceManager.GetString("UserCannotBanThemselves", resourceCulture);
}
}
internal static string UserCannotBanBot {
get {
return ResourceManager.GetString("UserCannotBanBot", resourceCulture);
}
}
internal static string BotCannotBanTarget {
get {
return ResourceManager.GetString("BotCannotBanTarget", resourceCulture);
}
}
internal static string UserCannotBanTarget {
get {
return ResourceManager.GetString("UserCannotBanTarget", resourceCulture);
}
}
internal static string UserCannotKickOwner {
get {
return ResourceManager.GetString("UserCannotKickOwner", resourceCulture);
}
}
internal static string UserCannotKickThemselves {
get {
return ResourceManager.GetString("UserCannotKickThemselves", resourceCulture);
}
}
internal static string UserCannotKickBot {
get {
return ResourceManager.GetString("UserCannotKickBot", resourceCulture);
}
}
internal static string BotCannotKickTarget {
get {
return ResourceManager.GetString("BotCannotKickTarget", resourceCulture);
}
}
internal static string UserCannotKickTarget {
get {
return ResourceManager.GetString("UserCannotKickTarget", resourceCulture);
}
}
internal static string UserCannotMuteOwner {
get {
return ResourceManager.GetString("UserCannotMuteOwner", resourceCulture);
}
}
internal static string UserCannotMuteThemselves {
get {
return ResourceManager.GetString("UserCannotMuteThemselves", resourceCulture);
}
}
internal static string UserCannotMuteBot {
get {
return ResourceManager.GetString("UserCannotMuteBot", resourceCulture);
}
}
internal static string BotCannotMuteTarget {
get {
return ResourceManager.GetString("BotCannotMuteTarget", resourceCulture);
}
}
internal static string UserCannotMuteTarget {
get {
return ResourceManager.GetString("UserCannotMuteTarget", resourceCulture);
}
}
internal static string UserCannotUnmuteOwner {
get {
return ResourceManager.GetString("UserCannotUnmuteOwner", resourceCulture);
}
}
internal static string UserCannotUnmuteThemselves {
get {
return ResourceManager.GetString("UserCannotUnmuteThemselves", resourceCulture);
}
}
internal static string UserCannotUnmuteBot {
get {
return ResourceManager.GetString("UserCannotUnmuteBot", resourceCulture);
}
}
internal static string BotCannotUnmuteTarget {
get {
return ResourceManager.GetString("BotCannotUnmuteTarget", resourceCulture);
}
}
internal static string UserCannotUnmuteTarget {
get {
return ResourceManager.GetString("UserCannotUnmuteTarget", resourceCulture);
}
}
internal static string EventEarlyNotification {
get {
return ResourceManager.GetString("EventEarlyNotification", resourceCulture);
}
}
internal static string SettingsEventEarlyNotificationOffset {
get {
return ResourceManager.GetString("SettingsEventEarlyNotificationOffset", resourceCulture);
}
}
internal static string UserNotFound {
get {
return ResourceManager.GetString("UserNotFound", resourceCulture);
}
}
internal static string SettingsDefaultRole {
get {
return ResourceManager.GetString("SettingsDefaultRole", resourceCulture);
}
}
internal static string CommandDescriptionRemind {
get {
return ResourceManager.GetString("CommandDescriptionRemind", resourceCulture);
}
}
internal static string SettingsPublicFeedbackChannel {
get {
return ResourceManager.GetString("SettingsPublicFeedbackChannel", resourceCulture);
}
}
internal static string SettingsPrivateFeedbackChannel {
get {
return ResourceManager.GetString("SettingsPrivateFeedbackChannel", resourceCulture);
}
}
internal static string SettingsReturnRolesOnRejoin {
get {
return ResourceManager.GetString("SettingsReturnRolesOnRejoin", resourceCulture);
}
}
internal static string SettingsAutoStartEvents {
get {
return ResourceManager.GetString("SettingsAutoStartEvents", resourceCulture);
}
}
internal static string MissingReminderText {
get {
return ResourceManager.GetString("MissingReminderText", resourceCulture);
}
}
internal static string DescriptionReminderCreated {
get {
return ResourceManager.GetString("DescriptionReminderCreated", resourceCulture);
}
}
internal static string InvalidRemindIn {
get {
return ResourceManager.GetString("InvalidRemindIn", resourceCulture);
}
}
internal static string IssuedBy {
get {
return ResourceManager.GetString("IssuedBy", resourceCulture);
}
}
internal static string EventCreatedTitle {
get {
return ResourceManager.GetString("EventCreatedTitle", resourceCulture);
}
}
internal static string DescriptionLocalEventCreated {
get {
return ResourceManager.GetString("DescriptionLocalEventCreated", resourceCulture);
}
}
internal static string DescriptionExternalEventCreated {
get {
return ResourceManager.GetString("DescriptionExternalEventCreated", resourceCulture);
}
}
internal static string EventDetailsButton {
get {
return ResourceManager.GetString("EventDetailsButton", resourceCulture);
}
}
internal static string EventDuration {
get {
return ResourceManager.GetString("EventDuration", resourceCulture);
}
}
internal static string DescriptionLocalEventStarted {
get {
return ResourceManager.GetString("DescriptionLocalEventStarted", resourceCulture);
}
}
internal static string DescriptionExternalEventStarted {
get {
return ResourceManager.GetString("DescriptionExternalEventStarted", resourceCulture);
}
}
internal static string UserAlreadyBanned {
get {
return ResourceManager.GetString("UserAlreadyBanned", resourceCulture);
}
}
internal static string UserUnbanned {
get {
return ResourceManager.GetString("UserUnbanned", resourceCulture);
}
}
internal static string UserMuted {
get {
return ResourceManager.GetString("UserMuted", resourceCulture);
}
}
internal static string UserUnmuted {
get {
return ResourceManager.GetString("UserUnmuted", resourceCulture);
}
}
internal static string UserNotMuted {
get {
return ResourceManager.GetString("UserNotMuted", resourceCulture);
}
}
internal static string UserNotFoundShort {
get {
return ResourceManager.GetString("UserNotFoundShort", resourceCulture);
}
}
internal static string UserKicked {
get {
return ResourceManager.GetString("UserKicked", resourceCulture);
}
}
internal static string DescriptionActionReason {
get {
return ResourceManager.GetString("DescriptionActionReason", resourceCulture);
}
}
internal static string DescriptionActionExpiresAt {
get {
return ResourceManager.GetString("DescriptionActionExpiresAt", resourceCulture);
}
}
internal static string UserAlreadyMuted {
get {
return ResourceManager.GetString("UserAlreadyMuted", resourceCulture);
}
}
internal static string MessageFrom {
get {
return ResourceManager.GetString("MessageFrom", resourceCulture);
}
}
internal static string AboutTitleDevelopers {
get {
return ResourceManager.GetString("AboutTitleDevelopers", resourceCulture);
}
}
internal static string AboutTitleWiki {
get {
return ResourceManager.GetString("AboutTitleWiki", resourceCulture);
}
}
internal static string AboutBot {
get {
return ResourceManager.GetString("AboutBot", resourceCulture);
}
}
internal static string AboutDeveloper_mctaylors {
get {
return ResourceManager.GetString("AboutDeveloper@mctaylors", resourceCulture);
}
}
internal static string AboutDeveloper_Octol1ttle {
get {
return ResourceManager.GetString("AboutDeveloper@Octol1ttle", resourceCulture);
}
}
internal static string AboutDeveloper_neroduckale {
get {
return ResourceManager.GetString("AboutDeveloper@neroduckale", resourceCulture);
}
}
internal static string ReminderCreated {
get {
return ResourceManager.GetString("ReminderCreated", resourceCulture);
}
}
internal static string Reminder {
get {
return ResourceManager.GetString("Reminder", resourceCulture);
}
}
internal static string DescriptionReminder {
get {
return ResourceManager.GetString("DescriptionReminder", resourceCulture);
}
}
internal static string SettingsListTitle {
get {
return ResourceManager.GetString("SettingsListTitle", resourceCulture);
}
}
internal static string SettingSuccessfullyChanged {
get {
return ResourceManager.GetString("SettingSuccessfullyChanged", resourceCulture);
}
}
internal static string SettingNotChanged {
get {
return ResourceManager.GetString("SettingNotChanged", resourceCulture);
}
}
internal static string SettingIsNow {
get {
return ResourceManager.GetString("SettingIsNow", resourceCulture);
}
}
}
}

561
locale/Messages.resx Normal file
View file

@ -0,0 +1,561 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader><resheader name="version">2.0</resheader><resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader><resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader><data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data><data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data><data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"><value>[base64 mime encoded serialized .NET Framework object]</value></data><data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"><value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value><comment>This is a comment</comment></data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<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: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: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">
<value>Deleted message by {0}:</value>
</data>
<data name="CachedMessageCleared" xml:space="preserve">
<value>Cleared message from {0} in channel {1}: {2}</value>
</data>
<data name="CachedMessageEdited" xml:space="preserve">
<value>Edited message by {0}:</value>
</data>
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, welcome to {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<value>Bah!</value>
</data>
<data name="Beep2" xml:space="preserve">
<value>Bop!</value>
</data>
<data name="Beep3" xml:space="preserve">
<value>Beep!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>I do not have permission to execute this command!</value>
</data>
<data name="CommandNoPermissionUser" xml:space="preserve">
<value>You do not have permission to execute this command!</value>
</data>
<data name="YouWereBanned" xml:space="preserve">
<value>You were banned</value>
</data>
<data name="PunishmentExpired" xml:space="preserve">
<value>Punishment expired</value>
</data>
<data name="ClearAmountTooSmall" xml:space="preserve">
<value>You specified less than {0} messages!</value>
</data>
<data name="ClearAmountTooLarge" xml:space="preserve">
<value>You specified more than {0} messages!</value>
</data>
<data name="CommandHelp" xml:space="preserve">
<value>Command help:</value>
</data>
<data name="YouWereKicked" xml:space="preserve">
<value>You were kicked</value>
</data>
<data name="Milliseconds" xml:space="preserve">
<value>ms</value>
</data>
<data name="MemberAlreadyMuted" xml:space="preserve">
<value>Member is already muted!</value>
</data>
<data name="ChannelNotSpecified" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="RoleNotSpecified" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="CurrentSettings" xml:space="preserve">
<value>Current settings:</value>
</data>
<data name="SettingsLang" xml:space="preserve">
<value>Language</value>
</data>
<data name="SettingsPrefix" xml:space="preserve">
<value>Prefix</value>
</data>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>Remove roles on mute</value>
</data>
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>Send welcome messages</value>
</data>
<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">
<value>Yes</value>
</data>
<data name="No" xml:space="preserve">
<value>No</value>
</data>
<data name="UserNotBanned" xml:space="preserve">
<value>This user is not banned!</value>
</data>
<data name="MemberNotMuted" xml:space="preserve">
<value>Member not muted!</value>
</data>
<data name="SettingsWelcomeMessage" xml:space="preserve">
<value>Welcome message</value>
</data>
<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">
<value>{0} was banned</value>
</data>
<data name="SettingDoesntExist" xml:space="preserve">
<value>That setting doesn't exist!</value>
</data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>Receive startup messages</value>
</data>
<data name="InvalidSettingValue" xml:space="preserve">
<value>Invalid setting value specified!</value>
</data>
<data name="InvalidRole" xml:space="preserve">
<value>This role does not exist!</value>
</data>
<data name="InvalidChannel" xml:space="preserve">
<value>This channel does not exist!</value>
</data>
<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">
<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">
<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">
<value>Role for event creation notifications</value>
</data>
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>Channel for event notifications</value>
</data>
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>Event start notifications receivers</value>
</data>
<data name="EventStarted" xml:space="preserve">
<value>Event "{0}" started</value>
</data>
<data name="SettingsFrowningFace" xml:space="preserve">
<value>:(</value>
</data>
<data name="EventCancelled" xml:space="preserve">
<value>Event "{0}" is cancelled!</value>
</data>
<data name="EventCompleted" xml:space="preserve">
<value>Event "{0}" has completed!</value>
</data>
<data name="Ever" xml:space="preserve">
<value>ever</value>
</data>
<data name="MessagesCleared" xml:space="preserve">
<value>Cleared {0} messages</value>
</data>
<data name="FeedbackMemberKicked" xml:space="preserve">
<value>Kicked {0}: {1}</value>
</data>
<data name="FeedbackMemberMuted" xml:space="preserve">
<value>Muted {0} for{1}: {2}</value>
</data>
<data name="FeedbackUserUnbanned" xml:space="preserve">
<value>Unbanned {0}: {1}</value>
</data>
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>Unmuted {0}: {1}</value>
</data>
<data name="SettingsNothingChanged" xml:space="preserve">
<value>Nothing changed! `{0}` is already set to {1}</value>
</data>
<data name="SettingNotDefined" xml:space="preserve">
<value>Not specified</value>
</data>
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>Value of setting `{0}` is now set to {1}</value>
</data>
<data name="CommandDescriptionBan" xml:space="preserve">
<value>Bans a user</value>
</data>
<data name="CommandDescriptionClear" xml:space="preserve">
<value>Deletes a specified amount of messages in this channel</value>
</data>
<data name="CommandDescriptionHelp" xml:space="preserve">
<value>Shows this message</value>
</data>
<data name="CommandDescriptionKick" xml:space="preserve">
<value>Kicks a member</value>
</data>
<data name="CommandDescriptionMute" xml:space="preserve">
<value>Mutes a member</value>
</data>
<data name="CommandDescriptionPing" xml:space="preserve">
<value>Shows (inaccurate) latency</value>
</data>
<data name="CommandDescriptionSettings" xml:space="preserve">
<value>Allows you to change certain preferences for this guild</value>
</data>
<data name="CommandDescriptionUnban" xml:space="preserve">
<value>Unbans a user</value>
</data>
<data name="CommandDescriptionUnmute" xml:space="preserve">
<value>Unmutes a member</value>
</data>
<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">
<value>You need to specify a user!</value>
</data>
<data name="InvalidUser" xml:space="preserve">
<value>You need to specify a user instead of {0}!</value>
</data>
<data name="MissingMember" xml:space="preserve">
<value>You need to specify a guild member!</value>
</data>
<data name="InvalidMember" xml:space="preserve">
<value>You need to specify a member of this guild!</value>
</data>
<data name="UserCannotBanMembers" xml:space="preserve">
<value>You cannot ban users from this guild!</value>
</data>
<data name="UserCannotManageMessages" xml:space="preserve">
<value>You cannot manage messages in this guild!</value>
</data>
<data name="UserCannotKickMembers" xml:space="preserve">
<value>You cannot kick members from this guild!</value>
</data>
<data name="UserCannotModerateMembers" xml:space="preserve">
<value>You cannot moderate members in this guild!</value>
</data>
<data name="UserCannotManageGuild" xml:space="preserve">
<value>You cannot manage this guild!</value>
</data>
<data name="BotCannotBanMembers" xml:space="preserve">
<value>I cannot ban users from this guild!</value>
</data>
<data name="BotCannotManageMessages" xml:space="preserve">
<value>I cannot manage messages in this guild!</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<value>I cannot kick members from this guild!</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>I cannot moderate members in this guild!</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<value>I cannot manage this guild!</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<value>You need to specify a reason to ban this user!</value>
</data>
<data name="MissingKickReason" xml:space="preserve">
<value>You need to specify a reason to kick this member!</value>
</data>
<data name="MissingMuteReason" xml:space="preserve">
<value>You need to specify a reason to mute this member!</value>
</data>
<data name="MissingUnbanReason" xml:space="preserve">
<value>You need to specify a reason to unban this user!</value>
</data>
<data name="MissingUnmuteReason" xml:space="preserve">
<value>You need to specify a reason for unmute this member!</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<value>You cannot ban the owner of this guild!</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>You cannot ban yourself!</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<value>You cannot ban me!</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<value>I cannot ban this user!</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<value>You cannot ban this user!</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<value>You cannot kick the owner of this guild!</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>You cannot kick yourself!</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<value>You cannot kick me!</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<value>I cannot kick this member!</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<value>You cannot kick this member!</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>You cannot mute the owner of this guild!</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>You cannot mute yourself!</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<value>You cannot mute me!</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>I cannot mute this member!</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>You cannot mute this member!</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<value>You don't need to unmute the owner of this guild!</value>
</data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>You are muted!</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>...</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>I cannot unmute this member!</value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>You cannot unmute this user!</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<value>{0}Event {1} will start &lt;t:{2}:R&gt;!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>Early event start notification offset</value>
</data>
<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">
<value>Default role</value>
</data>
<data name="CommandDescriptionRemind" xml:space="preserve">
<value>Adds a reminder</value>
</data>
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<value>Channel for public notifications</value>
</data>
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<value>Channel for private notifications</value>
</data>
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<value>Return roles on rejoin</value>
</data>
<data name="SettingsAutoStartEvents" xml:space="preserve">
<value>Automatically start scheduled events</value>
</data>
<data name="MissingReminderText" xml:space="preserve">
<value>You need to specify reminder text!</value>
</data>
<data name="DescriptionReminderCreated" xml:space="preserve">
<value>OK, I'll mention you on {0}</value>
</data>
<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">
<value>Issued by</value>
</data>
<data name="EventCreatedTitle" xml:space="preserve">
<value>{0} has created a new event:</value>
</data>
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<value>The event will start at {0} in {1}</value>
</data>
<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">
<value>Event details</value>
</data>
<data name="EventDuration" xml:space="preserve">
<value>The event has lasted for `{0}`</value>
</data>
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<value>The event is happening at {0}</value>
</data>
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<value>The event is happening at {0} until {1}</value>
</data>
<data name="UserAlreadyBanned" xml:space="preserve">
<value>This user is already banned!</value>
</data>
<data name="UserUnbanned" xml:space="preserve">
<value>{0} was unbanned</value>
</data>
<data name="UserMuted" xml:space="preserve">
<value>{0} was muted</value>
</data>
<data name="UserUnmuted" xml:space="preserve">
<value>{0} was unmuted</value>
</data>
<data name="UserNotMuted" xml:space="preserve">
<value>This member is not muted!</value>
</data>
<data name="UserNotFoundShort" xml:space="preserve">
<value>I could not find this user!</value>
</data>
<data name="UserKicked" xml:space="preserve">
<value>{0} was kicked</value>
</data>
<data name="DescriptionActionReason" xml:space="preserve">
<value>Reason: {0}</value>
</data>
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<value>Expires at: {0}</value>
</data>
<data name="UserAlreadyMuted" xml:space="preserve">
<value>This user is already muted!</value>
</data>
<data name="MessageFrom" xml:space="preserve">
<value>From {0}:</value>
</data>
<data name="AboutTitleDevelopers" xml:space="preserve">
<value>Developers:</value>
</data>
<data name="AboutTitleWiki" xml:space="preserve">
<value>Boyfriend's Wiki Page:</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>About Boyfriend</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>logo and embed 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">
<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>
</root>

561
locale/Messages.ru.resx Normal file
View file

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

561
locale/Messages.tt-ru.resx Normal file
View file

@ -0,0 +1,561 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader><resheader name="version">2.0</resheader><resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader><resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader><data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data><data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data><data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"><value>[base64 mime encoded serialized .NET Framework object]</value></data><data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"><value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value><comment>This is a comment</comment></data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<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: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: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">
<value>сообщение {0} вырезано:</value>
</data>
<data name="CachedMessageCleared" xml:space="preserve">
<value>вырезано сообщение (используя `!clear`) от {0} в канале {1}: {2}</value>
</data>
<data name="CachedMessageEdited" xml:space="preserve">
<value>сообщение {0} переделано:</value>
</data>
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, добро пожаловать на сервер {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<value>брах!</value>
</data>
<data name="Beep2" xml:space="preserve">
<value>брох!</value>
</data>
<data name="Beep3" xml:space="preserve">
<value>брух!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>у меня прав нету, сделай что нибудь.</value>
</data>
<data name="CommandNoPermissionUser" xml:space="preserve">
<value>у тебя прав нету, твои проблемы.</value>
</data>
<data name="YouWereBanned" xml:space="preserve">
<value>вы были забанены</value>
</data>
<data name="PunishmentExpired" xml:space="preserve">
<value>время бана закончиловсь</value>
</data>
<data name="ClearAmountTooSmall" xml:space="preserve">
<value>ты выбрал менее {0} сообщений</value>
</data>
<data name="ClearAmountTooLarge" xml:space="preserve">
<value>ты выбрал более {0} сообщений</value>
</data>
<data name="CommandHelp" xml:space="preserve">
<value>туториал по приколам:</value>
</data>
<data name="YouWereKicked" xml:space="preserve">
<value>вы были кикнуты</value>
</data>
<data name="Milliseconds" xml:space="preserve">
<value>мс</value>
</data>
<data name="MemberAlreadyMuted" xml:space="preserve">
<value>шизоид уже замучен!</value>
</data>
<data name="ChannelNotSpecified" xml:space="preserve">
<value>*тут ничего нет*</value>
</data>
<data name="RoleNotSpecified" xml:space="preserve">
<value>нъет</value>
</data>
<data name="CurrentSettings" xml:space="preserve">
<value>настройки:</value>
</data>
<data name="SettingsLang" xml:space="preserve">
<value>язык</value>
</data>
<data name="SettingsPrefix" xml:space="preserve">
<value>префикс</value>
</data>
<data name="SettingsRemoveRolesOnMute" xml:space="preserve">
<value>удалять звание при муте</value>
</data>
<data name="SettingsSendWelcomeMessages" xml:space="preserve">
<value>разглашать о том что пришел новый шизоид</value>
</data>
<data name="SettingsMuteRole" xml:space="preserve">
<value>звание замученного</value>
</data>
<data name="LanguageNotSupported" xml:space="preserve">
<value>такого языка нету...</value>
</data>
<data name="Yes" xml:space="preserve">
<value>да</value>
</data>
<data name="No" xml:space="preserve">
<value>нъет</value>
</data>
<data name="UserNotBanned" xml:space="preserve">
<value>шизик не забанен</value>
</data>
<data name="MemberNotMuted" xml:space="preserve">
<value>шизоид не замучен!</value>
</data>
<data name="SettingsWelcomeMessage" xml:space="preserve">
<value>здравствуйте (типо настройка)</value>
</data>
<data name="ClearAmountInvalid" xml:space="preserve">
<value>выбери число от {0} до {1} вместо {2}!</value>
</data>
<data name="UserBanned" xml:space="preserve">
<value>{0} забанен</value>
</data>
<data name="SettingDoesntExist" xml:space="preserve">
<value>такой прикол не существует</value>
</data>
<data name="SettingsReceiveStartupMessages" xml:space="preserve">
<value>получать инфу о старте бота</value>
</data>
<data name="InvalidSettingValue" xml:space="preserve">
<value>криво настроил прикол, давай по новой</value>
</data>
<data name="InvalidRole" xml:space="preserve">
<value>этого звания нету, ты шо</value>
</data>
<data name="InvalidChannel" xml:space="preserve">
<value>этого канала нету, ты шо</value>
</data>
<data name="DurationRequiredForTimeOuts" xml:space="preserve">
<value>ты шо, мутить больше чем на 28 дней таймаут не разрешает, вот настроишь роль мута, тогда поговорим</value>
</data>
<data name="CannotTimeOutBot" xml:space="preserve">
<value>я не могу замутить ботов, сделай что нибудь</value>
</data>
<data name="EventCreated" xml:space="preserve">
<value>{0} приготовил новую движуху {1}! она пройдёт в {2} и начнётся &lt;t:{3}:R&gt;!{4}</value>
</data>
<data name="SettingsEventNotificationRole" xml:space="preserve">
<value>роль для уведомлений о создании движухи</value>
</data>
<data name="SettingsEventNotificationChannel" xml:space="preserve">
<value>канал для уведомлений о движухах</value>
</data>
<data name="SettingsEventStartedReceivers" xml:space="preserve">
<value>получатели уведомлений о начале движух</value>
</data>
<data name="EventStarted" xml:space="preserve">
<value>движуха "{0}" начинается</value>
</data>
<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">
<value>всегда</value>
</data>
<data name="MessagesCleared" xml:space="preserve">
<value>вырезано {0} забавных сообщений</value>
</data>
<data name="FeedbackMemberKicked" xml:space="preserve">
<value>выгнан {0}: {1}</value>
</data>
<data name="FeedbackMemberMuted" xml:space="preserve">
<value>замучен {0} на{1}: {2}</value>
</data>
<data name="FeedbackUserUnbanned" xml:space="preserve">
<value>раззабанен {0}: {1}</value>
</data>
<data name="FeedbackMemberUnmuted" xml:space="preserve">
<value>раззамучен {0}: {1}</value>
</data>
<data name="SettingsNothingChanged" xml:space="preserve">
<value>ты все сломал! значение прикола `{0}` и так {1}</value>
</data>
<data name="SettingNotDefined" xml:space="preserve">
<value>нъет</value>
</data>
<data name="FeedbackSettingsUpdated" xml:space="preserve">
<value>прикол для `{0}` теперь установлен на {1}</value>
</data>
<data name="CommandDescriptionBan" xml:space="preserve">
<value>возводит великий банхаммер над шизоидом</value>
</data>
<data name="CommandDescriptionClear" xml:space="preserve">
<value>удаляет сообщения. сколько хош, столько и удалит</value>
</data>
<data name="CommandDescriptionHelp" xml:space="preserve">
<value>показывает то, что ты сейчас видишь прямо сейчас</value>
</data>
<data name="CommandDescriptionKick" xml:space="preserve">
<value>выпинывает шизоида</value>
</data>
<data name="CommandDescriptionMute" xml:space="preserve">
<value>мутит шизоида</value>
</data>
<data name="CommandDescriptionPing" xml:space="preserve">
<value>показывает пинг (сверхмегаточный (нет))</value>
</data>
<data name="CommandDescriptionSettings" xml:space="preserve">
<value>настройки бота под этот сервер</value>
</data>
<data name="CommandDescriptionUnban" xml:space="preserve">
<value>отводит великий банхаммер от шизоида</value>
</data>
<data name="CommandDescriptionUnmute" xml:space="preserve">
<value>раззамучивает шизоида</value>
</data>
<data name="MissingNumber" xml:space="preserve">
<value>укажи целое число от {0} до {1}</value>
</data>
<data name="MissingUser" xml:space="preserve">
<value>укажи самого шизика</value>
</data>
<data name="InvalidUser" xml:space="preserve">
<value>надо указать юзверя вместо {0}!</value>
</data>
<data name="MissingMember" xml:space="preserve">
<value>укажи самого шизика</value>
</data>
<data name="InvalidMember" xml:space="preserve">
<value>укажи шизоида сервера!</value>
</data>
<data name="UserCannotBanMembers" xml:space="preserve">
<value>бан</value>
</data>
<data name="UserCannotManageMessages" xml:space="preserve">
<value>тебе нельзя иметь власть над сообщениями шизоидов</value>
</data>
<data name="UserCannotKickMembers" xml:space="preserve">
<value>кик шизиков нельзя</value>
</data>
<data name="UserCannotModerateMembers" xml:space="preserve">
<value>тебе нельзя управлять шизоидами</value>
</data>
<data name="UserCannotManageGuild" xml:space="preserve">
<value>тебе нельзя редактировать дурку</value>
</data>
<data name="BotCannotBanMembers" xml:space="preserve">
<value>я не могу ваще никого банить чел.</value>
</data>
<data name="BotCannotManageMessages" xml:space="preserve">
<value>я не могу исправлять орфографический кринж участников, сделай что нибудь.</value>
</data>
<data name="BotCannotKickMembers" xml:space="preserve">
<value>я не могу ваще никого кикать чел.</value>
</data>
<data name="BotCannotModerateMembers" xml:space="preserve">
<value>я не могу контроллировать за всеми ними, сделай что нибудь.</value>
</data>
<data name="BotCannotManageGuild" xml:space="preserve">
<value>я не могу этому серверу хоть че либо нибудь изменить, сделай что нибудь.</value>
</data>
<data name="MissingBanReason" xml:space="preserve">
<value>укажи зачем банить шизика</value>
</data>
<data name="MissingKickReason" xml:space="preserve">
<value>укажи зачем кикать шизика</value>
</data>
<data name="MissingMuteReason" xml:space="preserve">
<value>укажи зачем мутить шизика</value>
</data>
<data name="MissingUnbanReason" xml:space="preserve">
<value>укажи зачем раззабанивать шизика</value>
</data>
<data name="MissingUnmuteReason" xml:space="preserve">
<value>укажи зачам размучивать шизика</value>
</data>
<data name="UserCannotBanBot" xml:space="preserve">
<value>ээбля френдли фаер огонь по своим</value>
</data>
<data name="UserCannotBanOwner" xml:space="preserve">
<value>бан админу нельзя</value>
</data>
<data name="UserCannotBanTarget" xml:space="preserve">
<value>бан этому шизику нельзя</value>
</data>
<data name="UserCannotBanThemselves" xml:space="preserve">
<value>самобан нельзя</value>
</data>
<data name="BotCannotBanTarget" xml:space="preserve">
<value>я не могу его забанить...</value>
</data>
<data name="UserCannotKickOwner" xml:space="preserve">
<value>кик админу нельзя</value>
</data>
<data name="UserCannotKickThemselves" xml:space="preserve">
<value>самокик нельзя</value>
</data>
<data name="UserCannotKickBot" xml:space="preserve">
<value>ээбля френдли фаер огонь по своим</value>
</data>
<data name="BotCannotKickTarget" xml:space="preserve">
<value>я не могу его кикнуть...</value>
</data>
<data name="UserCannotKickTarget" xml:space="preserve">
<value>кик этому шизику нельзя</value>
</data>
<data name="UserCannotMuteOwner" xml:space="preserve">
<value>мут админу нельзя</value>
</data>
<data name="UserCannotMuteThemselves" xml:space="preserve">
<value>самомут нельзя</value>
</data>
<data name="UserCannotMuteBot" xml:space="preserve">
<value>ээбля френдли фаер огонь по своим</value>
</data>
<data name="BotCannotMuteTarget" xml:space="preserve">
<value>я не могу его замутить...</value>
</data>
<data name="UserCannotMuteTarget" xml:space="preserve">
<value>мут этому шизику нельзя</value>
</data>
<data name="UserCannotUnmuteOwner" xml:space="preserve">
<value>сильно</value>
</data>
<data name="UserCannotUnmuteThemselves" xml:space="preserve">
<value>ты замучен.</value>
</data>
<data name="UserCannotUnmuteBot" xml:space="preserve">
<value>... </value>
</data>
<data name="UserCannotUnmuteTarget" xml:space="preserve">
<value>тебе нельзя раззамучивать</value>
</data>
<data name="BotCannotUnmuteTarget" xml:space="preserve">
<value>я не могу его раззамутить...</value>
</data>
<data name="EventEarlyNotification" xml:space="preserve">
<value>{0}движуха {1} начнется &lt;t:{2}:R&gt;!</value>
</data>
<data name="SettingsEventEarlyNotificationOffset" xml:space="preserve">
<value>заранее пнуть в минутах до начала движухи</value>
</data>
<data name="UserNotFound" xml:space="preserve">
<value>у нас такого шизоида нету, проверь, валиден ли ID уважаемого (я забываю о шизоидах если они ливнули минимум месяц назад)</value>
</data>
<data name="SettingsDefaultRole" xml:space="preserve">
<value>дефолтное звание</value>
</data>
<data name="CommandDescriptionRemind" xml:space="preserve">
<value>крафтит напоминалку</value>
</data>
<data name="SettingsPrivateFeedbackChannel" xml:space="preserve">
<value>канал для секретных уведомлений</value>
</data>
<data name="SettingsPublicFeedbackChannel" xml:space="preserve">
<value>канал для не секретных уведомлений</value>
</data>
<data name="SettingsReturnRolesOnRejoin" xml:space="preserve">
<value>вернуть звания при переподключении в дурку</value>
</data>
<data name="SettingsAutoStartEvents" xml:space="preserve">
<value>автоматом стартить движухи</value>
</data>
<data name="MissingReminderText" xml:space="preserve">
<value>для крафта напоминалки нужен текст</value>
</data>
<data name="DescriptionReminderCreated" xml:space="preserve">
<value>вас понял, упоминание будет {0}</value>
</data>
<data name="InvalidRemindIn" xml:space="preserve">
<value>шизоид у меня на часах такого нету</value>
</data>
<data name="IssuedBy" xml:space="preserve">
<value>ответственный</value>
</data>
<data name="EventCreatedTitle" xml:space="preserve">
<value>{0} создает новое событие:</value>
</data>
<data name="DescriptionLocalEventCreated" xml:space="preserve">
<value>движуха произойдет {0} в канале {1}</value>
</data>
<data name="DescriptionExternalEventCreated" xml:space="preserve">
<value>движуха будет происходить с {0} до {1} в {2}</value>
</data>
<data name="EventDetailsButton" xml:space="preserve">
<value>побольше о движухе</value>
</data>
<data name="EventDuration" xml:space="preserve">
<value>все это длилось `{0}`</value>
</data>
<data name="DescriptionLocalEventStarted" xml:space="preserve">
<value>движуха происходит в {0}</value>
</data>
<data name="DescriptionExternalEventStarted" xml:space="preserve">
<value>движуха происходит в {0} до {1}</value>
</data>
<data name="UserAlreadyBanned" xml:space="preserve">
<value>этот шизоид уже лежит в бане</value>
</data>
<data name="UserUnbanned" xml:space="preserve">
<value>{0} раззабанен</value>
</data>
<data name="UserMuted" xml:space="preserve">
<value>{0} в муте</value>
</data>
<data name="UserUnmuted" xml:space="preserve">
<value>{0} в размуте</value>
</data>
<data name="UserNotMuted" xml:space="preserve">
<value>этого шизоида никто не мутил.</value>
</data>
<data name="UserNotFoundShort" xml:space="preserve">
<value>у нас такого шизоида нету...</value>
</data>
<data name="UserKicked" xml:space="preserve">
<value>{0} вышел с посторонней помощью</value>
</data>
<data name="DescriptionActionReason" xml:space="preserve">
<value>причина: {0}</value>
</data>
<data name="DescriptionActionExpiresAt" xml:space="preserve">
<value>до: {0}</value>
</data>
<data name="UserAlreadyMuted" xml:space="preserve">
<value>этот шизоид УЖЕ замучился</value>
</data>
<data name="MessageFrom" xml:space="preserve">
<value>от {0}</value>
</data>
<data name="AboutTitleDevelopers" xml:space="preserve">
<value>девелоперы:</value>
</data>
<data name="AboutTitleWiki" xml:space="preserve">
<value>страничка Boyfriend's Wiki:</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">
<value>ВАЖНЫЙ соучастник кодинг-стримов @Octol1ttle</value>
</data>
<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>
</root>