diff --git a/locale/Messages.tt-ru.resx b/locale/Messages.tt-ru.resx new file mode 100644 index 0000000..4e92a44 --- /dev/null +++ b/locale/Messages.tt-ru.resx @@ -0,0 +1,684 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + я родился! + + + сообщение {0} вырезано: + + + сообщение {0} переделано: + + + {0}, добро пожаловать на сервер {1} + + + вииимо! + + + вуууми! + + + нгьес! + + + вы были забанены + + + время бана закончиловсь + + + вы были кикнуты + + + мс + + + *тут ничего нет* + + + нъет + + + язык + + + префикс + + + удалять звание при муте + + + разглашать о том что пришел новый шизоид + + + звание замученного + + + такого языка нету... + + + да + + + нъет + + + шизик не забанен + + + шизоид не замучен! + + + здравствуйте (типо настройка) + + + {0} забанен + + + получать инфу о старте бота + + + криво настроил прикол, давай по новой + + + ты шо, мутить больше чем на 28 дней таймаут не разрешает, вот настроишь роль мута, тогда поговорим + + + я не могу замутить ботов, сделай что нибудь + + + роль для уведомлений о создании движухи + + + канал для уведомлений о движухах + + + получатели уведомлений о начале движух + + + движуха "{0}" начинается + + + движуха "{0}" отменена! + + + движуха "{0}" завершена! + + + вырезано {0} забавных сообщений + + + ты все сломал! значение прикола `{0}` и так {1} + + + нъет + + + укажи самого шизика + + + бан + + + тебе нельзя иметь власть над сообщениями шизоидов + + + кик шизиков нельзя + + + тебе нельзя мутить шизоидов + + + тебе нельзя раззамучивать шизоидов + + + тебе нельзя редактировать дурку + + + я не могу ваще никого банить чел. + + + я не могу исправлять орфографический кринж участников, сделай что нибудь. + + + я не могу ваще никого кикать чел. + + + я не могу контроллировать за всеми ними, сделай что нибудь. + + + я не могу этому серверу хоть че либо нибудь изменить, сделай что нибудь. + + + ээбля френдли фаер огонь по своим + + + бан админу нельзя + + + бан этому шизику нельзя + + + самобан нельзя + + + я не могу его забанить... + + + кик админу нельзя + + + самокик нельзя + + + ээбля френдли фаер огонь по своим + + + я не могу его кикнуть... + + + кик этому шизику нельзя + + + мут админу нельзя + + + самомут нельзя + + + ээбля френдли фаер огонь по своим + + + я не могу его замутить... + + + мут этому шизику нельзя + + + сильно + + + ты замучен. + + + ... + + + тебе нельзя раззамучивать + + + я не могу его раззамутить... + + + движуха "{0}" начнется {1}! + + + заранее пнуть в минутах до начала движухи + + + у нас такого шизоида нету, проверь, валиден ли ID уважаемого (я забываю о шизоидах если они ливнули минимум месяц назад) + + + дефолтное звание + + + канал для секретных уведомлений + + + канал для не секретных уведомлений + + + вернуть звания при переподключении в дурку + + + автоматом стартить движухи + + + ответственный + + + {0} создает новое событие: + + + движуха произойдет {0} в канале {1} + + + движуха будет происходить с {0} до {1} в {2} + + + открыть ивент + + + все это длилось `{0}` + + + движуха происходит в {0} + + + движуха происходит в {0} до {1} + + + этот шизоид уже лежит в бане + + + {0} раззабанен + + + {0} в муте + + + {0} в размуте + + + этого шизоида никто не мутил. + + + у нас такого шизоида нету... + + + {0} вышел с посторонней помощью + + + причина: {0} + + + до: {0} + + + этот шизоид УЖЕ замучился + + + от {0} + + + девелоперы: + + + репа Octobot (тык) + + + немного об {0} + + + скучный девелопер + дизайнер создавший Octobot's Wiki + + + ВАЖНЫЙ соучастник кодинг-стримов @Octol1ttle + + + САМЫЙ ВАЖНЫЙ чел написавший кода больше всех (99.99%) + + + напоминалка для {0} скрафченА + + + напоминалка для {0} + + + ты хотел чтоб я напомнил тебе {0} + + + приколы Octobot + + + прикол редактирован + + + прикол сдох + + + стало + + + переобувать шизоидов пытающихся поднять себя в табе + + + это страница + + + если я был бы html, я бы сказал 404 + + + ну а если быть точнее, тут всего {0} страниц(-ы) + + + следующее + + + предыдущее + + + напоминалки {0} + + + у тебя нет напоминалки на этом номере! + + + напоминалка уничтожена + + + ты еще не крафтил напоминалки + + + {0} откачен к заводским + + + откатываемся к заводским... + + + чекнуть сообщение: {0} + + + чекнуть канал: {0} + + + номер в списке: {0} + + + время отправки: {0} + + + че там в напоминалке: {0} + + + дисплейнейм + + + деанон {0} + + + замучен + + + юзер Discord со времен + + + забанен + + + приколы полученные по заслугам + + + пермабан + + + вышел из сервера + + + замучен таймаутом + + + замучен ролькой + + + участник сервера со времен + + + сервернейм + + + рольки + + + бустит сервер со времен + + + рандомное число {0}: + + + ну чувак... + + + наибольшее: {0} + + + наименьшее: {0} + + + (дефолт) + + + таймштамп для {0}: + + + офсет: {0} + + + дескрипшон гильдии + + + создался + + + админ гильдии + + + буст гильдии + + + уровень + + + кол-во бустов + + + алло а чё мне удалять-то + + + вырезано {0} забавных сообщений от {1} + + + произошёл тотальный разнос в гилддате. + + + возможно всё съедет с крыши, но знай, что я больше ничё не сохраню. + + + произошёл тотальный разнос в команде, удачи. + + + если ты это читаешь второй раз за сегодня, пиши разрабам + + + зарепортить баг + + + ну, мы потеряли {0} + + + до свидания (типо настройка) + + + ты там правильно напиши таймспан + + + кикнут + + + напоминалка подправлена + + + абсолютли + + + заявлено + + + ваще не сомневайся + + + 100% да + + + будь в этом уверен + + + я считаю что да + + + ну вполне вероятно + + + ну выглядит нормально + + + мне сказали ок + + + мгм + + + ну-ка попробуй снова + + + давай позже + + + щас пока не скажу + + + я не могу сейчас предсказать + + + ну сконцентрируйся и давай еще раз + + + даже не думай + + + мое завление это нет + + + я тут посчитал, короче нет + + + выглядит такое себе + + + чот сомневаюсь + + + правильно пишут так: `1h30m` + + + {0} + + + канал куда говорить здравствуйте + + + вот иди сам и почини что сломал + + + вики Octobot (жмак) + + + звание админа + + diff --git a/src/Commands/AboutCommandGroup.cs b/src/Commands/AboutCommandGroup.cs index b8c6d0f..027e7f8 100644 --- a/src/Commands/AboutCommandGroup.cs +++ b/src/Commands/AboutCommandGroup.cs @@ -100,21 +100,21 @@ public class AboutCommandGroup : CommandGroup .WithSmallTitle(string.Format(Messages.AboutBot, bot.Username), bot) .WithDescription(builder.ToString()) .WithColour(ColorsList.Cyan) - .WithImageUrl("https://raw.githubusercontent.com/TeamOctolings/Octobot/master/docs/octobot-banner.png") + .WithImageUrl("https://i.ibb.co/fS6wZhh/octobot-banner.png") .WithFooter(string.Format(Messages.Version, BuildInfo.Version)) .Build(); var repositoryButton = new ButtonComponent( ButtonComponentStyle.Link, Messages.ButtonOpenRepository, - new PartialEmoji(Name: "\ud83c\udf10"), // 'GLOBE WITH MERIDIANS' (U+1F310) + new PartialEmoji(Name: "🌐"), URL: BuildInfo.RepositoryUrl ); var wikiButton = new ButtonComponent( ButtonComponentStyle.Link, Messages.ButtonOpenWiki, - new PartialEmoji(Name: "\ud83d\udcd6"), // 'OPEN BOOK' (U+1F4D6) + new PartialEmoji(Name: "📖"), URL: BuildInfo.WikiUrl ); @@ -123,7 +123,7 @@ public class AboutCommandGroup : CommandGroup BuildInfo.IsDirty ? Messages.ButtonDirty : Messages.ButtonReportIssue, - new PartialEmoji(Name: "\u26a0\ufe0f"), // 'WARNING SIGN' (U+26A0) + new PartialEmoji(Name: "⚠️"), URL: BuildInfo.IssuesUrl, IsDisabled: BuildInfo.IsDirty ); diff --git a/src/Commands/Events/ErrorLoggingPostExecutionEvent.cs b/src/Commands/Events/ErrorLoggingPostExecutionEvent.cs index 551c2d0..5fa2ea8 100644 --- a/src/Commands/Events/ErrorLoggingPostExecutionEvent.cs +++ b/src/Commands/Events/ErrorLoggingPostExecutionEvent.cs @@ -73,7 +73,7 @@ public class ErrorLoggingPostExecutionEvent : IPostExecutionEvent BuildInfo.IsDirty ? Messages.ButtonDirty : Messages.ButtonReportIssue, - new PartialEmoji(Name: "\u26a0\ufe0f"), // 'WARNING SIGN' (U+26A0) + new PartialEmoji(Name: "⚠️"), URL: BuildInfo.IssuesUrl, IsDisabled: BuildInfo.IsDirty ); diff --git a/src/Data/Options/LanguageOption.cs b/src/Data/Options/LanguageOption.cs index 22f98df..464c61b 100644 --- a/src/Data/Options/LanguageOption.cs +++ b/src/Data/Options/LanguageOption.cs @@ -11,7 +11,8 @@ public sealed class LanguageOption : Option private static readonly Dictionary CultureInfoCache = new() { { "en", new CultureInfo("en-US") }, - { "ru", new CultureInfo("ru-RU") } + { "ru", new CultureInfo("ru-RU") }, + { "mctaylors-ru", new CultureInfo("tt-RU") } }; public LanguageOption(string name, string defaultValue) : base(name, CultureInfoCache[defaultValue]) { } diff --git a/src/Responders/GuildLoadedResponder.cs b/src/Responders/GuildLoadedResponder.cs index 55e9673..b03fd3f 100644 --- a/src/Responders/GuildLoadedResponder.cs +++ b/src/Responders/GuildLoadedResponder.cs @@ -114,7 +114,7 @@ public class GuildLoadedResponder : IResponder BuildInfo.IsDirty ? Messages.ButtonDirty : Messages.ButtonReportIssue, - new PartialEmoji(Name: "\u26a0\ufe0f"), // 'WARNING SIGN' (U+26A0) + new PartialEmoji(Name: "⚠️"), URL: BuildInfo.IssuesUrl, IsDisabled: BuildInfo.IsDirty ); diff --git a/src/Services/GuildDataService.cs b/src/Services/GuildDataService.cs index e503d22..c9458a0 100644 --- a/src/Services/GuildDataService.cs +++ b/src/Services/GuildDataService.cs @@ -78,7 +78,7 @@ public sealed class GuildDataService : BackgroundService var settingsPath = $"{path}/Settings.json"; var scheduledEventsPath = $"{path}/ScheduledEvents.json"; - MigrateDataDirectory(guildId, path); + MigrateGuildData(guildId, path); Directory.CreateDirectory(path); @@ -106,11 +106,6 @@ public sealed class GuildDataService : BackgroundService dataLoadFailed = true; } - if (jsonSettings is not null) - { - FixJsonSettings(jsonSettings); - } - await using var eventsStream = File.OpenRead(scheduledEventsPath); Dictionary? events = null; try @@ -160,7 +155,7 @@ public sealed class GuildDataService : BackgroundService return finalData; } - private void MigrateDataDirectory(Snowflake guildId, string newPath) + private void MigrateGuildData(Snowflake guildId, string newPath) { var oldPath = $"{guildId}"; @@ -174,15 +169,6 @@ public sealed class GuildDataService : BackgroundService } } - private static void FixJsonSettings(JsonNode settings) - { - var language = settings[GuildSettings.Language.Name]?.GetValue(); - if (language is "mctaylors-ru") - { - settings[GuildSettings.Language.Name] = "ru"; - } - } - public async Task GetSettings(Snowflake guildId, CancellationToken ct = default) { return (await GetData(guildId, ct)).Settings; diff --git a/src/Services/Update/ScheduledEventUpdateService.cs b/src/Services/Update/ScheduledEventUpdateService.cs index cb87779..8168fc1 100644 --- a/src/Services/Update/ScheduledEventUpdateService.cs +++ b/src/Services/Update/ScheduledEventUpdateService.cs @@ -223,7 +223,7 @@ public sealed class ScheduledEventUpdateService : BackgroundService var button = new ButtonComponent( ButtonComponentStyle.Link, Messages.ButtonOpenEventInfo, - new PartialEmoji(Name: "\ud83d\udccb"), // 'CLIPBOARD' (U+1F4CB) + new PartialEmoji(Name: "📋"), URL: $"https://discord.com/events/{scheduledEvent.GuildID}/{scheduledEvent.ID}" );