diff --git a/locale/Messages.tt-ru.resx b/locale/Messages.tt-ru.resx
deleted file mode 100644
index 4e92a44..0000000
--- a/locale/Messages.tt-ru.resx
+++ /dev/null
@@ -1,684 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/Data/Options/LanguageOption.cs b/src/Data/Options/LanguageOption.cs
index 464c61b..22f98df 100644
--- a/src/Data/Options/LanguageOption.cs
+++ b/src/Data/Options/LanguageOption.cs
@@ -11,8 +11,7 @@ public sealed class LanguageOption : Option
private static readonly Dictionary CultureInfoCache = new()
{
{ "en", new CultureInfo("en-US") },
- { "ru", new CultureInfo("ru-RU") },
- { "mctaylors-ru", new CultureInfo("tt-RU") }
+ { "ru", new CultureInfo("ru-RU") }
};
public LanguageOption(string name, string defaultValue) : base(name, CultureInfoCache[defaultValue]) { }
diff --git a/src/Services/GuildDataService.cs b/src/Services/GuildDataService.cs
index c9458a0..e503d22 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";
- MigrateGuildData(guildId, path);
+ MigrateDataDirectory(guildId, path);
Directory.CreateDirectory(path);
@@ -106,6 +106,11 @@ 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
@@ -155,7 +160,7 @@ public sealed class GuildDataService : BackgroundService
return finalData;
}
- private void MigrateGuildData(Snowflake guildId, string newPath)
+ private void MigrateDataDirectory(Snowflake guildId, string newPath)
{
var oldPath = $"{guildId}";
@@ -169,6 +174,15 @@ 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;